--- a/configure.ac
+++ b/configure.ac
@@ -422,7 +422,10 @@ PHP_CHECK_FUNC(gethostname, nsl)
 PHP_CHECK_FUNC(gethostbyaddr, nsl)
 PHP_CHECK_FUNC(yp_get_default_domain, nsl)
 
-PHP_CHECK_FUNC(dlopen, dl)
+PHP_ADD_LIBRARY(dl)
+PHP_DEF_HAVE(dlopen)
+PHP_DEF_HAVE(libdl)
+ac_cv_func_dlopen=yes
 if test "$ac_cv_func_dlopen" = "yes"; then
   AC_DEFINE(HAVE_LIBDL, 1, [ ])
 fi
--- a/ext/fileinfo/config.m4
+++ b/ext/fileinfo/config.m4
@@ -46,6 +46,10 @@ int main(void)
     AC_MSG_RESULT(no)
     AC_MSG_NOTICE(using libmagic strcasestr implementation)
     libmagic_sources="$libmagic_sources libmagic/strcasestr.c"
+  ],[
+    dnl cross-compiling; assume not present
+    AC_MSG_NOTICE(using libmagic strcasestr implementation)
+    libmagic_sources="$libmagic_sources libmagic/strcasestr.c"
   ])
 
   PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic)
