filter out wlua_plugin_list from libwireshark.sym when compiling without Lua
[obnox/wireshark/wip.git] / epan / Makefile.am
index a566f076d9c3e3e3ee50a45ad5d87640a21b931e..01080128be0bd249baa056b09a442691540fd182 100644 (file)
@@ -7,17 +7,17 @@
 # Wireshark - Network traffic analyzer
 # By Gerald Combs <gerald@wireshark.org>
 # 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.
@@ -27,28 +27,42 @@ include ../Makefile.am.inc
 if HAVE_LIBLUA
 wslua_lib = wslua/libwslua.la
 wslua_dir = wslua
-wslua_dist_dir = 
+wslua_dist_dir =
+wslua_filter_symbols = 
 else            # HAVE_LIBLUA
 wslua_lib =
 wslua_dir =
 wslua_dist_dir = wslua
+wslua_filter_symbols = /^wlua_plugin_list$$/{next;};
 endif           # HAVE_LIBLUA
 
+if HAVE_LIBPY
+wspython_lib = wspython/libwspython.la
+wspython_dir = wspython
+wspython_dist_dir =
+py_dissectors_dir = -DPYTHON_DIR=\"@pythondir@\"
+else
+wspython_lib =
+wspython_dir =
+wspython_dist_dir = wspython
+py_dissectors_dir = -DPYTHONDIR=
+endif
 
-SUBDIRS = crypt ftypes dfilter dissectors $(wslua_dir)
+SUBDIRS = crc crypt ftypes dfilter dissectors $(wslua_dir) $(wspython_dir)
 
-DIST_SUBDIRS = $(SUBDIRS) $(wslua_dist_dir)
+DIST_SUBDIRS = $(SUBDIRS) $(wslua_dist_dir) $(wspython_dist_dir)
 
 ACLOCAL_AMFLAGS = `../aclocal-flags`
 
-noinst_LTLIBRARIES = libwireshark_generated.la
+noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la
 lib_LTLIBRARIES = libwireshark.la
-libwireshark_la_LDFLAGS = -version-info 0:1:0 @LDFLAGS_SHAREDLIB@
+libwireshark_la_LDFLAGS = -version-info 0:1:0 -export-symbols libwireshark.sym @LDFLAGS_SHAREDLIB@
 
 include Makefile.common
 
 INCLUDES = -I$(srcdir)/.. -I$(srcdir)/$(LEMON) @LUA_INCLUDES@ \
-       $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS)
+       $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBSMI_CFLAGS) \
+       $(LIBGEOIP_CFLAGS)
 
 
 if HAVE_WARNINGS_AS_ERRORS
@@ -62,21 +76,18 @@ endif
 libwireshark_la_SOURCES = \
        $(LIBWIRESHARK_SRC)     \
        $(LIBWIRESHARK_INCLUDES)
-libwireshark_la_CFLAGS = $(AM_NON_GENERATED_CFLAGS)
+libwireshark_la_CFLAGS = $(AM_NON_GENERATED_CFLAGS) $(py_dissectors_dir)
 
 libwireshark_generated_la_SOURCES = \
        $(LIBWIRESHARK_GENERATED_SRC) \
        $(LIBWIRESHARK_GENERATED_INCLUDES)
 
-EXTRA_libwireshark_la_SOURCES =        \
-       g_ascii_strcasecmp.c    \
-       g_ascii_strcasecmp.h    \
-       g_ascii_strtoull.c      \
-       g_ascii_strtoull.h      \
-       inet_aton.c             \
-       inet_aton.h             \
+# code optionally implemented in assembler
+# only C source available for platforms other than Win32
+libwireshark_asmopt_la_SOURCES = \
        asm_utils.c             \
-       asm_utils.h
+       asm_utils.h             \
+       asm_utils_win32_x86.asm
 
 EXTRA_DIST = \
        diam_dict.l             \
@@ -86,21 +97,25 @@ EXTRA_DIST = \
        dtd_preparse.l          \
        enterprise-numbers      \
        libwireshark.def        \
+       libwireshark.vcproj     \
        Makefile.common         \
        Makefile.nmake          \
-       make-sminmpec.pl        \
        radius_dict.l           \
        tvbtest.c               \
        reassemble_test.c       \
        uat_load.l              \
        exntest.c               \
-       doxygen.cfg.in
+       doxygen.cfg.in          \
+       CMakeLists.txt
 
 CLEANFILES = \
        libwireshark.a                  \
        libwireshark.la                 \
        libwireshark_generated.a        \
        libwireshark_generated.la       \
+       libwireshark_asmopt.a           \
+       libwireshark_asmopt.la          \
+       libwireshark.sym                \
        *~
 
 DISTCLEANFILES = \
@@ -117,17 +132,37 @@ MAINTAINERCLEANFILES = \
 #
 # Add the object files for missing routines, if any.
 #
