You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@apache.org on 2001/07/21 08:34:55 UTC
cvs commit: httpd-2.0/server Makefile.in
rbb 01/07/20 23:34:55
Modified: . CHANGES
server Makefile.in
Added: build make_exports.awk
Log:
Improve the exports generating awk script. In the past, we had
work around problems in the awk script by avoiding some #if and
#ifdefs. This has bitten us many times in generating the exports.c
file. This improvement allows corrects the header file parsing.
Submitted by: Sander Striker <st...@apache.org>
Revision Changes Path
1.253 +6 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.252
retrieving revision 1.253
diff -u -r1.252 -r1.253
--- CHANGES 2001/07/19 21:49:35 1.252
+++ CHANGES 2001/07/21 06:34:54 1.253
@@ -1,5 +1,11 @@
Changes with Apache 2.0.22-dev
+ *) Improve the exports generating awk script. In the past, we had
+ work around problems in the awk script by avoiding some #if and
+ #ifdefs. This has bitten us many times in generating the exports.c
+ file. This improvement allows corrects the header file parsing.
+ [Sander Striker <st...@apache.org>]
+
Changes with Apache 2.0.21
*) Introduce connection sub-pools into ab. Truncating the lifetime
1.1 httpd-2.0/build/make_exports.awk
Index: make_exports.awk
===================================================================
BEGIN {
printf("/*\n")
printf(" * THIS FILE WAS AUTOGENERATED BY make_exports.awk\n")
printf(" *\n")
printf(" * This is an ugly hack that needs to be here, so\n")
printf(" * that libtool will link all of the APR functions\n")
printf(" * into server regardless of whether the base server\n")
printf(" * uses them.\n")
printf(" */\n")
printf("\n")
printf("#define CORE_PRIVATE\n")
printf("\n")
for (i = 1; i < ARGC; i++) {
file = ARGV[i]
sub("([^/]*[/])*", "", file)
printf("#include \"%s\"\n", file)
}
printf("\n")
printf("const void *ap_ugly_hack = NULL;\n")
printf("\n")
TYPE_NORMAL = 0
TYPE_HEADER = 1
stackptr = 0
}
function push(line) {
stack[stackptr] = line
stackptr++
}
function do_output() {
printf("/*\n")
printf(" * %s\n", FILENAME)
printf(" */\n")
for (i = 0; i < stackptr; i++) {
printf("%s\n", stack[i])
}
stackptr = 0
printf("\n");
}
function enter_scope(type) {
scope++
scope_type[scope] = type
scope_stack[scope] = stackptr
delete scope_used[scope]
}
function leave_scope() {
used = scope_used[scope]
if (!used)
stackptr = scope_stack[scope]
scope--
if (used) {
scope_used[scope] = 1
if (!scope)
do_output()
}
}
function add_symbol(symbol) {
idx = index(symbol, "#")
if (!idx) {
push("const void *ap_hack_" symbol " = (const void *)" symbol ";")
scope_used[scope] = 1
}
}
/^[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ {
sub("[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)]", "");
sub("[(].*", "");
sub("^[ \t]+", "");
sub("([^ ]* ^([ \t]*[(]))*", "");
add_symbol($0)
next
}
/^#[ \t]*if(ndef| !defined[(])([^_]*_)*H/ {
enter_scope(TYPE_HEADER)
next
}
/^#[ \t]*if([n]?def)? / {
enter_scope(TYPE_NORMAL)
push($0)
next
}
/^#[ \t]*endif/ {
if (scope_type[scope] == TYPE_NORMAL)
push($0)
leave_scope()
next
}
/^#[ \t]*else/ {
push($0)
next
}
/^#[ \t]*elif/ {
push($0)
next
}
1.62 +6 -23 httpd-2.0/server/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/httpd-2.0/server/Makefile.in,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- Makefile.in 2001/07/09 02:30:41 1.61
+++ Makefile.in 2001/07/21 06:34:54 1.62
@@ -14,11 +14,10 @@
util_script.c util_md5.c util_cfgtree.c util_ebcdic.c \
rfc1413.c connection.c listen.c \
mpm_common.c util_charset.c util_debug.c util_xml.c \
- util_filter.c exports.c buildmark.c scoreboard.c \
+ util_filter.c exports.c buildmark.c scoreboard.c \
error_bucket.c protocol.c core.c request.c
-TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h \
- httpd.exp
+TARGETS = $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h httpd.exp
include $(top_srcdir)/build/rules.mk
include $(top_srcdir)/build/library.mk
@@ -32,28 +31,12 @@
util.lo: test_char.h
-EXPORT_FILES = $(top_builddir)/srclib/apr/apr.exports \
- $(top_builddir)/srclib/apr-util/aprutil.exports \
- $(TARGET_EXPORTS)
-
-delete-exports:
- @if test -f $(TARGET_EXPORTS); then \
- headers="`find $(top_srcdir)/include/*.h -newer $(TARGET_EXPORTS)`" ; \
- if test -n "$$headers"; then \
- echo Found newer headers. Will rebuild $(TARGET_EXPORTS). ; \
- echo rm -f $(TARGET_EXPORTS) ; \
- rm -f $(TARGET_EXPORTS) ; \
- fi \
- fi
-
-
-$(TARGET_EXPORTS):
- $(AWK) -f $(top_srcdir)/srclib/apr/build/make_export.awk \
- $(top_srcdir)/include/*.h \
- $(top_srcdir)/os/$(OS_DIR)/*.h > $@
+EXPORT_FILES = $(top_srcdir)/include/*.h \
+ $(top_srcdir)/srclib/apr/include/*.h \
+ $(top_srcdir)/srclib/apr-util/include/*.h
exports.c: $(EXPORT_FILES)
- (cat $(EXPORT_FILES) | $(top_srcdir)/build/buildexports.sh $(top_srcdir)) > $@
+ $(AWK) -f $(top_srcdir)/build/make_exports.awk $(EXPORT_FILES) > $@
export_vars.h:
$(AWK) -f $(top_srcdir)/build/make_var_export.awk \
RE: cvs commit: httpd-2.0/server Makefile.in
Posted by Sander Striker <st...@apache.org>.
> On Sat, 21 Jul 2001 11:52:59 +0200, Sander Striker wrote:
>
> >Brain Harvard wrote:
>
> Err, could you have misspelt my name any worse? (no, that's not an
> invitation to try :)
Sorry Brain. The human mind has a strange way of seeing things
that are not there.
Sander
RE: cvs commit: httpd-2.0/server Makefile.in
Posted by Brian Havard <br...@kheldar.apana.org.au>.
On Sat, 21 Jul 2001 11:52:59 +0200, Sander Striker wrote:
>Brain Harvard wrote:
Err, could you have misspelt my name any worse? (no, that's not an
invitation to try :)
>> This now misses a few things, especially most of the macro
>> generated hooks:
>>
>> F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c.old | wc -l
>> 44
>>
>> F:\Apache\httpd-2.0\server>grep ap_run_ exports.c.old | wc -l
>> 24
>>
>> F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c | wc -l
>> 0
>>
>> F:\Apache\httpd-2.0\server>grep ap_run_ exports.c | wc -l
>> 2
>
>Whoops. Sorry about that. I missed the AP_HOOK_ stuff...
>I'll submit a patch shortly.
Tried it, looks good. I'll commit it in a moment.
--
______________________________________________________________________________
| Brian Havard | "He is not the messiah! |
| brianh@kheldar.apana.org.au | He's a very naughty boy!" - Life of Brian |
------------------------------------------------------------------------------
RE: cvs commit: httpd-2.0/server Makefile.in
Posted by Sander Striker <st...@apache.org>.
[...]
>> Log:
>> Improve the exports generating awk script. In the past, we had
>> work around problems in the awk script by avoiding some #if and
>> #ifdefs. This has bitten us many times in generating the exports.c
>> file. This improvement allows corrects the header file parsing.
Brain Harvard wrote:
> This now misses a few things, especially most of the macro
> generated hooks:
>
> F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c.old | wc -l
> 44
>
> F:\Apache\httpd-2.0\server>grep ap_run_ exports.c.old | wc -l
> 24
>
> F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c | wc -l
> 0
>
> F:\Apache\httpd-2.0\server>grep ap_run_ exports.c | wc -l
> 2
Whoops. Sorry about that. I missed the AP_HOOK_ stuff...
I'll submit a patch shortly.
Sander
Re: cvs commit: httpd-2.0/server Makefile.in
Posted by Brian Havard <br...@kheldar.apana.org.au>.
On 21 Jul 2001 06:34:55 -0000, rbb@apache.org wrote:
>rbb 01/07/20 23:34:55
>
> Modified: . CHANGES
> server Makefile.in
> Added: build make_exports.awk
> Log:
> Improve the exports generating awk script. In the past, we had
> work around problems in the awk script by avoiding some #if and
> #ifdefs. This has bitten us many times in generating the exports.c
> file. This improvement allows corrects the header file parsing.
This now misses a few things, especially most of the macro generated hooks:
F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c.old | wc -l
44
F:\Apache\httpd-2.0\server>grep ap_run_ exports.c.old | wc -l
24
F:\Apache\httpd-2.0\server>grep ap_hook_ exports.c | wc -l
0
F:\Apache\httpd-2.0\server>grep ap_run_ exports.c | wc -l
2
--
______________________________________________________________________________
| Brian Havard | "He is not the messiah! |
| brianh@kheldar.apana.org.au | He's a very naughty boy!" - Life of Brian |
------------------------------------------------------------------------------