You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2001/10/08 16:29:31 UTC
cvs commit: apache-1.3/src CHANGES Configuration.tmpl Configure
jim 01/10/08 07:29:31
Modified: src CHANGES Configuration.tmpl Configure
Log:
Fix the EXPAT logic to the new meaning... Before, it was simply there to
check that expat-lite existed, which was kind of bogus... Now, we
allow it to choose which Expat we want. We prefer the system's Expat
if available but will use expat-lite as a backup. We can also bypass
that as well.
Revision Changes Path
1.1727 +5 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1726
retrieving revision 1.1727
diff -u -r1.1726 -r1.1727
--- CHANGES 2001/10/06 22:01:10 1.1726
+++ CHANGES 2001/10/08 14:29:30 1.1727
@@ -1,5 +1,10 @@
Changes with Apache 1.3.22
+ *) Change to the EXPAT rule logic. We can now use the system's expat
+ library if we want, use our own expat-lite or have Configure
+ pick one for us (prefer system, but use expat-lite as a backup).
+ [Jim Jagielski, Greg Stein]
+
*) The manual directory is still configurable (as enabled by
the 1.3.21 change), but its default setting was reverted to
the pre-1.3.21 default as a subdirectory of the DocumentRoot.
1.122 +6 -4 apache-1.3/src/Configuration.tmpl
Index: Configuration.tmpl
===================================================================
RCS file: /home/cvs/apache-1.3/src/Configuration.tmpl,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -r1.121 -r1.122
--- Configuration.tmpl 1999/08/14 08:35:43 1.121
+++ Configuration.tmpl 2001/10/08 14:29:30 1.122
@@ -161,10 +161,12 @@
# actually print-out the code that the modules execute
#
# EXPAT:
-# Include James Clark's Expat package into Apache, for use by the
-# modules. The "default" is to include it if the lib/expat-lite/
-# directory is present. This rule will always be interpreted as "no"
-# if the directory is not present.
+# Apache requires an Expat package and includes James Clark's Expat
+# package (expat-lite) with the distribution. This determines
+# whether you want to include the system's Expat library ('yes'),
+# expat-lite ('no') or prefer the system Expat if available but choose
+# expat-lite if not ('default'). Note that if set to 'yes' and
+# libexpat.a cannot be found, the build will fail.
#
Rule SOCKS4=no
1.439 +17 -23 apache-1.3/src/Configure
Index: Configure
===================================================================
RCS file: /home/cvs/apache-1.3/src/Configure,v
retrieving revision 1.438
retrieving revision 1.439
diff -u -r1.438 -r1.439
--- Configure 2001/10/08 13:59:39 1.438
+++ Configure 2001/10/08 14:29:30 1.439
@@ -1847,33 +1847,27 @@
fi
####################################################################
-## Add in the Expat library if needed/wanted.
+## Add in the Expat library. Choose whether we want the system's
+## version ('yes'), our version (expat-lite) ('no') or for Configure
+## to choose for us ('default' - system is prefered if available).
##
-# set the default, based on whether expat-lite is bundled. if it is present,
-# then we can always include expat.
-if [ "x$RULE_EXPAT" = "xdefault" ]; then
- if [ -d ./lib/expat-lite/ ]; then
- RULE_EXPAT=yes
- else
- RULE_EXPAT=no
- fi
-fi
-
-if [ "x$RULE_EXPAT" = "xyes" ]; then
- if ./helpers/TestCompile lib expat; then
+if ./helpers/TestCompile lib expat && [ "x$RULE_EXPAT" != "xno" ]; then
echo " + using system Expat"
- LIBS="$LIBS -lexpat"
- else
- if [ ! -d ./lib/expat-lite/ ]; then
- echo "ERROR: RULE_EXPAT set to \"yes\" but is not available."
- exit 1
- fi
- echo " + using builtin Expat"
- EXPATLIB="lib/expat-lite/libexpat.a"
- APLIBDIRS="expat-lite $APLIBDIRS"
- CFLAGS="$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat-lite"
+ LIBS="$LIBS -lexpat"
+else
+ if [ "x$RULE_EXPAT" = "xyes" ]; then
+ echo "ERROR: RULE_EXPAT set to \"yes\" but is not available."
+ exit 1
+ fi
+ if [ ! -d ./lib/expat-lite/ ]; then
+ echo "Bundled expat-lite package not available."
+ exit 1
fi
+ echo " + using builtin Expat"
+ EXPATLIB="lib/expat-lite/libexpat.a"
+ APLIBDIRS="expat-lite $APLIBDIRS"
+ CFLAGS="$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat-lite"
fi
####################################################################
Re: cvs commit: apache-1.3/src CHANGES Configuration.tmpl Configure
Posted by Greg Stein <gs...@lyra.org>.
On Mon, Oct 08, 2001 at 12:26:51PM -0400, Jim Jagielski wrote:
> Greg Stein wrote:
>...
> > RULE_EXPAT is for including expat, not for selecting which one.
> >
> > The interesting choices, which were coded properly(*) before your change:
> >
> > * use system if available; otherwise, use builtin
> > * don't include expat from anywhere
> > * if available somewhere, then use it; otherwise, skip
>
> OK... I completely misunderstood the logic of what you were trying to
> implement... Do you want to reverse the patch or me?
Please go ahead. If you're strapped for time, then just let me know.
Thanks,
-g
--
Greg Stein, http://www.lyra.org/
Re: cvs commit: apache-1.3/src CHANGES Configuration.tmpl Configure
Posted by Greg Stein <gs...@lyra.org>.
On Mon, Oct 08, 2001 at 12:00:26PM -0400, Jim Jagielski wrote:
>...
> Except, of course, that your logic didn't work. What is needed is some
> way to say "use system, use expat-lite or use whichever you find first
> (prefer system)". If we *don't* provide a choice, then why have
> any sort of rule in the 1st place?? If EXPAT 'no' means Don't Use
> expat-lite then that's easy to fix.
RULE_EXPAT is for including expat, not for selecting which one.
The interesting choices, which were coded properly(*) before your change:
* use system if available; otherwise, use builtin
* don't include expat from anywhere
* if available somewhere, then use it; otherwise, skip
These correspond to Yes, No, and Default.
If there is a system expat available, then there is no reason to choose the
builtin one. That is not a required option. The system version is *always*
preferable.
Note that Martin checked in something (accidentally, I presume, based on the
rest of the commit) to this section of code, so reverting your change might
be a bit trickier. But your change does need to be reverted. The previous
code implemented the proper logic.
Cheers,
-g
(*) I did make a tweak post .21 tag which fixed a case where expat-lite was
removed from the source bundle (you had pointed out the typo/logic issue on
that one), but the code always implemented the right set of choices
--
Greg Stein, http://www.lyra.org/
Re: cvs commit: apache-1.3/src CHANGES Configuration.tmpl Configure
Posted by Greg Stein <gs...@lyra.org>.
-1. Big time veto.
What the heck is this? RULE_EXPAT=no means *NO EXPAT*, not "use expat-lite"
I have no idea where you got this idea for what RULE_EXPAT means, nor why my
name might be on the CHANGES with it (I certainly don't agree with this).
The mod_perl guys have gotten *very* used to using RULE_EXPAT=no to keep
expat-lite from being included into Apache, thus to prevent symbol conflict.
What you've done is to completely reverse that logic for them. Now they will
*definitely* get expat-lite, thus getting sym conflicts.
The whole point of my change to this logic a few days ago was to use the
system Expat whenever possible because it solves the sym conflict issue.
-g
On Mon, Oct 08, 2001 at 02:29:31PM -0000, jim@apache.org wrote:
> jim 01/10/08 07:29:31
>
> Modified: src CHANGES Configuration.tmpl Configure
> Log:
> Fix the EXPAT logic to the new meaning... Before, it was simply there to
> check that expat-lite existed, which was kind of bogus... Now, we
> allow it to choose which Expat we want. We prefer the system's Expat
> if available but will use expat-lite as a backup. We can also bypass
> that as well.
>
> Revision Changes Path
> 1.1727 +5 -0 apache-1.3/src/CHANGES
>
> Index: CHANGES
> ===================================================================
> RCS file: /home/cvs/apache-1.3/src/CHANGES,v
> retrieving revision 1.1726
> retrieving revision 1.1727
> diff -u -r1.1726 -r1.1727
> --- CHANGES 2001/10/06 22:01:10 1.1726
> +++ CHANGES 2001/10/08 14:29:30 1.1727
> @@ -1,5 +1,10 @@
> Changes with Apache 1.3.22
>
> + *) Change to the EXPAT rule logic. We can now use the system's expat
> + library if we want, use our own expat-lite or have Configure
> + pick one for us (prefer system, but use expat-lite as a backup).
> + [Jim Jagielski, Greg Stein]
> +
> *) The manual directory is still configurable (as enabled by
> the 1.3.21 change), but its default setting was reverted to
> the pre-1.3.21 default as a subdirectory of the DocumentRoot.
>
>
>
> 1.122 +6 -4 apache-1.3/src/Configuration.tmpl
>
> Index: Configuration.tmpl
> ===================================================================
> RCS file: /home/cvs/apache-1.3/src/Configuration.tmpl,v
> retrieving revision 1.121
> retrieving revision 1.122
> diff -u -r1.121 -r1.122
> --- Configuration.tmpl 1999/08/14 08:35:43 1.121
> +++ Configuration.tmpl 2001/10/08 14:29:30 1.122
> @@ -161,10 +161,12 @@
> # actually print-out the code that the modules execute
> #
> # EXPAT:
> -# Include James Clark's Expat package into Apache, for use by the
> -# modules. The "default" is to include it if the lib/expat-lite/
> -# directory is present. This rule will always be interpreted as "no"
> -# if the directory is not present.
> +# Apache requires an Expat package and includes James Clark's Expat
> +# package (expat-lite) with the distribution. This determines
> +# whether you want to include the system's Expat library ('yes'),
> +# expat-lite ('no') or prefer the system Expat if available but choose
> +# expat-lite if not ('default'). Note that if set to 'yes' and
> +# libexpat.a cannot be found, the build will fail.
> #
>
> Rule SOCKS4=no
>
>
>
> 1.439 +17 -23 apache-1.3/src/Configure
>
> Index: Configure
> ===================================================================
> RCS file: /home/cvs/apache-1.3/src/Configure,v
> retrieving revision 1.438
> retrieving revision 1.439
> diff -u -r1.438 -r1.439
> --- Configure 2001/10/08 13:59:39 1.438
> +++ Configure 2001/10/08 14:29:30 1.439
> @@ -1847,33 +1847,27 @@
> fi
>
> ####################################################################
> -## Add in the Expat library if needed/wanted.
> +## Add in the Expat library. Choose whether we want the system's
> +## version ('yes'), our version (expat-lite) ('no') or for Configure
> +## to choose for us ('default' - system is prefered if available).
> ##
>
> -# set the default, based on whether expat-lite is bundled. if it is present,
> -# then we can always include expat.
> -if [ "x$RULE_EXPAT" = "xdefault" ]; then
> - if [ -d ./lib/expat-lite/ ]; then
> - RULE_EXPAT=yes
> - else
> - RULE_EXPAT=no
> - fi
> -fi
> -
> -if [ "x$RULE_EXPAT" = "xyes" ]; then
> - if ./helpers/TestCompile lib expat; then
> +if ./helpers/TestCompile lib expat && [ "x$RULE_EXPAT" != "xno" ]; then
> echo " + using system Expat"
> - LIBS="$LIBS -lexpat"
> - else
> - if [ ! -d ./lib/expat-lite/ ]; then
> - echo "ERROR: RULE_EXPAT set to \"yes\" but is not available."
> - exit 1
> - fi
> - echo " + using builtin Expat"
> - EXPATLIB="lib/expat-lite/libexpat.a"
> - APLIBDIRS="expat-lite $APLIBDIRS"
> - CFLAGS="$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat-lite"
> + LIBS="$LIBS -lexpat"
> +else
> + if [ "x$RULE_EXPAT" = "xyes" ]; then
> + echo "ERROR: RULE_EXPAT set to \"yes\" but is not available."
> + exit 1
> + fi
> + if [ ! -d ./lib/expat-lite/ ]; then
> + echo "Bundled expat-lite package not available."
> + exit 1
> fi
> + echo " + using builtin Expat"
> + EXPATLIB="lib/expat-lite/libexpat.a"
> + APLIBDIRS="expat-lite $APLIBDIRS"
> + CFLAGS="$CFLAGS -DUSE_EXPAT -I\$(SRCDIR)/lib/expat-lite"
> fi
>
> ####################################################################
>
>
>
--
Greg Stein, http://www.lyra.org/