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

Using a system neon in subversion

From: Kevin Pilch-Bisson <kevin_at_pilch-bisson.net>
Date: 2001-10-25 14:36:52 CEST

Hey all,

I spent most of yesterday getting subversion to work with a system installed
neon and apr. After using David Kimdon's patch (with some mods), gstein
mentioned on irc that neon packages some macros for using it, so I started
looking at using them instead of the hand written ones.

I decided in the end to just use the one David Kimdon provided for the
following reasons.

1) Our setup is a little different than what neon expects. We want to use
a bundled neon if present, and fall back to a system if there isn't a bundled
version, whereas the neon macros expect the opposite.

2) When neon is bundled, it expects the parent configure.in to do all of the
necessary checks for neon, and substitute its output into neon's makefile. The
problem with this is that it means we need to include three of neon's .m4 file
(neon.m4, neon-xml-paser.m4, and neon-socks.m4) in our distribution, causing
possible version skew, when neon changes those files.

What I would really love neon to do is to provide two small, simple m4 macros.
The first would check for a bundled neon (which we could then run configure on,
so that we don't have to include our own version of their .m4 files). The
second would just check for an system neon install. (In fact, the second one
is there). Just writing this, I thought of a different way to do this, which
might be simpler.

I might decide to use the provided macro for a system neon, and go with
something like this:

if test -d "neon" ;
    NEON_VERSION=`ac-helpers/get-neon-ver.sh neon`
    if test "$NEON_WANTED" != $NEON_VERSION"; then
        # tell user wrong version of neon
    else
        # run configure in neon
    fi
    NEON_SUBDIR="neon"
    NEON_LIBS=`$SHELL $abs_builddir/neon/neon-config --libs | sed -e "s/-lneon//g"`"$abs_builddir/neon/src/libneon.la"
else
    NEON_LIBRARY
    NEON_REQUIRE(0,17)
fi
AC_SUBST(NEON_SUBDIR)
AC_SUBST(NEON_LIBS)

With this approach we should only need to include the neon.m4 from neon, not
anything else (although there is still the possibility of version skew in that
file.

FWIW here's the not completely working version I was working on using NEON's
macros for configuring:

AC_MSG_CHECKING(for bundled neon)
echo ""
neon_bundled_srcdir="$abs_srcdir/neon/src"
neon_bundled_builddir="$abs_builddir/neon/src"
neon_force_included="yes"
NEON_COMMON
if test -n "$NEON_LIBS" ; then
  NEON_SUBDIR="neon/src"
  neon_expat_dir=expat-lite/libexpat.la
  NEON_XML_EXTERNAL_EXPAT
  NEON_LIBTOOL_BUILD
else
  AC_MSG_CHECKING(for system neon)
  echo ""
  neon_force_included="no"
  NEON_COMMON
  NEON_REQUIRE(0,17)
fi

if test -z "$NEON_LIBS" ; then
  AC_MSG_ERROR(Couldn't find neon in either $abs_srcdir/neon or system)
fi
AC_SUBST(NEON_LIBS)
AC_SUBST(NEON_SUBDIR)

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kevin Pilch-Bisson                    http://www.pilch-bisson.net
     "Historically speaking, the presences of wheels in Unix
     has never precluded their reinvention." - Larry Wall
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • application/pgp-signature attachment: stored
Received on Sat Oct 21 14:36:45 2006

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