# This file created by conda-build 25.1.2
# ------------------------------------------------

package:
  name: gxx_impl_linux-64
  version: 14.3.0
source:
  - patches:
      - patches/0001-allow-commands-in-main-specfile.patch
      - patches/0002-patch-zoneinfo_dir_override-to-point-to-our-tzdata.patch
      - patches/0003-add-ldl-to-libstdc___la_LDFLAGS.patch
      - patches/0004-Hardcode-HAVE_ALIGNED_ALLOC-1-in-libstdc-v3-configur.patch
    sha256: ace8b8b0dbfe6abfc22f821cb093e195aa5498b7ccf7cd23e4424b9f14afed22
    url:
      - https://ftp.gnu.org/gnu/gcc/gcc-14.3.0/gcc-14.3.0.tar.gz
      - https://mirrors.ocf.berkeley.edu/gnu/gcc/gcc-14.3.0/gcc-14.3.0.tar.gz
build:
  detect_binary_files_with_prefix: false
  ignore_run_exports_from:
    - sysroot_linux-64
  missing_dso_whitelist:
    - '*'
  number: 4
  string: he634eba_4
requirements:
  host:
    - gcc_impl_linux-64 14.3.0 h4943218_4
    - kernel-headers_linux-64 4.18.0 h528b178_0
    - sysroot_linux-64 2.28 h528b178_0
    - tzdata 2025b h04d1e81_0
  run:
    - gcc_impl_linux-64 14.3.0 h4943218_4
    - libstdcxx-devel_linux-64 14.3.0 he7458c1_104
    - sysroot_linux-64
    - tzdata
test:
  commands:
    - test -f ${PREFIX}/bin/x86_64-conda-linux-gnu-g++
    - CXX=$(${PREFIX}/bin/*-gcc -dumpmachine)-g++
    - ${CXX} -Wall tests/aligned_alloc.cpp -c -o cpp_aligned.o --std=c++17
    - ${CXX} -Wall cpp_aligned.o -o cpp_aligned --std=c++17 && ./cpp_aligned
    - ${CXX} -Wall tests/hello_world.cpp -c -o hello_world.o --std=c++17
    - ${CXX} -Wall hello_world.o -o hello_world --std=c++17
    - ${CXX} -isystem ${PREFIX}/include --std=c++20 -Wall tests/tzdb-override.cpp
      -c -o tzdb-override.o
    - ${CXX} -isystem ${PREFIX}/include --std=c++20 -Wall tests/tzdb.cpp -c -o tzdb.o
    - ${CXX} tzdb-override.o -o tzdb-override && ./tzdb-override
    - ${CXX} tzdb.o -o tzdb && ./tzdb
    - $PREFIX/usr/bin/strace ./tzdb 2>&1 | grep ${CONDA_PREFIX}/lib/../share/zoneinfo/tzdata.zi
    - unset PREFIX
    - unset CONDA_PREFIX
    - ./tzdb
  files:
    - tests
  requires:
    - strace_linux-64
    - sysroot_linux-64 2.28.*
about:
  home: https://gcc.gnu.org/
  license: GPL-3.0-only WITH GCC-exception-3.1
  summary: GNU C++ Compiler
extra:
  copy_test_source_files: true
  feedstock-name: ctng-compilers-feedstock
  final: true
  recipe-maintainers:
    - beckermr
    - isuruf
    - timsnyder
    - xhochy
