#!/usr/bin/bash
NGSCXX_DIR=$( cd $(dirname $0); pwd )
PY_INCLUDE_FLAGS=-I$(python3 -c"import sysconfig;print(sysconfig.get_path('include'))")
if [ -f /opt/rh/gcc-toolset-14/root/usr/bin/g++ ]
  then NGSCXX=/opt/rh/gcc-toolset-14/root/usr/bin/g++
  else NGSCXX=c++
fi
export CCACHE_NOHASHDIR=1

NGS_INCLUDE_ARGS=$(python3 -c "import ngsolve.config as c; print(c.get_compile_include_args())")

if [ -f /usr/local/cuda/bin/nvcc ]
  then NVCC=/usr/local/cuda/bin/nvcc
  else NVCC=nvcc
fi


if [ -f /usr/bin/ccache ]
  then /usr/bin/ccache $NVCC  -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DNGS_PYTHON -DUSE_UMFPACK -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -arch=native --expt-relaxed-constexpr --extended-lambda --diag-suppress=611 --diag-suppress=20011 --diag-suppress=20012 --diag-suppress=20013 --diag-suppress=20014 --diag-suppress=20015 -rdc=true -Xcompiler -std=c++20 -Xcompiler -DMAX_SYS_DIM=3 -Xcompiler -march=core-avx2 -Xcompiler -fabi-version=17 -Xcompiler -fPIC  -I/opt/python/cp314-cp314/include/python3.14 $NGS_INCLUDE_ARGS $PY_INCLUDE_FLAGS $*

  else $NVCC  -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DNGS_PYTHON -DUSE_UMFPACK -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -arch=native --expt-relaxed-constexpr --extended-lambda --diag-suppress=611 --diag-suppress=20011 --diag-suppress=20012 --diag-suppress=20013 --diag-suppress=20014 --diag-suppress=20015 -rdc=true -Xcompiler -std=c++20 -Xcompiler -DMAX_SYS_DIM=3 -Xcompiler -march=core-avx2 -Xcompiler -fabi-version=17 -Xcompiler -fPIC  -I/opt/python/cp314-cp314/include/python3.14 $NGS_INCLUDE_ARGS $PY_INCLUDE_FLAGS $*

fi
