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 <whatever> 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 <whatever> 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 ----
  
  
  

Reply via email to