Ethereal-dev: Re: [Ethereal-dev] Please test: shared libs (v2)

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: Sat, 7 Feb 2004 07:24:45 +0100
With patch attached this time...

On Sat, Feb 07, 2004 at 07:22:35AM +0100, Joerg Mayer wrote:
> This implements step two: Put the dissection stuff into libethereal.
> It also does some cleanup on the shared library stuff, so if you haven't
> tested the previous version, just use this one.
> 
> Moving the files into libethereal breaks the Windows build, because
> I have only done rudimentary Makefiles.nmake changes. Thus ./Makefile.nmake
> and epan/Makefile.nmake will need to be fixed - patches are welcome :-)
> 
> 2do:
> 
> move register.o into libethereal
>    (so we don't have to increase the lib version for every new
>    dissector)
> 
> 2do (after next release):
> 
> Move dissection files into epan/xxx/
>    (lots of include fixes)
> maybe install the header files needed for libwiretap and libethereal
>    (need to find out which ones are needed first)
> 
>  Happy testing
> 
>                   Jörg

-- 
Joerg Mayer                                           <jmayer@xxxxxxxxx>
We are stuck with technology when what we really want is 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.706
diff -p -u -r1.706 Makefile.am
--- Makefile.am	1 Feb 2004 10:07:20 -0000	1.706
+++ Makefile.am	7 Feb 2004 05:58:30 -0000
@@ -231,11 +231,9 @@ ethereal_optional_objects = @SNPRINTF_O@
 # Additional libs that I know how to build. These will be
 # linked into the ethereal executable.
 ethereal_additional_libs = \
-	wiretap/libwiretap.a	\
+	wiretap/libwiretap.la	\
 	gtk/libui.a		\
-	epan/libethereal.a	\
-	epan/ftypes/libftypes.a \
-	epan/dfilter/libdfilter.a
+	epan/libethereal.la
 
 # This is the automake dependency variable for the executable
 ethereal_DEPENDENCIES = \
@@ -268,10 +266,8 @@ ethereal_LDADD = \
 # Additional libs that I know how to build. These will be
 # linked into the tethereal executable.
 tethereal_additional_libs =		\
-	wiretap/libwiretap.a		\
-	epan/libethereal.a		\
-	epan/ftypes/libftypes.a		\
-	epan/dfilter/libdfilter.a
+	wiretap/libwiretap.la		\
+	epan/libethereal.la
 
 # This is the automake dependency variable for the executable
 tethereal_DEPENDENCIES = \
@@ -305,14 +301,14 @@ text2pcap_DEPENDENCIES = text2pcap.h
 text2pcap_LDADD = $(text2pcap_optional_objects) \
 	@GLIB_LIBS@ -lm
 
-mergecap_DEPENDENCIES = wiretap/libwiretap.a
+mergecap_DEPENDENCIES = wiretap/libwiretap.la
 
 # This is the automake dependency variable for the executable
-editcap_DEPENDENCIES = wiretap/libwiretap.a
+editcap_DEPENDENCIES = wiretap/libwiretap.la
 
 # This automake variable adds to the link-line for the executable
-editcap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
-mergecap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
+editcap_LDADD = wiretap/libwiretap.la @GLIB_LIBS@
+mergecap_LDADD = wiretap/libwiretap.la @GLIB_LIBS@
 
 # Common headers
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/wiretap
@@ -402,15 +398,13 @@ rdps: rdps.c
 randpkt.o: randpkt.c
 	$(CC) -DHAVE_CONFIG_H -I. `glib-config --cflags` -c $(srcdir)/randpkt.c
 
-randpkt: randpkt.o wiretap/libwiretap.a
-	$(LINK) -o randpkt randpkt.o wiretap/libwiretap.a `glib-config --libs` -lz
+randpkt: randpkt.o wiretap/libwiretap.la
+	$(LINK) -o randpkt randpkt.o wiretap/libwiretap.la `glib-config --libs` -lz
 
 
 dftest_additional_libs =		\
-	wiretap/libwiretap.a		\
-	epan/libethereal.a		\
-	epan/ftypes/libftypes.a		\
-	epan/dfilter/libdfilter.a
+	wiretap/libwiretap.la		\
+	epan/libethereal.la
 
 dftest_DEPENDENCIES = \
 	$(ethereal_optional_objects)	\
