Build Configuration
wlcov uses a Makefile-based build. User-facing settings live in
Makefile_settings and machine-specific compiler/linker settings live in
Makefile_machine.
Makefile Settings
Setting |
Default |
Meaning |
|---|---|---|
|
|
Enables GSL-backed Bessel-function routines. Keep enabled for current code. |
|
|
Enables OpenMP runtime thread control when set to |
|
|
Enables the CLASS-style input parser, addon include hooks, and Cython
support. Keep enabled for |
Addon Settings
Addon switches live in addons/Makefile_addons_settings.
Setting |
Default |
Meaning |
|---|---|---|
|
|
Enables the CLASS-style parser and error-message infrastructure used by the Python wrapper. |
|
|
Enables Cython helper functions and declarations. It requires
|
|
|
Enables the optional cosmology addon in |
Compiler and Linker Variables
The main variables in Makefile_machine are:
Variable |
Purpose |
|---|---|
|
C compiler. The default is |
|
Python executable used to install |
|
Optimization flags, currently |
|
OpenMP compiler flag, currently |
|
Path to |
|
Optional include directory for GSL headers. |
|
Optional library directory for GSL libraries. |
Recommended Build Pattern
Prefer command-line overrides for machine-local paths so repository defaults remain portable:
make clean
make PYTHON=python3 all
For a local GSL installation:
export GSL_DIR="$HOME/local/gsl"
export GSL_INCLUDE="$GSL_DIR/include"
export GSL_LIB="$GSL_DIR/lib"
make PYTHON=python3 \
GSL_INCLUDE="${GSL_INCLUDE}" \
GSL_LIB="${GSL_LIB}" all
Build Artifacts
make all builds the executable and static library and installs wlcovpy
via pip install .. The wrapper build generates python/cwlcovpy.pxd
from python/cwlcovpy.pxd.in so its C struct declarations match the active
addon settings.
For a clean release tree, run:
make clean
and remove generated example outputs before committing.