1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
#! /bin/sh /usr/share/dpatch/dpatch-run
## 025_libtool_2.x_fixes.dpatch by <jsw@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Update build system to work with libtool 2.x
## DP:
## DP: This corresponds to upstream revisions:
## DP: 733052
## DP: 742752
## DP: 748902
## DP: 757363
diff --git a/buildconf b/buildconf
index bc0e9fd..11554ed 100755
--- srclib/apr/buildconf
+++ srclib/apr/buildconf
@@ -35,17 +35,20 @@ fi
# Note: APR supplies its own config.guess and config.sub -- we do not
# rely on libtool's versions
#
-echo "Copying libtool helper files ..."
+echo "buildconf: copying libtool helper files using $libtoolize"
# Remove any libtool files so one can switch between libtool 1.3
# and libtool 1.4 by simply rerunning the buildconf script.
-(cd build ; rm -f ltconfig ltmain.sh libtool.m4)
-
-$libtoolize --copy --automake
-
-if [ -f libtool.m4 ]; then
- ltfile=`pwd`/libtool.m4
-else
+(cd build ; rm -f ltconfig ltmain.sh libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4)
+
+lt_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
+lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
+IFS=.; set $lt_version; IFS=' '
+if test "$1" = "1"; then
+ $libtoolize --copy --automake
+ if [ -f libtool.m4 ]; then
+ ltfile=`pwd`/libtool.m4
+ else
ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
< $libtoolize`"
ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`}
@@ -54,21 +57,21 @@ else
ltpath=`dirname $libtoolize`
ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
fi
-fi
-
-if [ ! -f $ltfile ]; then
+ fi
+ if [ ! -f $ltfile ]; then
echo "$ltfile not found"
exit 1
+ fi
+ # Do we need this anymore?
+ echo "buildconf: Using libtool.m4 at ${ltfile}."
+ cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
fi
-
-echo "buildconf: Using libtool.m4 at ${ltfile}."
-
-cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
-
-# libtool.m4 from 1.6 requires ltsugar.m4
-if [ -f ltsugar.m4 ]; then
- rm -f build/ltsugar.m4
- mv ltsugar.m4 build/ltsugar.m4
+if test "$1" = "2"; then
+ $libtoolize --copy
+ # Wouldn't it just be better to define top_builddir??
+ mv build/libtool.m4 build/libtool.m4.$$
+ cat build/libtool.m4.$$ | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
+ rm build/libtool.m4.$$
fi
# Clean up any leftovers
diff --git a/configure.in b/configure.in
index 46b4b32..2ac1439 100644
--- srclib/apr/configure.in
+++ srclib/apr/configure.in
@@ -9,6 +9,7 @@ AC_PREREQ(2.50)
AC_INIT(build/apr_common.m4)
AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
AC_CONFIG_AUX_DIR(build)
+AC_CONFIG_MACRO_DIR(build)
dnl
dnl Include our own M4 macros along with those for libtool
@@ -20,6 +21,10 @@ sinclude(build/apr_win32.m4)
sinclude(build/apr_hints.m4)
sinclude(build/libtool.m4)
sinclude(build/ltsugar.m4)
+sinclude(build/argz.m4)
+sinclude(build/ltoptions.m4)
+sinclude(build/ltversion.m4)
+sinclude(build/lt~obsolete.m4)
dnl Hard-coded inclusion at the tail end of apr_private.h:
AH_BOTTOM([
@@ -117,6 +122,8 @@ dnl can only be used once within a configure script, so this prevents a
dnl preload section from invoking the macro to get compiler info.
AC_PROG_CC
+AC_PROG_SED
+
dnl Preload
APR_PRELOAD
@@ -160,6 +167,11 @@ echo "performing libtool configuration..."
AC_ARG_ENABLE(experimental-libtool,[ --enable-experimental-libtool Use experimental custom libtool],
[experimental_libtool=$enableval],[experimental_libtool=no])
+dnl Workarounds for busted Libtool 2.x when we don't call AC_PROG_LIBTOOL
+if test "x$Xsed" = "x"; then
+ Xsed="$SED -e 1s/^X//"
+fi
+
case $host in
*-os2*)
# Use a custom-made libtool replacement
|