diff --git a/configure.in b/configure.in index 6e6f4dd..96e80ec 100644 --- a/configure.in +++ b/configure.in @@ -53,6 +53,7 @@ dnl convenience lib) dnl 09-Jan-2011 tries use CFLAGS -Wall only with GCC compiler dnl 15-Sep-2011 tries added --with-included-libtool to force the dnl use of the included libltdl +dnl 17-Jul-2015 tries added --with-ltdl-fix dnl dnl @@ -111,7 +112,7 @@ AC_MSG_CHECKING("extra includes") AC_MSG_RESULT($extra_includes) AC_ARG_WITH(extra-libs, - [ --with-extra-libs=DIR adds non standard library paths], + [ --with-extra-libs=DIR adds non standard library paths], extra_libs="$withval" ) AC_SUBST(extra_libs) AC_MSG_CHECKING("extra libs") @@ -144,10 +145,16 @@ AC_CHECK_LIB(ltdl, lt_dlopen, [ ],) AC_ARG_WITH(included-libtool, - [ --with-included-libtool force the use of included libltdl (libtool)], + [ --with-included-libtool force the use of included libltdl (libtool)], use_native_ltdl="no";echo "*** FORCED to use included convenience libltdl", ) +AC_ARG_WITH(ltdl-fix, + [ --with-ltdl-fix work around broken ltdl versions (fix linking + error "undefined reference to lt__PROGRAM..."], + AC_DEFINE(WITH_LTDL_FIX,,[ltdl workaround for undefined reference linking error]), + ) + if test "x$use_native_ltdl" = "xno"; then AC_LIBLTDL_CONVENIENCE AM_CONDITIONAL(use_convenience_ltdl,true) @@ -187,7 +194,7 @@ dnl build_docs="yes"; AC_MSG_CHECKING(build documentation) AC_ARG_ENABLE(doc, - [ --disable-doc build pdf/html doc (default=enabled)], + [ --disable-doc build pdf/html doc (default=enabled)], if test "x$enableval" = "xno"; then build_docs="no"; fi @@ -233,7 +240,7 @@ dnl --enable-dmalloc dnl AC_MSG_CHECKING(building with DMALLOC support) AC_ARG_ENABLE(dmalloc, - [ --enable-dmalloc build with DMALLOC support], + [ --enable-dmalloc build with DMALLOC support], dmalloc="$enableval"; AC_MSG_RESULT($enableval), AC_MSG_RESULT(no)) if test "x$dmalloc" = "xyes"; then diff --git a/src/plugins.h b/src/plugins.h index 63f136b..3ddc45d 100644 --- a/src/plugins.h +++ b/src/plugins.h @@ -28,12 +28,16 @@ #include #endif - -///* libtool 2.2 / 2.4 */ +#if WITH_LTDL_FIX +/* workaround for some broken libtool 2.2.6 (and others?) versions + * that cause an + * undefined reference to `lt__PROGRAM__LTX_preloaded_symbols' + * error during linking state */ #ifndef lt__PROGRAM__LTX_preloaded_symbols #define lt__PROGRAM__LTX_preloaded_symbols lt_libltdl_LTX_preloaded_symbols //extern const void *lt_preloaded_symbols[]; #endif +#endif /* Plugins must return STS_SUCCESS / SUCCESS_FAILURE */