X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=acinclude.m4;h=06ac032ad48b0563c91c798a67e756c8a936958a;hp=78c3bdb7a86a62919ccde358bafc336f0b7af3e5;hb=6ddfb1a594386a48ab627ef7237e897535235593;hpb=a32a30d8ccdd0eb945b8180c8fe82d154e9280de diff --git a/acinclude.m4 b/acinclude.m4 index 78c3bdb7..06ac032a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -187,16 +187,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)])