-libwireshark_la_LIBADD = @G_ASCII_STRCASECMP_LO@ @G_ASCII_STRTOULL_LO@ @INET_ATON_LO@ @INET_PTON_LO@ @INET_NTOP_LO@ libwireshark_generated.la crypt/libairpdcap.la ftypes/libftypes.la dfilter/libdfilter.la dissectors/libcleandissectors.la dissectors/libdissectors.la dissectors/libasndissectors.la dissectors/libpidldissectors.la $(wslua_lib) @ADNS_LIBS@ @LIBGNUTLS_LIBS@ @LIBICONV@ @KRB5_LIBS@ @SSL_LIBS@ -lm
-libwireshark_la_DEPENDENCIES = @G_ASCII_STRCASECMP_LO@ @G_ASCII_STRTOULL_LO@ @INET_ATON_LO@ @INET_PTON_LO@ @INET_NTOP_LO@ libwireshark_generated.la crypt/libairpdcap.la ftypes/libftypes.la dfilter/libdfilter.la dissectors/libcleandissectors.la dissectors/libdissectors.la dissectors/libasndissectors.la dissectors/libpidldissectors.la $(wslua_lib)
+libwireshark_la_LIBADD = \
+       libwireshark_generated.la \
+       libwireshark_asmopt.la crc/libcrc.la crypt/libairpdcap.la \
+       ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
+       dissectors/libdirtydissectors.la $(wslua_lib) $(wspython_lib) @SOCKET_LIBS@ @NSL_LIBS@ \
+       @C_ARES_LIBS@ @ADNS_LIBS@ @LIBGCRYPT_LIBS@ @LIBGNUTLS_LIBS@ \
+       @KRB5_LIBS@ @SSL_LIBS@ @LIBSMI_LDFLAGS@ @GEOIP_LIBS@ \
+       ${top_builddir}/wiretap/libwiretap.la @GLIB_LIBS@ \
+       ${top_builddir}/wsutil/libwsutil.la -lm
+
+libwireshark_la_DEPENDENCIES = \
+       libwireshark_generated.la \
+       libwireshark_asmopt.la crc/libcrc.la crypt/libairpdcap.la \
+       ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
+       dissectors/libdirtydissectors.la $(wslua_lib) $(wspython_lib) \
+       ${top_builddir}/wsutil/libwsutil.la \
+       ${top_builddir}/wiretap/libwiretap.la \
+       libwireshark.sym
+
+# filter out undefined symbols
+libwireshark.sym: libwireshark.def
+       $(AWK) '/^EXPORTS$$/ {next;};${wslua_filter_symbols}/^[^;]/ { print $$1;}' < $< > $@
 
 #EXTRA_PROGRAMS = reassemble_test
 #reassemble_test_LDADD = $(GLIB_LIBS)
 
-reassemble_test: reassemble_test.o tvbuff.o except.o strutil.o emem.o \
-                 reassemble.o 
+reassemble_test: reassemble_test.o tvbuff.o except.o to_str.o strutil.o emem.o \
+                 reassemble.o
        $(LINK) $^ $(GLIB_LIBS) -lz
 
-tvbtest: tvbtest.o tvbuff.o except.o strutil.o emem.o
+tvbtest: tvbtest.o tvbuff.o except.o to_str.o strutil.o emem.o
        $(LINK) $^ $(GLIB_LIBS) -lz
 
 exntest: exntest.o except.o
@@ -149,21 +184,21 @@ LEMON=../tools/lemon
 
 dtd_grammar.h: dtd_grammar.c
 
-dtd_grammar.c: dtd_grammar.lemon $(LEMON)/lemon$(EXEEXT)
+dtd_grammar.c: $(LEMON)/lemon$(EXEEXT) $(srcdir)/$(LEMON)/lempar.c $(srcdir)/dtd_grammar.lemon
        $(LEMON)/lemon$(EXEEXT) t=$(srcdir)/$(LEMON)/lempar.c $(srcdir)/dtd_grammar.lemon
-       
+
 tvbtest.o exntest.o: exceptions.h
 
-sminmpec.c: enterprise-numbers make-sminmpec.pl
-       $(PERL) $(srcdir)/make-sminmpec.pl $(srcdir)/enterprise-numbers sminmpec.c
+sminmpec.c: enterprise-numbers ../tools/make-sminmpec.pl
+       $(PERL) $(srcdir)/../tools/make-sminmpec.pl $(srcdir)/enterprise-numbers sminmpec.c
 
 if HAVE_PLUGINS
 
 if ENABLE_STATIC
-
+-include ../plugins/Custom.make
 plugin_src = \
-       ../plugins/artnet/packet-artnet.c \
        ../plugins/asn1/packet-asn1.c \
+       ../plugins/docsis/packet-bintrngreq.c \
        ../plugins/docsis/packet-bpkmattr.c \
        ../plugins/docsis/packet-bpkmreq.c \
        ../plugins/docsis/packet-bpkmrsp.c \
@@ -189,19 +224,23 @@ plugin_src = \
        ../plugins/docsis/packet-uccreq.c \
        ../plugins/docsis/packet-uccrsp.c \
        ../plugins/docsis/packet-ucd.c \
-       ../plugins/enttec/packet-enttec.c \
        ../plugins/giop/packet-cosnaming.c \
        ../plugins/giop/packet-coseventcomm.c \
        ../plugins/gryphon/packet-gryphon.c \
+       ../plugins/interlink/packet-interlink.c \
        ../plugins/irda/packet-irda.c \
-       ../plugins/lwres/packet-lwres.c \
        ../plugins/m2m/packet-m2m.c \
        ../plugins/m2m/wimax_tlv.c \
        ../plugins/mgcp/packet-mgcp.c \
-       ../plugins/pcli/packet-pcli.c \
        ../plugins/rdm/packet-rdm.c \
-       ../plugins/rtnet/packet-rtnet.c \
-       ../plugins/v5ua/packet-v5ua.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_at.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_at_devstat.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_hp.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_mdt.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_mdt_devctrl.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_mst.c \
+       ../plugins/sercosiii/packet-sercosiii_1v1_svc.c \
         ../plugins/wimax/crc.c \
         ../plugins/wimax/crc_data.c \
         ../plugins/wimax/mac_hd_generic_decoder.c \
@@ -261,3 +300,6 @@ doxygen:
 if HAVE_DOXYGEN
        $(DOXYGEN) doxygen.cfg
 endif          # HAVE_DOXYGEN
+
+checkapi:
+       $(PERL) ../tools/checkAPIs.pl -g termoutput $(LIBWIRESHARK_SRC)