X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=acinclude.m4;h=64f4ec351b971f86141d0b588e25ddd9ba5b57a9;hb=a8ec7472d11536f1505046c3b42ff54e2ae42700;hp=95e1a729ca3ac3ee6c337a5376280343b57dc15b;hpb=6d14b44669f315ee0170f3bf7c0ac0504afe8d20;p=ginac.git diff --git a/acinclude.m4 b/acinclude.m4 index 95e1a729..64f4ec35 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -17,15 +17,22 @@ AC_TRY_RUN([ #include #include -main() +int main() { FILE *fd; fd = fopen("conftest.out", "w"); fprintf(fd, "%s\n", rl_library_version); fclose(fd); return 0; -}], ginac_cv_rlversion=`cat 'conftest.out'`, ginac_cv_rlversion='unknown', ginac_cv_rlversion='4.2')]) +}], [ +dnl Some non-GNU readline implementations have non-numeric rl_library_version +ginac_cv_rlversion=`sed -e 's/[^0-9.]//g' 'conftest.out'`], [ ginac_cv_rlversion='unknown'], [ ginac_cv_rlversion='4.2'])]) +if test -z "$ginac_cv_rlversion"; then + GINAC_WARNING([Unsupported version of libreadline.]) + ginac_cv_rlversion='unknown' +fi if test "x${ginac_cv_rlversion}" != "xunknown"; then + AC_DEFINE(REALLY_HAVE_LIBREADLINE, ,[Define if GNU libreadline is installed]) RL_VERSION_MAJOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` AC_DEFINE_UNQUOTED(GINAC_RL_VERSION_MAJOR, $RL_VERSION_MAJOR, [Major version of installed readline library.]) RL_VERSION_MINOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` @@ -43,6 +50,10 @@ dnl When both libtermcap and libncurses exist, we prefer the latter, because dnl libtermcap is being phased out. AC_DEFUN([GINAC_TERMCAP], [LIBTERMCAP= +case $host_os in +*mingw32*) dnl termcap library is not necessary on this platform +;; +*) AC_CHECK_FUNCS(tgetent) if test "x$ac_cv_func_tgetent" = "xyes"; then : @@ -52,6 +63,8 @@ else AC_CHECK_LIB(termcap, tgetent, LIBTERMCAP="-ltermcap") fi fi +;; +esac AC_SUBST(LIBTERMCAP) ]) @@ -100,3 +113,22 @@ else fi echo "Configuration of GiNaC $VERSION done. Now type \"make\"." fi]) + +AC_DEFUN([GINAC_HAVE_RUSAGE], +[AC_CACHE_CHECK([whether struct rusage is declared in ], +ac_cv_have_rusage, + [AC_TRY_COMPILE([#include + #include ], + [struct rusage resUsage; + getrusage(RUSAGE_SELF, &resUsage); + return 0;], + [ac_cv_have_rusage=yes], + [ac_cv_have_rusage=no]) +]) +CONFIG_RUSAGE="no" +if test "$ac_cv_have_rusage" = yes; then + CONFIG_RUSAGE="yes" + AC_DEFINE(HAVE_RUSAGE,,[define if struct rusage declared in ]) +fi +AC_SUBST(CONFIG_RUSAGE) +])