Received: by taz.hyperreal.com (8.7.5/V2.0) id SAA07023; Sun, 4 Aug 1996 18:17:29 -0700 (PDT) Received: by taz.hyperreal.com (8.7.5/V2.0) id SAA07008; Sun, 4 Aug 1996 18:17:27 -0700 (PDT) Date: Sun, 4 Aug 1996 18:17:27 -0700 (PDT) From: Jim Jagielski Message-Id: <199608050117.SAA07008@taz.hyperreal.com> To: apache-cvs@hyperreal.com Subject: cvs commit: apache/src CHANGES Configuration.tmpl Configure INSTALL Makefile.tmpl README TODO Sender: owner-apache-cvs@apache.org Precedence: bulk jim 96/08/04 18:17:26 Modified: src CHANGES Configuration.tmpl Configure INSTALL Makefile.tmpl README TODO Log: Configure/Configuration.tmpl update. Clean up the way Configure does things and make Configuration a bit easier and intuitive on how to use it (No -1's so I guess it's OK) Revision Changes Path 1.51 +6 -1 apache/src/CHANGES 1.26 +115 -169 apache/src/Configuration.tmpl Index: Configuration.tmpl =================================================================== RCS file: /export/home/cvs/apache/src/Configuration.tmpl,v retrieving revision 1.25 retrieving revision 1.26 diff -C3 -r1.25 -r1.26 *** Configuration.tmpl 1996/07/30 19:36:57 1.25 --- Configuration.tmpl 1996/08/05 01:17:21 1.26 *************** *** 1,185 **** # Config file for the Apache httpd. # Configuration.tmpl is the template for Configuration. Configuration should ! # be edited to select system type. Configuration.tmpl should only be changed ! # when a new system or module is added, or an existing one modified. ! # There are three types of lines here: # '#' comments, distinguished by having a '#' as the first non-blank character # ! # Lines which set a Make option --- these are simply copied into the Makefile # # Module selection lines, distinguished by having 'Module' at the front. # These list the configured modules, in priority order (highest priority # first). They're down at the bottom. - # First, ordinary compile-time configuration. - - # What to call the compiler: For normal machines with ANSI compilers - # CC= cc - # For Suns or other non-ANSI platforms. Please make sure your gcc is - # 2.0 or later, as 1.40 seems to create bad code for the Sun 4. - CC= gcc - - # CFLAGS, compile flags. - - # -DMINIMAL_DNS is now obsolete. Use httpd.conf settings of - # HostnameLookups on - # or - # HostnameLookups off - # - # If you want to have more secure hostname resolution at the cost of some - # performance, use -DMAXIMUM_DNS. - # If you want setting the xbit of a file to cause it to be treated as - # server-included HTML (unless it is a CGI script), say -DXBITHACK. Note - # that this is a run-time option, per-directory, either way (via the XBITHACK - # command); this option only sets the default. - - # If you find that your OS can't cope with mmap (compiles OKAY but refuses - # to run and moans "httpd: Could not mmap memory" .. or similar) try - # disabling use of shared memory for process management (scoreboard with - # -DNO_MMAP) by uncommenting the line below: - #NOMMAPCFLAG= -DNO_MMAP - - # Status Instrumentation - # In order for the status module to obtain full statistics Apache must - # be modified to keep track of various information. This is not - # turned on by default. In order to enable full status details uncomment - # the line below: - #STATCFLAG= -DSTATUS - - # Using SOCKS - # Apache can be compiled to work over a SOCKS firewall by - # uncommenting the line below: - #SOCKSCFLAG= -Dconnect=Rconnect -Dselect=Rselect -Dgethostbyname=Rgethostbyname - - # - # Also add the following to the EXTRA_LIBS define: - # - # -L/usr/local/lib -lsocks - # - # making sure that -L points to wherever you've put libsocks.a. - - # [Some other former Apache compile-time options are now treated differently; - # the virtual host code is always present; DBM auth is an optional module, and - # may be configured out by changing the module config below, though it still - # defaults in. Note that this config file does not include DBM auth by - # default --- configure it in below if you need it]. - - # What level of optimization? - OPTMCFLAG= -O2 - - # Add whatever other flags you'd like here... Like, maybe -Wall - XTRACFLAG= - - # Apache requires a POSIX regex implementation. Some/most platforms provide - # this capability, but for those that don't, Apache provides, simply for - # convenience, a regex implementation. The regex code is NOT official - # Apache code and the Apache team does not support or guarantee the code. - # If you want to use the supplied regex package, uncomment the following - # line (or set it equal to the regex lib on your system). ALSO: If - # using this _regex_ package, be sure to also uncomment REGINC as well - #REGLIBS=regex/libregex.a - #REGINC= -Iregex - - # Default to using ranlib on libraries (for regex). Set this to something else - # if ranlib kills your system (usually by setting it again in the OS specific - # section below) - RANLIB=ranlib - - # Place here any flags you may need upon linking, such as a flag to - # prevent dynamic linking (if desired) - LFLAGS= ! # Place here any extra libraries you may need to link to. ! # -lndbm is commonly required for DBM auth, if that is configured in. EXTRA_LIBS= ! # Build CFLAGS ! CFLAGS= $(OPTMCFLAG) $(NOMMAPCFLAG) $(STATCFLAG) $(SOCKSCFLAG) $(XTRACFLAG) # ! # AUX_CFLAGS are system-specific control flags. ! # NOTE: IF YOU DO NOT CHOOSE ONE OF THESE, EDIT httpd.h AND CHOOSE ! # SETTINGS FOR THE SYSTEM FLAGS. IF YOU DON'T, BAD THINGS WILL HAPPEN. ! ! # For SunOS 4 ! #AUX_CFLAGS= -DSUNOS4 ! # For Solaris 2. ! #AUX_CFLAGS= -DSOLARIS2 ! #AUX_LIBS= -lsocket -lnsl ! # For SGI IRIX. Use the AUX_LIBS line if you're using NIS and want ! # user-supported directories ! #AUX_CFLAGS= -DIRIX ! #AUX_LIBS= -lsun ! # For HP-UX n.b. if you use the paid-for HP CC compiler, use flag -Ae ! #AUX_CFLAGS= -DHPUX ! # For HP-UX 10 ! #AUX_CFLAGS= -DHPUX10 ! # For AIX ! #AUX_CFLAGS= -DAIX -U__STR__ ! # For Ultrix ! #AUX_CFLAGS= -DULTRIX ! # For DEC OSF/1 ! #AUX_CFLAGS= -DOSF1 ! # For NeXT ! #AUX_CFLAGS= -DNEXT ! # For Sequent ! #AUX_CFLAGS= -DSEQUENT ! # For Linux -m486 ONLY IF YOU HAVE 486 BINARY SUPPORT IN KERNEL ! #AUX_CFLAGS= -DLINUX ! # For A/UX ! #AUX_CFLAGS= -DAUX -D_POSIX_SOURCE ! #AUX_LIBS= -lposix -lbsd -s ! # For SCO ODT 3 ! # libcrypt_i available from sosco.sco.com, files /SLS/lng225b.Z and ! # /SLS/lng225b.ltr.Z ! # the -Oe option causes cc to die compiling mod_imap (using 3.0.0a of the dev sys) ! #CFLAGS= -Oacgiltz ! #AUX_CFLAGS= -DSCO ! #AUX_LIBS= -lPW -lsocket -lmalloc -lcrypt_i ! # For SCO OpenServer Release 5 ! # -K noinline is needed to work around an optimiser bug which appears in ! # http_bprintf.c ! #AUX_CFLAGS= -DSCO5 ! #AUX_LIBS=-lsocket -lmalloc -lprot ! #BROKEN_BPRINTF_FLAGS=-K noinline ! #RANLIB=true ! # For SVR4 ! # Some SVR4 implementations will require SO_LINGER option to be set in order ! # to guarantee buffer flushes. Dell, Esix, and UnixWare are a few of these. ! # Use -DNEED_LINGER in addition to other AUX_CFLAGS for these. ! #AUX_CFLAGS= -DSVR4 ! #AUX_LIBS= -lsocket -lnsl -lc ! # For UnixWare 2.x, no longer just SVR4 (sigh) - use cc, not gcc ! # AUX_LIBS= -lsocket -lnsl -lcrypt ! # For Amdahl UTS 2.1 ! # -Xa enables ANSI mode, -eft is expanded types ! #AUX_CFLAGS= -Xa -eft -DUTS21 ! #AUX_LIBS= -lsocket -lbsd -la ! # For HP/Apollo Domain/OS ! #AUX_CFLAGS= -DAPOLLO ! # For NetBSD/FreeBSD/BSDI 2.x ! # -m486 only if you are running on Intel 486/586 ! #AUX_CFLAGS= -m486 ! # BSDI doesn't need -lcrypt ! #AUX_LIBS= -lcrypt ! # For QNX ! #AUX_CFLAGS= -DQNX ! #AUX_LFLAGS= -N 0x20000 ! # For LynxOS ! #AUX_CFLAGS= -DLYNXOS ! #EXTRA_LIBS=-lbsd -ldes -lc_p ! # For DG/UX 5.4 ! #AUX_CFLAGS= -DDGUX ! #AUX_LIBS= ! ! # For EMX OS/2 port ! #AUX_CFLAGS= -Zbsd-signals -Zbin-files ! #-DNO_KILLPG -DNEED_STRCASECMP -DNO_SETSID ! #-g ! #AUX_LIBS= -lsocket -llibufc -lgdbm -lbsd ################################################################ # Module configuration --- 1,129 ---- # Config file for the Apache httpd. # Configuration.tmpl is the template for Configuration. Configuration should ! # be edited to select the modules to be included as well as various flags ! # for Makefile. ! # The template should only be changed when a new system or module is added, ! # or an existing one modified. This will also most likely require some minor ! # changes to Configure to recognize those changes. ! ! # There are 4 types of lines here: # '#' comments, distinguished by having a '#' as the first non-blank character # ! # Makefile options, such as CC=gcc, etc... ! # ! # Rules, distinquished by having "Rule" at the front. These are used to ! # control Configure's behavior as far as how to create Makefile. # # Module selection lines, distinguished by having 'Module' at the front. # These list the configured modules, in priority order (highest priority # first). They're down at the bottom. ! ################################################################ ! # Makefile configuration ! # ! # These are added to the general flags determined by Configure. ! # Edit these to work around Configure if needed. The EXTRA_* family ! # will be added to the regular Makefile flags. For example, if you ! # want to compile with -Wall, then add that to EXTRA_CFLAGS. These ! # will be added to whatever flags Configure determines as appropriate ! # and needed for your platform. ! # ! # You can also set the compiler and Optimization used here as well. ! # Settings here have priority; If not set, Configure will assume ! # 'gcc' and '-O2' ! # ! EXTRA_CFLAGS= ! EXTRA_LFLAGS= EXTRA_LIBS= + EXTRA_INCLUDES= ! CC=gcc ! OPTIM=-O2 # ! # Set to 'true' for systems that lack or don't need ranlib. ! RANLIB=ranlib ! ! ################################################################ ! # Rules configuration ! # ! # These are used to let Configure know that we want certain ! # functions. The format is: Rule RULE=value ! # ! # At present, only the following RULES are known: REGEX, SOCKS, STATUS ! # and BADMMAP. ! # ! # For all Rules, if set to "yes", then Configure knows we want that ! # capability and does what is required to add it in. If set to anything ! # else, or not present, then nothing is done. ! # ! # HSREGEX: ! # Apache requires a POSIX regex implementation. Harry Spencer's ! # excellent regex package is included with Apache and can be used ! # if desired. If your OS has a decent regex, you can elect to ! # not use this one by setting HSREGEX to 'no' or commenting ! # out the Rule ! # ! # SOCKS: ! # If SOCKS is set to 'yes', be sure that you add the sock library ! # location to EXTRA_LIBS, otherwise Configure will assume ! # "-L/usr/local/lib -lsocks" ! # ! # STATUS: ! # If Configure determines that you are using the status_module, ! # it will automatically enable full status information if set ! # to 'yes'. If the status module is not included, having STATUS ! # set to 'yes' has no impact. ! # ! # BADMMAP: ! # If you find that your OS can't cope with mmap (compiles OKAY but refuses ! # to run and moans "httpd: Could not mmap memory" .. or similar) set ! # this to 'yes'. ! # ! # ! Rule HSREGEX=yes ! Rule STATUS=yes ! Rule SOCKS=no ! Rule BADMMAP=no ! ! ############### ! # ! # The platforms: Uncomment the line for your OS/platform ! # PLATFORM: ! # ! ############### ! #PLATFORM=SUNOS4 # SunOS4 ! #PLATFORM=SOLARIS2 # Solaris 2 ! #PLATFORM=IRIX # SGI IRIX ! #PLATFORM=IRIXNIS # SGI IRIX with NIS and user-supplied directories ! #PLATFORM=HP-UX # HP-UX ! #PLATFORM=HP-UX10 # HP-UX 10 ! #PLATFORM=AIX # IBM AIX ! #PLATFORM=ULTRIX # Ultrix ! #PLATFORM=OSF # DEC OSF/1 ! #PLATFORM=NeXT # NeXT ! #PLATFORM=SEQUENT # Sequent ! #PLATFORM=LINUX # Linux with 486 support in kernel ! #PLATFORM=A/UX # Apple A/UX ! #PLATFORM=SCO3 # SCO ODT 3 ! #PLATFORM=SCO5 # SCO ODT 5 ! #PLATFORM=SVR4 # SVR4 implementation (non Unixware) ! #PLATFORM=UNIXWARE # Unixware ! #PLATFORM=UTS # Amdahl UTS 2.1 ! #PLATFORM=APOLLO # HP / Apollo Domain/OS ! #PLATFROM=BSD # FreeBSD/NetBSD ! #PLATFORM=BSD486 # FreeBSD/NetBSD on 486/586 ! #PLATFORM=BSDI # BSDI ! #PLATFORM=BSDI486 # BSDI on 486/586 ! #PLATFORM=QNX # QNX ! #PLATFORM=LYNXOS # LynxOS ! #PLATFORM=DGUX # DG/UX 5.4 ! #PLATFORM=OS/2 # EMX OS/2 Port ! ################################################################ # Module configuration *************** *** 246,252 **** ## The status module allows the server to display current details about ## how well it is performing and what it is doing. Consider also enabling ! ## -DSTATUS (see the CFLAGS section near the start of the file) to allow ## full status information. Check conf/access.conf on how to enable this. # Module status_module mod_status.o --- 190,196 ---- ## The status module allows the server to display current details about ## how well it is performing and what it is doing. Consider also enabling ! ## :STATUS=yes (see the Rules section near the start of the file) to allow ## full status information. Check conf/access.conf on how to enable this. # Module status_module mod_status.o *************** *** 265,282 **** ## db_auth and dbm_auth work with Berkeley DB files - make sure there ## is support for DBM files on your system. You may need to grab the GNU ! ## "gdbm" package if not. # Module db_auth_module mod_auth_db.o # Module dbm_auth_module mod_auth_dbm.o ## msql_auth checks against an MSQL database. You must have MSQL installed ## and an "msql.h" available for this to even compile. Additionally, ! ## you may need to add a couple entries to the CFLAGS line, like ## ## -lmsql -L/usr/local/lib -L/usr/local/Minerva/lib ## ! ## This depends on your installation of MSQL. # Module msql_auth_module mod_auth_msql.o --- 209,228 ---- ## db_auth and dbm_auth work with Berkeley DB files - make sure there ## is support for DBM files on your system. You may need to grab the GNU ! ## "gdbm" package if not and possibly adjust EXTRA_LIBS. (This may be ! ## done by Configure at a later date) # Module db_auth_module mod_auth_db.o # Module dbm_auth_module mod_auth_dbm.o ## msql_auth checks against an MSQL database. You must have MSQL installed ## and an "msql.h" available for this to even compile. Additionally, ! ## you may need to add a couple entries to the EXTRA_LIBS line, like ## ## -lmsql -L/usr/local/lib -L/usr/local/Minerva/lib ## ! ## This depends on your installation of MSQL. (This may be done by Configure ! ## at a later date) # Module msql_auth_module mod_auth_msql.o 1.7 +247 -14 apache/src/Configure Index: Configure =================================================================== RCS file: /export/home/cvs/apache/src/Configure,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** Configure 1996/05/12 21:51:28 1.6 --- Configure 1996/08/05 01:17:22 1.7 *************** *** 1,8 **** ! #! /bin/sh # Apache configuration script, first cut --- rst. # Dont like it? Inspired to do something better? Go for it. file=Configuration tmpfile=htconf.$$ --- 1,15 ---- ! #!/bin/sh ! trap 'rm $tmpfile; exit' 0 1 2 3 15 # Apache configuration script, first cut --- rst. # Dont like it? Inspired to do something better? Go for it. + # second cut --- jmj + # At this point we change what Configuration contains. It maintain + # contains comments, specific compiler flags, a list of included + # modules and "rules". These rules are used to allow Configure to + # be totally configured from Configuration + file=Configuration tmpfile=htconf.$$ *************** *** 13,34 **** echo "Using '$file' as config file" fi ! # First, strip comments and blank lines... ! sed 's/#.*//' $file | sed '/^[ ]*$/d' | sed 's/[ ]*$//' > $tmpfile # Check for syntax errors... ! if grep -v = $tmpfile | \ ! egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' > /dev/null then ! echo "Syntax error --- each config file command must either" ! echo "set a Makefile option, or configure a module (giving a" ! echo "module name and a filename). This doesn't appear to be" ! echo "doing either:" ! grep -v = $tmpfile | \ ! egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' ! rm $tmpfile exit 1 fi --- 20,40 ---- echo "Using '$file' as config file" fi ! # First, strip comments and blank lines and then change Rules to comments ! sed 's/#.*//' $file | sed '/^[ ]*$/d' | sed 's/[ ]*$//' | \ ! sed 's/^Rule[ ]*/##Rule:/' > $tmpfile # Check for syntax errors... ! if egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile | \ ! grep -v = > /dev/null then ! echo "Syntax error --- The configuration file is used only to" ! echo "define the list of included modules or to set Makefile" ! echo "options or Configure rules, and I don't see that at all:" ! egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile | \ ! grep -v = exit 1 fi *************** *** 65,70 **** --- 71,79 ---- print "};"; \ }' + # + # Add module set only + # awk >Makefile <$tmpfile '\ BEGIN { print "# Makefile automatically generated from Makefile.tmpl"; \ print "# and configuration file by Apache config script. "; \ *************** *** 72,78 **** print "# is re-run."; \ } \ /^Module/ { modules[n++] = $3 } \ - /\=/ { print } \ END { print "MODULES=\\"; \ for (i = 0; i < n; ++i) { \ if (i < n-1) printf (" %s \\\n", modules[i]); \ --- 81,86 ---- *************** *** 80,85 **** } \ print "" \ }' cat Makefile.tmpl >> Makefile - rm $tmpfile --- 88,318 ---- } \ print "" \ }' + # + # Now add Makefile additions and Rules + # + awk >>Makefile <$tmpfile '\ + BEGIN { print "# Makefile options inherited from Configure"; \ + print "###############"; \ + } \ + /\=/ { print } \ + END { print "###############"; }' + + # + # Now we scan thru the Makefile for the PLATFORM seting. + # We adjust CFLAGS, LIBS, LFLAGS and INCLUDES (and other Makefile + # options) as required. Setting CC and OPTIM here has no effect + # if they were set in Configure. + # + # As more PLATFORMs are added to Configuration.tmpl, be sure to + # add the required lines below. + # + + PLAT=`grep "PLATFORM=" Makefile | awk '{ print $1 }' | awk -F= '{ print $2 }'` + + case "$PLAT" in + A/UX) + OS='A/UX 3.1.x' + CFLAGS="$CFLAGS -DAUX -D_POSIX_SOURCE" + LIBS="$LIBS -lposix -lbsd" + LFLAGS="$LFLAGS -s" + ;; + AIX) + OS='IBM AIX' + CFLAGS="$CFLAGS -DAIX -U__STR__" + ;; + APOLLO) + OS='Apollo Domain' + CFLAGS="$CFLAGS -DAPOLLO" + ;; + DGUX) + OS='DG/UX 5.4' + CFLAGS="$CFLAGS -DDGUX" + ;; + OS/2) + OS='EMX OS/2' + CFLAGS="$CFLAGS -Zbsd-signals -Zbin-files -DNO_KILLPG -DNEED_STRCASECMP -DNO_SETSID -g" + LIBS="$LIBS -lsocket -llibufc -lgdbm -lbsd" + ;; + HP-UX) + OS='HP-UX' + CFLAGS="$CFLAGS -DHPUX" + ;; + HP-UX10) + OS='HP-UX 10' + CFLAGS="$CFLAGS -DHPUX10" + ;; + IRIX) + OS='SGI IRIX' + CFLAGS="$CFLAGS -DIRIX" + ;; + IRIXNIS) + OS='SGI IRIX w/NIS' + CFLAGS="$CFLAGS -DIRIX" + LIBS="$LIBS -lsun" + ;; + LINUX) + OS='Linux' + CFLAGS="$CFLAGS -DLINUX" + ;; + LYNXOS) + OS='LynxOS' + CFLAGS="$CFLAGS -DLYNXOS" + LIBS="$LIBS -lbsd -ldes -lc_p" + ;; + BSDI) + OS='BSDI' + ;; + BSDI486) + OS='BSDI w/486' + CFLAGS="$CFLAGS -m486" + ;; + BSD) + OS='FreeBSD/NetBSD' + LIBS="$LIBS -lcrypt" + ;; + BSD486) + OS='FreeBSD/NETBSD on 486' + ;; + NeXT) + OS='NeXT' + CFLAGS="$CFLAGS -DNEXT" + ;; + OSF) + OS='DEC OSF/1' + CFLAGS="$CFLAGS -DOSF1" + ;; + QNX) + OS='QNX' + CFLAGS="$CFLAGS -DQNX" + LIBS="$LIBS -N 0x20000" + ;; + SCO3) + OS='SCO 3' + CFLAGS="$CFLAGS -DSCO -Oacgiltz" + LIBS="$LIBS -lPW -lsocket -lmalloc -lcrypt_i" + ;; + SCO5) + OS='SCO 5' + CFLAGS="$CFLAGS -DSCO5" + LIBS="$LIBS -lsocket -lmalloc -lprot" + OSBPRINTF="-K noinline" + ;; + SOLARIS2) + OS='Solaris 2' + CFLAGS="$CFLAGS -DSOLARIS2" + LIBS="$LIBS -lsocket -lnsl" + ;; + SUNOS4) + OS='SunOS 4' + CFLAGS="$CFLAGS -DSUNOS4" + ;; + UNIXWARE) + OS='Unixware' + CFLAGS="$CFLAGS -DSVR4" + LIBS="$LIBS -lsocket -lnsl -lcrypt" + ;; + SVR4) + OS='SVR4' + CFLAGS="$CFLAGS -DSVR4" + LIBS="$LIBS -lsocket -lnsl -lc" + ;; + UTS) + OS='Amdahl UTS' + CFLAGS="$CFLAGS -Xa -eft -DUTS21" + LIBS="$LIBS -lsocket -lbsd -la" + ;; + *) # default + ;; + esac + + # + # Now that _that's_ done, get on with it + # + + echo "Configured for $OS platform" + echo + # + # Handle the setting of CC and OPTIM. The values in Configure + # have priority. If not set there, then we check if they were + # set above. If so, then we honor that; if not, then we set some + # defaults (gcc and -O2) + # + if grep "CC=" Makefile > /dev/null; then + CC="" # clear it just in case + else + if [ "x$CC" = "x" ]; then CC="gcc"; fi + fi + + # + # Ditto for optimization + # + if grep "OPTIM=" Makefile > /dev/null; then + OPTIM="" # ditto + else + if [ "x$OPTIM" = "x" ]; then OPTIM="-O2"; fi + fi + + # + # Are they using the status monitor module? If so, check + # for STATUS rule... + # + STAT_MOD="mod_status" + if grep "$STAT_MOD" Makefile > /dev/null; then + if grep "Rule:STATUS=yes" Makefile > /dev/null; then + CFLAGS="$CFLAGS -DSTATUS" + fi + fi + + # + # Now HS's POSIX regex implementation if needed/wanted + # + if grep "Rule:HSREGEX=yes" Makefile > /dev/null; then + REGLIB="regex/libregex.a" + INCLUDES="$INCLUDES -Iregex" + fi + + # + # Broken mmap? + # + if grep "Rule:BADMMAP=yes" Makefile > /dev/null; then + CFLAGS="$CFLAGS -DNO_MMAP" + fi + + # + # Now SOCKS. + # NOTE: We assume that if they are using SOCKS, then they've + # adjusted EXTRA_LIBS and/or EXTRA_LFLAGS as required, + # otherwise we assume "-L/usr/local/lib -lsocks" + # + if grep "Rule:SOCKS=yes" Makefile > /dev/null; then + # Set flag and check Makefile for -lsocks line + CFLAGS="$CFLAGS -Dconnect=Rconnect -Dselect=Rselect" + CFLAGS="$CFLAGS -Dgethostbyname=Rgethostbyname" + if grep "EXTRA_" Makefile | grep "-lsocks" > /dev null; then + : + else + LIBS="$LIBS -L/usr/local/lib -lsocks" + fi + fi + # + # Good enough + # + echo >> Makefile + if [ "x$CC" != "x" ]; then + echo "CC=$CC" >> Makefile + fi + if [ "x$OPTIM" != "x" ]; then + echo "OPTIM=$OPTIM" >> Makefile + fi + echo "CFLAGS1=$CFLAGS">> Makefile + echo "INCLUDES1=$INCLUDES">> Makefile + echo "LIBS1=$LIBS">> Makefile + echo "LFLAGS1=$LFLAGS">> Makefile + echo "BROKEN_BPRINTF_FLAGS=$OSBPRINTF">> Makefile + echo "REGLIB=$REGLIB">> Makefile + echo >> Makefile + echo "#### End of Configure created section ####">> Makefile + echo >> Makefile cat Makefile.tmpl >> Makefile 1.5 +5 -2 apache/src/INSTALL Index: INSTALL =================================================================== RCS file: /export/home/cvs/apache/src/INSTALL,v retrieving revision 1.4 retrieving revision 1.5 diff -C3 -r1.4 -r1.5 *** INSTALL 1996/05/08 15:34:59 1.4 --- INSTALL 1996/08/05 01:17:22 1.5 *************** *** 13,20 **** lists the modules which have been compiled in, and also names the files containing them. You will need to: ! a) Select a compiler, and compilation options as appropriate to ! your machine. b) Uncomment lines corresponding to those optional modules you wish to include (among the Module lines at the bottom of the file), --- 13,21 ---- lists the modules which have been compiled in, and also names the files containing them. You will need to: ! a) Select the PLATFORM that you will be compiling for. You may also ! adjust the Rules and EXTRA_CFLAGS|LIBS|LFLAGS|INCLUDES if ! you feel so inclined. b) Uncomment lines corresponding to those optional modules you wish to include (among the Module lines at the bottom of the file), *************** *** 28,33 **** --- 29,35 ---- % Configure Using 'Configuration' as config file + Configured for platform % This generates new versions of the Makefile and of modules.c. (If *************** *** 35,40 **** --- 37,43 ---- % Configure -file Configuration.ai Using alternate config file Configuration.ai + Configured for platform % 3) Type "make". 1.20 +10 -5 apache/src/Makefile.tmpl Index: Makefile.tmpl =================================================================== RCS file: /export/home/cvs/apache/src/Makefile.tmpl,v retrieving revision 1.19 retrieving revision 1.20 diff -C3 -r1.19 -r1.20 *** Makefile.tmpl 1996/07/30 19:36:58 1.19 --- Makefile.tmpl 1996/08/05 01:17:22 1.20 *************** *** 3,14 **** # This is combined with the information in the "Configuration" file # by the configure script to make the actual Makefile. OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \ http_log.o http_protocol.o rfc1413.o util.o util_script.o modules.o buff.o\ md5c.o util_md5.o explain.o http_bprintf.o $(MODULES) .c.o: ! $(CC) -c $(REGINC) $(CFLAGS) $(AUX_CFLAGS) $< all: Configuration httpd --- 3,19 ---- # This is combined with the information in the "Configuration" file # by the configure script to make the actual Makefile. + CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_FLAGS) + LIBS=$(EXTRA_LIBS) $(LIBS1) + INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES) + LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS) + OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \ http_log.o http_protocol.o rfc1413.o util.o util_script.o modules.o buff.o\ md5c.o util_md5.o explain.o http_bprintf.o $(MODULES) .c.o: ! $(CC) -c $(INCLUDES) $(CFLAGS) $< all: Configuration httpd *************** *** 19,29 **** @echo "If not, you will at least have to touch Configuration." @false ! httpd: $(REGLIBS) $(OBJS) ! $(CC) $(LFLAGS) $(AUX_LFLAGS) -o httpd $(OBJS) $(REGLIBS) $(EXTRA_LIBS) $(AUX_LIBS) regex/libregex.a: ! cd regex; make lib CC=$(CC) AUX_CFLAGS="$(CFLAGS) $(AUX_CFLAGS)" RANLIB=$(RANLIB) clean: rm -f httpd $(OBJS) *pure* --- 24,34 ---- @echo "If not, you will at least have to touch Configuration." @false ! httpd: $(REGLIB) $(OBJS) ! $(CC) $(LFLAGS) -o httpd $(OBJS) $(REGLIB) $(LIBS) regex/libregex.a: ! cd regex; make lib CC=$(CC) AUX_CFLAGS="$(CFLAGS)" RANLIB=$(RANLIB) clean: rm -f httpd $(OBJS) *pure* *************** *** 38,44 **** # Work around broken compilers http_bprintf.o: http_bprintf.c ! $(CC) -c $(REGINC) $(CFLAGS) $(AUX_CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c #Dependencies #Core code --- 43,49 ---- # Work around broken compilers http_bprintf.o: http_bprintf.c ! $(CC) -c $(INCLUDES) $(CFLAGS) $(BROKEN_BPRINTF_FLAGS) http_bprintf.c #Dependencies #Core code 1.14 +3 -2 apache/src/README Index: README =================================================================== RCS file: /export/home/cvs/apache/src/README,v retrieving revision 1.13 retrieving revision 1.14 diff -C3 -r1.13 -r1.14 *** README 1996/07/30 19:36:58 1.13 --- README 1996/08/05 01:17:23 1.14 *************** *** 144,150 **** List of various #defines used in the code: The Apache code, specifically in conf.h, uses a variety of #defines to control how the code is compiled and what options are available for each ! support OS. The following list provides a short list and description of these #defines. -- --- 144,150 ---- List of various #defines used in the code: The Apache code, specifically in conf.h, uses a variety of #defines to control how the code is compiled and what options are available for each ! supported OS. The following list provides a short list and description of these #defines. -- *************** *** 221,227 **** Do not use the sigaction() call, even if we have it. NO_LINGCLOSE: Do not use Apache's soft, "lingering" close feature to ! terminate connections. -- MISC #DEFINES: --- 221,228 ---- Do not use the sigaction() call, even if we have it. NO_LINGCLOSE: Do not use Apache's soft, "lingering" close feature to ! terminate connections. The lingering_close function ! can cause problems with nph- scripts on some platforms. -- MISC #DEFINES: 1.12 +0 -7 apache/src/TODO Index: TODO =================================================================== RCS file: /export/home/cvs/apache/src/TODO,v retrieving revision 1.11 retrieving revision 1.12 diff -C3 -r1.11 -r1.12 *** TODO 1996/03/14 00:36:50 1.11 --- TODO 1996/08/05 01:17:23 1.12 *************** *** 5,17 **** make sure that if the response handler sets an error code, then an error report winds up on the output... - *) More complete scoreboard for child processes. For each process, at least: - number of requests handled, start time, current request (first line and - client and server addresses). Also an httpstat program to print this all - out readably (thereby giving you your first real shot at figuring out what - that CGI script which has been chewing up all your CPU for the past few - minutes thinks it's actually doing...). - *) Assess efficiency cost of rputc() in includes. *) Varargs printf-like log_reason (would allow me to ditch most of the --- 5,10 ----