Index: Makefile.common
===================================================================
RCS file: /usr/local/cvsroot/ethereal/Makefile.common,v
retrieving revision 1.10
diff -p -u -r1.10 Makefile.common
--- Makefile.common	3 Feb 2004 18:57:26 -0000	1.10
+++ Makefile.common	7 Feb 2004 05:58:30 -0000
@@ -24,415 +24,6 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 
-DISSECTOR_SRC =	\
-	packet-aarp.c	\
-	packet-acap.c	\
-	packet-acse.c	\
-	packet-afp.c	\
-	packet-afs.c	\
-	packet-aim.c	\
-	packet-ajp13.c	\
-	packet-alcap.c	\
-	packet-ans.c	\
-	packet-ansi_637.c	\
-	packet-ansi_683.c	\
-	packet-ansi_a.c	\
-	packet-ansi_map.c	\
-	packet-aodv.c	\
-	packet-arcnet.c	\
-	packet-arp.c	\
-	packet-asap.c	\
-	packet-ascend.c	\
-	packet-asf.c	\
-	packet-atalk.c	\
-	packet-atm.c	\
-	packet-auto_rp.c	\
-	packet-bacapp.c	\
-	packet-bacnet.c	\
-	packet-beep.c	\
-	packet-bfd.c	\
-	packet-bgp.c	\
-	packet-bofl.c	\
-	packet-bootp.c	\
-	packet-bootparams.c	\
-	packet-bpdu.c	\
-	packet-brdwlk.c	\
-	packet-bssap.c	\
-	packet-bssgp.c	\
-	packet-bvlc.c	\
-	packet-ccsds.c	\
-	packet-cdp.c	\
-	packet-cgmp.c	\
-	packet-chdlc.c	\
-	packet-cisco-oui.c	\
-	packet-clearcase.c	\
-	packet-clip.c	\
-	packet-clnp.c	\
-	packet-cops.c	\
-	packet-cosine.c	\
-	packet-cpfi.c	\
-	packet-cpha.c	\
-	packet-cups.c	\
-	packet-data.c	\
-	packet-dccp.c	\
-	packet-dcerpc-afs4int.c	\
-	packet-dcerpc-atsvc.c	\
-	packet-dcerpc-bossvr.c	\
-	packet-dcerpc-browser.c	\
-	packet-dcerpc-budb.c	\
-	packet-dcerpc-butc.c	\
-	packet-dcerpc-cds_clerkserver.c	\
-	packet-dcerpc-cds_solicit.c	\
-	packet-dcerpc-conv.c	\
-	packet-dcerpc-cprpc_server.c	\
-	packet-dcerpc-dce122.c	\
-	packet-dcerpc-dfs.c	\
-	packet-dcerpc-dnsserver.c	\
-	packet-dcerpc-drsuapi.c	\
-	packet-dcerpc-dtsprovider.c	\
-	packet-dcerpc-dtsstime_req.c	\
-	packet-dcerpc-epm.c	\
-	packet-dcerpc-epm4.c	\
-	packet-dcerpc-fldb.c	\
-	packet-dcerpc-ftserver.c	\
-	packet-dcerpc-icl_rpc.c	\
-	packet-dcerpc-initshutdown.c	\
-	packet-dcerpc-krb5rpc.c	\
-	packet-dcerpc-lsa-ds.c	\
-	packet-dcerpc-lsa.c	\
-	packet-dcerpc-mapi.c	\
-	packet-dcerpc-messenger.c	\
-	packet-dcerpc-mgmt.c	\
-	packet-dcerpc-ndr.c	\
-	packet-dcerpc-netlogon.c	\
-	packet-dcerpc-nspi.c	\
-	packet-dcerpc-oxid.c	\
-	packet-dcerpc-reg.c	\
-	packet-dcerpc-remact.c	\
-	packet-dcerpc-rep_proc.c	\
-	packet-dcerpc-roverride.c	\
-	packet-dcerpc-rpriv.c	\
-	packet-dcerpc-rs_acct.c	\
-	packet-dcerpc-rs_attr.c	\
-	packet-dcerpc-rs_bind.c	\
-	packet-dcerpc-rs_misc.c	\
-	packet-dcerpc-rs_pgo.c	\
-	packet-dcerpc-rs_plcy.c	\
-	packet-dcerpc-rs_prop_acct.c	\
-	packet-dcerpc-rs_repadm.c	\
-	packet-dcerpc-rs_replist.c	\
-	packet-dcerpc-rs_unix.c	\
-	packet-dcerpc-rsec_login.c	\
-	packet-dcerpc-samr.c	\
-	packet-dcerpc-secidmap.c	\
-	packet-dcerpc-spoolss.c	\
-	packet-dcerpc-srvsvc.c	\
-	packet-dcerpc-svcctl.c	\
-	packet-dcerpc-tapi.c	\
-	packet-dcerpc-tkn4int.c	\
-	packet-dcerpc-trksvr.c	\
-	packet-dcerpc-ubikdisk.c	\
-	packet-dcerpc-ubikvote.c	\
-	packet-dcerpc-update.c	\
-	packet-dcerpc-wkssvc.c	\
-	packet-dcerpc.c	\
-	packet-ddtp.c	\
-	packet-dec-bpdu.c	\
-	packet-dhcpv6.c	\
-	packet-diameter.c	\
-	packet-diffserv-mpls-common.c	\
-	packet-distcc.c	\
-	packet-dlsw.c	\
-	packet-dns.c	\
-	packet-dsi.c	\
-	packet-dvmrp.c	\
-	packet-eap.c	\
-	packet-eapol.c	\
-	packet-echo.c	\
-	packet-edonkey.c	\
-	packet-eigrp.c	\
-	packet-enc.c	\
-	packet-enip.c	\
-	packet-esis.c	\
-	packet-eth.c	\
-	packet-etherip.c	\
-	packet-ethertype.c	\
-	packet-fc.c	\
-	packet-fcct.c	\
-	packet-fcdns.c	\
-	packet-fcels.c	\
-	packet-fcfcs.c	\
-	packet-fcfzs.c	\
-	packet-fcip.c	\
-	packet-fclctl.c	\
-	packet-fcp.c	\
-	packet-fcsb3.c	\
-	packet-fcsp.c	\
-	packet-fcswils.c	\
-	packet-fddi.c	\
-	packet-fix.c	\
-	packet-fr.c	\
-	packet-frame.c	\
-	packet-ftp.c	\
-	packet-fw1.c	\
-	packet-giop.c	\
-	packet-gmrp.c	\
-	packet-gnutella.c	\
-	packet-gprs-ns.c	\
-	packet-gre.c	\
-	packet-gsm_a.c	\
-	packet-gsm_map.c	\
-	packet-gsm_sms.c	\
-	packet-gsm_sms_ud.c	\
-	packet-gssapi.c	\
-	packet-gtp.c	\
-	packet-gvrp.c	\
-	packet-h1.c	\
-	packet-h225.c	\
-	packet-h245.c	\
-	packet-h261.c	\
-	packet-h263.c	\
-	packet-h450.c	\
-	packet-hclnfsd.c	\
-	packet-hpext.c	\
-	packet-hsrp.c	\
-	packet-http.c	\
-	packet-hyperscsi.c	\
-	packet-iapp.c	\
-	packet-iax2.c	\
-	packet-ib.c	\
-	packet-icap.c	\
-	packet-icmpv6.c	\
-	packet-icp.c	\
-	packet-icq.c	\
-	packet-ieee80211.c	\
-	packet-ieee8023.c	\
-	packet-igap.c	\
-	packet-igmp.c	\
-	packet-igrp.c	\
-	packet-image-gif.c	\
-	packet-image-jfif.c	\
-	packet-imap.c	\
-	packet-ip.c	\
-	packet-ipfc.c	\
-	packet-ipmi.c	\
-	packet-ipp.c	\
-	packet-ipsec-udp.c	\
-	packet-ipsec.c	\
-	packet-ipv6.c	\
-	packet-ipx.c	\
-	packet-ipxwan.c	\
-	packet-irc.c	\
-	packet-isakmp.c	\
-	packet-iscsi.c	\
-	packet-isdn.c	\
-	packet-isis-clv.c	\
-	packet-isis-hello.c	\
-	packet-isis-lsp.c	\
-	packet-isis-snp.c	\
-	packet-isis.c	\
-	packet-isl.c	\
-	packet-ismp.c	\
-	packet-isns.c	\
-	packet-isup.c	\
-	packet-iua.c	\
-	packet-jabber.c	\
-	packet-kadm5.c	\
-	packet-kerberos.c	\
-	packet-klm.c	\
-	packet-kpasswd.c	\
-	packet-l2tp.c	\
-	packet-lapb.c	\
-	packet-lapbether.c	\
-	packet-lapd.c	\
-	packet-laplink.c	\
-	packet-ldap.c	\
-	packet-ldp.c	\
-	packet-llc.c	\
-	packet-lmi.c	\
-	packet-lmp.c	\
-	packet-lpd.c	\
-	packet-lwapp.c	\
-	packet-m2pa.c	\
-	packet-m2tp.c	\
-	packet-m2ua.c	\
-	packet-m3ua.c	\
-	packet-mbtcp.c	\
-	packet-mdshdr.c	\
-	packet-mip.c	\
-	packet-mip6.c	\
-	packet-mmse.c	\
-	packet-mount.c	\
-	packet-mpeg1.c	\
-	packet-mpls.c	\
-	packet-mrdisc.c	\
-	packet-msdp.c	\
-	packet-msn-messenger.c	\
-	packet-msnip.c	\
-	packet-msproxy.c	\
-	packet-mtp2.c	\
-	packet-mtp3.c	\
-	packet-mtp3mg.c	\
-	packet-multipart.c	\
-	packet-mysql.c	\
-	packet-nbipx.c	\
-	packet-nbns.c	\
-	packet-ncp.c	\
-	packet-ncp2222.c	\
-	packet-ndmp.c	\
-	packet-ndps.c	\
-	packet-netbios.c	\
-	packet-netflow.c	\
-	packet-nfs.c	\
-	packet-nfsacl.c	\
-	packet-nfsauth.c	\
-	packet-nisplus.c	\
-	packet-nlm.c	\
-	packet-nlsp.c	\
-	packet-nntp.c	\
-	packet-nt-oui.c	\
-	packet-nt-sonmp.c	\
-	packet-nt-tpcp.c	\
-	packet-ntlmssp.c	\
-	packet-ntp.c	\
-	packet-null.c	\
-	packet-olsr.c	\
-	packet-osi-options.c	\
-	packet-osi.c	\
-	packet-ospf.c	\
-	packet-pcnfsd.c	\
-	packet-per.c	\
-	packet-pflog.c	\
-	packet-pgm.c	\
-	packet-pim.c	\
-	packet-pop.c	\
-	packet-portmap.c	\
-	packet-ppp.c	\
-	packet-pppoe.c	\
-	packet-pptp.c	\
-	packet-pres.c	\
-	packet-prism.c	\
-	packet-q2931.c	\
-	packet-q931.c	\
-	packet-q933.c	\
-	packet-qllc.c	\
-	packet-quake.c	\
-	packet-quake2.c	\
-	packet-quake3.c	\
-	packet-quakeworld.c	\
-	packet-radius.c	\
-	packet-radiotap.c	\
-	packet-ranap.c	\
-	packet-raw.c	\
-	packet-rip.c	\
-	packet-ripng.c	\
-	packet-rlogin.c	\
-	packet-rmcp.c	\
-	packet-rmi.c	\
-	packet-rmp.c	\
-	packet-rpc.c	\
-	packet-rpl.c	\
-	packet-rquota.c	\
-	packet-rsh.c	\
-	packet-rstat.c	\
-	packet-rsvp.c	\
-	packet-rsync.c	\
-	packet-rtcp.c	\
-	packet-rtp-events.c	\
-	packet-rtp.c	\
-	packet-rtsp.c	\
-	packet-rwall.c	\
-	packet-rx.c	\
-	packet-sadmind.c	\
-	packet-sap.c	\
-	packet-sccp.c	\
-	packet-sccpmg.c	\
-	packet-scsi.c	\
-	packet-sctp.c	\
-	packet-sdlc.c	\
-	packet-sdp.c	\
-	packet-sebek.c	\
-	packet-ses.c	\
-	packet-sflow.c	\
-	packet-sip.c	\
-	packet-sipfrag.c	\
-	packet-skinny.c	\
-	packet-slimp3.c	\
-	packet-sll.c	\
-	packet-slowprotocols.c	\
-	packet-smb-browse.c	\
-	packet-smb-common.c	\
-	packet-smb-logon.c	\
-	packet-smb-mailslot.c	\
-	packet-smb-pipe.c	\
-	packet-smb-sidsnooping.c	\
-	packet-smb.c	\
-	packet-smpp.c	\
-	packet-smtp.c	\
-	packet-sna.c	\
-	packet-snaeth.c	\
-	packet-snmp.c	\
-	packet-socks.c	\
-	packet-spnego.c	\
-	packet-spray.c	\
-	packet-srvloc.c	\
-	packet-sscop.c	\
-	packet-ssh.c	\
-	packet-ssl.c	\
-	packet-stat-notify.c	\
-	packet-stat.c	\
-	packet-stun.c	\
-	packet-sua.c	\
-	packet-syslog.c	\
-	packet-t38.c	\
-	packet-tacacs.c	\
-	packet-tcap.c	\
-	packet-tcp.c	\
-	packet-tds.c	\
-	packet-teimanagement.c	\
-	packet-telnet.c	\
-	packet-teredo.c	\
-	packet-text-media.c	\
-	packet-tftp.c	\
-	packet-time.c	\
-	packet-tns.c	\
-	packet-tpkt.c	\
-	packet-tr.c	\
-	packet-trmac.c	\
-	packet-tsp.c	\
-	packet-tzsp.c	\
-	packet-ucp.c	\
-	packet-udp.c	\
-	packet-v120.c	\
-	packet-vines.c	\
-	packet-vj.c	\
-	packet-vlan.c	\
-	packet-vrrp.c	\
-	packet-vtp.c	\
-	packet-wap.c	\
-	packet-wbxml.c	\
-	packet-wccp.c	\
-	packet-wcp.c	\
-	packet-wfleet-hdlc.c	\
-	packet-who.c	\
-	packet-wlancap.c	\
-	packet-wsp.c	\
-	packet-wtls.c	\
-	packet-wtp.c	\
-	packet-x11.c	\
-	packet-x25.c	\
-	packet-x29.c	\
-	packet-xdmcp.c	\
-	packet-xot.c	\
-	packet-xyplex.c	\
-	packet-yhoo.c	\
-	packet-ymsg.c	\
-	packet-ypbind.c	\
-	packet-yppasswd.c	\
-	packet-ypserv.c	\
-	packet-ypxfr.c	\
-	packet-zebra.c
-
 noinst_HEADERS =	\
 	packet-acse.h	\
 	packet-afp.h	\
