aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dfilter
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dfilter')
-rw-r--r--epan/dfilter/Makefile.am24
-rw-r--r--epan/dfilter/Makefile.nmake8
2 files changed, 23 insertions, 9 deletions
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