Start integrating new build system with "configure"
[freeradius.git] / src / modules / rlm_perl / configure.in
index 7fa50e5..3f9b5ba 100644 (file)
@@ -8,7 +8,7 @@ if test x$with_[]modname != xno; then
        AC_PROG_CC
        AC_PROG_CPP
 
-       dnl put configuration checks here.  
+       dnl put configuration checks here.
        dnl set $fail to what's missing, on fatal errors.
        dnl use AC_MSG_WARN() on important messages.
 
@@ -36,7 +36,29 @@ if test x$with_[]modname != xno; then
                targetname=
          fi
 
-          perl_ldflags='`perl -MExtUtils::Embed -e ldopts`'
+         old_LIBS="$LIBS"
+         LIBS="$old_LIBS `perl -MExtUtils::Embed -e ldopts`"
+         AC_TRY_LINK([extern char boot_DynaLoader();],
+                     [ boot_DynaLoader()],
+                     BROKEN=,
+                     BROKEN="yes")
+
+         if test "x$BROKEN" = "x"; then
+               perl_ldflags='`perl -MExtUtils::Embed -e ldopts`'
+         else
+               fail="$fail libperl.so"
+               targetname=
+          fi
+
+         AC_TRY_LINK([extern char Perl_hv_store();],
+                     [ Perl_hv_store()],
+                     BROKEN=,
+                     BROKEN="yes")
+
+        if test "x$BROKEN" != "x"; then
+               fail="$fail libperl.so"
+               targetname=
+         fi
 
           CFLAGS=$old_CFLAGS
         fi
@@ -53,7 +75,7 @@ if test x"$fail" != x""; then
                AC_MSG_ERROR([set --without-]modname[ to disable it explicitly.])
        else
                AC_MSG_WARN([silently not building ]modname[.])
-               AC_MSG_WARN([FAILURE: ]modname[ requires: $fail.]); 
+               AC_MSG_WARN([FAILURE: ]modname[ requires: $fail.]);
                targetname=""
                perl_cflags=""
                perl_ldflags=""
@@ -68,3 +90,4 @@ AC_CONFIG_HEADER(config.h)
 
 AC_SUBST(targetname)
 AC_OUTPUT(Makefile)
+AC_OUTPUT(all.mk)