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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

From: Mo DeJong <supermo_at_bayarea.net>
Date: 2001-09-14 22:01:45 CEST

On 14 Sep 2001 13:34:13 -0500
cmpilato@collab.net wrote:

> Mo DeJong <supermo@bayarea.net> writes:
>
> > Now would be the perfect time to upgrade subversion to the
> > most recent stable releases of autoconf and libtool. We were
> > waiting until an issue in apr had been resolved, and the
> > good news is that it is no longer a problem since apr
> > no longer tries to build in the shmem/unix/mm dir.
> > I noticed there were some autoconf/libtool related
> > complaints recently on the list, this patch should
> > make many of them go away.
>
> Ah, here's another patch I can't read in my mailtool. That's kinda
> annoying, ya know? Perhaps you'd be kind enough to submit a plaintext
> patch/log entry for this, too?

See previous mail for apology :)

2001-09-14 Mo DeJong <supermo@bayarea.net>

        Upgrade subversion to libtool 1.4 and autoconf 2.50.

        * gen-make.py: Avoid linking in libtool .libs directories.
        Subversion was doing this because libtool 1.3
        did not handle dependencies properly. Now that we require
        libtool 1.4 this hack is no longer needed.
        * autogen.sh: Run local buildcheck.sh script instead of
        depending on the apr provided one. We now require a minimum
        or autoconf 2.50 and libtool 1.4 so the apr provided script
        is no longer sufficient.
        * build.conf: Avoid linking in libtool .libs directories.
        * configure.in: Avoid linking in libtool .libs directories.
        Require autoconf 2.50 or newer.
        * buildcheck.sh: Adapt apr/build/buildcheck.sh script
        to require autoconf 2.50 and libtool 1.4 or newer.

Index: ./gen-make.py
===================================================================
--- ./SVN/text-base/gen-make.py Mon Sep 10 09:49:53 2001
+++ ./gen-make.py Mon Sep 10 11:11:46 2001
@@ -110,14 +110,10 @@
 
         dep_path = tlib.path
         if bldtype == 'lib':
- # we need to hack around a libtool problem: it cannot record a
- # dependency of one shared lib on another shared lib.
- ### fix this by upgrading to the new libtool 1.4 release...
           # strip "lib" from the front so we have -lsvn_foo
           if lib[:3] == 'lib':
             lib = lib[3:]
- libs.append('-L%s -l%s'
- % (retreat + os.path.join(dep_path, '.libs'), lib))
+ libs.append('-L%s -l%s' % (retreat + dep_path, lib))
         else:
           # linking executables can refer to .la files
           libs.append(retreat + os.path.join(dep_path, lib + '.la'))
@@ -192,15 +188,14 @@
 
       ofile.write('\ninstall-mods-static: %s\n'
                   '\t$(MKDIR) %s\n'
- % (string.join(la_tweaked + s_files),
- os.path.join('$(APACHE_TARGET)', '.libs')))
+ % (string.join(la_tweaked + s_files), '$(APACHE_TARGET)'))
       for file in la_tweaked:
         dirname, fname = os.path.split(file)
         base = os.path.splitext(fname)[0]
         ofile.write('\t$(INSTALL_MOD_STATIC) %s %s\n'
                     '\t$(INSTALL_MOD_STATIC) %s %s\n'
- % (os.path.join(dirname, '.libs', base + '.a'),
- os.path.join('$(APACHE_TARGET)', '.libs', base + '.a'),
+ % (os.path.join(dirname, base + '.a'),
+ os.path.join('$(APACHE_TARGET)', base + '.a'),
                        file,
                        os.path.join('$(APACHE_TARGET)', base + '.la')))
       for file in s_files:
Index: ./autogen.sh
===================================================================
--- ./SVN/text-base/autogen.sh Mon Sep 10 09:49:53 2001
+++ ./autogen.sh Mon Sep 10 11:45:18 2001
@@ -65,11 +65,8 @@
 fi
 
 
-# Run a quick test to ensure APR is kosher.
-(cd apr && build/buildcheck.sh) || exit 1
-
-
-
+# Run a quick test to ensure that our autoconf and libtool verison are ok
+./buildcheck.sh || exit 1
 
 #
 # Handle some libtool helper files
Index: ./build.conf
===================================================================
--- ./SVN/text-base/build.conf Mon Sep 10 09:49:52 2001
+++ ./build.conf Mon Sep 10 11:04:58 2001
@@ -101,7 +101,7 @@
 type = lib
 path = subversion/libsvn_ra_dav
 ### hack to deal with libtool's busted intra-library dependencies
-libs = -L$(abs_builddir)/neon/src/.libs -lneon
+libs = -L$(abs_builddir)/neon/src -lneon
 
 # Accessing repositories via direct libsvn_fs
 [libsvn_ra_local]
Index: ./configure.in
===================================================================
--- ./SVN/text-base/configure.in Thu Sep 13 10:57:47 2001
+++ ./configure.in Thu Sep 13 10:57:47 2001
@@ -4,6 +4,10 @@
 
 dnl General Setup -----------------------
 
+dnl Ensure that subversion is configured with autoconf 2.50
+dnl Don't even think about removing this check!
+AC_PREREQ(2.50)
+
 dnl First line is *required*; sanity-checks that the our src dir exists.
 AC_INIT(subversion/include/svn_types.h)
 AC_CONFIG_AUX_DIR(ac-helpers)
@@ -280,14 +284,14 @@
   AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_DAV, 1,
         [Defined if libsvn_client should link against libsvn_ra_dav])
   SVN_RA_LIB_DEPS="subversion/libsvn_ra_dav/libsvn_ra_dav.la"
