# cos6-specific because of PYTHON_SYSCONFIGDATA_NAME below.  Would be nice to make that more generic if possible.
gcc_version:
  - 14.2.0
  - 13.3.0
  - 12.4.0
libgfortran_soname:
  - 5
binutils_version:
  - 2.40
cross_target_platform:
  - linux-64
  - linux-ppc64le
  - linux-aarch64
  - linux-s390x
  - win-64
triplet:
  - x86_64-conda-linux-gnu
  - powerpc64le-conda-linux-gnu
  - aarch64-conda-linux-gnu
  - s390x-conda-linux-gnu
  - x86_64-w64-mingw32
c_stdlib:          # [win]
  - m2w64-sysroot  # [win]
c_stdlib_version:  # [win]
  - 12             # [win]
cross_stdlib:
  - sysroot
  - sysroot
  - sysroot
  - sysroot
  - m2w64-sysroot
cross_stdlib_version:
  - 2.12
  - 2.17
  - 2.17
  - 2.17
  - 12

clang_version:
  - 19.1
  - 18.1
  - 17.0

# switch over release flag style cleanly across compiler versions, see #98
meson_release_flag:
  - "--buildtype release"
  - "-Dbuildtype=release"
  - "-Dbuildtype=release"

zip_keys:
  - - cross_target_platform
    - triplet
    - cross_stdlib
    - cross_stdlib_version
  - - gcc_version
    - meson_release_flag

FINAL_CPPFLAGS:
  - -DNDEBUG -D_FORTIFY_SOURCE=2 -O2

FINAL_CFLAGS_linux_64:
  - -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe
FINAL_CFLAGS_linux_32:
  - -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe
FINAL_CFLAGS_linux_ppc64le:
  - -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CFLAGS_linux_aarch64:
  - -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CFLAGS_linux_s390x:
  - -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CFLAGS_win_64:
  - -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe

FINAL_CXXFLAGS_linux_64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe
FINAL_CXXFLAGS_linux_32:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe
FINAL_CXXFLAGS_linux_ppc64le:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CXXFLAGS_linux_aarch64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CXXFLAGS_linux_s390x:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_CXXFLAGS_win_64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe

FINAL_FFLAGS_linux_64:
  - -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe
FINAL_FFLAGS_linux_32:
  - -fopenmp -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe
FINAL_FFLAGS_linux_ppc64le:
  - -fopenmp -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_FFLAGS_linux_aarch64:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_FFLAGS_linux_s390x:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe
FINAL_FFLAGS_win_64:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe

FINAL_LDFLAGS_linux_64:
  - -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_32:
  - -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_ppc64le:
  - -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_aarch64:
  - -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_s390x:
  - -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_win_64:
  - -Wl,-O2 -Wl,--sort-common

FINAL_DEBUG_CPPFLAGS:
  - -D_DEBUG -D_FORTIFY_SOURCE=2 -Og

FINAL_DEBUG_CFLAGS_linux_64:
  - -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe
FINAL_DEBUG_CFLAGS_linux_32:
  - -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CFLAGS_linux_ppc64le:
  - -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CFLAGS_linux_aarch64:
  - -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CFLAGS_linux_s390x:
  - -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CFLAGS_win_64:
  - -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe

FINAL_DEBUG_CXXFLAGS_linux_64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe
FINAL_DEBUG_CXXFLAGS_linux_32:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CXXFLAGS_linux_ppc64le:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CXXFLAGS_linux_aarch64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CXXFLAGS_linux_s390x:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
FINAL_DEBUG_CXXFLAGS_win_64:
  - -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe

FINAL_DEBUG_FFLAGS_linux_64:
  - -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -ffunction-sections -pipe
FINAL_DEBUG_FFLAGS_linux_32:
  - -fopenmp -march=prescott -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -pipe
FINAL_DEBUG_FFLAGS_linux_ppc64le:
  - -fopenmp -mcpu=power8 -mtune=power8 -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe
FINAL_DEBUG_FFLAGS_linux_aarch64:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe
FINAL_DEBUG_FFLAGS_linux_s390x:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe
FINAL_DEBUG_FFLAGS_win_64:
  - -fopenmp -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe

FINAL_CONDA_PYTHON_SYSCONFIGDATA_NAME_linux_64:
  - _sysconfigdata_x86_64_conda_cos6_linux_gnu
FINAL_CONDA_PYTHON_SYSCONFIGDATA_NAME_linux_32:
  - _sysconfigdata_i686_conda_cos6_linux_gnu
FINAL_CONDA_PYTHON_SYSCONFIGDATA_NAME_linux_ppc64le:
  - _sysconfigdata_powerpc64le_conda_cos7_linux_gnu
FINAL_CONDA_PYTHON_SYSCONFIGDATA_NAME_linux_aarch64:
  - _sysconfigdata_aarch64_conda_cos7_linux_gnu
FINAL_CONDA_PYTHON_SYSCONFIGDATA_NAME_linux_s390x:
  - _sysconfigdata_s390x_conda_linux_gnu