@@ -598,81 +189,12 @@ noinst_HEADERS =	\
 	packet-ypserv.h	\
 	packet-ypxfr.h
 
-DISSECTOR_SUPPORT_SRC =	\
-	adler32.c	\
-	adler32.h	\
-	afn.c	\
-	afn.h	\
-	aftypes.h	\
-	arcnet_pids.h	\
-	asn1.c	\
-	asn1.h	\
-	bridged_pids.h	\
-	chdlctypes.h	\
-	column.c	\
-	column.h	\
-	crc32.c	\
-	crc32.h	\
-	crypt-des.c	\
-	crypt-des.h	\
-	crypt-md4.c	\
-	crypt-md4.h	\
-	crypt-md5.c	\
-	crypt-md5.h	\
-	crypt-rc4.c	\
-	crypt-rc4.h	\
-	etypes.h	\
-	follow.c	\
-	follow.h	\
-	format-oid.h	\
-	g711.c	\
-	g711.h	\
-	greproto.h	\
-	h225-persistentdata.c	\
-	h225-persistentdata.h	\
-	in_cksum.c	\
-	in_cksum.h	\
-	ip_opts.h	\
-	ipproto.c	\
-	ipproto.h	\
-	lapd_sapi.h	\
-	llcsaps.h	\
-	nlpid.h	\
-	oui.h	\
-	packet-dcerpc-nt.c	\
-	ppptypes.h	\
-	prefs-int.h	\
-	prefs.c	\
-	prefs.h	\
-	ptvcursor.c	\
-	ptvcursor.h	\
-	reassemble.c	\
-	reassemble.h	\
-	req_resp_hdrs.c	\
-	req_resp_hdrs.h	\
-	rpc_defrag.h	\
-	rtp_pt.h	\
-	sctpppids.h	\
-	smb.h	\
-	t35.c	\
-	t35.h	\
-	tap.c	\
-	tap.h	\
-	util.c	\
-	util.h	\
-	x264_prt_id.h	\
-	xdlc.c	\
-	xdlc.h	\
-	xmlstub.c	\
-	xmlstub.h
-
 BUILT_SOURCES =	\
 	cvsversion.h	\
 	x11-declarations.h	\
 	x11-register-info.h
 
 ETHEREAL_COMMON_SRC =	\
