httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@apache.org
Subject cvs commit: httpd-2.0/server Makefile.in
Date Sat, 21 Jul 2001 06:34:55 GMT
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 <striker@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 <striker@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 \
  
  
  

Mime
View raw message