httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject New Config, Final Phase
Date Fri, 02 Aug 1996 22:24:28 GMT
I'd like to offer this patch for final consideration. It's been tuned
and adjusted in response to all the feedback, public and private.

It's a _MUCH_ cleaner way to Configure Apache and seems to make more
sense; The person simply notes the platform being used (and some
simple "rules") and Configure takes care of the rest.


Index: apache/src/Configuration.tmpl
===================================================================
RCS file: /export/home/cvs/apache/src/Configuration.tmpl,v
retrieving revision 1.25
diff -c -r1.25 Configuration.tmpl
*** Configuration.tmpl	1996/07/30 19:36:57	1.25
--- Configuration.tmpl	1996/08/02 22:17:54
***************
*** 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,124 ----
  # 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.
! 
! # 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
  #
  # 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.
! #
! # 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 (The ':' must be the 1st char).
! # 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
! # it, and does what is required to add in the capability. If set to
! # anything else, or not present, then nothing is done.
! #
! # REGEX:
! #  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 REGEX to 'no'
! #
! # 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 REGEX=yes
! Rule STATUS=yes
! Rule SOCKS=no
! Rule BADMMAP=no
! 
! ###############
! #
! # The platforms: Uncomment the line for your OS/platform
! # PLATFORM:
! #  Uncomment the line that refers to your OS/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
! #PLATFORM=UNIXWARE	# Unixware
! #PLATFORM=UTS		# Amdahl UTS 2.1
! #PLATFORM=APOLLO	# HP / Apollo Domain/OS
! #PLATFORM=486		# 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=EMX		# 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
--- 185,191 ----
  
  ## 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
Index: apache/src/Configure
===================================================================
RCS file: /export/home/cvs/apache/src/Configure,v
retrieving revision 1.6
diff -c -r1.6 Configure
*** Configure	1996/05/12 21:51:28	1.6
--- Configure	1996/08/02 22:17:54
***************
*** 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,308 ----
           } \
           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 rule.
+ # 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.
+ #
+ 
+ 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"
+ 	;;
+     EMX)
+ 	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"
+ 	;;
+     486)
+ 	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 the 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 grep "Rule:STATUS=yes" Makefile > /dev/null; then
+     CFLAGS="$CFLAGS -DSTATUS"
+ fi
+ 
+ #
+ # Now REGEX if needed
+ #
+ if grep "Rule:REGEX=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
+ #
+ 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
Index: apache/src/Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apache/src/Makefile.tmpl,v
retrieving revision 1.19
diff -c -r1.19 Makefile.tmpl
*** Makefile.tmpl	1996/07/30 19:36:58	1.19
--- Makefile.tmpl	1996/08/02 22:17:55
***************
*** 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




-- 
Jim Jagielski  << jim@jaguNET.com >>   |   "There is a time for laughing,
  **  jaguNET Access Services  **      |    and a time for not laughing,
      Email: info@jaguNET.com          |    and this is not one of them"
++    http://www.jaguNET.com/         +++      Voice/Fax: 410-931-3157       ++

Mime
View raw message