-	$(DISSECTOR_SUPPORT_SRC)	\
 	$(BUILT_SOURCES)	\
 	capture_stop_conditions.c	\
 	capture_stop_conditions.h	\
@@ -722,7 +244,6 @@ TETHEREAL_TAP_SRC =	\
 	tap-wspstat.c
 
 ethereal_SOURCES =	\
-	$(DISSECTOR_SRC)	\
 	$(ETHEREAL_COMMON_SRC)	\
 	register.c	\
 	capture.c	\
@@ -756,7 +277,6 @@ EXTRA_ethereal_SOURCES =	\
 	strptime.h
 
 tethereal_SOURCES =	\
-	$(DISSECTOR_SRC)	\
 	$(ETHEREAL_COMMON_SRC)	\
 	$(TETHEREAL_TAP_SRC)	\
 	tethereal-tap-register.c	\
@@ -770,8 +290,6 @@ mergecap_SOURCES = mergecap.c cvsversion
 editcap_SOURCES = editcap.c
 
 dftest_SOURCES =	\
-	$(DISSECTOR_SRC)	\
-	$(DISSECTOR_SUPPORT_SRC)	\
 	$(BUILT_SOURCES)	\
 	register.c	\
 	dftest.c
Index: epan/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/Makefile.am,v
retrieving revision 1.32
diff -p -u -r1.32 Makefile.am
--- epan/Makefile.am	6 Dec 2003 06:22:10 -0000	1.32
+++ epan/Makefile.am	7 Feb 2004 05:58:45 -0000
@@ -29,11 +29,20 @@ SUBDIRS = ftypes dfilter
 
 ACLOCAL_AMFLAGS = `../aclocal-flags`
 
