X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=aclocal.m4;h=fe627fdbb27983075d709448bd603ba23ce74306;hp=9f352500325ac31602eeef1329b0ac4710f104f5;hb=af922d5eb36ed70e4a9e3ffaf4c24492cf89a1a6;hpb=f21bfb8ee809a5709b6016515c57f96d87f56e0a;ds=sidebyside diff --git a/aclocal.m4 b/aclocal.m4 index 9f352500..fe627fdb 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -43,13 +43,13 @@ AC_DEFUN(GINAC_CHECK_LIBCLN, [LIBS="-lcln" case "${ac_cv_header_cln_cln_h}" in "yes") - AC_TRY_LINK([#include ], + AC_TRY_LINK([#include ], [doublefactorial(2);], ginac_cv_lib_cln_link="-lcln", ginac_cv_lib_cln_link="fail") ;; *) - AC_TRY_LINK([#include ], + AC_TRY_LINK([#include ], [doublefactorial(2);], ginac_cv_lib_cln_link="-lcln", ginac_cv_lib_cln_link="fail") @@ -66,16 +66,75 @@ dnl linking failed: "fail") LIBS="${saved_LIBS}" AC_MSG_RESULT([no]) - AC_MSG_ERROR([You either need to set \$LDFLAGS or update CLN]) - ;; -dnl should never ever get here: - *) - LIBS="${saved_LIBS}" - AC_MSG_WARN([you found a bug in the configure script!]) + GINAC_ERROR([I could not successfully link a test-program against libcln. + You either need to set \$LDFLAGS or install/update the CLN library.]) ;; esac ]) +dnl Usage: GINAC_TERMCAP +dnl libreadline is based on the termcap functions. +dnl Some systems have tgetent(), tgetnum(), tgetstr(), tgetflag(), tputs(), +dnl tgoto() in libc, some have it in libtermcap, some have it in libncurses. +dnl When both libtermcap and libncurses exist, we prefer the latter, because +dnl libtermcap is being phased out. +AC_DEFUN(GINAC_TERMCAP, +[LIBTERMCAP= +AC_CHECK_FUNCS(tgetent) +if test "x$ac_cv_func_tgetent" = "xyes"; then + : +else + AC_CHECK_LIB(ncurses, tgetent, LIBTERMCAP="-lncurses") + if test -z "$LIBTERMCAP"; then + AC_CHECK_LIB(termcap, tgetent, LIBTERMCAP="-ltermcap") + fi +fi +AC_SUBST(LIBTERMCAP) +]) + +dnl Usage: GINAC_ERROR(message) +dnl This macro displays the warning "message" and sets the flag ginac_error +dnl to yes. +AC_DEFUN(GINAC_ERROR,[ +ginac_error_txt="$ginac_error_txt +** $1 +" +ginac_error=yes]) + +dnl Usage: GINAC_WARNING(message) +dnl This macro displays the warning "message" and sets the flag ginac_warning +dnl to yes. +AC_DEFUN(GINAC_WARNING,[ +ginac_warning_txt="$ginac_warning_txt +== $1 +" +ginac_warning=yes]) + +dnl Usage: GINAC_CHECK_ERRORS +dnl (preferably to be put at end of configure.in) +dnl This macro displays a warning message if GINAC_ERROR or GINAC_WARNING +dnl has occured previously. +AC_DEFUN(GINAC_CHECK_ERRORS,[ +if test "x${ginac_error}" = "xyes"; then + echo "**** The following problems have been detected by configure." + echo "**** Please check the messages below before running \"make\"." + echo "**** (see the section 'Common Problems' in the INSTALL file)" + echo "$ginac_error_txt" + if test "x${ginac_warning_txt}" != "x"; then + echo "${ginac_warning_txt}" + fi + echo "deleting cache ${cache_file}" + rm -f $cache_file + else + if test x$ginac_warning = xyes; then + echo "=== The following minor problems have been detected by configure." + echo "=== Please check the messages below before running \"make\"." + echo "=== (see the section 'Common Problems' in the INSTALL file)" + echo "$ginac_warning_txt" + fi + echo "Configuration of GiNaC $VERSION done. Now type \"make\"." +fi]) + # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN(AM_CONFIG_HEADER, @@ -313,7 +372,10 @@ case "$host" in SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + [AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_RESTORE]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS"