📄 configure.ac
字号:
dnl Process this file with autoconf to produce a configure script.AC_INIT(gsl,1.4)AC_CONFIG_SRCDIR(gsl_math.h)AM_INIT_AUTOMAKE([gnu no-dependencies])AM_CONFIG_HEADER(config.h)AM_MAINTAINER_MODEdnl Library versioning (current:revision:age)dnl See the libtool manual for an explanation of the numbersdnldnl gsl-1.0 libgsl 0:0:0 libgslcblas 0:0:0dnl gsl-1.1 libgsl 1:0:1 libgslcblas 0:0:0dnl gsl-1.1.1 libgsl 2:0:2 libgslcblas 0:0:0dnl gsl-1.2 libgsl 3:0:3 libgslcblas 0:0:0dnl gsl-1.3 libgsl 4:0:4 libgslcblas 0:0:0dnl gsl-1.4 libgsl 5:0:5 libgslcblas 0:0:0GSL_LT_VERSION="5:0:5"AC_SUBST(GSL_LT_VERSION)GSL_LT_CBLAS_VERSION="0:0:0"AC_SUBST(GSL_LT_CBLAS_VERSION)case "$VERSION" in *+) AC_DEFINE(RELEASED,0) ;; *) AC_DEFINE(RELEASED,1) ;;esacAC_SUBST(RELEASED) dnl things required by automakednl AC_ARG_PROGRAMAC_PROG_MAKE_SETdnl Check for which system.AC_CANONICAL_HOSTdnl Checks for programs.AC_LANG(C)AC_PROG_CCAC_PROG_CPPAC_PROG_INSTALLAC_PROG_LN_SAC_CHECK_TOOL(RANLIB, ranlib, :)AC_CHECK_TOOL(AR, ar, :)#AC_PROG_RANLIBAC_PROG_LIBTOOLdnl Check compiler featuresAC_TYPE_SIZE_Tdnl AC_C_CONSTAC_C_VOLATILEAC_C_INLINEGSL_CFLAGS="-I$includedir"GSL_LIBS="-L$libdir -lgsl"AC_SUBST(GSL_CFLAGS)AC_SUBST(GSL_LIBS)dnl Check for "extern inline", using a modified version of the testdnl for AC_C_INLINE from acspecific.mtdnlAC_CACHE_CHECK([for extern inline], ac_cv_c_extern_inline,[ac_cv_c_extern_inline=noAC_TRY_COMPILE([extern $ac_cv_c_inline double foo(double x);extern $ac_cv_c_inline double foo(double x) { return x + 1.0 ; } ;double foo (double x) { return x + 1.0 ; };], [ foo(1.0) ],[ac_cv_c_extern_inline="yes"])])if test "$ac_cv_c_extern_inline" != no ; then AC_DEFINE(HAVE_INLINE,1) AC_SUBST(HAVE_INLINE)fidnl Checks for header files.dnl Checks for typedefs, structures, and compiler characteristics.dnl Checks for library functions.dnl AC_FUNC_ALLOCAAC_FUNC_VPRINTFdnl strcasecmp, strerror, xmalloc, xrealloc, probably others should be added.dnl removed strerror from this list, it's hardcoded in the err/ directorydnl Any functions which appear in this list of functions should be provideddnl in the utils/ directorydnl xmalloc is not used, removed (bjg)AC_REPLACE_FUNCS(memcpy memmove strdup strtol strtoul)AC_CACHE_CHECK(for EXIT_SUCCESS and EXIT_FAILURE,ac_cv_decl_exit_success_and_failure,AC_EGREP_CPP(yes,[#include <stdlib.h>#ifdef EXIT_SUCCESSyes#endif], ac_cv_decl_exit_success_and_failure=yes,ac_cv_decl_exit_success_and_failure=no))if test "$ac_cv_decl_exit_success_and_failure" = yes ; then AC_DEFINE(HAVE_EXIT_SUCCESS_AND_FAILURE)fi ;dnl Use alternate libm if specified by userif test "x$LIBS" = "x" ; then AC_CHECK_LIB(m, cos)fidnl Remember to put a definition in acconfig.h for each of theseAC_CHECK_DECLS(feenableexcept,,,[#include <math.h>]) AC_CHECK_DECLS(fesettrapenable,,,[#include <math.h>]) AC_CHECK_DECLS(hypot,,,[#include <math.h>]) AC_CHECK_DECLS(expm1,,,[#include <math.h>])AC_CHECK_DECLS(acosh,,,[#include <math.h>])AC_CHECK_DECLS(asinh,,,[#include <math.h>])AC_CHECK_DECLS(atanh,,,[#include <math.h>])AC_CHECK_DECLS(ldexp,,,[#include <math.h>])AC_CHECK_DECLS(frexp,,,[#include <math.h>])AC_CHECK_DECLS(isinf,,,[#include <math.h>])AC_CHECK_DECLS(finite,,,[#include <math.h>])AC_CHECK_DECLS(isfinite,,,[#include <math.h>])AC_CHECK_DECLS(isnan,,,[#include <math.h>])dnl OpenBSD has a broken implementation of log1p.case "$host" in *-*-*openbsd*) AC_MSG_RESULT([avoiding OpenBSD system log1p - using gsl version]) ;; *) AC_CHECK_DECLS(log1p,,,[#include <math.h>]) ;;esacAC_CACHE_CHECK([for long double stdio], ac_cv_func_printf_longdouble,[AC_TRY_RUN([#include <stdlib.h>#include <stdio.h>int main (void) { const char * s = "5678"; long double x = 1.234 ; fprintf(stderr,"%Lg\n",x) ; sscanf(s, "%Lg", &x);if (x == 5678) {exit (0);} else {exit(1); };}],ac_cv_func_printf_longdouble="yes", ac_cv_func_printf_longdouble="no", ac_cv_func_printf_longdouble="no")])if test "$ac_cv_func_printf_longdouble" != no; then AC_DEFINE(HAVE_PRINTF_LONGDOUBLE,1) AC_SUBST(HAVE_PRINTF_LONGDOUBLE)fiAC_CACHE_CHECK([for extended floating point registers],ac_cv_c_extended_fp,[case "$host" in *sparc*-*-*) ac_cv_c_extended_fp=no ;; *powerpc*-*-*) ac_cv_c_extended_fp=no ;; *hppa*-*-*) ac_cv_c_extended_fp=no ;; *alpha*-*-*) ac_cv_c_extended_fp=no ;; *68k*-*-*) ac_cv_c_extended_fp=yes ;; *86*-*-*) ac_cv_c_extended_fp=yes ;; *) ac_cv_c_extended_fp=unknown ;;esac])if test $ac_cv_c_extended_fp != "no" ; then AC_DEFINE(HAVE_EXTENDED_PRECISION_REGISTERS,1) AC_SUBST(HAVE_EXTENDED_PRECISION_REGISTERS)fiAC_CACHE_CHECK([for IEEE arithmetic interface type], ac_cv_c_ieee_interface,[case "$host" in sparc-*-linux*) ac_cv_c_ieee_interface=gnusparc ;; m68k-*-linux*) ac_cv_c_ieee_interface=gnum68k ;; powerpc-*-linux*) ac_cv_c_ieee_interface=gnuppc ;; *86-*-linux*) ac_cv_c_ieee_interface=gnux86 ;; *-*-sunos4*) ac_cv_c_ieee_interface=sunos4 ;; *-*-solaris*) ac_cv_c_ieee_interface=solaris ;; *-*-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 ;; *-*-*darwin*) ac_cv_c_ieee_interface=darwin ;; *-*-*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_TRY_COMPILE([#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]) ])fiac_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)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_TRY_COMPILE(,[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_TRY_RUN([#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) AC_SUBST(HAVE_IEEE_COMPARISONS)fidnl Check for IEEE denormalized arithmeticdnlAC_CACHE_CHECK([for IEEE denormalized values], ac_cv_c_ieee_denormals,[AC_TRY_RUN([#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) AC_SUBST(HAVE_IEEE_DENORMALS)fidnlAC_OUTPUT(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 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 cheb/Makefile cdf/Makefile Makefile)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -