changeset 2817:38e59bcc35f2

test whether libdl is required for dynamic linking: Solaris 10 has dlopen()/etc. in libc
author Igor Sysoev <igor@sysoev.ru>
date Fri, 08 May 2009 09:39:53 +0000
parents af0eaf409225
children 7e02df612521
files auto/lib/openssl/conf auto/unix
diffstat 2 files changed, 24 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -31,7 +31,7 @@ if [ $OPENSSL != NONE ]; then
 
     case "$NGX_SYSTEM" in
         SunOS|Linux)
-            CORE_LIBS="$CORE_LIBS -ldl"
+            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
         ;;
     esac
 
@@ -72,7 +72,7 @@ else
 
                 case "$NGX_SYSTEM" in
                     SunOS)
-                        CORE_LIBS="$CORE_LIBS -ldl"
+                        CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
                     ;;
                 esac
             fi
--- a/auto/unix
+++ b/auto/unix
@@ -185,6 +185,28 @@ if [ $ngx_found != yes ]; then
 fi
 
 
+ngx_feature="dlopen()"
+ngx_feature_name=
+ngx_feature_run=no
+ngx_feature_incs="#include <dlfcn.h>"
+ngx_feature_path=
+ngx_feature_libs=
+ngx_feature_test="dlopen(NULL, 0)"
+. auto/feature
+
+
+if [ $ngx_found != yes ]; then
+
+    ngx_feature="dlopen() in libdl"
+    ngx_feature_libs="-ldl"
+    . auto/feature
+
+    if [ $ngx_found = yes ]; then
+        NGX_LIBDL="-ldl"
+    fi
+fi
+
+
 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
 ngx_feature_name="NGX_HAVE_MAP_ANON"
 ngx_feature_run=yes