httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@hyperreal.org>
Subject cvs commit: apachen/src/os/unix Makefile.tmpl
Date Tue, 07 Oct 1997 19:53:35 GMT
dgaudet     97/10/07 12:53:33

  Modified:    src      CHANGES Configure Makefile.tmpl
               src/main Makefile.tmpl
               src/modules/standard Makefile.tmpl
               src/os/unix Makefile.tmpl
  Added:       src/modules/example Makefile.tmpl
               src/modules/proxy Makefile.libdir Makefile.tmpl
  Removed:     src/modules/example Makefile
               src/modules/proxy Makefile
  Log:
  Fix PR#1159: Configure always exits with return code 0 -- need a variable
  to tell the trap what exitcode to use.
  
  Eliminate the need to use `pwd` which was causing big long ugly -I lines
  in the Makefiles.  Instead we build variables INCLUDES_DEPTH0,
  INCLUDES_DEPTH1, INCLUDES_DEPTH2 which have the appropriate level of -Is.
  Add names to INCLUDES_AUTODEPTH and they'll be -Id to the right level.
  
  Remove the symlinking of os.h and os-inline.c.  Instead $(OSDIR) is added
  to INCLUDES_AUTODEPTH.
  
  modules/proxy/Makefile replaced by modules/proxy/Makefile.tmpl, which has
  all the right substitutions done on it -- so that, for example, the proxy
  gets the right regex.h.
  
  To facilitate the previous, I had to touch a file
  modules/proxy/Makefile.libdir...  which just means "the tmpl includes all
  the necessary Makefile recipies, just prepend Makefile.config to the
  front".  i.e. Configure shouldn't generate all the targets like it does
  for modules/standard, and modules/extra.  This is probably something that
  we'd want for all AddModules modules/foo/libfoo.a ... but I didn't feel
  like groking the awk fooness in Configure.
  
  modules/example/Makefile replaced by (essentially empty)
  modules/example/Makefile.tmpl.  So that it has proper substitution done on
  it.
  
  Remove some last-built cruft that stuck around after some other patches.
  
  Change rm $(OBJS) to rm *.o to ensure we remove all cruft .o files.
  
  modules/Makefile now has Makefile.config prepended to it, so that, for
  example, RANLIB is set properly.
  
  Reviewed by:	Jim Jagielski, Martin Kraemer
  
  Revision  Changes    Path
  1.461     +3 -0      apachen/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.460
  retrieving revision 1.461
  diff -u -r1.460 -r1.461
  --- CHANGES	1997/10/07 19:44:39	1.460
  +++ CHANGES	1997/10/07 19:53:19	1.461
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b1
   
  +  *) Configure uses a sh trap and didn't set its exitcode properly.
  +     [Dean Gaudet] PR#1159
  +
     *) Yet another vhost revamp.  Add the NameVirtualHost directive which
        explicitly lists the ip:port pairs that are to be used for name-vhosts.
        From a given ip:port, regardless what the Host: header is, you can
  
  
  
  1.160     +51 -46    apachen/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/Configure,v
  retrieving revision 1.159
  retrieving revision 1.160
  diff -u -r1.159 -r1.160
  --- Configure	1997/10/02 05:26:01	1.159
  +++ Configure	1997/10/07 19:53:21	1.160
  @@ -1,5 +1,6 @@
   #!/bin/sh
  -trap 'rm -f $tmpfile $tmpfile2 $tmpfile3 $awkfile; exit' 0 1 2 3 15
  +exitcode=0
  +trap 'rm -f $tmpfile $tmpfile2 $tmpfile3 $awkfile; exit $exitcode' 0 1 2 3 15
   
   # Apache configuration script, first cut --- rst.
   # Don't like it?  Inspired to do something better?  Go for it.
  @@ -25,7 +26,6 @@
   tmpfile2=$tmpfile.2
   tmpfile3=$tmpfile.3
   awkfile=$tmpfile.4
  -SRCDIR=`pwd`
   SUBDIRS='$(OSDIR) main modules'
   
   ####################################################################
  @@ -37,6 +37,7 @@
       shift 1; file=$1; shift 1
       if [ ! -r $file ]; then
         echo "$file does not exist or is not readable."
  +      exitcode=1
         exit 1
       fi
     else
  @@ -48,6 +49,7 @@
   
   if [ ! -r $file ]; then
     echo "Can't see or read \"$file\""
  +  exitcode=1
     exit 1
   fi
   
  @@ -85,6 +87,7 @@
     egrep -v '^%?Module[ 	]+[A-Za-z0-9_]+[ 	]+[^ 	]+$' $tmpfile \
      | egrep -v '^%?AddModule[ 	]+[^ 	]+$'  \
      | grep -v =
  +  exitcode=1
     exit 1
   fi
   
  @@ -516,6 +519,7 @@
   	echo apache-bugs@apache.org.  If you don\'t wish to do the port
   	echo yourself, please submit this output rather than the patches.
   	echo Thank you
  +	exitcode=1
   	exit 1
   	;;
   esac
  @@ -575,6 +579,7 @@
   	    echo "Error: could not find any of these C compilers"
   	    echo " anywhere in your PATH: $lookedfor"
   	    echo "Configure terminated"
  +	    exitcode=1
   	    exit 1
   	fi
   	CC=$COMPILER
  @@ -667,7 +672,7 @@
   if [ "$RULE_WANTHSREGEX" = "yes" ]; then
       REGLIB="regex/libregex.a"
       SUBDIRS="$SUBDIRS regex"
  -    INCLUDES="$INCLUDES -I${SRCDIR}/regex"
  +    INCLUDES_AUTODEPTH="$INCLUDES_AUTODEPTH regex"
   fi
   
   #
  @@ -938,15 +943,26 @@
   #
   echo  >> Makefile
   echo "CFLAGS1=$CFLAGS">> Makefile.config
  -echo "INCLUDES1=$INCLUDES -I${SRCDIR}/main">> Makefile.config
  +echo "INCLUDES1=$INCLUDES">> Makefile.config
  +
  +INCLUDES_AUTODEPTH="$INCLUDES_AUTODEPTH $OSDIR main"
  +incprefix="-I"
  +for depth in 0 1 2; do
  +    incvar="INCLUDES_DEPTH${depth}="
  +    for i in $INCLUDES_AUTODEPTH; do
  +	incvar="$incvar${incprefix}$i "
  +    done
  +    echo "$incvar" >>Makefile.config
  +    incprefix="${incprefix}../"
  +done
  +
   echo "LIBS1=$LIBS">> Makefile.config
   echo "LDFLAGS1=$LDFLAGS">> Makefile.config
   echo "BROKEN_BPRINTF_FLAGS=$OSBPRINTF">> Makefile.config
   echo "REGLIB=$REGLIB">> Makefile.config
   echo "RANLIB=$RANLIB">> Makefile.config
   echo "SHELL=$SHELL">> Makefile.config
  -echo "OSOBJ=${SRCDIR}/$OSDIR/os.o">> Makefile.config
  -echo "OSDIR=${SRCDIR}/$OSDIR">> Makefile.config
  +echo "OSDIR=$OSDIR">> Makefile.config
   echo "SUBDIRS=$SUBDIRS">> Makefile.config
   echo >> Makefile.config
   echo "#### End of Configure created section ####">> Makefile.config
  @@ -965,6 +981,7 @@
      echo "** as gcc. The above error message from your compiler"
      echo "** will also provide a clue."
      echo " Aborting!"
  +   exitcode=1
      exit 1
   fi
   
  @@ -975,10 +992,6 @@
   #
   cat Makefile.config >> Makefile
   sed -e "s#@@Configuration@@#$file#" "Makefile.tmpl" >>Makefile
  -awk >>Makefile <$tmpfile '
  -    ($1 == "Module" && $3 ~ /modules\//) {
  -	printf "%s: modules/last-built ; @cat /dev/null\n\n", $3, $3
  -    }'
   
   #
   # directories to create makefiles in
  @@ -989,32 +1002,18 @@
   	cat Makefile.config $dir/Makefile.tmpl > $dir/Makefile
   done
   
  -cat << EOF > modules/Makefile
  -# 
  -# Simple Makefile for modules in src/modules.
  -# Generated by src/Configure according to rules in src/Configuration;
  -# hand-edit at your own risk!
  -# 
  -
  -SHELL=$SHELL
  -EOF
  -
  -if [ "$RULE_WANTHSREGEX" = "yes" ]; then
  -    INCLUDES2="-I../../regex"
  -fi
  -
  -echo "INCLUDES2=$INCLUDES2">> modules/Makefile
  -echo "MOD_CFLAGS=\$(INCLUDES2) \$(AUX_CFLAGS)">> modules/Makefile
  +cat Makefile.config >modules/Makefile
   
   cat << EOF >> modules/Makefile
   MODULES=$MODDIRS
  +CFLAGS=\$(OPTIM) \$(CFLAGS1) \$(EXTRA_CFLAGS)
   
   default: all
   
   all clean :: 
   	for i in \$(MODULES); do \\
   	 (cd \$\$i; \\
  -	  \$(MAKE) CC='\$(CC)' AUX_CFLAGS='\$(MOD_CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1;\\
  +	  \$(MAKE) CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1;\\
   	done
   
   EOF
  @@ -1023,26 +1022,32 @@
   	echo "Creating Makefile in $moddir"
   
   	cat Makefile.config > $moddir/Makefile
  -	basedir=`echo $moddir | sed 's/^[^/]*\///g'`
  -	awk >> $moddir/Makefile < $tmpfile '
  -	    BEGIN {
  -		printf "OBJS="
  -	    }
  -	    ($1 == "Module" && $3 ~ /^modules\/'$basedir'\//) { 
  -		split ($3, pp, "/")
  -		printf "%s ", pp[3] 
  -	    } 
  -	    END {
  -		printf "\n"
  -	    }'
  -
  -	echo "LIB=lib$basedir.a" >> $moddir/Makefile
   	cat << 'EOF' >> $moddir/Makefile
   CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
   LIBS=$(EXTRA_LIBS) $(LIBS1)
  -INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  +INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH2) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
   INCDIR=../../main
  +EOF
  +	if [ -f $moddir/Makefile.libdir ]; then
  +	    # it's responsible for the rest of its Makefile
  +	    :
  +	else
  +	    basedir=`echo $moddir | sed 's/^[^/]*\///g'`
  +	    awk >> $moddir/Makefile < $tmpfile '
  +		BEGIN {
  +		    printf "OBJS="
  +		}
  +		($1 == "Module" && $3 ~ /^modules\/'$basedir'\//) { 
  +		    split ($3, pp, "/")
  +		    printf "%s ", pp[3] 
  +		} 
  +		END {
  +		    printf "\n"
  +		}'
  +
  +	    echo "LIB=lib$basedir.a" >> $moddir/Makefile
  +	    cat << 'EOF' >> $moddir/Makefile
   
   all:	$(LIB)
   
  @@ -1055,12 +1060,12 @@
   	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
   
   clean:
  -	rm -f $(OBJS) $(LIB)
  +	rm -f *.o $(LIB)
   
   $(OBJS): Makefile
   EOF
  -cat >> $moddir/Makefile < $moddir/Makefile.tmpl
  -
  -done
  +	fi
   
  +    cat >> $moddir/Makefile < $moddir/Makefile.tmpl
   
  +done
  
  
  
  1.68      +1 -1      apachen/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- Makefile.tmpl	1997/09/26 03:05:24	1.67
  +++ Makefile.tmpl	1997/10/07 19:53:21	1.68
  @@ -5,7 +5,7 @@
   
   CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
   LIBS=$(EXTRA_LIBS) $(LIBS1)
  -INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  +INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH0) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
   
   OBJS= \
  
  
  
  1.6       +2 -2      apachen/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/main/Makefile.tmpl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Makefile.tmpl	1997/10/07 19:33:56	1.5
  +++ Makefile.tmpl	1997/10/07 19:53:25	1.6
  @@ -5,7 +5,7 @@
   
   CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
   LIBS=$(EXTRA_LIBS) $(LIBS1)
  -INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  +INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH1) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
   
   OBJS= alloc.o http_main.o http_core.o http_config.o http_request.o \
  @@ -26,7 +26,7 @@
   	$(RANLIB) $@
   
   clean:
  -	rm -f $(OBJS) $(LIB)
  +	rm -f *.o $(LIB)
   
   # Work around broken compilers
   http_bprintf.o: http_bprintf.c
  
  
  
  1.1                  apachen/src/modules/example/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  # this is enough to get us a default Makefile
  
  
  
  1.1                  apachen/src/modules/proxy/Makefile.libdir
  
  Index: Makefile.libdir
  ===================================================================
  This is a place-holder which indicates to Configure that it shouldn't
  provide the default targets when building the Makefile in this directory.
  Instead it'll just prepend all the important variable definitions, and
  copy the Makefile.tmpl onto the end.
  
  
  
  1.1                  apachen/src/modules/proxy/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  LIB=libproxy.a
  OBJS=mod_proxy.o proxy_cache.o proxy_connect.o proxy_ftp.o proxy_http.o \
  proxy_util.o
  
  all:	$(LIB)
  
  $(LIB): $(OBJS)
  	rm -f $@
  	ar cr $@ $(OBJS)
  	$(RANLIB) $@
  
  .c.o:
  	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
  
  clean:
  	rm -f *.o $(LIB)
  
  $(OBJS): Makefile
  
  # dependencies
  $(OBJS): mod_proxy.h $(INCDIR)/httpd.h $(INCDIR)/http_config.h $(INCDIR)/http_protocol.h
  proxy_cache.o proxy_connect.o proxy_http.o proxy_util.o: $(INCDIR)/http_main.h
  proxy_cache.o proxy_connect.o proxy_http.o: $(INCDIR)/http_log.h
  proxy_cache.o proxy_http.o: $(INCDIR)/util_date.h
  proxy_cache.o proxy_util.o: $(INCDIR)/md5.h
  proxy_ftp.o: $(INCDIR)/http_main.h ../standard/mod_mime.h
  
  
  
  1.5       +1 -1      apachen/src/modules/standard/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/standard/Makefile.tmpl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Makefile.tmpl	1997/09/16 07:48:42	1.4
  +++ Makefile.tmpl	1997/10/07 19:53:31	1.5
  @@ -137,7 +137,7 @@
   	$(INCDIR)/http_core.h $(INCDIR)/http_log.h
   
   mod_speling.o: mod_speling.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
  -	$(INCDIR)/os.h $(INCDIR)/os-inline.c $(INCDIR)/alloc.h \
  +	../../$(OSDIR)/os.h ../../$(OSDIR)/os-inline.c $(INCDIR)/alloc.h \
   	$(INCDIR)/buff.h $(INCDIR)/http_config.h $(INCDIR)/http_log.h
   
   mod_status.o: mod_status.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \
  
  
  
  1.9       +2 -10     apachen/src/os/unix/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/os/unix/Makefile.tmpl,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Makefile.tmpl	1997/09/24 21:32:06	1.8
  +++ Makefile.tmpl	1997/10/07 19:53:32	1.9
  @@ -1,21 +1,14 @@
   CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
   LIBS=$(EXTRA_LIBS) $(LIBS1)
  -INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
  +INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH2) $(EXTRA_INCLUDES)
   LFLAGS=$(LFLAGS1) $(EXTRA_LFLAGS)
   INCDIR=../../main
   
   OBJS=	os.o os-inline.o
  -COPY=	os.h os-inline.c
   
   LIB=	libos.a
   
  -all:	$(LIB) copy
  -
  -copy:
  -	for i in $(COPY); do  \
  -		rm -f $(INCDIR)/$$i ;\
  -		ln -s `pwd`/$$i $(INCDIR)/$$i ;\
  -	done
  +all:	$(LIB)
   
   $(LIB): $(OBJS)
   	rm -f $@
  @@ -26,7 +19,6 @@
   	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
   
   clean:
  -	for i in $(COPY); do  rm -f $(INCDIR)/$$i ; done
   	rm -f $(OBJS) $(LIB)
   
   $(OBJS): Makefile
  
  
  

Mime
View raw message