-noinst_LIBRARIES = libethereal.a
+include Makefile.common
 
 INCLUDES = -I$(srcdir)/..
 
-libethereal_a_SOURCES = \
+lib_LTLIBRARIES = libethereal.la
+
+#
+# Add the object files for missing routines, if any.
+#
+libethereal_la_LIBADD = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@ ftypes/libftypes.a dfilter/libdfilter.a
+#libethereal_la_DEPENDENCIES = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
+libethereal_la_LDFLAGS = -version-info 0:1:0
+
+libethereal_la_SOURCES = \
 	atalk-utils.c		\
 	atalk-utils.h		\
 	bitswap.c		\
@@ -47,7 +56,7 @@ libethereal_a_SOURCES = \
 	column-utils.h		\
 	epan.c			\
 	epan.h			\
-	epan_dissect.h	\
+	epan_dissect.h		\
 	except.c		\
 	except.h		\
 	exceptions.h		\
@@ -85,9 +94,11 @@ libethereal_a_SOURCES = \
 	tvbuff.c		\
 	tvbuff.h		\
 	value_string.c		\
-	value_string.h		
+	value_string.h		\
+	$(DISSECTOR_SRC)	\
+	$(DISSECTOR_SUPPORT_SRC)
 
-EXTRA_libethereal_a_SOURCES =	\
+EXTRA_libethereal_la_SOURCES =	\
         inet_aton.c		\
 	inet_pton.c		\
 	inet_ntop.c		\
@@ -103,12 +114,6 @@ CLEANFILES = \
 	libethereal.a	\
 	*~
 
-#
-# Add the object files for missing routines, if any.
-#
-libethereal_a_LIBADD = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
-libethereal_a_DEPENDENCIES = @INET_ATON_O@ @INET_PTON_O@ @INET_NTOP_O@
-
 
 tvbtest: tvbtest.o tvbuff.o except.o strutil.o
 	$(LINK) -o tvbtest tvbtest.o tvbuff.o except.o strutil.o `glib-config --libs`
