SUMMARY: no worries for 1.3.21; the effect is a less-than-optimal fatal error message. Will patch in a moment.
----- Whoops... yes, there *is* a logic error there. The logic should be checking for the presence of ./lib/expat-lite Oh... crap. And yes... now I see what you mean about the typo managing to make this work. grr grumble. All righty. My original note stands about the purpose of the check (re: the point about wanting to disable the use of the system expat). But the check there is wrong. This will *not* affect the 1.3.21 release. The check is simply to provide a nice error message when lib/expat-lite is *removed* from the source distribution. We don't do that, and specifically decided against offering that as a choice in *our* distributions (third parties could always choose to do so). Should lib/expat-lite be missing, then in the *default* case, RULE_EXPAT will be set to no, and we'd be set. The real problem comes up with a redistributor or third-party module setting RULE_EXPAT to yes and no system expat, and no expat-lite. In this case, the "nice" error message will fail to trigger, and we'll end up with a failure trying to config/build the (missing) expat-lite directory. Thanks for locating this Jim! Cheers, -g On Thu, Oct 04, 2001 at 11:37:55AM -0400, Jim Jagielski wrote: > Just saw this in Configure after Cliff's note (which is resolved): > > #################################################################### > ## Add in the Expat library if needed/wanted. > ## > > # 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 > echo " + using system Expat" > LIBS="$LIBS -lexpat" > else > if [ "$xRULE_EXPAT" = "xyes" ]; 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" > fi > fi > > Note the line above the '^^^^'. Luckily, this section still works > as required (lucky typo)... But there's a mismatch of logic here, regarding > what the EXPAT rule really means... Right now, if there's a system > expat lib, it will *always* be chosen, and there's no way to bypass > that. Up to now, I think we've always been using expat-lite... Because > of this, it's pretty important that we test out 1.3.21 as well as > possible, especially with those platforms that provide expat. I > don't think there's a need to hold off on 1.3.21 at present though. > > Sorry I didn't notice this sooner... After the dust settles I'll > adjust this section to deal with the new logic. > -- > =========================================================================== > Jim Jagielski [|] [EMAIL PROTECTED] [|] http://www.jaguNET.com/ > "A society that will trade a little liberty for a little order > will lose both and deserve neither" -- Greg Stein, http://www.lyra.org/
