libreplace(samba4): let LIBREPLACE depend on LIBREPLACE_NETWORK for now
[samba.git] / source / lib / replace / samba.m4
index 6183b7e28faf971eed45664c2b32b59780129aed..7984ef31db618183bbb8cdfcff321569e35bd88b 100644 (file)
@@ -1,27 +1,34 @@
-SAVE_LIBS="$LIBS"
-SAVE_CFLAGS="$CFLAGS"
-SAVE_CPPFLAGS="$CPPFLAGS"
-SAVE_LDFLAGS="$LDFLAGS"
-
-LIBS=""
-CFLAGS=""
-CPPFLAGS=""
-LDFLAGS=""
-
-m4_include(libreplace.m4)
-
-REPLACE_EXT_LIBS="$LIBS"
-REPLACE_EXT_CFLAGS="$CFLAGS"
-REPLACE_EXT_CPPFLAGS="$CPPFLAGS"
-REPLACE_EXT_LDFLAGS="$LDFLAGS"
-
-LIBS="$SAVE_LIBS"
-CFLAGS="$SAVE_CFLAGS"
-CPPFLAGS="$SAVE_CPPFLAGS"
-LDFLAGS="$SAVE_LDFLAGS"
-
-SMB_EXT_LIB(REPLACE_EXT,
-           [${REPLACE_EXT_LIBS}],
-           [${REPLACE_EXT_CFLAGS}],
-           [${REPLACE_EXT_CPPFLAGS}],
-           [${REPLACE_EXT_LDFLAGS}])
+AC_LIBREPLACE_BROKEN_CHECKS
+
+SMB_EXT_LIB(LIBREPLACE_EXT, [${LIBDL}])
+SMB_ENABLE(LIBREPLACE_EXT)
+
+SMB_EXT_LIB(LIBREPLACE_NETWORK, [${LIBREPLACE_NETWORK_LIBS}])
+SMB_ENABLE(LIBREPLACE_NETWORK)
+
+# remove leading ./
+LIBREPLACE_DIR=`echo ${libreplacedir} |sed -e 's/^\.\///g'`
+
+# remove leading srcdir .. we are looking for the relative
+# path within the samba source tree or wherever libreplace is.
+# We need to make sure the object is not forced to end up in
+# the source directory because we might be using a separate
+# build directory.
+LIBREPLACE_DIR=`echo ${LIBREPLACE_DIR} | sed -e "s|^$srcdir/||g"`
+
+LIBREPLACE_OBJS=""
+for obj in ${LIBREPLACEOBJ}; do
+       LIBREPLACE_OBJS="${LIBREPLACE_OBJS} ${LIBREPLACE_DIR}/${obj}"
+done
+
+SMB_SUBSYSTEM(LIBREPLACE,
+       [${LIBREPLACE_OBJS}],
+       [LIBREPLACE_EXT LIBREPLACE_NETWORK],
+       [-Ilib/replace])
+
+LIBREPLACE_HOSTCC_OBJS=`echo ${LIBREPLACE_OBJS} |sed -e 's/\.o/\.ho/g'`
+
+SMB_SUBSYSTEM(LIBREPLACE_HOSTCC,
+       [${LIBREPLACE_HOSTCC_OBJS}],
+       [],
+       [-Ilib/replace])