From ce9b2f4eb4e75c483bdb914b45f08507a2c3b97d Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 22 Dec 2009 11:41:37 +0100 Subject: Support CPPFLAGS as mandated by GNU standards. --- ChangeLog | 12 ++++++++++++ lib/Makefile.in | 4 ++-- src/Makefile.in | 4 ++-- tests/Makefile.in | 27 ++++++++++++++------------- tests/validate | 14 +++++++------- 5 files changed, 37 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78a4b8a..0b44dc8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2009-12-22 Bruno Haible + + Support CPPFLAGS as mandated by GNU standards. + * lib/Makefile.in (CPPFLAGS): Use autoconf determined value. + * src/Makefile.in (CPPFLAGS): Likewise. + * tests/Makefile.in (CPPFLAGS): Likewise. + (check-c, check-ada, check-modula3, check-pascal, check-lang-utf8, + test.$(OBJEXT), check-lang-ucs2, test2.$(OBJEXT), check-smtp): Use + CPPFLAGS when compiling a .c file. + (VALIDATE): Pass also CPPFLAGS. + * tests/validate: Use CPPFLAGS when compiling a C or C++ file. + 2009-12-20 Bruno Haible * doc/gperf.info: Regenerated. diff --git a/lib/Makefile.in b/lib/Makefile.in index b7b96ee..16d2a28 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,6 +1,6 @@ # Makefile for gperf/lib -# Copyright (C) 1989, 1992, 1993, 1998, 2002 Free Software Foundation, Inc. +# Copyright (C) 1989, 1992, 1993, 1998, 2002, 2009 Free Software Foundation, Inc. # Written by Douglas C. Schmidt # and Bruno Haible . # @@ -61,7 +61,7 @@ SHELL = /bin/sh VPATH = $(srcdir) OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT) getline.$(OBJEXT) hash.$(OBJEXT) -CPPFLAGS = -I$(srcdir) +CPPFLAGS = @CPPFLAGS@ -I$(srcdir) TARGETLIB = libgp.a diff --git a/src/Makefile.in b/src/Makefile.in index 91d0c33..c04f435 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,6 +1,6 @@ # Makefile for gperf/src -# Copyright (C) 1989, 1992, 1993, 1998, 2000, 2002, 2006 Free Software Foundation, Inc. +# Copyright (C) 1989, 1992, 1993, 1998, 2000, 2002, 2006, 2009 Free Software Foundation, Inc. # Written by Douglas C. Schmidt # and Bruno Haible . # @@ -64,7 +64,7 @@ VPATH = $(srcdir) OBJECTS = version.$(OBJEXT) positions.$(OBJEXT) options.$(OBJEXT) keyword.$(OBJEXT) keyword-list.$(OBJEXT) \ input.$(OBJEXT) bool-array.$(OBJEXT) hash-table.$(OBJEXT) search.$(OBJEXT) output.$(OBJEXT) main.$(OBJEXT) LIBS = ../lib/libgp.a @GPERF_LIBM@ -CPPFLAGS = -I. -I$(srcdir)/../lib +CPPFLAGS = @CPPFLAGS@ -I. -I$(srcdir)/../lib TARGETPROG = gperf$(EXEEXT) diff --git a/tests/Makefile.in b/tests/Makefile.in index 53b9a92..8db9383 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -34,6 +34,7 @@ CXX = @CXX@ CXXFLAGS = @CXXFLAGS@ CXXCPP = @CXXCPP@ # Both C and C++ compiler +CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ OBJEXT = @OBJEXT@ EXEEXT = @EXEEXT@ @@ -69,33 +70,33 @@ extracheck : @CHECK_LANG_SYNTAX@ check-c: test.$(OBJEXT) @echo "testing ANSI C reserved words, all items should be found in the set" $(GPERF) -c -l -S1 -I -o $(srcdir)/c.gperf > cinset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o cout cinset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o cout cinset.c test.$(OBJEXT) ./cout -v < $(srcdir)/c.gperf | LC_ALL=C tr -d '\r' > c.out diff $(srcdir)/c.exp c.out check-ada: test.$(OBJEXT) $(GPERF) -k1,4,'$$' -I $(srcdir)/ada.gperf > adainset.c # double '$$' is only there since make gets confused; program wants only 1 '$' - $(CC) $(CFLAGS) $(LDFLAGS) -o aout adainset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o aout adainset.c test.$(OBJEXT) @echo "testing Ada reserved words, all items should be found in the set" ./aout -v < $(srcdir)/ada.gperf | LC_ALL=C tr -d '\r' > ada-res.out diff $(srcdir)/ada-res.exp ada-res.out $(GPERF) -D -k1,'$$' -s 2 -I -o $(srcdir)/adadefs.gperf > preinset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o preout preinset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o preout preinset.c test.$(OBJEXT) @echo "testing Ada predefined words, all items should be found in the set" ./preout -v < $(srcdir)/adadefs.gperf | LC_ALL=C tr -d '\r' > ada-pred.out diff $(srcdir)/ada-pred.exp ada-pred.out check-modula3: test.$(OBJEXT) $(GPERF) -k1,2,'$$' -I -o $(srcdir)/modula3.gperf > m3inset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o m3out m3inset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o m3out m3inset.c test.$(OBJEXT) @echo "testing Modula3 reserved words, all items should be found in the set" ./m3out -v < $(srcdir)/modula3.gperf | LC_ALL=C tr -d '\r' > modula.out diff $(srcdir)/modula.exp modula.out check-pascal: test.$(OBJEXT) $(GPERF) -o -S2 -I < $(srcdir)/pascal.gperf > pinset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o pout pinset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pout pinset.c test.$(OBJEXT) @echo "testing Pascal reserved words, all items should be found in the set" ./pout -v < $(srcdir)/pascal.gperf | LC_ALL=C tr -d '\r' > pascal.out diff $(srcdir)/pascal.exp pascal.out @@ -103,36 +104,36 @@ check-pascal: test.$(OBJEXT) # check for 8-bit cleanliness check-lang-utf8: test.$(OBJEXT) $(GPERF) -k1 -t -I -K foreign_name < $(srcdir)/lang-utf8.gperf > lu8inset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o lu8out lu8inset.c test.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lu8out lu8inset.c test.$(OBJEXT) @echo "testing UTF-8 encoded languages, all items should be found in the set" sed -e '1,6d' -e 's/,.*//' < $(srcdir)/lang-utf8.gperf | ./lu8out -v | LC_ALL=C tr -d '\r' > lang-utf8.out diff $(srcdir)/lang-utf8.exp lang-utf8.out test.$(OBJEXT) : $(srcdir)/test.c - $(CC) -c $(CFLAGS) $(srcdir)/test.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) $(srcdir)/test.c # check for binary keywords with NUL bytes check-lang-ucs2: test2.$(OBJEXT) $(GPERF) -k4 -t -l -I -K foreign_name < $(srcdir)/lang-ucs2.gperf > lu2inset.c - $(CC) $(CFLAGS) $(LDFLAGS) -o lu2out lu2inset.c test2.$(OBJEXT) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lu2out lu2inset.c test2.$(OBJEXT) @echo "testing UCS-2 encoded languages, all items should be found in the set" ./lu2out -v < $(srcdir)/lang-ucs2.in | LC_ALL=C tr -d '\r' > lang-ucs2.out diff $(srcdir)/lang-ucs2.exp lang-ucs2.out test2.$(OBJEXT) : $(srcdir)/test2.c - $(CC) -c $(CFLAGS) $(srcdir)/test2.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) $(srcdir)/test2.c # check case-insensitive lookup check-smtp: @echo "testing SMTP keywords, case-insensitive" $(GPERF) --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case $(srcdir)/smtp.gperf > smtp.c - $(CC) $(CFLAGS) $(LDFLAGS) -o smtp smtp.c + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o smtp smtp.c ./smtp $(GPERF) --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-strncmp $(srcdir)/smtp.gperf > smtp.c - $(CC) $(CFLAGS) $(LDFLAGS) -o smtp smtp.c + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o smtp smtp.c ./smtp $(GPERF) --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-lengths $(srcdir)/smtp.gperf > smtp.c - $(CC) $(CFLAGS) $(LDFLAGS) -o smtp smtp.c + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o smtp smtp.c ./smtp # these next 5 are demos that show off the generated code @@ -178,7 +179,7 @@ check-test: # usable. (There are still platforms where gcc-2.8.0's fixincludes does not # work well enough.) -VALIDATE = CC='$(CC)' CFLAGS='$(CFLAGS)' CXX='$(CXX)' CXXFLAGS='$(CXXFLAGS)' GPERF='$(GPERF)' $(srcdir)/validate +VALIDATE = CC='$(CC)' CFLAGS='$(CFLAGS)' CXX='$(CXX)' CXXFLAGS='$(CXXFLAGS)' CPPFLAGS='$(CPPFLAGS)' GPERF='$(GPERF)' $(srcdir)/validate check-lang-syntax : force $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 $(srcdir)/jstest1.gperf diff --git a/tests/validate b/tests/validate index 502673d..c40e538 100755 --- a/tests/validate +++ b/tests/validate @@ -26,34 +26,34 @@ for lang in `echo $languages | sed -e 's/,/ /g'`; do ${GPERF} -I -L KR-C "$@" > valitest.c grep -n ' const ' valitest.c /dev/null && exit 1 if test $use_traditional = true; then - verbose ${CC} ${CFLAGS} -traditional valitest.c -o valitest + verbose ${CC} ${CFLAGS} ${CPPFLAGS} -traditional valitest.c -o valitest ./valitest fi - verbose ${CC} ${CFLAGS} -ansi -pedantic valitest.c -o valitest + verbose ${CC} ${CFLAGS} ${CPPFLAGS} -ansi -pedantic valitest.c -o valitest ./valitest ;; C ) echo "${GPERF} -I -L C $@ > valitest.c" ${GPERF} -I -L C "$@" > valitest.c if test $use_traditional = true; then - verbose ${CC} ${CFLAGS} -traditional -Dconst= valitest.c -o valitest + verbose ${CC} ${CFLAGS} ${CPPFLAGS} -traditional -Dconst= valitest.c -o valitest ./valitest fi - verbose ${CC} ${CFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest + verbose ${CC} ${CFLAGS} ${CPPFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest ./valitest ;; ANSI-C ) echo "${GPERF} -I -L ANSI-C $@ > valitest.c" ${GPERF} -I -L ANSI-C "$@" > valitest.c - verbose ${CC} ${CFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest + verbose ${CC} ${CFLAGS} ${CPPFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest ./valitest - verbose ${CXX} ${CXXFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest + verbose ${CXX} ${CXXFLAGS} ${CPPFLAGS} -ansi -pedantic -pedantic-errors valitest.c -o valitest ./valitest ;; "C++" ) echo "${GPERF} -I -L C++ $@ > valitest.c" ${GPERF} -I -L C++ "$@" > valitest.c - verbose ${CXX} ${CXXFLAGS} -ansi -pedantic -pedantic-errors -DCPLUSPLUS_TEST valitest.c -o valitest + verbose ${CXX} ${CXXFLAGS} ${CPPFLAGS} -ansi -pedantic -pedantic-errors -DCPLUSPLUS_TEST valitest.c -o valitest ./valitest ;; esac -- cgit v1.2.1