summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/replace/dlfcn.m418
-rw-r--r--source4/lib/replace/libreplace.m412
2 files changed, 20 insertions, 10 deletions
diff --git a/source4/lib/replace/dlfcn.m4 b/source4/lib/replace/dlfcn.m4
new file mode 100644
index 0000000000..0f099f4bac
--- /dev/null
+++ b/source4/lib/replace/dlfcn.m4
@@ -0,0 +1,18 @@
+dnl dummies provided by dlfcn.c if not available
+save_LIBS="$LIBS"
+LIBS=""
+
+AC_SEARCH_LIBS(dlopen, dl)
+
+AC_CHECK_HEADERS(dlfcn.h)
+
+libreplace_dlfcn=no
+AC_CHECK_FUNCS([dlopen dlsym dlerror dlclose],[],[libreplace_dlfcn=yes])
+
+if test x"${libreplace_dlfcn}" = x"yes";then
+ LIBREPLACEOBJ="${LIBREPLACEOBJ} dlfcn.o"
+fi
+
+LIBDL="$LIBS"
+AC_SUBST(LIBDL)
+LIBS="$save_LIBS"
diff --git a/source4/lib/replace/libreplace.m4 b/source4/lib/replace/libreplace.m4
index 43ed3e39a2..202a60ff35 100644
--- a/source4/lib/replace/libreplace.m4
+++ b/source4/lib/replace/libreplace.m4
@@ -11,7 +11,7 @@ done
LIBREPLACEOBJ="replace.o"
AC_SUBST(LIBREPLACEOBJ)
-LIBREPLACEOBJ="${LIBREPLACEOBJ} dlfcn.o snprintf.o timegm.o"
+LIBREPLACEOBJ="${LIBREPLACEOBJ} snprintf.o timegm.o"
dnl stop the C89 attempt by autoconf - if autoconf detects -Ae it will enable it
dnl which conflicts with C99 on HPUX
@@ -235,19 +235,11 @@ if test x"$samba_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Whether there is a C99 compliant vsnprintf])
fi
-dnl dummies provided by dlfcn.c if not available
-save_LIBS="$LIBS"
-LIBS=""
-AC_SEARCH_LIBS(dlopen, dl)
-AC_CHECK_HEADERS(dlfcn.h)
-AC_CHECK_FUNCS(dlopen dlsym dlerror dlclose)
-LIBDL="$LIBS"
-AC_SUBST(LIBDL)
-LIBS="$save_LIBS"
AC_CHECK_FUNCS([syslog memset setnetgrent getnetgrent endnetgrent memcpy],,
[AC_MSG_ERROR([Required function not found])])
+m4_include(dlfcn.m4)
m4_include(getpass.m4)
m4_include(system/config.m4)