Changeset 2043 for branches/0.5-stable/m4/gsl.m4
- Timestamp:
- Sep 1, 2009, 12:08:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.5-stable/m4/gsl.m4
r1903 r2043 9 9 AC_ARG_WITH(gsl-exec-prefix,[ --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional)], 10 10 gsl_exec_prefix="$withval", gsl_exec_prefix="") 11 AC_ARG_ENABLE(gsltest, [ --disable-gsltest Do not try to compile and run a test GSL program],12 , enable_gsltest=yes)13 11 14 12 if test "x${GSL_CONFIG+set}" != xset ; then … … 27 25 if test "$GSL_CONFIG" = "no" ; then 28 26 no_gsl=yes 27 AC_MSG_RESULT([no]) 28 AC_MSG_WARN([ 29 The gsl-config script installed by GSL could not be found 30 If GSL was installed in PREFIX, make sure PREFIX/bin is in 31 your path, or set the GSL_CONFIG environment variable to the 32 full path to gsl-config. 33 ]) 29 34 else 30 35 GSL_CFLAGS=`$GSL_CONFIG --cflags` 31 36 GSL_LIBS=`$GSL_CONFIG --libs` 37 ac_save_LIBS="$LIBS" 38 CXXFLAGS="$CXXFLAGS $GSL_CFLAGS" 39 LIBS="$GSL_LIBS $LIBS" 40 AC_LINK_IFELSE([AC_LANG_PROGRAM(, [return 0])],,[no_gsl=yes]) 41 LIBS="$ac_save_LIBS" 42 fi 32 43 33 gsl_major_version=`$GSL_CONFIG --version | \ 34 sed 's/^\([[0-9]]*\).*/\1/'` 35 if test "x${gsl_major_version}" = "x" ; then 36 gsl_major_version=0 37 fi 44 if test "x$no_gsl" = xyes ; then 45 AC_MSG_RESULT([no]) 46 AC_MSG_WARN([ 47 The test program failed to compile or link. See the config.log 48 for the exact error that occured. This usually means GSL was 49 incorrectly installed or that you have moved GSL since it was 50 installed. In the latter case, you may want to edit the 51 gsl-config script: $GSL_CONFIG. 52 ]) 53 else 54 ac_gsl_version=`$GSL_CONFIG --version` 55 AX_COMPARE_VERSION([$ac_gsl_version], [ge], [$min_gsl_version],,[no_gsl=yes]) 56 AC_MSG_RESULT([$ac_gsl_version]) 57 if test "x$no_gsl" = xyes ; then 58 AC_MSG_WARN([ 59 gsl-config --version returned $ac_gsl_version, but the minimum 60 version of GSL required is $min_gsl_version. If gsl-config is 61 correct, then it is best to upgrade to the required version. If 62 gsl-config was wrong, set the environment variable GSL_CONFIG to 63 point to the correct copy of gsl-config, and remove the file 64 config.cache before re-running configure. 65 ]) 66 fi 67 fi 38 68 39 gsl_minor_version=`$GSL_CONFIG --version | \40 sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\2/'`41 if test "x${gsl_minor_version}" = "x" ; then42 gsl_minor_version=043 fi44 45 gsl_micro_version=`$GSL_CONFIG --version | \46 sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\3/'`47 if test "x${gsl_micro_version}" = "x" ; then48 gsl_micro_version=049 fi50 51 if test "x$enable_gsltest" = "xyes" ; then52 ac_save_CFLAGS="$CFLAGS"53 ac_save_LIBS="$LIBS"54 CFLAGS="$CFLAGS $GSL_CFLAGS"55 LIBS="$GSL_LIBS $LIBS"56 57 rm -f conf.gsltest58 AC_TRY_RUN([59 #include <stdio.h>60 #include <stdlib.h>61 #include <string.h>62 63 char* my_strdup (const char *str);64 65 char*66 my_strdup (const char *str)67 {68 char *new_str;69 70 if (str)71 {72 new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));73 strcpy (new_str, str);74 }75 else76 new_str = NULL;77 78 return new_str;79 }80 81 int main (void)82 {83 int major = 0, minor = 0, micro = 0;84 int n;85 char *tmp_version;86 87 system ("touch conf.gsltest");88 89 /* HP/UX 9 (%@#!) writes to sscanf strings */90 tmp_version = my_strdup("$min_gsl_version");91 92 n = sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) ;93 94 if (n != 2 && n != 3) {95 printf("%s, bad version string\n", "$min_gsl_version");96 exit(1);97 }98 99 if (($gsl_major_version > major) ||100 (($gsl_major_version == major) && ($gsl_minor_version > minor)) ||101 (($gsl_major_version == major) && ($gsl_minor_version == minor) && ($gsl_micro_version >= micro)))102 {103 exit(0);104 }105 else106 {107 printf("\n*** 'gsl-config --version' returned %d.%d.%d, but the minimum version\n", $gsl_major_version, $gsl_minor_version, $gsl_micro_version);108 printf("*** of GSL required is %d.%d.%d. If gsl-config is correct, then it is\n", major, minor, micro);109 printf("*** best to upgrade to the required version.\n");110 printf("*** If gsl-config was wrong, set the environment variable GSL_CONFIG\n");111 printf("*** to point to the correct copy of gsl-config, and remove the file\n");112 printf("*** config.cache before re-running configure\n");113 exit(1);114 }115 }116 117 ],, no_gsl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])118 CFLAGS="$ac_save_CFLAGS"119 LIBS="$ac_save_LIBS"120 fi121 fi122 69 if test "x$no_gsl" = x ; then 123 AC_MSG_RESULT(yes)124 70 ifelse([$2], , :, [$2]) 125 71 else 126 AC_MSG_RESULT(no)127 if test "$GSL_CONFIG" = "no" ; then128 echo "*** The gsl-config script installed by GSL could not be found"129 echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in"130 echo "*** your path, or set the GSL_CONFIG environment variable to the"131 echo "*** full path to gsl-config."132 else133 if test -f conf.gsltest ; then134 :135 else136 echo "*** Could not run GSL test program, checking why..."137 CFLAGS="$CFLAGS $GSL_CFLAGS"138 LIBS="$GSL_LIBS $LIBS"139 AC_TRY_LINK([140 #include <stdio.h>141 ], [ return 0; ],142 [ echo "*** The test program compiled, but did not run. This usually means"143 echo "*** that the run-time linker is not finding GSL or finding the wrong"144 echo "*** version of GSL. If it is not finding GSL, you'll need to set your"145 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"146 echo "*** to the installed location Also, make sure you have run ldconfig if that"147 echo "*** is required on your system"148 echo "***"149 echo "*** If you have an old version installed, it is best to remove it, although"150 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],151 [ echo "*** The test program failed to compile or link. See the file config.log for the"152 echo "*** exact error that occured. This usually means GSL was incorrectly installed"153 echo "*** or that you have moved GSL since it was installed. In the latter case, you"154 echo "*** may want to edit the gsl-config script: $GSL_CONFIG" ])155 CFLAGS="$ac_save_CFLAGS"156 LIBS="$ac_save_LIBS"157 fi158 fi159 # GSL_CFLAGS=""160 # GSL_LIBS=""161 72 ifelse([$3], , :, [$3]) 162 73 fi 163 74 AC_SUBST(GSL_CFLAGS) 164 75 AC_SUBST(GSL_LIBS) 165 rm -f conf.gsltest166 76 ]) 167 77
Note: See TracChangeset
for help on using the changeset viewer.