summaryrefslogtreecommitdiff
path: root/www/apache20/files/patch-libtool22
blob: b6c6c3265fbf9754761c2d1099b1a53aed48431e (plain)
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
--- configure.in.orig	2009-07-08 14:58:50.000000000 -0500
+++ configure.in	2009-07-08 15:03:21.000000000 -0500
@@ -172,7 +172,7 @@
       LIBTOOL="$my_libtool \$(LTFLAGS)"
       libtoolversion=`$my_libtool --version`
       case $libtoolversion in
-          *1.[[45]]*)
+          *1.[[45]]* | *[[2-9]].[[0-9]]*)
               SH_LIBTOOL='$(LIBTOOL)'
               SHLTCFLAGS="-prefer-pic"
               LTCFLAGS="-prefer-non-pic -static"
--- srclib/apr/buildconf.orig	2009-07-08 15:04:26.000000000 -0500
+++ srclib/apr/buildconf	2009-07-08 15:10:46.000000000 -0500
@@ -23,7 +23,7 @@
 #
 build/buildcheck.sh || exit 1
 
-libtoolize=`build/PrintPath glibtoolize libtoolize`
+libtoolize="${LIBTOOLIZE}"
 if [ "x$libtoolize" = "x" ]; then
     echo "libtoolize not found in path"
     exit 1
@@ -35,29 +35,47 @@
 # 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)
+(cd build ; rm -f ltconfig ltmain.sh libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4)
 
-$libtoolize --copy --automake
-
-ltpath=`dirname $libtoolize`
-ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
-
-if [ ! -f $ltfile ]; then
+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"`}
+   # Expecting the code above to be very portable, but just in case...
+   if [ -z "$ltfile" -o ! -f "$ltfile" ]; then
+     ltpath=`dirname $libtoolize`
+     ltfile=${LIBTOOL_M4}
+   fi
+  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
+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
 
-echo "buildconf: Using libtool.m4 at ${ltfile}."
-
-cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
-
-# This is just temporary until people's workspaces are cleared -- remove
-# any old aclocal.m4 left over from prior build so it doesn't cause errors.
-rm -f aclocal.m4
+# Clean up any leftovers
+rm -f aclocal.m4 libtool.m4
 
 #
 # Generate the autoconf header and ./configure
--- srclib/apr/configure.in.orig	2009-07-08 15:12:05.000000000 -0500
+++ srclib/apr/configure.in	2009-07-08 15:13:28.000000000 -0500
@@ -7,6 +7,7 @@
 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
@@ -16,6 +17,11 @@
 sinclude(build/apr_threads.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 Save user-defined environment settings for later restoration
 dnl
@@ -98,6 +104,8 @@
 dnl preload section from invoking the macro to get compiler info.
 AC_PROG_CC
 
+AC_PROG_SED
+
 dnl Preload
 APR_PRELOAD
 
@@ -137,6 +145,11 @@
 AC_ARG_ENABLE(experimental-libtool,[  --experimental-libtool Use experimental custom libtool (not included in source distribution)],
   [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
--- acinclude.m4.orig	2009-07-10 16:18:04.000000000 -0500
+++ acinclude.m4	2009-07-10 16:21:02.000000000 -0500
@@ -169,13 +169,17 @@
 
   if test -z "$module_standalone"; then
     if test -z "$2"; then
-      libname="mod_$1.la"
+      # The filename of a convenience library must have a "lib" prefix:
+      libname="libmod_$1.la"
       BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
       modpath_static="$modpath_static $libname"
       cat >>$modpath_current/modules.mk<<EOF
 $libname: $objects
 	\$(MOD_LINK) $objects $5
 EOF
+      if test ! -z "$5"; then
+        APR_ADDTO(AP_LIBS, [$5])
+      fi
     else
       apache_need_shared=yes
       libname="mod_$1.la"
--- build/library.mk.orig	2009-07-10 16:22:02.000000000 -0500
+++ build/library.mk	2009-07-10 16:22:22.000000000 -0500
@@ -19,4 +19,4 @@
 LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X)
 
 $(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
-	$(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD)
+	$(LINK) -static $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD)
--- build/rules.mk.in.orig	2009-07-10 16:23:23.000000000 -0500
+++ build/rules.mk.in	2009-07-10 16:23:54.000000000 -0500
@@ -45,7 +45,7 @@
 
 LINK     = $(LIBTOOL) --mode=link $(COMPILE) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
 SH_LINK  = $(SH_LIBTOOL) --mode=link $(COMPILE) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@
-MOD_LINK = $(LIBTOOL) --mode=link $(COMPILE) -module $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
+MOD_LINK = $(LIBTOOL) --mode=link $(COMPILE) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
 
 # Cross compile commands
 
--- build/special.mk.orig	2009-07-10 16:25:08.000000000 -0500
+++ build/special.mk	2009-07-10 16:26:19.000000000 -0500
@@ -26,7 +26,7 @@
 install-modules:
 	@test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) $(DESTDIR)$(libexecdir);
 	@builtin='$(BUILTIN_LIBS)'; \
-	has_mod_so=`echo $$builtin|sed 's/^.*mod_so.*$$/has_mod_so/'`; \
+	has_mod_so=`echo $$builtin|sed 's/^.*libmod_so.*$$/has_mod_so/'`; \
 	if [ "x$$has_mod_so" = "xhas_mod_so" ]; then \
 		list='$(shared)'; \
 		for i in $$list; do \