# Conda Build Configuration
# This file controls compiler version selection for all LDAS Tools conda packages
#
# Context: The default conda-build variant config pins compilers to specific versions
# (e.g., GCC 14.3.0). This caused build failures when conda-forge updated to GCC 15.x
# because strict channel priority prevented downgrading.
#
# Solution: Allow any GCC 15.x version, which is compatible with our C++17 codebase
# and matches what's currently available in conda-forge.

# Accept GCC 15.x (currently available in conda-forge)
# Note: conda-forge-pinning already defines zip_keys for compiler versions,
# so we only need to specify the version values we want to use.
c_compiler_version:
  - 15

cxx_compiler_version:
  - 15

# Target x86_64 Linux (disabled for local testing on macOS)
# target_platform:
#   - linux-64

# Pin Boost to 1.90+ to ensure header-only libraries are available
boost:
  - 1.90

# Exclude Python 3.11 and 3.13
# - Python 3.11: xz version conflict (requires xz <5.3.0, but libboost 1.90.0 requires xz >=5.8.1)
# - Python 3.13: numpy 1.26 doesn't support Python 3.13 yet
python:
  - 3.10
  - 3.12

# Required by conda-forge-pinning zip_keys constraint
is_python_min:
  - true
  - false

# Zip keys to pair python with is_python_min
zip_keys:
  -
    - python
    - is_python_min

# Control parallel compilation to prevent OOM kills
# This is a build-time configuration that affects all packages
# Individual packages can override via CPU_COUNT environment variable
# For framecpp (large object files): use 2-4 cores max
# Default for other packages: 6 cores
cpu_count:
  - 4
