You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Greg Stein <gs...@lyra.org> on 2001/10/08 17:40:30 UTC
Re: cvs commit: apache-1.3/src CHANGES Configuration.tmpl Configure
-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/
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/