cvs commit: apache-1.3/src/support apxs.pl
rse 00/02/06 05:16:02 Modified:src CHANGES src/support apxs.pl Log: Fix handling of multiple queries in APXS commands (e.g. "apxs -q CC CFLAGS") and make sure Perl-related command line options (which can contain the "::" constructs) do no longer cause an incorrect internal parsing of the query result. Submitted by: Ralf S. Engelschall Hints by: Steve Robb <[EMAIL PROTECTED]> Revision ChangesPath 1.1512+6 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1511 retrieving revision 1.1512 diff -u -r1.1511 -r1.1512 --- CHANGES 2000/02/05 14:28:54 1.1511 +++ CHANGES 2000/02/06 13:15:59 1.1512 @@ -1,5 +1,11 @@ Changes with Apache 1.3.12 + *) Fix handling of multiple queries in APXS commands (e.g. "apxs -q + CC CFLAGS") and make sure Perl-related command line options (which + can contain the "::" constructs) do no longer cause an incorrect + internal parsing of the query result. + [Ralf S. Engelschall, Steve Robb <[EMAIL PROTECTED]>] + *) Avoid infinite looping in APACI's configure script inside Ultrix' /bin/sh5 upgrade step. [Jan Gallo <[EMAIL PROTECTED]>, Ralf S. Engelschall] PR#4940 1.32 +3 -3 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- apxs.pl 1999/12/16 16:10:30 1.31 +++ apxs.pl 2000/02/06 13:16:02 1.32 @@ -297,7 +297,7 @@ )) { if ($arg eq $name or $arg eq lc($name)) { my $val = eval "\$CFG_$name"; -$result .= "${val}::"; +$result .= "${val}##"; $ok = 1; } } @@ -306,8 +306,8 @@ exit(1); } } -$result =~ s|::$||; -$result =~ s|::| |; +$result =~ s|##$||; +$result =~ s|##| |g; print $result; }
cvs commit: apache-1.3/src/support apxs.pl apxs.8
rse 99/12/16 08:10:31 Modified:src CHANGES src/support apxs.pl apxs.8 Log: Consistency cleanup of the complete APXS tool and corresponding manpage after the numerous small recent changes. Revision ChangesPath 1.1481+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1480 retrieving revision 1.1481 diff -u -r1.1480 -r1.1481 --- CHANGES 1999/12/15 23:04:07 1.1480 +++ CHANGES 1999/12/16 16:10:25 1.1481 @@ -1,5 +1,8 @@ Changes with Apache 1.3.10 + *) Consistency cleanup of the complete APXS tool and corresponding manpage. + [Ralf S. Engelschall] + *) Add %q logging format directive (logs "?" and the query string part of a query, or the empty string if no query). Can be used in combination with %m, %U and %H: "%m %U%q %H" is the 1.31 +65 -69apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- apxs.pl 1999/12/07 00:03:24 1.30 +++ apxs.pl 1999/12/16 16:10:30 1.31 @@ -68,18 +68,18 @@ ## Configuration ## -my $CFG_TARGET= '@TARGET@';# substituted via Makefile.tmpl -my $CFG_CC= '@CC@';# substituted via Makefile.tmpl -my $CFG_CFLAGS= '@CFLAGS@';# substituted via Makefile.tmpl -my $CFG_CFLAGS_SHLIB = '@CFLAGS_SHLIB@'; # substituted via Makefile.tmpl -my $CFG_LD_SHLIB = '@LD_SHLIB@'; # substituted via Makefile.tmpl -my $CFG_LDFLAGS_SHLIB = q(@LDFLAGS_MOD_SHLIB@);# substituted via Makefile.tmpl -my $CFG_LIBS_SHLIB= '@LIBS_SHLIB@';# substituted via Makefile.tmpl -my $CFG_PREFIX= '@prefix@';# substituted via APACI install -my $CFG_SBINDIR = '@sbindir@'; # substituted via APACI install -my $CFG_INCLUDEDIR= '@includedir@';# substituted via APACI install -my $CFG_LIBEXECDIR= '@libexecdir@';# substituted via APACI install -my $CFG_SYSCONFDIR= '@sysconfdir@';# substituted via APACI install +my $CFG_TARGET= q(@TARGET@);# substituted via Makefile.tmpl +my $CFG_CC= q(@CC@);# substituted via Makefile.tmpl +my $CFG_CFLAGS= q(@CFLAGS@);# substituted via Makefile.tmpl +my $CFG_CFLAGS_SHLIB = q(@CFLAGS_SHLIB@); # substituted via Makefile.tmpl +my $CFG_LD_SHLIB = q(@LD_SHLIB@); # substituted via Makefile.tmpl +my $CFG_LDFLAGS_SHLIB = q(@LDFLAGS_MOD_SHLIB@); # substituted via Makefile.tmpl +my $CFG_LIBS_SHLIB= q(@LIBS_SHLIB@);# substituted via Makefile.tmpl +my $CFG_PREFIX= q(@prefix@);# substituted via APACI install +my $CFG_SBINDIR = q(@sbindir@); # substituted via APACI install +my $CFG_INCLUDEDIR= q(@includedir@);# substituted via APACI install +my $CFG_LIBEXECDIR= q(@libexecdir@);# substituted via APACI install +my $CFG_SYSCONFDIR= q(@sysconfdir@);# substituted via APACI install ## ## Cleanup the above stuff @@ -127,10 +127,10 @@ last; } $pos = index($argumentative,$first); -if($pos >= $[) { -if($args[$pos+1] eq ':') { +if ($pos >= $[) { +if ($args[$pos+1] eq ':') { shift(@ARGV); -if($rest eq '') { +if ($rest eq '') { unless (@ARGV) { print STDERR "apxs:Error: Incomplete option: $first (needs an argument)\n"; ++$errs; @@ -141,7 +141,7 @@ } elsif ($args[$pos+1] eq '+') { shift(@ARGV); -if($rest eq '') { +if ($rest eq '') { unless (@ARGV) { print STDERR "apxs:Error: Incomplete option: $first (needs an argument)\n"; ++$errs; @@ -152,7 +152,7 @@ } else { eval "\$opt_$first = 1"; -if($rest eq '') { +if ($rest eq '') { shift(@ARGV); } else { @@ -163,7 +163,7 @@ else { print STDERR "apxs:Error: Unknown option: $first\n"; ++$errs; -if($rest ne '') { +if ($rest ne '') { $ARGV[0] = "-$rest"; } else { @@ -197,39 +197,37 @@ my $name = 'unknown'; $name = $opt_n if ($o
cvs commit: apache-1.3/src/support apxs.pl
wsanchez99/12/06 16:03:26 Modified:src/support apxs.pl Log: If we can't open httpd.conf, print a warning, but don't die. Otherwise, you can't install a module into a package root. Revision ChangesPath 1.30 +11 -8 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- apxs.pl 1999/12/06 23:55:37 1.29 +++ apxs.pl 1999/12/07 00:03:24 1.30 @@ -510,15 +510,18 @@ } else { $content =~ s|^(.*\n)#?\s*$amd[^\n]*\n|$1$c$amd\n|sg; } -} + } if (@lmd or @amd) { -open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new") || die; -print FP $content; -close(FP); -system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf $CFG_SYSCONFDIR/$CFG_TARGET.conf.bak && " . - "cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " . - "rm $CFG_SYSCONFDIR/$CFG_TARGET.conf.new"); -} +if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) { +print FP $content; +close(FP); +system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf $CFG_SYSCONFDIR/$CFG_TARGET.conf.bak && " . + "cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " . + "rm $CFG_SYSCONFDIR/$CFG_TARGET.conf.new"); +} else { +print STDERR "unable to open configuration file\n"; +} + } } }
cvs commit: apache-1.3/src/support apxs.pl
wsanchez99/12/06 15:55:43 Modified:src/support apxs.pl Log: Perform check for "$CFG_SBINDIR/$CFG_TARGET" _after_ the command line overrides for CFG_SBINDIR and CFG_TARGET have been evaluated. Revision ChangesPath 1.29 +15 -15apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- apxs.pl 1999/10/27 07:22:48 1.28 +++ apxs.pl 1999/12/06 23:55:37 1.29 @@ -89,21 +89,6 @@ $CFG_CFLAGS =~ s|\s+`.+apaci`||; ## -## Initial shared object support check -## -if (not -x "$CFG_SBINDIR/$CFG_TARGET") { - print STDERR "apxs:Error: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; - exit(1); -} -if (not grep(/mod_so/, `$CFG_SBINDIR/$CFG_TARGET -l`)) { -print STDERR "apxs:Error: Sorry, no shared object support for Apache\n"; -print STDERR "apxs:Error: available under your platform. Make sure\n"; -print STDERR "apxs:Error: the Apache module mod_so is compiled into\n"; -print STDERR "apxs:Error: your server binary `$CFG_SBINDIR/$CFG_TARGET'.\n"; -exit(1); -} - -## ## parse argument line ## @@ -231,6 +216,21 @@ &usage; } } +} + +## +## Initial shared object support check +## +if (not -x "$CFG_SBINDIR/$CFG_TARGET") { + print STDERR "apxs:Error: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; + exit(1); +} +if (not grep(/mod_so/, `$CFG_SBINDIR/$CFG_TARGET -l`)) { +print STDERR "apxs:Error: Sorry, no shared object support for Apache\n"; +print STDERR "apxs:Error: available under your platform. Make sure\n"; +print STDERR "apxs:Error: the Apache module mod_so is compiled into\n"; +print STDERR "apxs:Error: your server binary `$CFG_SBINDIR/$CFG_TARGET'.\n"; +exit(1); } ##
cvs commit: apache-1.3/src/support apxs.pl
rse 99/10/27 00:22:50 Modified:src/support apxs.pl Log: Allow egcc and /path/to/gcc, too. Revision ChangesPath 1.28 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- apxs.pl 1999/09/05 18:04:42 1.27 +++ apxs.pl 1999/10/27 07:22:48 1.28 @@ -383,7 +383,7 @@ $opt = ''; my ($opt_Wl, $opt_L, $opt_l); foreach $opt_Wl (@opt_W) { - if($CFG_LD_SHLIB ne "gcc") { + if ($CFG_LD_SHLIB !~ m/gcc$/) { $opt .= " $1" if ($opt_Wl =~ m|^\s*l,(.*)$|); } else { $opt .= " -W$opt_Wl";
cvs commit: apache-1.3/src/support apxs.pl
coar99/09/05 11:04:44 Modified:src Configure src/support apxs.pl Log: APXS varfs on certain quoted strings as provided by Configure on DU. This is a stopgap fix, not a real one. Revision ChangesPath 1.371 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /home/cvs/apache-1.3/src/Configure,v retrieving revision 1.370 retrieving revision 1.371 diff -u -r1.370 -r1.371 --- Configure 1999/08/16 18:55:44 1.370 +++ Configure 1999/09/05 18:04:41 1.371 @@ -1140,7 +1140,7 @@ */gcc|gcc ) CFLAGS_SHLIB="-fpic" ;; */cc|cc ) CFLAGS_SHLIB="" ;; esac - LDFLAGS_SHLIB="-shared -expect_unresolved '*' -s" + LDFLAGS_SHLIB='-shared -expect_unresolved "*" -s' LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB LDFLAGS_SHLIB_EXPORT="" ;; 1.27 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- apxs.pl 1999/08/27 23:31:00 1.26 +++ apxs.pl 1999/09/05 18:04:42 1.27 @@ -73,7 +73,7 @@ my $CFG_CFLAGS= '@CFLAGS@';# substituted via Makefile.tmpl my $CFG_CFLAGS_SHLIB = '@CFLAGS_SHLIB@'; # substituted via Makefile.tmpl my $CFG_LD_SHLIB = '@LD_SHLIB@'; # substituted via Makefile.tmpl -my $CFG_LDFLAGS_SHLIB = '@LDFLAGS_MOD_SHLIB@'; # substituted via Makefile.tmpl +my $CFG_LDFLAGS_SHLIB = q(@LDFLAGS_MOD_SHLIB@);# substituted via Makefile.tmpl my $CFG_LIBS_SHLIB= '@LIBS_SHLIB@';# substituted via Makefile.tmpl my $CFG_PREFIX= '@prefix@';# substituted via APACI install my $CFG_SBINDIR = '@sbindir@'; # substituted via APACI install
cvs commit: apache-1.3/src/support apxs.pl
wsanchez99/08/27 16:31:09 Modified:src/support apxs.pl Log: When apxs compiles a .o file, it cc puts it into the current working directory. But then we're looking for the .o file in the directory that contains the .c file, and the link line breaks. So lets remove the path to the .c file when adding to @objs. Revision ChangesPath 1.26 +1 -0 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- apxs.pl 1999/07/24 18:05:02 1.25 +++ apxs.pl 1999/08/27 23:31:00 1.26 @@ -369,6 +369,7 @@ foreach $s (@srcs) { my $o = $s; $o =~ s|\.c$|.o|; +$o =~ s|^.*/||; push(@cmds, "$CFG_CC $cflags -I$CFG_INCLUDEDIR $opt -c $s"); unshift(@objs, $o); }
cvs commit: apache-1.3/src/support apxs.pl
rasmus 99/07/24 11:05:03 Modified:src Configure src/support apxs.pl Log: This builds DSO's correctly on linux2 using gcc -shared instead of ld -Bshareable. It also tweaks apxs to correctly pass -Wl args to the linker in case the linker is gcc and not ld. Theoretically all systems that use gcc should be using gcc -shared, but I have only tested this on linux2 so far and therefore have only turned it on for this platform. I will test other platforms as well, but could use some help. Revision ChangesPath 1.362 +2 -1 apache-1.3/src/Configure Index: Configure === RCS file: /home/cvs/apache-1.3/src/Configure,v retrieving revision 1.361 retrieving revision 1.362 diff -u -r1.361 -r1.362 --- Configure 1999/07/22 17:41:47 1.361 +++ Configure 1999/07/24 18:05:01 1.362 @@ -957,8 +957,9 @@ LDFLAGS_SHLIB_EXPORT="-rdynamic" ;; *-linux2) + LD_SHLIB="gcc" CFLAGS_SHLIB="-fpic" - LDFLAGS_SHLIB="-Bshareable" + LDFLAGS_SHLIB="-shared" LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB LDFLAGS_SHLIB_EXPORT="-rdynamic" SHLIB_SUFFIX_DEPTH=0 1.25 +5 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- apxs.pl 1999/07/09 21:44:32 1.24 +++ apxs.pl 1999/07/24 18:05:02 1.25 @@ -382,7 +382,11 @@ $opt = ''; my ($opt_Wl, $opt_L, $opt_l); foreach $opt_Wl (@opt_W) { -$opt .= " $1" if ($opt_Wl =~ m|^\s*l,(.*)$|); + if($CFG_LD_SHLIB ne "gcc") { + $opt .= " $1" if ($opt_Wl =~ m|^\s*l,(.*)$|); + } else { + $opt .= " -W$opt_Wl"; + } } foreach $opt_L (@opt_L) { $opt .= " -L$opt_L";
cvs commit: apache-1.3/src/support apxs.pl
lars99/03/15 14:47:37 Modified:src/support apxs.pl Log: fix double quote bug. PR: 4058 Submitted by: James Cloos <[EMAIL PROTECTED]> Reviewed by: Ralf, Lars Revision ChangesPath 1.20 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- apxs.pl 1999/03/14 03:53:03 1.19 +++ apxs.pl 1999/03/15 22:47:36 1.20 @@ -91,7 +91,7 @@ ## ## Initial shared object support check ## -if (not -x `$CFG_SBINDIR/$CFG_TARGET`) { +if (not -x "$CFG_SBINDIR/$CFG_TARGET") { print STDERR "apxs:Error: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; exit(1); }
cvs commit: apache-1.3/src/support apxs.pl
rasmus 99/03/13 19:53:04 Modified:src/support apxs.pl Log: Add a quick sanity check here. The binary could have been moved or the permissions changed which would cause the following grep for mos_so to fail which then resulted in a misleading error message being printed. We might also want to check for people who do ./configure --prefix=. and disallow it or replace it with the absolute path to the current dir since a $CFG_SBINDIR for ./bin in apxs doesn't make any sense. Revision ChangesPath 1.19 +4 -0 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- apxs.pl 1999/01/01 22:00:15 1.18 +++ apxs.pl 1999/03/14 03:53:03 1.19 @@ -91,6 +91,10 @@ ## ## Initial shared object support check ## +if (not -x `$CFG_SBINDIR/$CFG_TARGET`) { + print STDERR "apxs:Error: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; + exit(1); +} if (not grep(/mod_so/, `$CFG_SBINDIR/$CFG_TARGET -l`)) { print STDERR "apxs:Error: Sorry, no shared object support for Apache\n"; print STDERR "apxs:Error: available under your platform. Make sure\n";
cvs commit: apache-1.3/src/support apxs.pl
rse 99/01/01 14:00:16 Modified:src/support apxs.pl Log: A version example of 1.3b6-dev sounds really too obsolete... ;-) Revision ChangesPath 1.18 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- apxs.pl 1999/01/01 19:05:33 1.17 +++ apxs.pl 1999/01/01 22:00:15 1.18 @@ -569,7 +569,7 @@ ** **HTTP/1.1 200 OK **Date: Tue, 31 Mar 1998 14:42:22 GMT -**Server: Apache/1.3b6-dev +**Server: Apache/1.3.4 (Unix) **Connection: close **Content-Type: text/html **
cvs commit: apache-1.3/src/support apxs.pl
rse 98/12/25 07:51:26 Modified:src/support apxs.pl Log: Ops, messed up wording... Revision ChangesPath 1.16 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- apxs.pl 1998/12/02 17:17:17 1.15 +++ apxs.pl 1998/12/25 15:51:26 1.16 @@ -491,7 +491,7 @@ ##EOF## __DATA__ ## -## Makefile -- Apache for sample %NAME% module +## Makefile -- Build procedure for sample %NAME% Apache module ## Autogenerated via ``apxs -n %NAME% -g''. ##
cvs commit: apache-1.3/src/support apxs.pl
rse 98/12/02 09:17:18 Modified:src CHANGES src/support apxs.pl Log: Fix APXS tool: query variables LIBS_SHLIB and TARGET were not recognized and the usage page was inconsistent with the functionality and manpage. Revision ChangesPath 1.1158+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1157 retrieving revision 1.1158 diff -u -r1.1157 -r1.1158 --- CHANGES 1998/12/02 09:52:16 1.1157 +++ CHANGES 1998/12/02 17:17:13 1.1158 @@ -1,4 +1,8 @@ Changes with Apache 1.3.4 + + *) Fix APXS tool: query variables LIBS_SHLIB and TARGET were not recognized + and the usage page was inconsistent with the functionality and manpage. + [Ralf S. Engelschall] *) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command. They can occur multiple times and their arguments (`xxx') are passed AS 1.15 +2 -2 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- apxs.pl 1998/12/02 09:52:18 1.14 +++ apxs.pl 1998/12/02 17:17:17 1.15 @@ -189,7 +189,7 @@ print STDERR " apxs -c [-o ] [-D [=]] [-I ]\n"; print STDERR " [-L ] [-l ] [-Wc,] [-Wl,]\n"; print STDERR "...\n"; -print STDERR " apxs -i [-a] [-n ] ...\n"; +print STDERR " apxs -i [-a] [-A] [-n ] ...\n"; exit(1); } @@ -267,7 +267,7 @@ my $ok = 0; my $name; foreach $name (qw( -CC LD_SHLIB CFLAGS CFLAGS_SHLIB LDFLAGS_SHLIB +TARGET CC CFLAGS CFLAGS_SHLIB LD_SHLIB LDFLAGS_SHLIB LIBS_SHLIB PREFIX SBINDIR INCLUDEDIR LIBEXECDIR SYSCONFDIR )) { if ($arg eq $name or $arg eq lc($name)) {
cvs commit: apache-1.3/src/support apxs.pl
rse 98/11/19 08:41:16 Modified:src/support apxs.pl Log: Bring the `apxs -g -n foo' generated mod_foo.c in sync with current state of include files. Revision ChangesPath 1.12 +2 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- apxs.pl 1998/10/28 15:01:17 1.11 +++ apxs.pl 1998/11/19 16:41:12 1.12 @@ -568,7 +568,8 @@ #include "httpd.h" #include "http_config.h" -#include "conf.h" +#include "http_protocol.h" +#include "ap_config.h" /* The sample content handler */ static int %NAME%_handler(request_rec *r)
cvs commit: apache-1.3/src/support apxs.pl
rse 98/05/28 03:55:18 Modified:src/support apxs.pl Log: Make the generated Makefile from APXS more user friendly by providing more (adjustable) defines and a test target similar to the one mentioned in the generated mod_xxx.c file. Revision ChangesPath 1.9 +15 -6 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- apxs.pl 1998/05/27 18:25:12 1.8 +++ apxs.pl 1998/05/28 10:55:18 1.9 @@ -483,25 +483,34 @@ ## Autogenerated via ``apxs -n %NAME% -g''. ## -# additional defines and includes +# the used tools +APXS=apxs +APACHECTL=apachectl + +# additional defines, includes and libraries #DEF=-Dmy_define=my_value #INC=-Imy/include/dir +#LIB=-Lmy/lib/dir -lmylib # the default target all: mod_%NAME%.so # compile the shared object file mod_%NAME%.so: mod_%NAME%.c - apxs -c $(DEF) $(INC) mod_%NAME%.c + $(APXS) -c $(DEF) $(INC) $(LIB) mod_%NAME%.c # install the shared object file into Apache install: all - apxs -i -a -n '%NAME%' mod_%NAME%.so + $(APXS) -i -a -n '%NAME%' mod_%NAME%.so # cleanup clean: -rm -f mod_%NAME%.o mod_%NAME%.so +# simple test +test: reload + lynx -mime_header http://localhost/%NAME% + # install and activate shared object by reloading Apache to # force a reload of the shared object file reload: install restart @@ -509,11 +518,11 @@ # the general Apache start/restart/stop # procedures start: - apachectl start + $(APACHECTL) start restart: - apachectl restart + $(APACHECTL) restart stop: - apachectl stop + $(APACHECTL) stop -=#=- /*
cvs commit: apache-1.3/src/support apxs.pl
rse 98/05/27 11:25:13 Modified:src/support apxs.pl Log: Fix broken comment of generated Makefile. Revision ChangesPath 1.8 +2 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- apxs.pl 1998/05/12 12:13:54 1.7 +++ apxs.pl 1998/05/27 18:25:12 1.8 @@ -506,7 +506,8 @@ # force a reload of the shared object file reload: install restart -# the general Apache start/restart/top # procedures +# the general Apache start/restart/stop +# procedures start: apachectl start restart:
cvs commit: apache-1.3/src/support apxs.pl
rse 98/05/06 08:18:04 Modified:.STATUS INSTALL Makefile.tmpl src CHANGES Configure src/include http_config.h src/main http_config.c src/modules/standard mod_so.c src/support apxs.pl Log: Make sure the module execution order is correct even when some modules are loaded under runtime (`LoadModule') via the DSO mechanism: 1. The list of loaded modules is now a dynamically allocated one and not the original statically list from modules.c 2. The loaded modules are now correctly setup by LoadModule for later use by the AddModule command. 3. When the DSO mechanism for modules is used APACI's `install' target now enables all created `LoadModule' lines per default because this is both already expected by the user _and_ needed to avoid confusion with the next point and reduces the Makefile.tmpl complexity 4. When the DSO mechanism for modules is used, APACI's `install' target now additionally makes sure the module list is reconstructed via a complete `ClearModuleList+AddModule...' entry. 5. The support tool `apxs' now also makes sure an AddModule command is added in addition to the LoadModule command. 6. The modules.c generation was extended to now contain two comments to make sure no one is confused by the confusing terminology of loading/linking (we use load=link+load & link=activate instead of the obvious load=activate & link=link :-( ) This way now there is no longer a difference under execution time between statically and dynamically linked modules. Submitted by: Ralf S. Engelschall Reviewed by: Brian Behlendorf, Jim Jim Jagielski Revision ChangesPath 1.379 +0 -7 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.378 retrieving revision 1.379 diff -u -r1.378 -r1.379 --- STATUS1998/05/06 12:27:33 1.378 +++ STATUS1998/05/06 15:17:56 1.379 @@ -11,13 +11,6 @@ FINAL RELEASE SHOWSTOPPERS: -* Ralf's "[PATCH] Fix module execution order for DSO situation (take 2)": - This is the final patch for 1.3b7 to make sure the module execution - order is correct even when the DSO mechanism is used. This is mainly - achieved by fixing the AddModule command. - See: http://www.engelschall.com/sw/apache/ [dsoexecorder] - Status: Ralf +1, Brian +1, Jim +1 - * Someone other than Dean has to do a security/correctness review on psprintf(), bprintf(), and ap_snprintf(). In particular these routines do lots of fun pointer manipulations and such and possibly have overflow 1.24 +2 -12 apache-1.3/INSTALL Index: INSTALL === RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- INSTALL 1998/04/30 11:32:03 1.23 +++ INSTALL 1998/05/06 15:17:56 1.24 @@ -237,20 +237,10 @@ module because there are variants like `--enable-shared=all' which should not imply `--enable-module=all'. - Note 2: The --enable-shared option only implies the preparation of - LoadModule commands in the httpd.conf file for the "make - install" procedure. But these LoadModule lines are per - default out-commented. So, --enable-shared does not imply the - automatic use of the module. The only exception are modules - which have to be enabled because of their usage in the - provided sample configuration. To actually use DSO-based - modules you have to uncomment the corresponding LoadModule - lines in PREFIX/etc/httpd.conf after "make install". - - Note 3: Per default the DSO mechanism is globally disabled, i.e. no + Note 2: Per default the DSO mechanism is globally disabled, i.e. no modules are build as shared objects. - Note 4: The usage of any --enable-shared option automatically implies + Note 3: The usage of any --enable-shared option automatically implies a --enable-module=so option because the bootstrapping module mod_so is always needed for DSO support. 1.32 +12 -18apache-1.3/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/Makefile.tmpl,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- Makefile.tmpl 19
cvs commit: apache-1.3/src/support apxs.pl
rse 98/05/06 08:04:12 Modified:src/include http_protocol.h src/support apxs.pl Log: Fix APXS -g option after the Big Renaming. Revision ChangesPath 1.43 +2 -2 apache-1.3/src/include/http_protocol.h Index: http_protocol.h === RCS file: /export/home/cvs/apache-1.3/src/include/http_protocol.h,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- http_protocol.h 1998/05/03 17:31:09 1.42 +++ http_protocol.h 1998/05/06 15:04:11 1.43 @@ -77,9 +77,9 @@ const char *fieldval); /* Send the minimal part of an HTTP response header... but modules should be - * very careful about using this, and should prefer send_http_header(). + * very careful about using this, and should prefer ap_send_http_header(). * Much of the HTTP/1.1 implementation correctness depends on code in - * send_http_header(). + * ap_send_http_header(). */ API_EXPORT(void) ap_basic_http_header(request_rec *r); 1.5 +2 -2 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- apxs.pl 1998/04/15 09:46:57 1.4 +++ apxs.pl 1998/05/06 15:04:12 1.5 @@ -543,9 +543,9 @@ static int %NAME%_handler(request_rec *r) { r->content_type = "text/html"; -send_http_header(r); +ap_send_http_header(r); if (!r->header_only) -rputs("The sample page from mod_%NAME%.c\n", r); +ap_rputs("The sample page from mod_%NAME%.c\n", r); return OK; }
cvs commit: apache-1.3/src/support apxs.pl
rse 98/04/15 02:46:58 Modified:src/support apxs.pl Log: Final cosmetics: Create LoadModule lines with same style as APACI's "make install" target. Revision ChangesPath 1.4 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- apxs.pl 1998/04/03 13:29:07 1.3 +++ apxs.pl 1998/04/15 09:46:57 1.4 @@ -410,7 +410,7 @@ my $dir = $CFG_LIBEXECDIR; $dir =~ s|^$CFG_PREFIX/?||; $dir =~ s|(.)$|$1/|; -push(@lmd, "LoadModule ${name}_module $dir$t"); +push(@lmd, sprintf("LoadModule %-18s %s", "${name}_module", "$dir$t")); } # execute the commands
cvs commit: apache-1.3/src/support apxs.pl apxs.8
rse 98/04/03 05:29:08 Modified:.STATUS src CHANGES src/support apxs.pl apxs.8 Log: Add query option to APXS for manually determining setting. Revision ChangesPath 1.257 +1 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.256 retrieving revision 1.257 diff -u -r1.256 -r1.257 --- STATUS1998/04/03 12:12:48 1.256 +++ STATUS1998/04/03 13:29:03 1.257 @@ -136,6 +136,7 @@ * Martin's fix accept (and pass) http://user:[EMAIL PROTECTED] proxy requests * Martin's fix CONNECT proxy handling again * Ralf's fallback strategy for DSO by trying to guess flags from Perl +* Ralf's add of the query (-q) option to apxs Available Patches: 1.754 +6 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.753 retrieving revision 1.754 diff -u -r1.753 -r1.754 --- CHANGES 1998/04/03 12:12:50 1.753 +++ CHANGES 1998/04/03 13:29:05 1.754 @@ -1,5 +1,11 @@ Changes with Apache 1.3b6 + *) Add query (-q) option to apxs support tool to be able to manually query + specific settings from apxs. This is needed for instance when you + manually want to access Apache's header files and you need to assemble + the -I option. Now you can do -I`apxs -q INCLUDEDIR`. + [Ralf S. Engelschall] + *) Now src/Configure uses a fallback strategy for the shared object support on platforms where no explicit information is available: If a Perl installation exists we ask it about its shared object support and if it's 1.3 +52 -14apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- apxs.pl 1998/04/01 11:48:28 1.2 +++ apxs.pl 1998/04/03 13:29:07 1.3 @@ -75,11 +75,18 @@ my $CFG_LDFLAGS_SHLIB = '@LDFLAGS_SHLIB@'; # substituted via Makefile.tmpl my $CFG_PREFIX= '@prefix@';# substituted via APACI install my $CFG_SBINDIR = '@sbindir@'; # substituted via APACI install -my $CFG_INCDIR= '@includedir@';# substituted via APACI install +my $CFG_INCLUDEDIR= '@includedir@';# substituted via APACI install my $CFG_LIBEXECDIR= '@libexecdir@';# substituted via APACI install my $CFG_SYSCONFDIR= '@sysconfdir@';# substituted via APACI install ## +## Cleanup the above stuff +## +$CFG_CFLAGS =~ s|^\s+||; +$CFG_CFLAGS =~ s|\s+$||; +$CFG_CFLAGS =~ s|\s+`.+apaci`||; + +## ## Initial shared object support check ## if (not grep(/mod_so/, `$CFG_SBINDIR/httpd -l`)) { @@ -106,6 +113,7 @@ my $opt_i = 0; my $opt_a = 0; my $opt_A = 0; +my $opt_q = 0; # this subroutine is derived from Perl's getopts.pl with the enhancement of # the "+" metacharater at the format string to allow a list to be build by @@ -173,21 +181,23 @@ } sub usage { -print STDERR "apxs:Usage: apxs -g -n \n"; -print STDERR "apxs:Usage: apxs -c [-o mod_.so] [-D..] [-I..] [-l..] [-L..] mod_.c ...\n"; -print STDERR "apxs:Usage: apxs -i [-e] [-n ] mod_.so ...\n"; +print STDERR "Usage: apxs -g -n \n"; +print STDERR " apxs -q ...\n"; +print STDERR " apxs -c [-o ] [-D [=]] [-I ]\n"; +print STDERR " [-L ] [-l ] ...\n"; +print STDERR " apxs -i [-a] [-n ] ...\n"; exit(1); } # option handling my $rc; -($rc, @ARGV) = &Getopts("n:gco:I+D+L+l+iaA", @ARGV); +($rc, @ARGV) = &Getopts("qn:gco:I+D+L+l+iaA", @ARGV); &usage if ($rc == 0); &usage if ($#ARGV == -1 and not $opt_g); -&usage if (not ($opt_g and $opt_n) and not $opt_i and not $opt_c); +&usage if (not $opt_q and not ($opt_g and $opt_n) and not $opt_i and not $opt_c); # argument handling -my @files = @ARGV; +my @args = @ARGV; my $name = 'unknown'; $name = $opt_n if ($opt_n ne ''); @@ -240,6 +250,37 @@ exit(0); } + +if ($opt_q) { +## +## QUERY INFORMATION +## + +my $result = ''; +my $arg; +foreach $arg (@args) { +my $ok = 0; +my $name; +foreach $name (qw( +CC LD CFLAGS CFLAGS_SHLIB LDFLAGS_SHLIB +PREFIX SBINDIR INCLUDEDIR LIBEXECDIR SYSCONFDIR +)) { +if ($arg eq $name or $arg eq lc($name)) { +my $val = eval "\$CFG_$name"; +$result .= "${val}::"; +$ok = 1;
cvs commit: apache-1.3/src/support apxs.pl
rse 98/04/01 03:48:29 Modified:src/support apxs.pl Log: Perl 5.003 should work, too. Because apxs.pl uses "my" only as stand-alone and not inside any control structure (only in Perl 5.004). But a lot of systems have Perl 5.003 or 5.003_XX installed. Revision ChangesPath 1.2 +1 -1 apache-1.3/src/support/apxs.pl Index: apxs.pl === RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- apxs.pl 1998/03/31 15:46:17 1.1 +++ apxs.pl 1998/04/01 11:48:28 1.2 @@ -60,7 +60,7 @@ ## Written by Ralf S. Engelschall <[EMAIL PROTECTED]> ## -require 5.004; +require 5.003; use strict; package apxs;