Index: epan/Makefile.common
===================================================================
RCS file: epan/Makefile.common
diff -N epan/Makefile.common
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ epan/Makefile.common	7 Feb 2004 05:58:45 -0000
@@ -0,0 +1,503 @@
+# Makefile.common
+#     Contains the stuff from Makefile.am and Makefile.nmake that is
+#     a) common to both files and
+#     b) portable between both files
+#
+# $Id: Makefile.common,v 1.10 2004/02/03 18:57:26 guy Exp $
+#
+# Ethereal - Network traffic analyzer
+# By Gerald Combs <gerald@xxxxxxxxxxxx>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+
+DISSECTOR_SRC =	\
+	../packet-aarp.c	\
+	../packet-acap.c	\
+	../packet-acse.c	\
+	../packet-afp.c	\
+	../packet-afs.c	\
+	../packet-aim.c	\
+	../packet-ajp13.c	\
+	../packet-alcap.c	\
+	../packet-ans.c	\
+	../packet-ansi_637.c	\
+	../packet-ansi_683.c	\
+	../packet-ansi_a.c	\
+	../packet-ansi_map.c	\
+	../packet-aodv.c	\
+	../packet-arcnet.c	\
+	../packet-arp.c	\
+	../packet-asap.c	\
+	../packet-ascend.c	\
+	../packet-asf.c	\
+	../packet-atalk.c	\
+	../packet-atm.c	\
+	../packet-auto_rp.c	\
+	../packet-bacapp.c	\
+	../packet-bacnet.c	\
+	../packet-beep.c	\
+	../packet-bfd.c	\
+	../packet-bgp.c	\
+	../packet-bofl.c	\
+	../packet-bootp.c	\
+	../packet-bootparams.c	\
+	../packet-bpdu.c	\
+	../packet-brdwlk.c	\
+	../packet-bssap.c	\
+	../packet-bssgp.c	\
+	../packet-bvlc.c	\
+	../packet-ccsds.c	\
+	../packet-cdp.c	\
+	../packet-cgmp.c	\
+	../packet-chdlc.c	\
+	../packet-cisco-oui.c	\
+	../packet-clearcase.c	\
+	../packet-clip.c	\
+	../packet-clnp.c	\
+	../packet-cops.c	\
+	../packet-cosine.c	\
+	../packet-cpfi.c	\
+	../packet-cpha.c	\
+	../packet-cups.c	\
+	../packet-data.c	\
+	../packet-dccp.c	\
+	../packet-dcerpc-afs4int.c	\
+	../packet-dcerpc-atsvc.c	\
+	../packet-dcerpc-bossvr.c	\
+	../packet-dcerpc-browser.c	\
+	../packet-dcerpc-budb.c	\
+	../packet-dcerpc-butc.c	\
+	../packet-dcerpc-cds_clerkserver.c	\
+	../packet-dcerpc-cds_solicit.c	\
+	../packet-dcerpc-conv.c	\
+	../packet-dcerpc-cprpc_server.c	\
+	../packet-dcerpc-dce122.c	\
+	../packet-dcerpc-dfs.c	\
+	../packet-dcerpc-dnsserver.c	\
+	../packet-dcerpc-drsuapi.c	\
+	../packet-dcerpc-dtsprovider.c	\
+	../packet-dcerpc-dtsstime_req.c	\
+	../packet-dcerpc-epm.c	\
+	../packet-dcerpc-epm4.c	\
+	../packet-dcerpc-fldb.c	\
+	../packet-dcerpc-ftserver.c	\
+	../packet-dcerpc-icl_rpc.c	\
+	../packet-dcerpc-initshutdown.c	\
+	../packet-dcerpc-krb5rpc.c	\
+	../packet-dcerpc-lsa-ds.c	\
+	../packet-dcerpc-lsa.c	\
+	../packet-dcerpc-mapi.c	\
+	../packet-dcerpc-messenger.c	\
+	../packet-dcerpc-mgmt.c	\
+	../packet-dcerpc-ndr.c	\
+	../packet-dcerpc-netlogon.c	\
+	../packet-dcerpc-nspi.c	\
+	../packet-dcerpc-oxid.c	\
+	../packet-dcerpc-reg.c	\
+	../packet-dcerpc-remact.c	\
+	../packet-dcerpc-rep_proc.c	\
+	../packet-dcerpc-roverride.c	\
+	../packet-dcerpc-rpriv.c	\
+	../packet-dcerpc-rs_acct.c	\
+	../packet-dcerpc-rs_attr.c	\
+	../packet-dcerpc-rs_bind.c	\
+	../packet-dcerpc-rs_misc.c	\
+	../packet-dcerpc-rs_pgo.c	\
+	../packet-dcerpc-rs_plcy.c	\
+	../packet-dcerpc-rs_prop_acct.c	\
+	../packet-dcerpc-rs_repadm.c	\
+	../packet-dcerpc-rs_replist.c	\
+	../packet-dcerpc-rs_unix.c	\
+	../packet-dcerpc-rsec_login.c	\
+	../packet-dcerpc-samr.c	\
+	../packet-dcerpc-secidmap.c	\
+	../packet-dcerpc-spoolss.c	\
+	../packet-dcerpc-srvsvc.c	\
+	../packet-dcerpc-svcctl.c	\
+	../packet-dcerpc-tapi.c	\
+	../packet-dcerpc-tkn4int.c	\
+	../packet-dcerpc-trksvr.c	\
+	../packet-dcerpc-ubikdisk.c	\
+	../packet-dcerpc-ubikvote.c	\
+	../packet-dcerpc-update.c	\
+	../packet-dcerpc-wkssvc.c	\
+	../packet-dcerpc.c	\
+	../packet-ddtp.c	\
+	../packet-dec-bpdu.c	\
+	../packet-dhcpv6.c	\
+	../packet-diameter.c	\
+	../packet-diffserv-mpls-common.c	\
+	../packet-distcc.c	\
+	../packet-dlsw.c	\
+	../packet-dns.c	\
+	../packet-dsi.c	\
+	../packet-dvmrp.c	\
+	../packet-eap.c	\
+	../packet-eapol.c	\
+	../packet-echo.c	\
+	../packet-edonkey.c	\
+	../packet-eigrp.c	\
+	../packet-enc.c	\
+	../packet-enip.c	\
+	../packet-esis.c	\
+	../packet-eth.c	\
+	../packet-etherip.c	\
+	../packet-ethertype.c	\
+	../packet-fc.c	\
+	../packet-fcct.c	\
+	../packet-fcdns.c	\
+	../packet-fcels.c	\
+	../packet-fcfcs.c	\
+	../packet-fcfzs.c	\
+	../packet-fcip.c	\
+	../packet-fclctl.c	\
+	../packet-fcp.c	\
+	../packet-fcsb3.c	\
+	../packet-fcsp.c	\
+	../packet-fcswils.c	\
+	../packet-fddi.c	\
+	../packet-fix.c	\
+	../packet-fr.c	\
+	../packet-frame.c	\
+	../packet-ftp.c	\
+	../packet-fw1.c	\
+	../packet-giop.c	\
+	../packet-gmrp.c	\
+	../packet-gnutella.c	\
+	../packet-gprs-ns.c	\
+	../packet-gre.c	\
+	../packet-gsm_a.c	\
+	../packet-gsm_map.c	\
+	../packet-gsm_sms.c	\
+	../packet-gsm_sms_ud.c	\
+	../packet-gssapi.c	\
+	../packet-gtp.c	\
+	../packet-gvrp.c	\
+	../packet-h1.c	\
+	../packet-h225.c	\
+	../packet-h245.c	\
+	../packet-h261.c	\
+	../packet-h263.c	\
+	../packet-h450.c	\
+	../packet-hclnfsd.c	\
+	../packet-hpext.c	\
+	../packet-hsrp.c	\
+	../packet-http.c	\
+	../packet-hyperscsi.c	\
+	../packet-iapp.c	\
+	../packet-iax2.c	\
+	../packet-ib.c	\
+	../packet-icap.c	\
+	../packet-icmpv6.c	\
+	../packet-icp.c	\
+	../packet-icq.c	\
+	../packet-ieee80211.c	\
+	../packet-ieee8023.c	\
+	../packet-igap.c	\
+	../packet-igmp.c	\
+	../packet-igrp.c	\
+	../packet-image-gif.c	\
+	../packet-image-jfif.c	\
+	../packet-imap.c	\
+	../packet-ip.c	\
+	../packet-ipfc.c	\
+	../packet-ipmi.c	\
+	../packet-ipp.c	\
+	../packet-ipsec-udp.c	\
+	../packet-ipsec.c	\
+	../packet-ipv6.c	\
+	../packet-ipx.c	\
+	../packet-ipxwan.c	\
+	../packet-irc.c	\
+	../packet-isakmp.c	\
+	../packet-iscsi.c	\
+	../packet-isdn.c	\
+	../packet-isis-clv.c	\
+	../packet-isis-hello.c	\
+	../packet-isis-lsp.c	\
+	../packet-isis-snp.c	\
+	../packet-isis.c	\
+	../packet-isl.c	\
+	../packet-ismp.c	\
+	../packet-isns.c	\
+	../packet-isup.c	\
+	../packet-iua.c	\
+	../packet-jabber.c	\
+	../packet-kadm5.c	\
+	../packet-kerberos.c	\
+	../packet-klm.c	\
+	../packet-kpasswd.c	\
+	../packet-l2tp.c	\
+	../packet-lapb.c	\
+	../packet-lapbether.c	\
+	../packet-lapd.c	\
+	../packet-laplink.c	\
+	../packet-ldap.c	\
+	../packet-ldp.c	\
+	../packet-llc.c	\
+	../packet-lmi.c	\
+	../packet-lmp.c	\
+	../packet-lpd.c	\
+	../packet-lwapp.c	\
+	../packet-m2pa.c	\
+	../packet-m2tp.c	\
+	../packet-m2ua.c	\
+	../packet-m3ua.c	\
+	../packet-mbtcp.c	\
+	../packet-mdshdr.c	\
+	../packet-mip.c	\
+	../packet-mip6.c	\
+	../packet-mmse.c	\
+	../packet-mount.c	\
+	../packet-mpeg1.c	\
+	../packet-mpls.c	\
+	../packet-mrdisc.c	\
+	../packet-msdp.c	\
+	../packet-msn-messenger.c	\
+	../packet-msnip.c	\
+	../packet-msproxy.c	\
+	../packet-mtp2.c	\
+	../packet-mtp3.c	\
+	../packet-mtp3mg.c	\
+	../packet-multipart.c	\
+	../packet-mysql.c	\
+	../packet-nbipx.c	\
+	../packet-nbns.c	\
+	../packet-ncp.c	\
+	../packet-ncp2222.c	\
+	../packet-ndmp.c	\
+	../packet-ndps.c	\
+	../packet-netbios.c	\
+	../packet-netflow.c	\
+	../packet-nfs.c	\
+	../packet-nfsacl.c	\
+	../packet-nfsauth.c	\
+	../packet-nisplus.c	\
+	../packet-nlm.c	\
+	../packet-nlsp.c	\
+	../packet-nntp.c	\
+	../packet-nt-oui.c	\
+	../packet-nt-sonmp.c	\
+	../packet-nt-tpcp.c	\
+	../packet-ntlmssp.c	\
+	../packet-ntp.c	\
+	../packet-null.c	\
+	../packet-olsr.c	\
+	../packet-osi-options.c	\
+	../packet-osi.c	\
+	../packet-ospf.c	\
+	../packet-pcnfsd.c	\
+	../packet-per.c	\
+	../packet-pflog.c	\
+	../packet-pgm.c	\
+	../packet-pim.c	\
+	../packet-pop.c	\
+	../packet-portmap.c	\
+	../packet-ppp.c	\
+	../packet-pppoe.c	\
+	../packet-pptp.c	\
+	../packet-pres.c	\
+	../packet-prism.c	\
+	../packet-q2931.c	\
+	../packet-q931.c	\
+	../packet-q933.c	\
+	../packet-qllc.c	\
+	../packet-quake.c	\
+	../packet-quake2.c	\
+	../packet-quake3.c	\
+	../packet-quakeworld.c	\
+	../packet-radius.c	\
+	../packet-radiotap.c	\
+	../packet-ranap.c	\
+	../packet-raw.c	\
+	../packet-rip.c	\
+	../packet-ripng.c	\
+	../packet-rlogin.c	\
+	../packet-rmcp.c	\
+	../packet-rmi.c	\
+	../packet-rmp.c	\
+	../packet-rpc.c	\
+	../packet-rpl.c	\
+	../packet-rquota.c	\
+	../packet-rsh.c	\
+	../packet-rstat.c	\
+	../packet-rsvp.c	\
+	../packet-rsync.c	\
+	../packet-rtcp.c	\
+	../packet-rtp-events.c	\
+	../packet-rtp.c	\
+	../packet-rtsp.c	\
+	../packet-rwall.c	\
+	../packet-rx.c	\
+	../packet-sadmind.c	\
+	../packet-sap.c	\
+	../packet-sccp.c	\
+	../packet-sccpmg.c	\
+	../packet-scsi.c	\
+	../packet-sctp.c	\
+	../packet-sdlc.c	\
+	../packet-sdp.c	\
+	../packet-sebek.c	\
+	../packet-ses.c	\
+	../packet-sflow.c	\
+	../packet-sip.c	\
+	../packet-sipfrag.c	\
+	../packet-skinny.c	\
+	../packet-slimp3.c	\
+	../packet-sll.c	\
+	../packet-slowprotocols.c	\
+	../packet-smb-browse.c	\
+	../packet-smb-common.c	\
+	../packet-smb-logon.c	\
+	../packet-smb-mailslot.c	\
+	../packet-smb-pipe.c	\
+	../packet-smb-sidsnooping.c	\
+	../packet-smb.c	\
+	../packet-smpp.c	\
+	../packet-smtp.c	\
+	../packet-sna.c	\
+	../packet-snaeth.c	\
+	../packet-snmp.c	\
+	../packet-socks.c	\
+	../packet-spnego.c	\
+	../packet-spray.c	\
+	../packet-srvloc.c	\
+	../packet-sscop.c	\
+	../packet-ssh.c	\
+	../packet-ssl.c	\
+	../packet-stat-notify.c	\
+	../packet-stat.c	\
+	../packet-stun.c	\
+	../packet-sua.c	\
+	../packet-syslog.c	\
+	../packet-t38.c	\
+	../packet-tacacs.c	\
+	../packet-tcap.c	\
+	../packet-tcp.c	\
+	../packet-tds.c	\
+	../packet-teimanagement.c	\
+	../packet-telnet.c	\
+	../packet-teredo.c	\
+	../packet-text-media.c	\
+	../packet-tftp.c	\
+	../packet-time.c	\
+	../packet-tns.c	\
+	../packet-tpkt.c	\
+	../packet-tr.c	\
+	../packet-trmac.c	\
+	../packet-tsp.c	\
+	../packet-tzsp.c	\
+	../packet-ucp.c	\
+	../packet-udp.c	\
+	../packet-v120.c	\
+	../packet-vines.c	\
+	../packet-vj.c	\
+	../packet-vlan.c	\
+	../packet-vrrp.c	\
+	../packet-vtp.c	\
+	../packet-wap.c	\
+	../packet-wbxml.c	\
+	../packet-wccp.c	\
+	../packet-wcp.c	\
+	../packet-wfleet-hdlc.c	\
+	../packet-who.c	\
+	../packet-wlancap.c	\
+	../packet-wsp.c	\
+	../packet-wtls.c	\
+	../packet-wtp.c	\
+	../packet-x11.c	\
+	../packet-x25.c	\
+	../packet-x29.c	\
+	../packet-xdmcp.c	\
+	../packet-xot.c	\
+	../packet-xyplex.c	\
+	../packet-yhoo.c	\
+	../packet-ymsg.c	\
+	../packet-ypbind.c	\
+	../packet-yppasswd.c	\
+	../packet-ypserv.c	\
+	../packet-ypxfr.c	\
+	../packet-zebra.c
+
+DISSECTOR_SUPPORT_SRC =	\
+	../adler32.c	\
+	../adler32.h	\
+	../afn.c	\
+	../afn.h	\
+	../aftypes.h	\
+	../arcnet_pids.h	\
+	../asn1.c	\
+	../asn1.h	\
+	../bridged_pids.h	\
+	../chdlctypes.h	\
+	../column.c	\
+	../column.h	\
+	../crc32.c	\
+	../crc32.h	\
+	../crypt-des.c	\
+	../crypt-des.h	\
+	../crypt-md4.c	\
+	../crypt-md4.h	\
+	../crypt-md5.c	\
+	../crypt-md5.h	\
+	../crypt-rc4.c	\
+	../crypt-rc4.h	\
+	../etypes.h	\
+	../follow.c	\
+	../follow.h	\
+	../format-oid.h	\
+	../g711.c	\
+	../g711.h	\
+	../greproto.h	\
+	../h225-persistentdata.c	\
+	../h225-persistentdata.h	\
+	../in_cksum.c	\
+	../in_cksum.h	\
+	../ip_opts.h	\
+	../ipproto.c	\
+	../ipproto.h	\
+	../lapd_sapi.h	\
+	../llcsaps.h	\
+	../nlpid.h	\
+	../oui.h	\
+	../packet-dcerpc-nt.c	\
+	../ppptypes.h	\
+	../prefs-int.h	\
+	../prefs.c	\
+	../prefs.h	\
+	../ptvcursor.c	\
+	../ptvcursor.h	\
+	../reassemble.c	\
+	../reassemble.h	\
+	../req_resp_hdrs.c	\
+	../req_resp_hdrs.h	\
+	../rpc_defrag.h	\
+	../rtp_pt.h	\
+	../sctpppids.h	\
+	../smb.h	\
+	../t35.c	\
+	../t35.h	\
+	../tap.c	\
+	../tap.h	\
+	../util.c	\
+	../util.h	\
+	../x264_prt_id.h	\
+	../xdlc.c	\
+	../xdlc.h	\
+	../xmlstub.c	\
+	../xmlstub.h
+
Index: epan/Makefile.nmake
===================================================================
RCS file: /usr/local/cvsroot/ethereal/epan/Makefile.nmake,v
retrieving revision 1.33
diff -p -u -r1.33 Makefile.nmake
--- epan/Makefile.nmake	22 Jan 2004 19:27:58 -0000	1.33
+++ epan/Makefile.nmake	7 Feb 2004 05:58:45 -0000
@@ -21,6 +21,8 @@ libethereal_LIBS = \
 .c.obj::
    $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
 
