File: buildconfig

package info (click to toggle)
eccodes 2.44.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 150,248 kB
  • sloc: cpp: 163,056; ansic: 26,308; sh: 21,602; f90: 6,854; perl: 6,363; python: 5,087; java: 2,226; javascript: 1,427; yacc: 854; fortran: 543; lex: 359; makefile: 285; xml: 183; awk: 66
file content (30 lines) | stat: -rw-r--r-- 1,989 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# (C) Copyright 2024- 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.

# to be source'd by wheelmaker's compile.sh *and* wheel-linux.sh
# NOTE replace the whole thing with pyproject.toml? Less powerful, and quaint to use for sourcing ecbuild invocation
# TODO we duplicate information -- pyproject.toml's `name` and `packages` are derivable from $NAME and must stay consistent

NAME="eccodes"

CMAKE_PARAMS1="-DENABLE_PNG=1 -DENABLE_JPG=1 -DENABLE_JPG_LIBJASPER=0 -DENABLE_JPG_LIBOPENJPEG=1 -DOPENJPEG_DIR=/tmp/openjpeg/target"
CMAKE_PARAMS2="-DENABLE_NETCDF=0 -DENABLE_FORTRAN=1"
# NOTE build tools is enabled because it currently seems required by fdb compilation. Consider removal in the future
CMAKE_PARAMS3="-DENABLE_EXAMPLES=0 -DENABLE_BUILD_TOOLS=1 -DENABLE_INSTALL_ECCODES_DEFINITIONS=0 -DENABLE_INSTALL_ECCODES_SAMPLES=0"
CMAKE_PARAMS4="-DENABLE_ECCODES_THREADS=1 -DENABLE_MEMFS=1"
CMAKE_PARAMS5="-DENABLE_AEC=1 -DAEC_DIR=/tmp/libaec"
CMAKE_PARAMS="$CMAKE_PARAMS1 $CMAKE_PARAMS2 $CMAKE_PARAMS3 $CMAKE_PARAMS4 $CMAKE_PARAMS5"

PYPROJECT_DIR="python_wrapper"
# NOTE fckit is present because it bundles intel fortran libs in, which eccodes fortran also needs. There is no code
# dependency. We could have instead bundled fortran libs in here as well, but that would result in bloated wheels and
# perhaps conflicts -- thus we opt for a hack (temporary anyway as eventually fortran will fade out)
# NOTE we have eckit dependency here already, but it's not actually used during compilation -- the reason is that
# the dependency resolution during install cannot well resolve transitive dependencies yet, and fckit does depend on
# eckit
DEPENDENCIES='["eckitlib", "fckitlib"]'