From: Victor J. Orlikowski Date: Sat, 9 Jun 2001 06:33:50 +0000 (+0000) Subject: Add the missing AP[RU]_DECLARE_DATA symbols to httpd.exp. X-Git-Tag: 2.0.19~101 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2eed71a52f3d9d41dfc62a35b6fe29662ff7b4d;p=thirdparty%2Fapache%2Fhttpd.git Add the missing AP[RU]_DECLARE_DATA symbols to httpd.exp. httpd.exp should now be generated automatically. Any missing symbols are now the fault of awk scripts. Or rather, their authors. :) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89316 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/build/make_var_export.awk b/build/make_var_export.awk new file mode 100644 index 00000000000..62263f10e68 --- /dev/null +++ b/build/make_var_export.awk @@ -0,0 +1,59 @@ +# Based on apr's make_export.awk, which is +# based on Ryan Bloom's make_export.pl + +/^#[ \t]*if(def)? (AP[RU]?_|!?defined).*/ { + if (old_filename != FILENAME) { + if (old_filename != "") printf("%s", line) + macro_no = 0 + found = 0 + count = 0 + old_filename = FILENAME + line = "" + } + macro_stack[macro_no++] = macro + macro = substr($0, length($1)+2) + count++ + line = line "#ifdef " macro "\n" + next +} + +/^#[ \t]*endif/ { + if (count > 0) { + count-- + line = line "#endif " macro "\n" + macro = macro_stack[--macro_no] + } + if (count == 0) { + if (found != 0) { + printf("%s", line) + } + line = "" + } + next +} + +function add_symbol (sym_name) { + if (count) { + found++ + } + for (i = 0; i < count; i++) { + line = line "\t" + } + line = line sym_name "\n" + + if (count == 0) { + printf("%s", line) + line = "" + } +} + +/^[ \t]*AP[RU]?_DECLARE_DATA .*;$/ { + varname = $NF; + gsub( /[*;]/, "", varname); + gsub( /\[.*\]/, "", varname); + add_symbol(varname); +} + +END { + printf("%s", line) +} diff --git a/server/Makefile.in b/server/Makefile.in index f56b4adbc44..dd8ffe4fa27 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -66,3 +66,4 @@ ApacheCoreOS2.def: exports.c $(top_srcdir)/os/$(OS_DIR)/core_header.def httpd.exp: exports.c echo "#! ." > $@ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@ + $(AWK) -f $(top_srcdir)/build/make_var_export.awk $(top_srcdir)/include/*.h $(top_srcdir)/os/$(OS_DIR)/*.h $(top_srcdir)/srclib/apr/include/*.h $(top_srcdir)/srclib/apr-util/include/*.h | $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) - | sed -e 's/^\# .*//' | sed -e '/^$$/d' >> $@