+include Makefile.common
+
 OBJECTS=atalk-utils.obj	\
 	bitswap.obj	\
 	circuit.obj     \
Index: packaging/rpm/SPECS/ethereal.spec.in
===================================================================
RCS file: /usr/local/cvsroot/ethereal/packaging/rpm/SPECS/ethereal.spec.in,v
retrieving revision 1.2
diff -p -u -r1.2 ethereal.spec.in
--- packaging/rpm/SPECS/ethereal.spec.in	20 Aug 2002 00:59:42 -0000	1.2
+++ packaging/rpm/SPECS/ethereal.spec.in	7 Feb 2004 05:58:47 -0000
@@ -60,11 +60,16 @@ rm -rf $RPM_BUILD_ROOT
 /usr/X11R6/bin/ethereal
 /usr/X11R6/man/man1/ethereal.1.gz
 /usr/bin/tethereal
+/usr/lib/libwiretap.so*
+/usr/lib/libethereal.so*
 /usr/bin/editcap
 /usr/man/man1/tethereal.1.gz
 /usr/man/man1/editcap.1.gz
 
 %changelog
+* Sat Feb 07 2004 Joerg Mayer
+- lib wiretap and libetheral are now shared libs - include them
+
 * Tue Aug 24 1999 Gilbert Ramirez
 - changed to ethereal.spec.in so that 'configure' can update
   the version automatically
Index: wiretap/Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/ethereal/wiretap/Makefile.am,v
retrieving revision 1.48
diff -p -u -r1.48 Makefile.am
--- wiretap/Makefile.am	2 Dec 2003 19:37:04 -0000	1.48
+++ wiretap/Makefile.am	7 Feb 2004 05:58:53 -0000
@@ -23,15 +23,14 @@
 
 ACLOCAL_AMFLAGS = `../aclocal-flags`
 
-noinst_LIBRARIES = libwiretap.a
-
-#EXTRA_LIBRARIES = libwiretap.a
+lib_LTLIBRARIES = libwiretap.la
+libwiretap_la_LDFLAGS = -version-info 0:1:0
 
 CLEANFILES = \
 	libwiretap.a		\
 	*~
 
-libwiretap_a_SOURCES = \
+libwiretap_la_SOURCES = \
 	airopeek9.c		\
 	airopeek9.h		\
 	ascend-grammar.y	\