X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=acinclude.m4;h=53b45e5a9e8c0ac36712bc13206561eb6a40151e;hp=1e53fa45c41f2bbe6eb0d572ebd1d452220b4c49;hb=60dbeb45d93b9610c840eecc9b4d7f5a71f9ab5d;hpb=c152ba30b2938b3e1fe6927574883eff08dae88e diff --git a/acinclude.m4 b/acinclude.m4 index 1e53fa45..53b45e5a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -4,6 +4,24 @@ dnl additions' names with AC_ but with GINAC_ in order to steer clear of dnl future trouble. dnl =========================================================================== +dnl GINAC_HEADER_GETVAL(NAME,FILE) +dnl ---------------------------- +dnl Expand at autoconf time to the value of a "#define NAME" from the given +dnl FILE. The regexps here aren't very rugged, but are enough for us. +dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted. +dnl (shamelessly ripped from GMP, and changed prefix to GINAC_). + +define(GINAC_HEADER_GETVAL, +[patsubst(patsubst( +esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]), +[^.*$1[ ]+],[]), +[[ + ]*$],[])]) +define(GINAC_GET_VERSION, +[GINAC_HEADER_GETVAL(GINACLIB_$1_VERSION,[ginac/version.h])]) +define(GINAC_GET_LTVERSION, +[GINAC_HEADER_GETVAL(GINAC_LT_$1,[ginac/version.h])]) + dnl Usage: GINAC_STD_CXX_HEADERS dnl Check for standard C++ headers, bail out if something is missing. AC_DEFUN([GINAC_STD_CXX_HEADERS], [ @@ -11,23 +29,38 @@ AC_CACHE_CHECK([for standard C++ header files], [ginac_cv_std_cxx_headers], [ ginac_cv_std_cxx_headers="no" AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include #include #include - #include + #include + #include #include #include + #include + #include + #include #include - #include #include - #include + #include #include - #include - #include - #include + #include + #include + #include + #include ]])], [ginac_cv_std_cxx_headers="yes"]) AC_LANG_POP([C++])]) if test "${ginac_cv_std_cxx_headers}" != "yes"; then - AC_MSG_ERROR([Standard ISO C++ 98 headers are missing]) + AC_MSG_ERROR([Standard ISO C++ headers are missing]) fi ]) @@ -50,7 +83,7 @@ else AC_CACHE_CHECK([for version of libreadline], [ginac_cv_rl_supported], [ ginac_cv_rl_supported="no" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include + #include #include #if !defined(RL_VERSION_MAJOR) || !defined(RL_VERSION_MINOR) #error "Ancient/unsupported version of readline"