Build Configuration
cTreeBalls uses three layers of build configuration:
Makefile_settingsCore feature switches such as dimension, GSL, OpenMP, and add-ons.
Makefile_machineCompiler, optimization, Python executable, OpenMP flag, and external library paths.
addons/Makefile_addons_settingsOptional search methods, I/O libraries, Cython declarations, and experimental features.
Core Settings
Setting |
Default |
Meaning |
|---|---|---|
|
|
Compile for two- or three-dimensional positions. |
|
|
Enable GSL-dependent routines. |
|
|
Build bundled GSL sources; set to |
|
|
Enable OpenMP compilation and |
|
|
Include optional engines, formats, parser support, and Python hooks. |
Important Add-on Settings
OCTREEGGGOMPON, KDTREEOMPON, KDTREEBOXOMPON, and
NEIGHBORBOXESOMPON select search implementations. CLASSLIBON and
PXDON support the Cython wrapper. IOLIBON and CFITSIOON enable
additional catalog formats. TWOPCFON and TPCFON control compilation
of two- and three-point statistics.
Several lower sections of addons/Makefile_addons_settings are explicitly
marked experimental or development-only. Do not enable them for production
without validating against the repository test suite.
Machine Variables
CCC compiler, normally
gcc.PYTHONPython executable used for the extension build. Override with
PYTHON=python3at make time.OPTFLAGOptimization flags, currently
-O3 -ffast-math.OMPFLAGOpenMP compiler flag, currently
-fopenmp.NAGBODYDIRBase path used when external GSL or CFITSIO libraries are selected.
After Changing Settings
make clean
make PYTHON=python3 all
Record the three configuration files with benchmark and production outputs.