Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-dev: [Ethereal-dev] Next step in build process cleanup

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Tue, 25 Mar 2003 20:37:33 +0100
OK, I've been travelling with the Deutsch Bahn again, so I've cleaned
up the static / shared build process a bit more.
I've tested this on Suse linux 8.1 with and without --enable-static,
nothing else (Ethereal takes about 20 minutes for a full build on my
system). Unless I receive negative feedback I will eventually apply
this patch to CVS.

 Ciao
     Jörg
--
Joerg Mayer                                            <jmayer@xxxxxxxxx>
We are stuck with technology when what we really want ist just stuff that
works. Some say that should read Microsoft instead of technology.
Index: Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/Makefile.am,v
retrieving revision 1.569
diff -p -u -r1.569 Makefile.am
--- Makefile.am	25 Mar 2003 09:41:41 -0000	1.569
+++ Makefile.am	25 Mar 2003 19:25:22 -0000
@@ -415,46 +415,39 @@ DISSECTOR_SRC = \
 	packet-zebra.c
 
 if HAVE_PLUGINS
-plugin_libs = \
-	plugins/docsis/docsis.la \
-	plugins/giop/cosnaming.la \
-	plugins/giop/coseventcomm.la \
-	plugins/gryphon/gryphon.la \
-	plugins/megaco/megaco.la \
-	plugins/mgcp/mgcp.la \
-	plugins/pcli/pcli.la
-
 if ENABLE_STATIC
+plugin_libs =
+
 plugin_ldadd = \
-	plugins/docsis/packet-bpkmattr-static.o \
-	plugins/docsis/packet-bpkmreq-static.o \
-	plugins/docsis/packet-bpkmrsp-static.o \
-	plugins/docsis/packet-docsis-static.o \
-	plugins/docsis/packet-dsaack-static.o \
-	plugins/docsis/packet-dsareq-static.o \
-	plugins/docsis/packet-dsarsp-static.o \
-	plugins/docsis/packet-dscack-static.o \
-	plugins/docsis/packet-dscreq-static.o \
-	plugins/docsis/packet-dscrsp-static.o \
-	plugins/docsis/packet-dsdreq-static.o \
-	plugins/docsis/packet-dsdrsp-static.o \
-	plugins/docsis/packet-macmgmt-static.o \
-	plugins/docsis/packet-map-static.o \
-	plugins/docsis/packet-regack-static.o \
-	plugins/docsis/packet-regreq-static.o \
-	plugins/docsis/packet-regrsp-static.o \
-	plugins/docsis/packet-rngreq-static.o \
-	plugins/docsis/packet-rngrsp-static.o \
-	plugins/docsis/packet-tlv-static.o \
-	plugins/docsis/packet-uccreq-static.o \
-	plugins/docsis/packet-uccrsp-static.o \
-	plugins/docsis/packet-ucd-static.o \
-	plugins/giop/packet-cosnaming-static.o \
-	plugins/giop/packet-coseventcomm-static.o \
-	plugins/gryphon/packet-gryphon-static.o \
-	plugins/megaco/packet-megaco-static.o \
-	plugins/mgcp/packet-mgcp-static.o \
-	plugins/pcli/packet-pcli-static.o
+	plugins/docsis/packet-bpkmattr.o \
+	plugins/docsis/packet-bpkmreq.o \
+	plugins/docsis/packet-bpkmrsp.o \
+	plugins/docsis/packet-docsis.o \
+	plugins/docsis/packet-dsaack.o \
+	plugins/docsis/packet-dsareq.o \
+	plugins/docsis/packet-dsarsp.o \
+	plugins/docsis/packet-dscack.o \
+	plugins/docsis/packet-dscreq.o \
+	plugins/docsis/packet-dscrsp.o \
+	plugins/docsis/packet-dsdreq.o \
+	plugins/docsis/packet-dsdrsp.o \
+	plugins/docsis/packet-macmgmt.o \
+	plugins/docsis/packet-map.o \
+	plugins/docsis/packet-regack.o \
+	plugins/docsis/packet-regreq.o \
+	plugins/docsis/packet-regrsp.o \
+	plugins/docsis/packet-rngreq.o \
+	plugins/docsis/packet-rngrsp.o \
+	plugins/docsis/packet-tlv.o \
+	plugins/docsis/packet-uccreq.o \
+	plugins/docsis/packet-uccrsp.o \
+	plugins/docsis/packet-ucd.o \
+	plugins/giop/packet-cosnaming.o \
+	plugins/giop/packet-coseventcomm.o \
+	plugins/gryphon/packet-gryphon.o \
+	plugins/megaco/packet-megaco.o \
+	plugins/mgcp/packet-mgcp.o \
+	plugins/pcli/packet-pcli.o
 
 plugin_src = \
 	plugins/docsis/packet-bpkmattr.c \
