Ethereal-dev: Re: [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: Ashok Narayanan <ashokn@xxxxxxxxx>
Date: Sun, 02 Jun 2002 20:56:00 -0400 (EDT)
Why do this? Doesn't it introduce an extra step in compile/link of Ethereal if I just edit one packet-xxx.c and remake? What's the benefit? -Ashok > 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. > > > _______________________________________________ > Ethereal-dev mailing list > Ethereal-dev@xxxxxxxxxxxx > http://www.ethereal.com/mailman/listinfo/ethereal-dev --- Asok the Intern ---------------------------------------- Ashok Narayanan IOS Network Protocols, Cisco Systems 250 Apollo Drive, Chelmsford, MA 01824 Ph: 978-497-8387. Fax: 978-497-8513 (Attn: Ashok Narayanan)
- Follow-Ups:
- Re: [Ethereal-dev] Separating the dissectors into a library
- From: Joerg Mayer
- Re: [Ethereal-dev] Separating the dissectors into a library
- References:
- [Ethereal-dev] Separating the dissectors into a library
- From: Joerg Mayer
- [Ethereal-dev] Separating the dissectors into a library
- Prev by Date: [Ethereal-dev] Separating the dissectors into a library
- Next by Date: Re: [Ethereal-dev] Separating the dissectors into a library
- Previous by thread: [Ethereal-dev] Separating the dissectors into a library
- Next by thread: Re: [Ethereal-dev] Separating the dissectors into a library
- Index(es):