/*
 * (C) Copyright 2005- ECMWF.
 *
 * This software is licensed under the terms of the Apache Licence Version 2.0
 * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
 *
 * In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
 * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
 */

#ifndef eccodes_config_h
#define eccodes_config_h

#include "eccodes_ecbuild_config.h" /* generated by ecbuild */

#define ECCODES_VERSION_STR      "@eccodes_VERSION_STR@"

/* ECCODES_VERSION is defined in eccodes_version.h from the 3 version components below */

#define ECCODES_MAJOR_VERSION    @eccodes_VERSION_MAJOR@
#define ECCODES_MINOR_VERSION    @eccodes_VERSION_MINOR@
#define ECCODES_REVISION_VERSION @eccodes_VERSION_PATCH@

#define ECCODES_DEFINITION_PATH      "@ECCODES_DEFINITION_PATH@"

#cmakedefine ECCODES_HAVE_C_INLINE

#ifdef ECCODES_HAVE_C_INLINE
#define GRIB_INLINE inline
#endif

#define GRIB_LINUX_PTHREADS @GRIB_LINUX_PTHREADS@

#define GRIB_MEM_ALIGN      @GRIB_MEM_ALIGN@

#define GRIB_PTHREADS       @GRIB_PTHREADS@
#define GRIB_OMP_THREADS    @GRIB_OMP_THREADS@

#define ECCODES_SAMPLES_PATH    "@ECCODES_SAMPLES_PATH@"

/* headers */

#cmakedefine ECCODES_HAVE_ASSERT_H
#cmakedefine ECCODES_HAVE_STRING_H
#cmakedefine ECCODES_HAVE_SYS_TYPES_H
#cmakedefine ECCODES_HAVE_SYS_STAT_H
#cmakedefine ECCODES_HAVE_FCNTL_H
#cmakedefine ECCODES_HAVE_UNISTD_H
#cmakedefine ECCODES_HAVE_FSEEKO
#cmakedefine ECCODES_HAVE_POSIX_MEMALIGN
#cmakedefine ECCODES_HAVE_FMEMOPEN
#cmakedefine ECCODES_HAVE_FUNOPEN
#cmakedefine ECCODES_HAVE_REALPATH
#cmakedefine ECCODES_HAVE_FSYNC
#cmakedefine ECCODES_HAVE_FDATASYNC

#if defined(EC_HAVE_ASSERT_H) || defined(ECCODES_HAVE_ASSERT_H)
#define   HAVE_ASSERT_H 1
#endif

#if defined(EC_HAVE_STRING_H) || defined(ECCODES_HAVE_STRING_H)
#define   HAVE_STRING_H 1
#endif

#if defined(EC_HAVE_SYS_TYPES_H) || defined(ECCODES_HAVE_SYS_TYPES_H)
#define   HAVE_SYS_TYPES_H 1
#endif

#if defined(EC_HAVE_SYS_STAT_H) || defined(ECCODES_HAVE_SYS_STAT_H)
#define   HAVE_SYS_STAT_H 1
#endif

#if defined(EC_HAVE_FCNTL_H) || defined(ECCODES_HAVE_FCNTL_H)
#define   HAVE_FCNTL_H 1
#endif

#if defined(EC_HAVE_UNISTD_H) || defined(ECCODES_HAVE_UNISTD_H)
#define   HAVE_UNISTD_H 1
#endif

#if defined(EC_HAVE_FSEEKO) || defined(ECCODES_HAVE_FSEEKO)
#define   HAVE_FSEEKO 1
#endif

#if defined(EC_HAVE_POSIX_MEMALIGN) || defined(ECCODES_HAVE_POSIX_MEMALIGN)
#define   POSIX_MEMALIGN 1
#endif


/* other */

#define IEEE_BE @IEEE_BE@

#define IEEE_LE @IEEE_LE@

#define IS_BIG_ENDIAN @IS_BIG_ENDIAN@

#define MANAGE_MEM    @MANAGE_MEM@

/* packages */

#define HAVE_JPEG         @HAVE_JPEG@

#define HAVE_LIBJASPER    @HAVE_LIBJASPER@

#define HAVE_LIBOPENJPEG  @HAVE_LIBOPENJPEG@

#define HAVE_LIBPNG  @HAVE_LIBPNG@

#cmakedefine HAVE_AEC

#cmakedefine HAVE_NETCDF

#cmakedefine HAVE_GEOGRAPHY
#cmakedefine HAVE_ECKIT_GEO
#cmakedefine HAVE_MEMFS
#cmakedefine HAVE_FORTRAN

#ifdef HAVE_MEMFS
#undef ECCODES_DEFINITION_PATH
#define ECCODES_DEFINITION_PATH "/MEMFS/definitions"
#undef ECCODES_SAMPLES_PATH
#define ECCODES_SAMPLES_PATH "/MEMFS/samples"
#undef ECCODES_IFS_SAMPLES_PATH
#define ECCODES_IFS_SAMPLES_PATH "/MEMFS/ifs_samples"
#endif

#ifdef HAVE_LIBJASPER
#define JASPER_VERSION_MAJOR @JASPER_VERSION_MAJOR@
#endif

#endif /* eccodes_config_h */