- SVN_RA_LIB_LINK="-L\$(abs_builddir)/subversion/libsvn_ra_dav/.libs -lsvn_ra_dav \
- -L\$(abs_builddir)/neon/src/.libs -lneon $NEON_LIBS"
+ SVN_RA_LIB_LINK="-L\$(abs_builddir)/subversion/libsvn_ra_dav -lsvn_ra_dav \
+ -L\$(abs_builddir)/neon/src -lneon $NEON_LIBS"
 
   if test "$svn_lib_berkeley_db" = "yes"; then
     AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL, 1,
         [Defined if libsvn_client should link against libsvn_ra_local])
     SVN_RA_LIB_DEPS="$SVN_RA_LIB_DEPS subversion/libsvn_ra_local/libsvn_ra_local.la subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la"
- SVN_RA_LIB_LINK="$SVN_RA_LIB_LINK -L\$(abs_builddir)/subversion/libsvn_ra_local/.libs -lsvn_ra_local -L\$(abs_builddir)/subversion/libsvn_repos/.libs -lsvn_repos -L\$(abs_builddir)/subversion/libsvn_fs/.libs -lsvn_fs \$(SVN_DB_LIBS)"
+ SVN_RA_LIB_LINK="$SVN_RA_LIB_LINK -L\$(abs_builddir)/subversion/libsvn_ra_local -lsvn_ra_local -L\$(abs_builddir)/subversion/libsvn_repos -lsvn_repos -L\$(abs_builddir)/subversion/libsvn_fs -lsvn_fs \$(SVN_DB_LIBS)"
   fi
 
 fi
Index: ./buildcheck.sh
===================================================================
--- ./SVN/text-base/buildcheck.sh Fri Sep 14 12:46:31 2001
+++ ./buildcheck.sh Mon Sep 10 11:47:05 2001
@@ -0,0 +1,46 @@
+#! /bin/sh
+
+echo "buildconf: checking installation..."
+
+# autoconf 2.50 or newer
+ac_version=`autoconf --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$ac_version"; then
+echo "buildconf: autoconf not found."
+echo " You need autoconf version 2.50 or newer installed"
+echo " to build Apache from CVS."
+exit 1
+fi
+IFS=.; set $ac_version; IFS=' '
+if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
+echo "buildconf: autoconf version $ac_version found."
+echo " You need autoconf version 2.50 or newer installed."
+exit 1
+else
+echo "buildconf: autoconf version $ac_version (ok)"
+fi
+
+# libtool 1.4 or newer
+libtool=`apr/build/PrintPath glibtool libtool`
+lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
+if test -z "$lt_pversion"; then
+echo "buildconf: libtool not found."
+echo " You need libtool version 1.4 or newer installed"
+exit 1
+fi
+lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
+IFS=.; set $lt_version; IFS=' '
+lt_status="good"
+if test "$1" = "1"; then
+ if test "$2" -lt "4"; then
+ lt_status="bad"
+ fi
+fi
+if test $lt_status = "good"; then
+ echo "buildconf: libtool version $lt_pversion (ok)"
+ exit 0
+fi
+
+echo "buildconf: libtool version $lt_pversion found."
+echo " You need libtool version 1.4 or newer installed"
+
+exit 1

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:41 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.