summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2008-09-19 15:15:46 -0400
committerSimo Sorce <idra@samba.org>2008-09-19 18:07:53 -0400
commit3235e25425dddb9ba6d0f8d7cfff94ea9d7c5bdd (patch)
treeac046a584fadc482e36e806222384f9ccb1473d1 /lib
parente07400525fd955b9fb9524edda3f8e6bc7567847 (diff)
downloadsamba-3235e25425dddb9ba6d0f8d7cfff94ea9d7c5bdd.tar.gz
samba-3235e25425dddb9ba6d0f8d7cfff94ea9d7c5bdd.tar.bz2
samba-3235e25425dddb9ba6d0f8d7cfff94ea9d7c5bdd.zip
Add shared-build target to tdb.
Useful to build multiple standalone libraries that depend on each other without having to install them to the final install dir during the build.
Diffstat (limited to 'lib')
-rw-r--r--lib/tdb/Makefile.in11
-rw-r--r--lib/tdb/build_macros.m414
-rw-r--r--lib/tdb/configure.ac4
-rw-r--r--lib/tdb/include/tdb.h1
4 files changed, 30 insertions, 0 deletions
diff --git a/lib/tdb/Makefile.in b/lib/tdb/Makefile.in
index 090bb6e2dc..9915d88264 100644
--- a/lib/tdb/Makefile.in
+++ b/lib/tdb/Makefile.in
@@ -12,6 +12,8 @@ libdir = @libdir@
VPATH = @srcdir@:@libreplacedir@
srcdir = @srcdir@
builddir = @builddir@
+sharedbuilddir = @sharedbuilddir@
+INSTALLCMD = @INSTALL@
CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -Iinclude
CFLAGS = $(CPPFLAGS) @CFLAGS@
LDFLAGS = @LDFLAGS@
@@ -43,6 +45,15 @@ install:: all
$(TDB_SOLIB): $(TDB_OBJ)
$(SHLD) $(SHLD_FLAGS) -o $@ $(TDB_OBJ) @SONAMEFLAG@$(TDB_SONAME)
+shared-build: all
+ ${INSTALLCMD} -d $(sharedbuilddir)/lib
+ ${INSTALLCMD} -m 644 libtdb.a $(sharedbuilddir)/lib
+ ${INSTALLCMD} -m 755 $(TDB_SOLIB) $(sharedbuilddir)/lib
+ ln -sf $(TDB_SOLIB) $(sharedbuilddir)/lib/$(TDB_SONAME)
+ ln -sf $(TDB_SOLIB) $(sharedbuilddir)/lib/libtdb.so
+ ${INSTALLCMD} -d $(sharedbuilddir)/include
+ ${INSTALLCMD} -m 644 $(srcdir)/include/tdb.h $(sharedbuilddir)/include
+
check: test
test:: $(PYTHON_CHECK_TARGET)
diff --git a/lib/tdb/build_macros.m4 b/lib/tdb/build_macros.m4
new file mode 100644
index 0000000000..c036668cd1
--- /dev/null
+++ b/lib/tdb/build_macros.m4
@@ -0,0 +1,14 @@
+AC_DEFUN(BUILD_WITH_SHARED_BUILD_DIR,
+ [ AC_ARG_WITH([shared-build-dir],
+ [AC_HELP_STRING([--with-shared-build-dir=DIR],
+ [temporary build directory where libraries are installed [$srcdir/sharedbuild]])])
+
+ sharedbuilddir="$srcdir/sharedbuild"
+ if test x"$with_shared_build_dir" != x; then
+ sharedbuilddir=$with_shared_build_dir
+ CFLAGS="$CFLAGS -I$with_shared_build_dir/include"
+ LDFLAGS="$LDFLAGS -L$with_shared_build_dir/lib"
+ fi
+ AC_SUBST(sharedbuilddir)
+ ])
+
diff --git a/lib/tdb/configure.ac b/lib/tdb/configure.ac
index eaf70d30b4..4bf2e98e8f 100644
--- a/lib/tdb/configure.ac
+++ b/lib/tdb/configure.ac
@@ -27,4 +27,8 @@ if test -z "$PYTHON_CONFIG"; then
PYTHON_INSTALL_TARGET=""
PYTHON_CHECK_TARGET=""
fi
+
+m4_include(build_macros.m4)
+BUILD_WITH_SHARED_BUILD_DIR
+
AC_OUTPUT(Makefile tdb.pc)
diff --git a/lib/tdb/include/tdb.h b/lib/tdb/include/tdb.h
index 0008085de5..c41c9941f0 100644
--- a/lib/tdb/include/tdb.h
+++ b/lib/tdb/include/tdb.h
@@ -30,6 +30,7 @@
extern "C" {
#endif
+#include "signal.h"
/* flags to tdb_store() */
#define TDB_REPLACE 1 /* Unused */