diff --git a/configure.ac b/configure.ac index 347133e15136dfa0d0301beb97397fdad19df09b..62953aba6e0fd98199eea6571a04e55b5173a448 100644 --- a/configure.ac +++ b/configure.ac @@ -1839,14 +1839,12 @@ if test "$have_armv7apmccntr"x = "yes"x; then fi # Check if we have native exp10 and exp10f functions. If not fallback to our -# implementations. On Apple/CLANG we have __exp10, so also check for that +# implementations. On Apple/CLANG/Homebrew gcc we have __exp10, so also check for that # if the compiler is clang. AC_CHECK_LIB([m],[exp10], [AC_DEFINE([HAVE_EXP10],1,[The exp10 function is present.])]) AC_CHECK_LIB([m],[exp10f], [AC_DEFINE([HAVE_EXP10F],1,[The exp10f function is present.])]) -if test "$ax_cv_c_compiler_vendor" = "clang"; then - AC_CHECK_LIB([m],[__exp10], [AC_DEFINE([HAVE___EXP10],1,[The __exp10 function is present.])]) - AC_CHECK_LIB([m],[__exp10f], [AC_DEFINE([HAVE___EXP10F],1,[The __exp10f function is present.])]) -fi +AC_CHECK_LIB([m],[__exp10], [AC_DEFINE([HAVE___EXP10],1,[The __exp10 function is present.])]) +AC_CHECK_LIB([m],[__exp10f], [AC_DEFINE([HAVE___EXP10F],1,[The __exp10f function is present.])]) # Check if we have native sincos and sincosf functions. If not fallback to our # implementations. On Apple/CLANG we have __sincos, so also check for that @@ -1857,7 +1855,15 @@ if test "$ax_cv_c_compiler_vendor" = "clang"; then AC_CHECK_LIB([m],[__sincos], [AC_DEFINE([HAVE___SINCOS],1,[The __sincos function is present.])]) AC_CHECK_LIB([m],[__sincosf], [AC_DEFINE([HAVE___SINCOSF],1,[The __sincosf function is present.])]) fi - + +# On Apple (CLANG or Homebrew gcc), check for __sincos and __sincosf inline functions in the headers. +AC_CHECK_HEADERS([math.h], [ + AC_CHECK_DECLS([__sincos, __sincosf], [ + AC_DEFINE([HAVE___SINCOS], 1, [The __sincos function is present.]) + AC_DEFINE([HAVE___SINCOSF], 1, [The __sincosf function is present.]) + ], [], [#include <math.h>]) +]) + # The aocc compiler has optimized maths libraries that we should use. Check # any clang for this support. Note do this after the basic check for maths # as we need to make sure -lm follows. Also note needs -Ofast or -ffast-math diff --git a/src/feedback/GEAR/initial_mass_function.c b/src/feedback/GEAR/initial_mass_function.c index 58cf13dcfe2213bc7eefdf30c2b1c1430b20e09f..62d1d63a46f3c9ab3ab2ebe3b9b72572f34fe6de 100644 --- a/src/feedback/GEAR/initial_mass_function.c +++ b/src/feedback/GEAR/initial_mass_function.c @@ -19,6 +19,7 @@ /* local headers */ #include "initial_mass_function.h" +#include "exp10.h" #include "hdf5_functions.h" #include "stellar_evolution_struct.h" diff --git a/src/feedback/GEAR/stellar_evolution.c b/src/feedback/GEAR/stellar_evolution.c index fd6ec03f193cd1b549cd02409bf43287dcf8c0a8..56b5600066cf1fc97a4fd6cbac800c454c806af7 100644 --- a/src/feedback/GEAR/stellar_evolution.c +++ b/src/feedback/GEAR/stellar_evolution.c @@ -28,6 +28,7 @@ #include "stellar_evolution_struct.h" #include "supernovae_ia.h" #include "supernovae_ii.h" +#include "exp10.h" #include <math.h> #include <stddef.h>