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