@@ -499,6 +492,8 @@ plugin_ldadd = \
 	"-dlopen" plugins/pcli/pcli.la
 
 plugin_src =
+
+plugin_libs =
 
 endif		# ENABLE_STATIC
 
Index: configure.in
===================================================================
RCS file: /usr/local/cvsroot/ethereal/configure.in,v
retrieving revision 1.202
diff -p -u -r1.202 configure.in
--- configure.in	11 Mar 2003 00:12:36 -0000	1.202
+++ configure.in	25 Mar 2003 19:25:23 -0000
@@ -758,7 +758,11 @@ dnl libtool defs
 AM_PROG_LIBTOOL
 AC_SUBST(LIBTOOL_DEPS)
 
-AM_CONDITIONAL(ENABLE_STATIC, test x$enable_shared = xno)
+AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
+if test "x$enable_static" = "xyes"; then
+	AC_DEFINE(__ETHEREAL_STATIC__, 1, [Compile and link Ethereal as one static binary])
+fi
+
 AM_CONFIG_HEADER(config.h)
 AC_CONFIG_SUBDIRS(epan wiretap)
 AC_OUTPUT(
Index: plugins/docsis/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/docsis/Makefile.am,v
retrieving revision 1.4
diff -p -u -r1.4 Makefile.am
--- plugins/docsis/Makefile.am	11 Jan 2003 09:15:00 -0000	1.4
+++ plugins/docsis/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -35,81 +35,6 @@ docsis_la_LDFLAGS = -module -avoid-versi
 # add them here.
 LIBS =
 
-docsis_la_DEPENDENCIES = packet-docsis-static.o packet-bpkmattr-static.o packet-dsarsp-static.o packet-macmgmt-static.o packet-rngrsp-static.o packet-bpkmreq-static.o packet-dscack-static.o packet-map-static.o packet-tlv-static.o packet-bpkmrsp-static.o packet-dscreq-static.o packet-regack-static.o packet-uccreq-static.o packet-dscrsp-static.o packet-regreq-static.o packet-uccrsp-static.o packet-dsaack-static.o packet-dsdreq-static.o packet-regrsp-static.o packet-ucd-static.o packet-dsareq-static.o packet-dsdrsp-static.o packet-rngreq-static.o packet-vendor-static.o
-
-packet-docsis-static.o:	packet-docsis.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-docsis-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-docsis.c 
-
-
-packet-bpkmattr-static.o: packet-bpkmattr.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-bpkmattr-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-bpkmattr.c
-
-packet-dsarsp-static.o:	packet-dsarsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dsarsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dsarsp.c
-
-packet-macmgmt-static.o:	packet-macmgmt.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-macmgmt-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-macmgmt.c
-
-packet-rngrsp-static.o:	packet-rngrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-rngrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-rngrsp.c
-
-packet-bpkmreq-static.o:	packet-bpkmreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-bpkmreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-bpkmreq.c
-
-packet-dscack-static.o:	packet-dscack.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dscack-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dscack.c
-
-packet-map-static.o:	packet-map.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-map-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-map.c
-
-packet-tlv-static.o:	packet-tlv.c packet-tlv.h moduleinfo.h
-	$(LTCOMPILE) -c -o packet-tlv-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-tlv.c
-
-packet-bpkmrsp-static.o:	packet-bpkmrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-bpkmrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-bpkmrsp.c
-
-packet-dscreq-static.o:	packet-dscreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dscreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dscreq.c
-
-packet-regack-static.o:	packet-regack.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-regack-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-regack.c
-
-packet-uccreq-static.o:	packet-uccreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-uccreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-uccreq.c
-
-packet-dscrsp-static.o:	packet-dscrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dscrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dscrsp.c
-
-packet-regreq-static.o:	packet-regreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-regreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-regreq.c
-
-packet-uccrsp-static.o:	packet-uccrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-uccrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-uccrsp.c
-
-packet-dsaack-static.o:	packet-dsaack.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dsaack-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dsaack.c
-
-packet-dsdreq-static.o:	packet-dsdreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dsdreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dsdreq.c
-
-packet-regrsp-static.o:	packet-regrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-regrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-regrsp.c
-
-packet-ucd-static.o:	packet-ucd.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-ucd-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-ucd.c
-
-packet-dsareq-static.o:	packet-dsareq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dsareq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dsareq.c
-
-packet-dsdrsp-static.o:	packet-dsdrsp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-dsdrsp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-dsdrsp.c
-
-packet-rngreq-static.o:	packet-rngreq.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-rngreq-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-rngreq.c
-
-packet-vendor-static.o:	packet-vendor.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-vendor-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-vendor.c
-
 CLEANFILES = \
 	docsis \
 	*~
Index: plugins/giop/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/giop/Makefile.am,v
retrieving revision 1.3
diff -p -u -r1.3 Makefile.am
--- plugins/giop/Makefile.am	6 Jul 2002 20:40:46 -0000	1.3
+++ plugins/giop/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -42,16 +42,6 @@ coseventcomm_la_LDFLAGS = -module -avoid
 # add them here.
 LIBS =
 
-cosnaming_la_DEPENDENCIES = packet-cosnaming-static.o
-coseventcomm_la_DEPENDENCIES = packet-coseventcomm-static.o
-
-packet-cosnaming-static.o:	packet-cosnaming.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-cosnaming-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-cosnaming.c 
-
-packet-coseventcomm-static.o:	packet-coseventcomm.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-coseventcomm-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-coseventcomm.c 
-
-
 CLEANFILES = \
 	cosnaming \
 	coseventcomm \
Index: plugins/gryphon/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/gryphon/Makefile.am,v
retrieving revision 1.10
diff -p -u -r1.10 Makefile.am
--- plugins/gryphon/Makefile.am	6 Jul 2002 20:40:47 -0000	1.10
+++ plugins/gryphon/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -36,11 +36,6 @@ gryphon_la_LDFLAGS = -module -avoid-vers
 # add them here.
 LIBS =
 
-gryphon_la_DEPENDENCIES = packet-gryphon-static.o
-
-packet-gryphon-static.o:	packet-gryphon.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-gryphon-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-gryphon.c
-
 CLEANFILES = \
 	gryphon \
 	*~
Index: plugins/megaco/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/megaco/Makefile.am,v
retrieving revision 1.1
diff -p -u -r1.1 Makefile.am
--- plugins/megaco/Makefile.am	14 Jan 2003 23:53:40 -0000	1.1
+++ plugins/megaco/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -35,11 +35,6 @@ megaco_la_LDFLAGS = -module -avoid-versi
 # add them here.
 LIBS =
 
-megaco_la_DEPENDENCIES = packet-megaco-static.o
-
-packet-megaco-static.o:	packet-megaco.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-megaco-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-megaco.c 
-
 CLEANFILES = \
 	megaco \
 	*~
Index: plugins/mgcp/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/mgcp/Makefile.am,v
retrieving revision 1.6
diff -p -u -r1.6 Makefile.am
--- plugins/mgcp/Makefile.am	7 Mar 2003 04:13:26 -0000	1.6
+++ plugins/mgcp/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -36,11 +36,6 @@ mgcp_la_LDFLAGS = -module -avoid-version
 # add them here.
 LIBS =
 
-mgcp_la_DEPENDENCIES = packet-mgcp-static.o
-
-packet-mgcp-static.o:	packet-mgcp.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-mgcp-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-mgcp.c 
-
 CLEANFILES = \
 	mgcp \
 	*~
Index: plugins/pcli/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/plugins/pcli/Makefile.am,v
retrieving revision 1.1
diff -p -u -r1.1 Makefile.am
--- plugins/pcli/Makefile.am	3 Oct 2002 02:56:59 -0000	1.1
+++ plugins/pcli/Makefile.am	25 Mar 2003 19:25:23 -0000
@@ -36,11 +36,6 @@ pcli_la_LDFLAGS = -module -avoid-version
 # add them here.
 LIBS =
 
-pcli_la_DEPENDENCIES = packet-pcli-static.o
-
-packet-pcli-static.o:	packet-pcli.c moduleinfo.h
-	$(LTCOMPILE) -c -o packet-pcli-static.o -D__ETHEREAL_STATIC__ $(srcdir)/packet-pcli.c 
-
 CLEANFILES = \
 	pcli \
 	*~