X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=acinclude.m4;h=1e53fa45c41f2bbe6eb0d572ebd1d452220b4c49;hb=e29b2b7b7804e98d5707b00bb124e0e01ec6409a;hp=78c3bdb7a86a62919ccde358bafc336f0b7af3e5;hpb=a32a30d8ccdd0eb945b8180c8fe82d154e9280de;p=ginac.git diff --git a/acinclude.m4 b/acinclude.m4 index 78c3bdb7..1e53fa45 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -45,7 +45,7 @@ AC_REQUIRE([GINAC_TERMCAP]) GINSH_LIBS="" AC_CHECK_HEADERS(readline/readline.h readline/history.h) if test "x${ac_cv_header_readline_readline_h}" != "xyes" -o "x${ac_cv_header_readline_history_h}" != "xyes"; then - GINAC_WARNING([readline headers could not be found.]) + GINAC_WARNING([ginsh will not compile, because readline headers could not be found.]) else AC_CACHE_CHECK([for version of libreadline], [ginac_cv_rl_supported], [ ginac_cv_rl_supported="no" @@ -57,13 +57,13 @@ else #endif]])], [ginac_cv_rl_supported="yes"])]) if test "x${ginac_cv_rl_supported}" != "xyes"; then - GINAC_WARNING([Unsupported version of readline (<= 4.2 or non-GNU).]) + GINAC_WARNING([ginsh will not compile, because of an unsupported version of readline (<= 4.2 or non-GNU).]) else save_LIBS="$LIBS" LIBS="$LIBTERMCAP $LIBS" AC_CHECK_LIB(readline, readline) if test "x${ac_cv_lib_readline_readline}" != "xyes"; then - GINAC_WARNING([libreadline could not be found.]) + GINAC_WARNING([ginsh will not compile, because libreadline could not be found.]) fi GINSH_LIBS="$LIBS" LIBS="$save_LIBS" @@ -121,6 +121,7 @@ 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 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)" @@ -135,6 +136,7 @@ if test "x${ginac_error}" = "xyes"; then exit 1 else if test "x${ginac_warning}" = "xyes"; then + echo 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)" @@ -187,16 +189,29 @@ case $host_os in esac if test "$CONFIG_EXCOMPILER" = "yes"; then - AC_CHECK_LIB(dl, dlopen, [ - DL_LIBS="-ldl" - AC_DEFINE(HAVE_LIBDL, 1, [set to 1 if you have a working libdl installed.])], - - [AC_MSG_WARN([libdl not found. GiNaC::compile_ex will be disabled.]) - CONFIG_EXCOMPILER="no"]) + AC_CHECK_HEADER([dlfcn.h], [CONFIG_EXCOMPILER="yes"], [CONFIG_EXCOMPILER="no"]) elif test "$CONFIG_EXCOMPILER" = "no"; then - AC_MSG_RESULT([INFO: GiNaC::compile_ex disabled at user request.]) + AC_MSG_NOTICE([GiNaC::compile_ex disabled at user request.]) else - AC_MSG_RESULT([INFO: GiNaC::compile_ex is not supported on $host_os.]) + AC_MSG_NOTICE([GiNaC::compile_ex is not supported on $host_os.]) +fi + +if test "$CONFIG_EXCOMPILER" = "yes"; then + dnl Some systems (GNU/Linux, Solaris) have dlopen in -ldl, some + dnl others (OpenBSD) -- in libc + found_dlopen_lib="no" + DL_LIBS="-ldl" + AC_CHECK_LIB(dl, dlopen, [found_dlopen_lib="yes"]) + if test "$found_dlopen_lib" = "no"; then + DL_LIBS="" + AC_CHECK_FUNC(dlopen, [found_dlopen_lib="yes"]) + fi + if test "$found_dlopen_lib" = "no"; then + CONFIG_EXCOMPILER="no" + AC_MSG_WARN([Could not found working dlopen(). GiNaC::compile_ex will be disabled.]) + else + AC_DEFINE(HAVE_LIBDL, 1, [set to 1 if dlopen() works.]) + fi fi AC_SUBST(DL_LIBS) AC_SUBST(CONFIG_EXCOMPILER)])