summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2007-01-30 11:54:52 +0000
committerjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2007-01-30 11:54:52 +0000
commit76aef2d77e4bac7cb3945b3779813b5b56fdee20 (patch)
treeec35b4b048ea4de020f38b22eb047a282bf08e4c /Makefile.in
parentc85d4ed13bec8bba42e695c4ae2c4351106b262c (diff)
downloadlibapr-util-76aef2d77e4bac7cb3945b3779813b5b56fdee20.tar.gz
Add support for loading DBD drivers as DSOs:
* build.conf: Only add apr_dbd.c to OBJECTS by default. Add module sections to define DBD DSOs. * build/dbd.m4 (APU_CHECK_DBD_*): Add DBD-specific libraries to LDADD_dbd_*. (APU_CHECK_DBD_DSO): New macro. * configure.in: Use APU_CHECK_DBD_DSO. Export APU_HAVE_MODULES, APU_DSO_LIBDIR, APU_MODULES, EXTRA_OBJECTS for supporting DSO builds. * Makefile.in: Pick up newly exported variables; define LINK_MODULE. (install-modules, install-modules-yes, install-modules-no): New targets. ($(TARGET_LIB)): Link against and depend on EXTRA_OBJECTS. * dbd/apr_dbd.c: Clean up #includes; use APU_DSO_BUILD throughout to dictate use of drivers as DSOs. (apr_dbd_get_driver): Take the mutex before using the hash. Use absolute path to DSO. Fix cast warning. Submitted by: jorton, bojan git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/trunk@501380 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in30
1 files changed, 26 insertions, 4 deletions
diff --git a/Makefile.in b/Makefile.in
index b59be98c..c7f1b7ef 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -22,7 +22,19 @@ APU_CONFIG = apu-$(APRUTIL_MAJOR_VERSION)-config
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out
+APU_MODULES = @APU_MODULES@
+LINK_MODULE = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(APRUTIL_LDFLAGS) -release $(APRUTIL_MAJOR_VERSION) -module -rpath $(APU_DSO_LIBDIR)
+APU_DSO_LIBDIR = @APU_DSO_LIBDIR@
+
+EXTRA_OBJECTS = @EXTRA_OBJECTS@
+
+LDADD_dbd_pgsql = @LDADD_dbd_pgsql@
+LDADD_dbd_oracle = @LDADD_dbd_oracle@
+LDADD_dbd_sqlite2 = @LDADD_dbd_sqlite2@
+LDADD_dbd_sqlite3 = @LDADD_dbd_sqlite3@
+LDADD_dbd_mysql = @LDADD_dbd_mysql@
+
+TARGETS = $(TARGET_LIB) aprutil.exp apu-config.out $(APU_MODULES)
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
@@ -53,7 +65,7 @@ top_blddir=@abs_builddir@
apu-config.out: $(APU_CONFIG)
sed 's,^\(location=\).*$$,\1installed,' < $(APU_CONFIG) > $@
-install: $(TARGETS)
+install: $(TARGETS) install-modules
$(APR_MKDIR) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/pkgconfig \
$(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
for f in $(top_srcdir)/include/*.h $(top_blddir)/include/*.h; do \
@@ -67,8 +79,16 @@ install: $(TARGETS)
$(INSTALL_DATA) aprutil.exp $(DESTDIR)$(libdir)
$(INSTALL) -m 755 apu-config.out $(DESTDIR)$(bindir)/$(APU_CONFIG)
-$(TARGET_LIB): $(OBJECTS)
- $(LINK) @lib_target@ $(ALL_LIBS) $(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)
+$(TARGET_LIB): $(OBJECTS) $(EXTRA_OBJECTS)
+ $(LINK) @lib_target@ $(EXTRA_OBJECTS) $(ALL_LIBS) $(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)
+
+install-modules: install-modules-@APU_HAVE_MODULES@
+
+install-modules-no:
+
+install-modules-yes: $(APU_MODULES)
+ $(APR_MKDIR) $(DESTDIR)$(APU_DSO_LIBDIR)
+ @for m in $(APU_MODULES); do $(LIBTOOL) $(LT_LTFLAGS) $(LTFLAGS) --mode=install $(INSTALL) -m 755 $$m $(DESTDIR)$(APU_DSO_LIBDIR); done
exports.c: $(HEADERS)
$(APR_MKEXPORT) $(HEADERS) > $@
@@ -89,3 +109,5 @@ dox:
test: check
check: $(TARGET_LIB)
cd test && $(MAKE) check
+
+.PHONY: install-modules install-modules-yes install-modules-no dox test check