Ethereal-dev: [Ethereal-dev] Separating the dissectors into a library
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: Mon, 3 Jun 2002 02:50:44 +0200
I've make some changes to the toplevel Makefile.am as part of my plan to
eventually put all the files in DISSECTOR_SRC and DISSECTOR_COMMON_SRC
into epan/proto/. This patch puts all the dissectors into their own library
(libproto.a). I've also put those file I think are helper files into this
new library. I'd be happy if someone would check if my choice of files is
OK. But I'd like to have some feedback on the following questions before
really starting:
1) Is that really a good idea?
2) Ideally, I should put register.o or register-static.o into
libproto as well. Can I be sure that only one version is used?
How do I find out which one?
3) Should register.c and register-static.c be added to BUILT_SOURCES?
Ciao
Jörg
PS: This is my first attempt at playing with automake, so I expect
I've found some suboptimal solutions (aka made some errors :-)
Index: ethereal/Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/Makefile.am,v
retrieving revision 1.439
diff -u -r1.439 Makefile.am
--- Makefile.am 2002/06/02 12:32:08 1.439
+++ Makefile.am 2002/06/03 00:25:54
@@ -331,6 +331,44 @@
packet-ypxfr.c \
packet-zebra.c
+DISSECTOR_COMMON_SRC = \
+ aftypes.h \
+ alignment.h \
+ afn.c \
+ afn.h \
+ asn1.c \
+ asn1.h \
+ bridged_pids.h \
+ etypes.h \
+ follow.c \
+ follow.h \
+ format-oid.h \
+ greproto.h \
+ in_cksum.c \
+ in_cksum.h \
+ ipproto.c \
+ ipproto.h \
+ llcsaps.h \
+ nlpid.h \
+ oui.h \
+ ppptypes.h \
+ ptvcursor.c \
+ ptvcursor.h \
+ reassemble.c \
+ reassemble.h \
+ register.h \
+ rpc_defrag.h \
+ smb.h \
+ util.c \
+ util.h \
+ x11-declarations.h \
+ x11-register-info.h \
+ x264_prt_id.h \
+ xdlc.c \
+ xdlc.h \
+ xmlstub.c \
+ xmlstub.h
+
if HAVE_PLUGINS
plugin_src = \
plugins/gryphon/packet-gryphon.c \
@@ -479,13 +517,6 @@
packet-ypxfr.h
ETHEREAL_COMMON_SRC = \
- aftypes.h \
- alignment.h \
- afn.c \
- afn.h \
- asn1.c \
- asn1.h \
- bridged_pids.h \
column.c \
column.h \
color.h \
@@ -493,21 +524,8 @@
conditions.h \
capture_stop_conditions.h \
capture_stop_conditions.c \
- etypes.h \
- follow.c \
- follow.h \
- format-oid.h \
- greproto.h \
- in_cksum.c \
- in_cksum.h \
- ipproto.c \
- ipproto.h \
- llcsaps.h \
- nlpid.h \
- oui.h \
pcap-util.c \
pcap-util.h \
- ppptypes.h \
prefs.c \
prefs.h \
prefs-int.h \
@@ -515,31 +533,14 @@
print.h \
ps.c \
ps.h \
- ptvcursor.c \
- ptvcursor.h \
- reassemble.c \
- reassemble.h \
- register.h \
ringbuffer.c \
- ringbuffer.h \
- rpc_defrag.h \
- smb.h \
- util.c \
- util.h \
- x11-declarations.h \
- x11-register-info.h \
- x264_prt_id.h \
- xdlc.c \
- xdlc.h \
- xmlstub.c \
- xmlstub.h
+ ringbuffer.h
BUILT_SOURCES = \
x11-declarations.h \
x11-register-info.h
ethereal_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
register.c \
capture.c \
@@ -560,7 +561,6 @@
ui_util.h
ethereal_static_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
register-static.c \
capture.c \
@@ -593,6 +593,12 @@
strptime.c \
strptime.h
+noinst_LIBRARIES = libproto.a
+
+libproto_a_SOURCES = \
+ $(DISSECTOR_SRC) \
+ $(DISSECTOR_COMMON_SRC)
+
# Optional objects that I know how to build. These will be
# linked into the ethereal executable.
# They will also be linked into the tethereal executable; if this
@@ -607,6 +613,7 @@
# Additional libs that I know how to build. These will be
# linked into the ethereal executable.
ethereal_additional_libs = \
+ libproto.a \
wiretap/libwiretap.a \
gtk/libui.a \
epan/libethereal.a \
@@ -649,13 +656,11 @@
ethereal_static_LDFLAGS = -Wl,-static
tethereal_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
register.c \
tethereal.c
tethereal_static_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
register-static.c \
tethereal.c
@@ -663,6 +668,7 @@
# Additional libs that I know how to build. These will be
# linked into the tethereal executable.
tethereal_additional_libs = \
+ libproto.a \
wiretap/libwiretap.a \
epan/libethereal.a \
epan/ftypes/libftypes.a \
@@ -676,7 +682,7 @@
tethereal_static_DEPENDENCIES = \
$(ethereal_optional_objects) \
- $(tethereal_additional_libs)
+ $(tethereal_additional_libs)
# This automake variable adds to the link-line for the executable
tethereal_LDADD = wiretap/libwiretap.a \
@@ -785,12 +791,12 @@
dftest_SOURCES = \
- $(DISSECTOR_SRC) \
$(ETHEREAL_COMMON_SRC) \
register.c \
dftest.c
dftest_additional_libs = \
+ libproto.a \
wiretap/libwiretap.a \
epan/libethereal.a \
epan/ftypes/libftypes.a \
@@ -813,7 +819,8 @@
dftest_LDFLAGS = -export-dynamic
CLEANFILES = \
- idl2eth
+ idl2eth \
+ libproto.a
DISTCLEANFILES = \
register.c \
--
Joerg Mayer <jmayer@xxxxxxxxx>
I found out that "pro" means "instead of" (as in proconsul). Now I know
what proactive means.
- Follow-Ups:
- Re: [Ethereal-dev] Separating the dissectors into a library
- From: Ashok Narayanan
- Re: [Ethereal-dev] Separating the dissectors into a library
- Prev by Date: [Ethereal-dev] Makefile.am: noinst_HEADERS
- Next by Date: Re: [Ethereal-dev] Separating the dissectors into a library
- Previous by thread: [Ethereal-dev] Makefile.am: noinst_HEADERS
- Next by thread: Re: [Ethereal-dev] Separating the dissectors into a library
- Index(es):





