- merged -r1090:1091 => add --with-webdav-locks

- open modules with 'RTLD_NOW|RTLD_GLOBAL'
  this fixes the problems with luafilesystems and missing symbols
- added AC_SUBST(UUID_LIBS)


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1387 152afb58-edef-0310-8abb-c4023f1b3aa9
svn/tags/lighttpd-1.4.13
Marcus Rückert 2006-10-09 13:50:29 +00:00
parent a0aafd9a24
commit 53ab644ead
3 changed files with 28 additions and 3 deletions

View File

@ -339,7 +339,24 @@ if test "$WITH_WEBDAV_PROPS" != "no"; then
AC_DEFINE([HAVE_SQLITE3], [1], [libsqlite3])
AC_DEFINE([HAVE_SQLITE3_H], [1], [sqlite3.h])
])
AC_MSG_CHECKING(for locks in mod_webdav)
AC_ARG_WITH(webdav-locks, AC_HELP_STRING([--with-webdav-locks],[locks in mod_webdav]),
[WITH_WEBDAV_LOCKS=$withval],[WITH_WEBDAV_LOCKS=no])
AC_MSG_RESULT([$WITH_WEBDAV_LOCKS])
if test "$WITH_WEBDAV_LOCKS" != "no"; then
AC_CHECK_LIB(uuid, uuid_unparse, [
AC_CHECK_HEADERS([uuid/uuid.h],[
UUID_LIBS=-luuid
AC_DEFINE([HAVE_UUID], [1], [libuuid])
AC_DEFINE([HAVE_UUID_H], [1], [uuid/uuid.h is available])
])
])
fi
fi
AC_SUBST(UUID_LIBS)
dnl Check for gdbm
AC_MSG_CHECKING(for gdbm)
@ -625,6 +642,14 @@ else
disable_feature="$disable_feature $features"
fi
features="webdav-locks"
if test "x$UUID_LIBS" \!= x; then
enable_feature="$enable_feature $features"
else
disable_feature="$disable_feature $features"
fi
## output
$ECHO

View File

@ -82,9 +82,9 @@ mod_evasive_la_LIBADD = $(common_libadd)
lib_LTLIBRARIES += mod_webdav.la
mod_webdav_la_SOURCES = mod_webdav.c
mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
mod_webdav_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS)
mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS) $(UUID_LIBS)
lib_LTLIBRARIES += mod_magnet.la
mod_magnet_la_SOURCES = mod_magnet.c mod_magnet_cache.c

View File

@ -161,7 +161,7 @@ int plugins_load(server *srv) {
}
#else
if (NULL == (p->lib = dlopen(srv->tmp_buf->ptr, RTLD_LAZY))) {
if (NULL == (p->lib = dlopen(srv->tmp_buf->ptr, RTLD_NOW|RTLD_GLOBAL))) {
log_error_write(srv, __FILE__, __LINE__, "sbs", "dlopen() failed for:",
srv->tmp_buf, dlerror());