[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Fix for #699 XML parser not detected at configure time

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: 2005-12-07 13:05:00 CET

Hi All,

[[[
Fundamentally there is a difference in the way expat(actually expat.h) is
identified in the build system between the apr-util and neon.
The apr-util explicitly identifies the expat in /usr, /usr/local whereas neon
hands off the task to AC_CHECK_HEADER autoconf macro which just relies on the
default behaviour of $(CC), $(CFLAGS) $(CPPFLAGS) which seems to be fine in my
gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) to identify expat located in
/usr/local.

Anyway could reproduce the issue with the following command line after renaming
all the instances of xml-config, xml-config2, expat.h libxml2.so, libxml.so,
libexpat.so in /usr/include and /usr/lib dir and copying the libexpat.so and
expat.h to /usr/local/lib and /usr/local/include respectively.

./configure CFLAGS='-nostdinc -I/path/to/build/dir/neon/ -I/usr/include
-I/usr/lib/gcc/<Your vendor info>/<Your gcc-version>/include
-I/usr/include/linux' CPPFLAGS='-nostdinc -I/usr/include -I/usr/include/linux'

Warning the above command line is just to reproduce the defect as that of the
original defect that is why the ugly -I/path/to/build/dir/neon/ given or else
/usr/include/linux/config.h will get included rather that neon config.h file.

The fix actually runs the configure for neon with CFLAGS and LDFLAGS set to /usr/local/include /usr/local/lib respectively for this special case if we can see the /usr/local/include/expat.h.
]]]

With regards
Kamesh Jayachandran

Index: build/ac-macros/neon.m4
===================================================================
--- build/ac-macros/neon.m4 (revision 17660)
+++ build/ac-macros/neon.m4 (working copy)
@@ -79,6 +79,12 @@
           # there, otherwise, neon is on its own to find expat.
           if test -f "$abs_builddir/apr-util/xml/expat/lib/expat.h" ; then
             args="$args --with-expat='$abs_builddir/apr-util/xml/expat/lib/libexpat.la'"
+ else
+ #Fundamentally there is a difference in the way expat(actually expat.h) is identified in the build system between the apr-util and neon. apr-util explicitly identifies the expat in /usr, /usr/local whereas neon hands off the task to AC_CHECK_HEADER autoconf macro which just relies on the default behaviour of $(CC), $(CFLAGS) $(CPPFLAGS) which seems to be fine in my gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) to identify expat located in /usr/local. Anyway could reproduce the issue with the following command line after renaming all the instances of xml-config, xml-config2, expat.h libxml2.so, libxml.so, libexpat.so in /usr/include and /usr/lib dir and copying the libexpat.so and expat.h to /usr/local/lib and /usr/local/include respectively.
+ #./configure CFLAGS='-nostdinc -I/path/to/build/dir/neon/ -I/usr/include -I/usr/lib/gcc/<Your vendor info>/<Your gcc-version>/include -I/usr/include/linux' CPPFLAGS='-nostdinc -I/usr/include -I/usr/include/linux'
+ if test -f /usr/local/include/expat.h; then
+ args="$args CFLAGS='$CFLAGS -I/usr/local/include' LDFLAGS='$LDFLAGS -L/usr/local/lib'"
+ fi
           fi
           SVN_SUBDIR_CONFIG(neon, $args)
 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 7 13:05:29 2005

This is an archived mail posted to the Subversion Dev mailing list.