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...@locus.apache.org on 2000/10/31 00:08:28 UTC

cvs commit: apache-2.0/src/support httpd.exp

rbb         00/10/30 15:08:28

  Modified:    src/build build.mk
               src/include http_main.h
               src/main Makefile.in http_main.c
               src/support httpd.exp
  Added:       src/build buildexports.sh
  Log:
  This is an ugly little hack to allow DSO modules to work.  This basically
  forces Apache to link in all of the APR functions whether they are used
  by any static modules or not.
  
  Revision  Changes    Path
  1.10      +4 -1      apache-2.0/src/build/build.mk
  
  Index: build.mk
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/build/build.mk,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- build.mk	2000/04/07 18:41:09	1.9
  +++ build.mk	2000/10/30 23:08:26	1.10
  @@ -60,7 +60,7 @@
   
   STAMP = buildmk.stamp
   
  -all: $(STAMP) generated_lists
  +all: $(STAMP) generated_lists export_lists
   	@$(MAKE) AMFLAGS=$(AMFLAGS) -s -f build/build2.mk
   
   generated_lists:
  @@ -71,6 +71,9 @@
   	fi; 
   	@echo config_m4_files = `find . -name config.m4` > $@
   	@n=`helpers/PrintPath libtoolize`; echo libtool_prefix = `dirname $$n`/.. >> $@
  +
  +export_lists:
  +	@build/buildexports.sh main/exports.c support/httpd.exp
   
   $(STAMP): build/buildcheck.sh
   	@build/buildcheck.sh && touch $(STAMP)
  
  
  
  1.1                  apache-2.0/src/build/buildexports.sh
  
  Index: buildexports.sh
  ===================================================================
  #! /bin/sh
  
  exec >$1
  exec <$2
  
  echo "/* This is an ugly hack that needs to be here, so that libtool will"
  echo " * link all of the APR functions into server regardless of whether"
  echo " * the base server uses them."
  echo " */"
  echo ""
  
  cd lib/apr/include
  for file in *.h
  do
      echo "#include \"$file\""
  done
  cd ../../../
  echo ""
  echo ""
  
  while read LINE
  do
      if [ "x`echo $LINE | egrep  '^[:space:]*apr_'`" != "x" ]; then
          newline=`echo "$LINE" |\
              sed -e 's%^\(.*\)%void *ap_hack_\1 = \1\;%'`
          echo $newline
      fi
  done
  
  echo "void *ap_ugly_hack;"
  exit 0
  
  
  
  1.14      +2 -0      apache-2.0/src/include/http_main.h
  
  Index: http_main.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/http_main.h,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- http_main.h	2000/10/16 06:04:34	1.13
  +++ http_main.h	2000/10/30 23:08:26	1.14
  @@ -89,6 +89,8 @@
    *  effect the server based on command line options */
   extern AP_DECLARE_DATA apr_array_header_t *ap_server_config_defines;
   
  +extern void *ap_ugly_hack;
  +
   #ifdef __cplusplus
   }
   #endif
  
  
  
  1.22      +1 -1      apache-2.0/src/main/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/Makefile.in,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Makefile.in	2000/10/05 21:48:38	1.21
  +++ Makefile.in	2000/10/30 23:08:27	1.22
  @@ -9,7 +9,7 @@
   	util_script.c util_uri.c util_md5.c util_cfgtree.c util_ebcdic.c \
   	rfc1413.c http_connection.c listen.c \
           mpm_common.c util_charset.c util_debug.c util_xml.c \
  -	util_filter.c
  +	util_filter.c exports.c
   
   include $(top_srcdir)/build/ltlib.mk
   
  
  
  
  1.67      +7 -0      apache-2.0/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_main.c,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- http_main.c	2000/10/19 00:04:55	1.66
  +++ http_main.c	2000/10/30 23:08:27	1.67
  @@ -293,6 +293,13 @@
       const char *optarg;
   
       apr_initialize();
  +
  +    /* This ugly little hack pulls any function referenced in exports.c into
  +     * the web server.  exports.c is generated by buildconf, and it
  +     * has all of the apr functions specified by httpd.exp.
  +     */
  +    ap_ugly_hack = apr_initialize;
  +
       process = create_process(argc, argv);
       pglobal = process->pool;
       pconf = process->pconf;
  
  
  
  1.8       +2 -0      apache-2.0/src/support/httpd.exp
  
  Index: httpd.exp
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/support/httpd.exp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- httpd.exp	2000/09/01 00:31:19	1.7
  +++ httpd.exp	2000/10/30 23:08:27	1.8
  @@ -333,6 +333,8 @@
   apr_snprintf
   apr_socket_from_file
   apr_stat
  +apr_strnatcmp
  +apr_strnatcasecmp
   apr_table_add
   apr_table_addn
   apr_table_do
  
  
  

Re: cvs commit: apache-2.0/src/support httpd.exp

Posted by rb...@covalent.net.
On 31 Oct 2000, Jeff Trawick wrote:

> rbb@locus.apache.org writes:
> 
> > rbb         00/10/30 15:08:28
> > 
> >   Modified:    src/build build.mk
> >                src/include http_main.h
> >                src/main Makefile.in http_main.c
> >                src/support httpd.exp
> >   Added:       src/build buildexports.sh
> >   Log:
> >   This is an ugly little hack to allow DSO modules to work.  This basically
> >   forces Apache to link in all of the APR functions whether they are used
> >   by any static modules or not.
> 
> exports.c should be blown away when we do "make distclean" (but not
> "make clean")... right?

Yes.  Sorry, I forgot about make clean/distclean.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Re: cvs commit: apache-2.0/src/support httpd.exp

Posted by Jeff Trawick <tr...@bellsouth.net>.
rbb@locus.apache.org writes:

> rbb         00/10/30 15:08:28
> 
>   Modified:    src/build build.mk
>                src/include http_main.h
>                src/main Makefile.in http_main.c
>                src/support httpd.exp
>   Added:       src/build buildexports.sh
>   Log:
>   This is an ugly little hack to allow DSO modules to work.  This basically
>   forces Apache to link in all of the APR functions whether they are used
>   by any static modules or not.

exports.c should be blown away when we do "make distclean" (but not
"make clean")... right?
-- 
Jeff Trawick | trawick@ibm.net | PGP public key at web site:
     http://www.geocities.com/SiliconValley/Park/9289/
          Born in Roswell... married an alien...