From 05c2825f17c12397483f190d556229cbfb3263d8 Mon Sep 17 00:00:00 2001 From: Chris Bagwell Date: Wed, 9 Nov 2011 21:46:12 -0600 Subject: [PATCH] Default enable_dynamic to yes/no based on librarys My previous try was always defaulting to "yes" and user and to manually specify --disable-dynamic to work correctly on platforms that didn't support dynamic loading. --- acinclude.m4 | 4 +++- configure | 22 ++++++++++++---------- configure.in | 8 ++++---- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index ed84a2618..d91c73399 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -136,7 +136,9 @@ AC_DEFUN([SANE_CHECK_DLL_LIB], [ dnl Checks for dll libraries: dl DL_LIBS="" - if test "${enable_dynamic}" != "no"; then + if test "${enable_dynamic}" = "auto"; then + # default to disabled unless library found. + enable_dynamic=no # dlopen AC_CHECK_HEADERS(dlfcn.h, [AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl) diff --git a/configure b/configure index e11a02c42..66d3a45bd 100755 --- a/configure +++ b/configure @@ -799,6 +799,7 @@ with_docdir enable_dependency_tracking enable_warnings enable_rpath +enable_dynamic enable_pthread enable_locking with_group @@ -810,7 +811,6 @@ enable_libusb enable_scsibuffersize enable_scsi_directio enable_ipv6 -enable_dynamic enable_preload enable_static enable_shared @@ -1472,6 +1472,7 @@ Optional Features: --enable-dependency-tracking do not reject slow dependency extractors --enable-warnings turn on tons of compiler warnings (GCC only) --enable-rpath use runtime library search path [default=yes] + --disable-dynamic Disable dynamic loading of backends --enable-pthread use pthread instead of fork (default=yes for MacOS X/MINGW, no for everything else) --enable-locking activate device locking (default=yes, but only used @@ -1485,7 +1486,6 @@ Optional Features: --enable-scsi-directio enable SCSI direct IO (Linux only, dangerous, see README.linux) --disable-ipv6 disable IPv6 support - --disable-dynamic Disable dynamic loading of backends --disable-preload Disable preloading of backends --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] @@ -6715,9 +6715,18 @@ ac_config_commands="$ac_config_commands $ac_stdint_h" +# Check whether --enable-dynamic was given. +if test "${enable_dynamic+set}" = set; then : + enableval=$enable_dynamic; enable_dynamic=$enableval +else + enable_dynamic=auto +fi + DL_LIBS="" - if test "${enable_dynamic}" != "no"; then + if test "${enable_dynamic}" = "auto"; then + # default to disabled unless library found. + enable_dynamic=no # dlopen for ac_header in dlfcn.h do : @@ -10150,13 +10159,6 @@ else ipv6="no" fi -# Check whether --enable-dynamic was given. -if test "${enable_dynamic+set}" = set; then : - enableval=$enable_dynamic; enable_dynamic=$enableval -else - enable_dynamic=yes -fi - # Check whether --enable-preload was given. if test "${enable_preload+set}" = set; then : enableval=$enable_preload; enable_preload=$enableval diff --git a/configure.in b/configure.in index 0ecae5d9d..a0befa0e1 100644 --- a/configure.in +++ b/configure.in @@ -103,6 +103,10 @@ AX_CREATE_STDINT_H([include/_stdint.h]) dnl *********************************************************************** dnl Checks for libraries dnl *********************************************************************** +AC_ARG_ENABLE(dynamic, + AC_HELP_STRING([--disable-dynamic], + [Disable dynamic loading of backends]), + [enable_dynamic=$enableval], [enable_dynamic=auto]) SANE_CHECK_DLL_LIB dnl Checks for Backend libraries. AC_CHECK_LIB(m, sqrt, MATH_LIB="-lm") @@ -508,10 +512,6 @@ fi dnl *********************************************************************** dnl initialize libtool dnl *********************************************************************** -AC_ARG_ENABLE(dynamic, - AC_HELP_STRING([--disable-dynamic], - [Disable dynamic loading of backends]), - [enable_dynamic=$enableval], [enable_dynamic=yes]) AC_ARG_ENABLE(preload, AC_HELP_STRING([--disable-preload], [Disable preloading of backends]),