diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-12-05 17:12:50 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-12-05 17:13:28 +0000 |
commit | d7006cebbb5eea34aea8f5fd3470b7f4265d0625 (patch) | |
tree | bfe2ea681df13fe12ba6b95b54f5fa1de7e20add /epan | |
parent | b7d1eedeb3cd7f3e0250dbe53828adfa10f4d06c (diff) |
Revert "Build Flex-generated files with "warnings are errors"."
This reverts commit b56f53884be3bab935058b2bbbb4da0b8bbbe7f6.
Sadly, we *do* get warnings at this point with older versions of Flex,
such as the one on the 32-bit OS X buildbot.
Change-Id: I9aec1a16e9f2e1bbcfaac3dffdabdd89af5815e3
Reviewed-on: https://code.wireshark.org/review/12443
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/CMakeLists.txt | 16 | ||||
-rw-r--r-- | epan/Makefile.am | 26 | ||||
-rw-r--r-- | epan/Makefile.nmake | 29 | ||||
-rw-r--r-- | epan/dfilter/Makefile.am | 24 | ||||
-rw-r--r-- | epan/dfilter/Makefile.nmake | 8 |
5 files changed, 69 insertions, 34 deletions
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index b7a6285460..e004150b24 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -83,14 +83,14 @@ set(DFILTER_FILES ) source_group(dfilter FILES ${DFILTER_FILES}) -add_lex_files(DFILTER_FILES - dfilter/scanner.l -) - set(DFILTER_CLEAN_FILES ${DFILTER_FILES} ) +add_lex_files(DFILTER_FILES + dfilter/scanner.l +) + add_lemon_files(DFILTER_FILES dfilter/grammar.lemon ) @@ -1667,6 +1667,10 @@ set(LIBWIRESHARK_FILES xdlc.c ) +set(LIBWIRESHARK_CLEAN_FILES + ${LIBWIRESHARK_FILES} +) + add_lex_files(LIBWIRESHARK_FILES diam_dict.l dtd_parse.l @@ -1675,10 +1679,6 @@ add_lex_files(LIBWIRESHARK_FILES uat_load.l ) -set(LIBWIRESHARK_CLEAN_FILES - ${LIBWIRESHARK_FILES} -) - add_lemon_files(LIBWIRESHARK_FILES dtd_grammar.lemon ) diff --git a/epan/Makefile.am b/epan/Makefile.am index befa2f21a4..2383af0433 100644 --- a/epan/Makefile.am +++ b/epan/Makefile.am @@ -39,7 +39,7 @@ DIST_SUBDIRS = $(SUBDIRS) $(wslua_dist_dir) ACLOCAL_AMFLAGS = `../aclocal-flags` -noinst_LTLIBRARIES = libwireshark_asmopt.la +noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la lib_LTLIBRARIES = libwireshark.la # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html libwireshark_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@ @@ -50,19 +50,26 @@ AM_CPPFLAGS = -I$(srcdir)/.. -I$(srcdir)/$(LEMON) -I$(builddir)/wslua \ @LUA_CFLAGS@ $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \ $(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) $(PY_CFLAGS) -AM_CFLAGS =-DWS_BUILD_DLL +AM_NON_GENERATED_CFLAGS =-DWS_BUILD_DLL if HAVE_WARNINGS_AS_ERRORS -AM_CFLAGS += -Werror +AM_NON_GENERATED_CFLAGS += -Werror endif +#Since code generated by lex may trigger gcc warnings, we are now generating two +#libraries. A single library is generated with the lex code without the barrier +#"stop on warning". An other library is generated from the remaining source +#files with the "stop on warning" barrier. libwireshark_la_SOURCES = \ - $(LIBWIRESHARK_SRC) \ - $(LIBWIRESHARK_INCLUDES) \ - $(LIBWIRESHARK_GENERATED_C_FILES) \ + $(LIBWIRESHARK_SRC) \ + $(LIBWIRESHARK_INCLUDES) +libwireshark_la_CFLAGS = $(AM_NON_GENERATED_CFLAGS) + +libwireshark_generated_la_SOURCES = \ + $(LIBWIRESHARK_GENERATED_C_FILES) \ $(LIBWIRESHARK_GENERATED_HEADER_FILES) -nodist_libwireshark_la_SOURCES = \ +nodist_libwireshark_generated_la_SOURCES = \ $(NODIST_LIBWIRESHARK_GENERATED_C_FILES) \ $(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES) @@ -96,6 +103,8 @@ CLEANFILES = \ doxygen-epan.tag \ libwireshark.a \ libwireshark.la \ + libwireshark_generated.a \ + libwireshark_generated.la \ libwireshark_asmopt.a \ libwireshark_asmopt.la \ *~ @@ -114,6 +123,7 @@ MAINTAINERCLEANFILES = \ # Add the object files for missing routines, if any. # libwireshark_la_LIBADD = \ + libwireshark_generated.la \ libwireshark_asmopt.la crypt/libairpdcap.la \ ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \ dissectors/libdirtydissectors.la dissectors/libfiledissectors.la \ @@ -125,7 +135,7 @@ libwireshark_la_LIBADD = \ ${top_builddir}/wsutil/libwsutil.la -lm libwireshark_la_DEPENDENCIES = \ - compress/liblzxpress.la\ + libwireshark_generated.la compress/liblzxpress.la\ libwireshark_asmopt.la crypt/libairpdcap.la \ ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \ dissectors/libdirtydissectors.la nghttp2/libnghttp2.la \ diff --git a/epan/Makefile.nmake b/epan/Makefile.nmake index 93aeae13dd..6384324b78 100644 --- a/epan/Makefile.nmake +++ b/epan/Makefile.nmake @@ -13,25 +13,36 @@ LINK= link # # These are the flags for all source files. # -COMMON_CFLAGS=$(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \ +COMMON_CFLAGS=\ + $(STANDARD_CFLAGS) \ /I. /I.. /I../wiretap $(GLIB_CFLAGS) \ $(ZLIB_CFLAGS) $(C_ARES_CFLAGS) $(ADNS_CFLAGS) \ $(LUA_CFLAGS) $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \ $(SMI_CFLAGS) $(GEOIP_CFLAGS) # +# These are the flags for generated source files; we don't include +# $(WARNINGS_ARE_ERRORS), so that we flex's non-LLP64-compliant output +# doesn't cause compilation to fail. +# +GENERATED_CFLAGS=\ + $(COMMON_CFLAGS) -DWS_BUILD_DLL + +# # These are the flags for test programs; we don't include -DWS_BUILD_DLL, # as we're building test programs that link with the library, not routines # incorporated into the library, so they should *import* stuff from the # library, not *export* stuff from the library. # -TEST_CFLAGS=$(COMMON_CFLAGS) +TEST_CFLAGS=\ + $(WARNINGS_ARE_ERRORS) $(COMMON_CFLAGS) # -# These are flags for everything else; we include -DWS_BUILD_DLL, +# These are flags for everything else; we include $(WARNINGS_ARE_ERRORS), +# as the code should be warning-free, and we include -DWS_BUILD_DLL, # as these are library routines, not test programs. # -CFLAGS=$(COMMON_CFLAGS) -DWS_BUILD_DLL +CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) -DWS_BUILD_DLL !IFDEF LUA_DIR WSLUA_LIB=wslua\wslua.lib @@ -390,7 +401,7 @@ RUNLEX=../tools/runlex.sh # diam_dict_lex.h: diam_dict.c diam_dict.obj : diam_dict.c - $(CC) $(CFLAGS) -Fd.\ -c $? + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $? # # This depends on dtd_grammar.h to force dtd_grammar.h to be @@ -402,19 +413,19 @@ diam_dict.obj : diam_dict.c dtd_parse_lex.h: dtd_parse.c dtd_parse.obj : dtd_grammar.h dtd_parse.obj : dtd_parse.c - $(CC) $(CFLAGS) -Fd.\ -c dtd_parse.c + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c dtd_parse.c dtd_preparse_lex.h: dtd_preparse.c dtd_preparse.obj : dtd_preparse.c - $(CC) $(CFLAGS) -Fd.\ -c $? + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $? radius_dict_lex.h: radius_dict.c radius_dict.obj : radius_dict.c - $(CC) $(CFLAGS) -Fd.\ -c $? + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $? uat_load_lex.h: uat_load.c uat_load.obj : uat_load.c - $(CC) $(CFLAGS) -Fd.\ -c $? + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $? LEMON=..\tools\lemon diff --git a/epan/dfilter/Makefile.am b/epan/dfilter/Makefile.am index b89c44cc8c..7db0fa2b46 100644 --- a/epan/dfilter/Makefile.am +++ b/epan/dfilter/Makefile.am @@ -22,16 +22,18 @@ include ../../Makefile.am.inc if HAVE_WARNINGS_AS_ERRORS -AM_CFLAGS = -Werror +AM_NON_GENERATED_CFLAGS = -Werror endif include Makefile.common -noinst_LTLIBRARIES = libdfilter.la +noinst_LTLIBRARIES = libdfilter_generated.la libdfilter.la CLEANFILES = \ libdfilter.a \ libdfilter.la \ + libdfilter_generated.a \ + libdfilter_generated.la \ *~ DISTCLEANFILES = \ @@ -45,16 +47,24 @@ MAINTAINERCLEANFILES = \ AM_CPPFLAGS = -I$(srcdir)/../.. -I$(srcdir)/.. -I$(srcdir)/$(LEMON) -libdfilter_la_SOURCES = \ - $(NONGENERATED_C_FILES) \ - $(NONGENERATED_HEADER_FILES) \ - $(GENERATED_C_FILES) \ +#Since code generated by lex may trigger gcc warnings, we are now generating two +#libraries. A single library is generated with the lex code without the barrier +#"stop on warning". An other library is generated from the remaining source +#files with the "stop on warning" barrier. +libdfilter_la_SOURCES = $(NONGENERATED_C_FILES) $(NONGENERATED_HEADER_FILES) +libdfilter_la_CFLAGS = $(AM_NON_GENERATED_CFLAGS) + +libdfilter_generated_la_SOURCES = \ + $(GENERATED_C_FILES) \ $(GENERATED_HEADER_FILES) -nodist_libdfilter_la_SOURCES = \ +nodist_libdfilter_generated_la_SOURCES = \ $(NODIST_GENERATED_C_FILES) \ $(NODIST_GENERATED_HEADER_FILES) +libdfilter_la_LIBADD = libdfilter_generated.la +libdfilter_la_DEPENDENCIES = libdfilter_generated.la + EXTRA_DIST = \ $(GENERATOR_FILES) \ Makefile.common \ diff --git a/epan/dfilter/Makefile.nmake b/epan/dfilter/Makefile.nmake index 1a7b7f0154..3045e2e6b0 100644 --- a/epan/dfilter/Makefile.nmake +++ b/epan/dfilter/Makefile.nmake @@ -9,12 +9,16 @@ include Makefile.common LEMON=..\..\tools\lemon -CFLAGS=$(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \ +# We GENERATED_CFLAGS to get around flex's non-LLP64-compliant output +GENERATED_CFLAGS=\ + $(STANDARD_CFLAGS) \ /I. /I.. /I..\.. $(GLIB_CFLAGS) \ /I$(LEMON) \ /I$(PCAP_DIR)\include \ -DWS_BUILD_DLL +CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) + .c.obj:: $(CC) $(CFLAGS) -Fd.\ -c $< @@ -58,7 +62,7 @@ RUNLEX=../../tools/runlex.sh scanner_lex.h : scanner.c scanner.obj : scanner.c grammar.h - $(CC) $(CFLAGS) -Fd.\ -c scanner.c + $(CC) $(GENERATED_CFLAGS) -Fd.\ -c scanner.c scanner.c: grammar.h |