summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2005-01-25 11:21:25 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:11 -0500
commit8fb54d162b449244e5380aa1e00d99b5e23e9443 (patch)
tree41e36c35126d97886e75f4a44cd40f7b7ecf3843
parent29589f38950b1ec8e5d984a2e92fef577f26d743 (diff)
downloadsamba-8fb54d162b449244e5380aa1e00d99b5e23e9443.tar.gz
samba-8fb54d162b449244e5380aa1e00d99b5e23e9443.tar.bz2
samba-8fb54d162b449244e5380aa1e00d99b5e23e9443.zip
r4982: Start to move swig dependencies into new build system. Unfortunately
I can only get something useful happening by using the BINARY keyword as nothing else seems to generate dependency lists that can be used when linking the swig shared libraries. Anyway this is a lot nicer than having lots of junk in makefile.pm. (This used to be commit 71a22f5206086c5ab7315d38934d65483aff7a70)
-rw-r--r--source4/build/smb_build/main.pm3
-rw-r--r--source4/build/smb_build/makefile.pm37
-rw-r--r--source4/scripting/swig/config.mk7
-rw-r--r--source4/scripting/swig/dummymain.c9
4 files changed, 22 insertions, 34 deletions
diff --git a/source4/build/smb_build/main.pm b/source4/build/smb_build/main.pm
index 2dc5c46191..a2434161ae 100644
--- a/source4/build/smb_build/main.pm
+++ b/source4/build/smb_build/main.pm
@@ -55,7 +55,8 @@ sub smb_build_main($)
"libcli/libsmb.mk",
"libcli/config.mk",
"libcli/security/config.mk",
- "winbind/config.mk"
+ "winbind/config.mk",
+ "scripting/swig/config.mk"
);
$| = 1;
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index adb0c290f6..fb1bf75994 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -673,49 +673,20 @@ uninstallreg:
swig: scripting/swig/_tdb.so scripting/swig/_dcerpc.so
-PYTHON_TDB_OBJ = lib/tdb/common/tdb.o lib/tdb/common/spinlock.o
-
scripting/swig/tdb.py: scripting/swig/tdb.i
swig -python scripting/swig/tdb.i
-scripting/swig/_tdb.so: scripting/swig/tdb.py scripting/swig/tdb_wrap.o \$(PYTHON_TDB_OBJ)
+scripting/swig/_tdb.so: scripting/swig/tdb.py scripting/swig/tdb_wrap.o \$(BINARY_swig_tdb_LINK_LIST)
\$(SHLD) \$(SHLD_FLAGS) -o scripting/swig/_tdb.so scripting/swig/tdb_wrap.o \\
- \$(PYTHON_TDB_OBJ)
-
-PYTHON_DCERPC_OBJ = \$(SUBSYSTEM_LIBRPC_RAW_OBJS) \\
- \$(SUBSYSTEM_LIBDCOM_OBJS) \\
- \$(SUBSYSTEM_LIBNDR_RAW_OBJS) \\
- \$(SUBSYSTEM_LIBNDR_GEN_OBJS) \\
- \$(SUBSYSTEM_LIBBASIC_OBJS) \\
- \$(SUBSYSTEM_CONFIG_OBJS) \\
- \$(SUBSYSTEM_LIBTDB_OBJS) \\
- \$(SUBSYSTEM_SCHANNELDB_OBJS) \\
- \$(SUBSYSTEM_GENSEC_OBJS) \\
- \$(SUBSYSTEM_LIBCLI_UTILS_OBJS) \\
- \$(SUBSYSTEM_LIBCLI_RAW_OBJS) \\
- \$(SUBSYSTEM_LIBCLI_AUTH_OBJS) \\
- \$(SUBSYSTEM_LIBCLI_NMB_OBJS) \\
- \$(SUBSYSTEM_AUTH_OBJS) \\
- \$(SUBSYSTEM_SAMDB_OBJS) \\
- \$(SUBSYSTEM_LIBLDB_OBJS) \\
- \$(SUBSYSTEM_CHARSET_OBJS) \\
- \$(SUBSYSTEM_LIBSMB_OBJS) \\
- \$(SUBSYSTEM_DCERPC_COMMON_OBJS) \\
- \$(SUBSYSTEM_LIB_WINBIND_CLIENT_OBJS) \\
- \$(SUBSYSTEM_SOCKET_OBJS) \\
- \$(SUBSYSTEM_LIBREPLACE_OBJS) \\
- \$(SUBSYSTEM_LIBNETIF_OBJS) \\
- \$(SUBSYSTEM_LIBCRYPTO_OBJS)
-
-PYTHON_DCERPC_LIBS = -lldap
+ \$(BINARY_swig_tdb_LINK_LIST) \$(BINARY_swig_tdb_LINK_FLAGS)
SWIG_INCLUDES = librpc/gen_ndr/samr.i librpc/gen_ndr/lsa.i librpc/gen_ndr/winreg.i librpc/gen_ndr/spoolss.i
scripting/swig/dcerpc.py: scripting/swig/dcerpc.i scripting/swig/samba.i scripting/swig/status_codes.i \$(SWIG_INCLUDES)
swig -python scripting/swig/dcerpc.i
-scripting/swig/_dcerpc.so: scripting/swig/dcerpc.py scripting/swig/dcerpc_wrap.o \$(PYTHON_DCERPC_OBJ)
- \$(SHLD) \$(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o \$(PYTHON_DCERPC_OBJ) \$(PYTHON_DCERPC_LIBS)
+scripting/swig/_dcerpc.so: scripting/swig/dcerpc.py scripting/swig/dcerpc_wrap.o \$(BINARY_swig_dcerpc_DEPEND_LIST)
+ \$(SHLD) \$(SHLD_FLAGS) -o scripting/swig/_dcerpc.so scripting/swig/dcerpc_wrap.o \$(BINARY_swig_dcerpc_DEPEND_LIST) \$(BINARY_swig_dcerpc_LINK_FLAGS)
swig_clean:
-rm -f scripting/swig/_tdb.so scripting/swig/tdb.pyc \\
diff --git a/source4/scripting/swig/config.mk b/source4/scripting/swig/config.mk
new file mode 100644
index 0000000000..8a5b743cac
--- /dev/null
+++ b/source4/scripting/swig/config.mk
@@ -0,0 +1,7 @@
+[BINARY::swig_tdb]
+OBJ_FILES = scripting/swig/dummymain.o
+REQUIRED_SUBSYSTEMS = LIBTDB
+
+[BINARY::swig_dcerpc]
+OBJ_FILES = scripting/swig/dummymain.o
+REQUIRED_SUBSYSTEMS = LIBCLI NDR_MISC LIBBASIC CONFIG RPC_NDR_SAMR
diff --git a/source4/scripting/swig/dummymain.c b/source4/scripting/swig/dummymain.c
new file mode 100644
index 0000000000..ac39144cd9
--- /dev/null
+++ b/source4/scripting/swig/dummymain.c
@@ -0,0 +1,9 @@
+/*
+ * Dummy main function as the build system doesn't seem to create a
+ * dependency list for a subsystem.
+ */
+
+int main(void)
+{
+ return 0;
+}