📄 configure.ac
字号:
*-*-hpux11*) ac_cv_c_ieee_interface=hpux11 ;; *-*-hpux*) ac_cv_c_ieee_interface=hpux ;; *-*-osf*) ac_cv_c_ieee_interface=tru64 ;; *-*-aix*) ac_cv_c_ieee_interface=aix ;; *-*-irix*) ac_cv_c_ieee_interface=irix ;; powerpc-*-*darwin*) ac_cv_c_ieee_interface=darwin ;; *86-*-*darwin*) ac_cv_c_ieee_interface=darwin86 ;; *-*-*netbsd*) ac_cv_c_ieee_interface=netbsd ;; *-*-*openbsd*) ac_cv_c_ieee_interface=openbsd ;; *-*-*bsd*) ac_cv_c_ieee_interface=freebsd ;; *-*-os2*) ac_cv_c_ieee_interface=os2emx ;; *) ac_cv_c_ieee_interface=unknown ;;esac])if test "$ac_cv_c_ieee_interface" = "gnux86" ; then AC_CACHE_CHECK([for FPU_SETCW], ac_cv_c_fpu_setcw, [ac_cv_c_fpu_setcw=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <fpu_control.h>#ifndef _FPU_SETCW#include <i386/fpu_control.h>#define _FPU_SETCW(cw) __setfpucw(cw)#endif]], [[ unsigned short mode = 0 ; _FPU_SETCW(mode); ]])],[ac_cv_c_fpu_setcw="yes"],[ac_cv_c_ieee_interface=unknown]) ])fiif test "$ac_cv_c_ieee_interface" = "gnux86" ; then AC_CACHE_CHECK([for SSE extensions], ac_cv_c_fpu_sse, [ac_cv_c_fpu_sse=no AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>#define _FPU_SETMXCSR(cw_sse) asm volatile ("ldmxcsr %0" : : "m" (*&cw_sse))]], [[ unsigned int mode = 0x1f80 ; _FPU_SETMXCSR(mode); exit(0); ]])],[ac_cv_c_fpu_sse="yes"],[ac_cv_c_fpu_sse="no"],[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>#define _FPU_SETMXCSR(cw_sse) asm volatile ("ldmxcsr %0" : : "m" (*&cw_sse))]], [[ unsigned int mode = 0x1f80 ; _FPU_SETMXCSR(mode); exit(0); ]])],[ac_cv_c_fpu_sse="yes"],[ac_cv_c_fpu_sse="no"])])]) if test $ac_cv_c_fpu_sse = yes; then AC_DEFINE([HAVE_FPU_X86_SSE], 1, [Define if x86 processor has sse extensions.]) fifiac_tr_ieee_interface=HAVE_`echo $ac_cv_c_ieee_interface | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`_IEEE_INTERFACEAC_DEFINE_UNQUOTED($ac_tr_ieee_interface,1,[IEEE Interface Type])AC_SUBST(HAVE_GNUSPARC_IEEE_INTERFACE)AC_SUBST(HAVE_GNUM68K_IEEE_INTERFACE)AC_SUBST(HAVE_GNUPPC_IEEE_INTERFACE)AC_SUBST(HAVE_GNUX86_IEEE_INTERFACE)AC_SUBST(HAVE_SUNOS4_IEEE_INTERFACE)AC_SUBST(HAVE_SOLARIS_IEEE_INTERFACE)AC_SUBST(HAVE_HPUX11_IEEE_INTERFACE)AC_SUBST(HAVE_HPUX_IEEE_INTERFACE)AC_SUBST(HAVE_TRU64_IEEE_INTERFACE)AC_SUBST(HAVE_IRIX_IEEE_INTERFACE)AC_SUBST(HAVE_AIX_IEEE_INTERFACE)AC_SUBST(HAVE_FREEBSD_IEEE_INTERFACE)AC_SUBST(HAVE_OS2EMX_IEEE_INTERFACE)AC_SUBST(HAVE_NETBSD_IEEE_INTERFACE)AC_SUBST(HAVE_OPENBSD_IEEE_INTERFACE)AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)dnl Check for IEEE control flagssave_cflags="$CFLAGS"AC_CACHE_CHECK([for IEEE compiler flags], ac_cv_c_ieee_flags,[case "$host" in alpha*-*-*) if test X"$GCC" = Xyes ; then ieee_flags='-mieee -mfp-rounding-mode=d' else # This assumes Compaq's C compiler. ieee_flags='-ieee -fprm d' fi ;;esacif test X"$ieee_flags" != X ; then CFLAGS="$ieee_flags $CFLAGS" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_ieee_flags="$ieee_flags"],[ac_cv_c_ieee_flags="none"])else ac_cv_c_ieee_flags="none"fi])if test "$ac_cv_c_ieee_flags" != "none" ; then CFLAGS="$ac_cv_c_ieee_flags $save_cflags"else CFLAGS="$save_cflags"fidnl Check IEEE comparisons, whether "x != x" is true for NaNsdnlAC_CACHE_CHECK([for IEEE comparisons], ac_cv_c_ieee_comparisons,[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <math.h>int main (void) { int status; double inf, nan; inf = exp(1.0e10); nan = inf / inf ; status = (nan == nan); exit (status);}]])],[ac_cv_c_ieee_comparisons="yes"],[ac_cv_c_ieee_comparisons="no"],[ac_cv_c_ieee_comparisons="yes"])])if test "$ac_cv_c_ieee_comparisons" != no ; then AC_DEFINE(HAVE_IEEE_COMPARISONS,1,[Define this if IEEE comparisons work correctly (e.g. NaN != NaN)])fidnl Check for IEEE denormalized arithmeticdnlAC_CACHE_CHECK([for IEEE denormalized values], ac_cv_c_ieee_denormals,[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <math.h> int main (void) { int i, status; volatile double z = 1e-308; for (i = 0; i < 5; i++) { z = z / 10.0 ; }; for (i = 0; i < 5; i++) { z = z * 10.0 ; }; status = (z == 0.0); exit (status);}]])],[ac_cv_c_ieee_denormals="yes"],[ac_cv_c_ieee_denormals="no"],[ac_cv_c_ieee_denormals="yes"])])if test "$ac_cv_c_ieee_denormals" != no ; then AC_DEFINE(HAVE_IEEE_DENORMALS,1,[Define this if IEEE denormalized numbers are available])fiAH_TEMPLATE([HIDE_INLINE_STATIC],[Define if you need to hide the static definitions of inline functions])AH_BOTTOM([/* Use 0 and 1 for EXIT_SUCCESS and EXIT_FAILURE if we don't have them */#if !HAVE_EXIT_SUCCESS_AND_FAILURE#define EXIT_SUCCESS 0#define EXIT_FAILURE 1#endif])AH_BOTTOM([/* Define one of these if you have a known IEEE arithmetic interface */#undef HAVE_GNUSPARC_IEEE_INTERFACE#undef HAVE_GNUM68K_IEEE_INTERFACE#undef HAVE_GNUPPC_IEEE_INTERFACE#undef HAVE_GNUX86_IEEE_INTERFACE#undef HAVE_SUNOS4_IEEE_INTERFACE#undef HAVE_SOLARIS_IEEE_INTERFACE#undef HAVE_HPUX11_IEEE_INTERFACE#undef HAVE_HPUX_IEEE_INTERFACE#undef HAVE_TRU64_IEEE_INTERFACE#undef HAVE_IRIX_IEEE_INTERFACE#undef HAVE_AIX_IEEE_INTERFACE#undef HAVE_FREEBSD_IEEE_INTERFACE#undef HAVE_OS2EMX_IEEE_INTERFACE#undef HAVE_NETBSD_IEEE_INTERFACE#undef HAVE_OPENBSD_IEEE_INTERFACE#undef HAVE_DARWIN_IEEE_INTERFACE#undef HAVE_DARWIN86_IEEE_INTERFACE])AH_BOTTOM([/* Define a rounding function which moves extended precision values out of registers and rounds them to double-precision. This should be used *sparingly*, in places where it is necessary to keep double-precision rounding for critical expressions while running in extended precision. For example, the following code should ensure exact equality, even when extended precision registers are in use, double q = GSL_COERCE_DBL(3.0/7.0) ; if (q == GSL_COERCE_DBL(3.0/7.0)) { ... } ; It carries a penalty even when the program is running in double precision mode unless you compile a separate version of the library with HAVE_EXTENDED_PRECISION_REGISTERS turned off. */#if HAVE_EXTENDED_PRECISION_REGISTERS#define GSL_COERCE_DBL(x) (gsl_coerce_double(x))#else#define GSL_COERCE_DBL(x) (x)#endif])AH_BOTTOM([/* Substitute gsl functions for missing system functions */#if !HAVE_DECL_HYPOT#define hypot gsl_hypot#endif#if !HAVE_DECL_LOG1P#define log1p gsl_log1p#endif#if !HAVE_DECL_EXPM1#define expm1 gsl_expm1#endif#if !HAVE_DECL_ACOSH#define acosh gsl_acosh#endif#if !HAVE_DECL_ASINH#define asinh gsl_asinh#endif#if !HAVE_DECL_ATANH#define atanh gsl_atanh#endif#if !HAVE_DECL_LDEXP#define ldexp gsl_ldexp#endif#if !HAVE_DECL_FREXP#define frexp gsl_frexp#endif#if !HAVE_DECL_ISINF#define isinf gsl_isinf#endif#if !HAVE_DECL_FINITE#define finite gsl_finite#endif#if !HAVE_DECL_ISNAN#define isnan gsl_isnan#endif])AH_BOTTOM([#ifdef __GNUC__#define DISCARD_POINTER(p) do { ; } while(p ? 0 : 0);#else#define DISCARD_POINTER(p) /* ignoring discarded pointer */#endif])AH_BOTTOM([#if defined(GSL_RANGE_CHECK_OFF) || !defined(GSL_RANGE_CHECK)#define GSL_RANGE_CHECK 0 /* turn off range checking by default internally */#endif])AH_VERBATIM([GSL_DISABLE_DEPRECATED],[/* Disable deprecated functions and enums while building */#define GSL_DISABLE_DEPRECATED 1])dnlAC_CONFIG_FILES([gsl-config gsl.pc gsl_version.h gsl.spec gsl/Makefile test/Makefile err/Makefile sys/Makefile utils/Makefile const/Makefile min/Makefile multimin/Makefile ieee-utils/Makefile fft/Makefile specfunc/Makefile dht/Makefile fit/Makefile multifit/Makefile bspline/Makefile statistics/Makefile sum/Makefile roots/Makefile multiroots/Makefile ntuple/Makefile poly/Makefile qrng/Makefile rng/Makefile randist/Makefile siman/Makefile integration/Makefile interpolation/Makefile doc/Makefile block/Makefile vector/Makefile matrix/Makefile histogram/Makefile monte/Makefile ode-initval/Makefile cblas/Makefile blas/Makefile linalg/Makefile eigen/Makefile permutation/Makefile combination/Makefile sort/Makefile complex/Makefile diff/Makefile deriv/Makefile cheb/Makefile cdf/Makefile wavelet/Makefile Makefile])AC_OUTPUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -