aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-09-09 13:22:17 +0000
committerChristian Grothoff <christian@grothoff.org>2011-09-09 13:22:17 +0000
commit649e7586848dee279de070f32d6ed005f8c5b504 (patch)
tree87c2f4a80878f1c9de5c3efeac1b8fa3eb00eb3c
parent3639062834e4be960d285c264d005500eb84bc6e (diff)
downloadgnunet-gtk-649e7586848dee279de070f32d6ed005f8c5b504.tar.gz
gnunet-gtk-649e7586848dee279de070f32d6ed005f8c5b504.zip
switch towards gtk3, adding peerinfo
-rw-r--r--ChangeLog6
-rw-r--r--README3
-rw-r--r--configure.ac16
-rw-r--r--contrib/gnunet_peerinfo_gtk_main_window.glade2
-rwxr-xr-xltmain.sh3957
-rw-r--r--m4/libtool.m41996
-rw-r--r--m4/ltoptions.m413
-rw-r--r--m4/ltversion.m412
-rw-r--r--m4/lt~obsolete.m412
-rw-r--r--pixmaps/Makefile.am1
-rw-r--r--src/Makefile.am3
-rw-r--r--src/fs/gnunet-fs-gtk-anonymity_spin_buttons.c6
-rw-r--r--src/fs/gnunet-fs-gtk-event_handler.c8
-rw-r--r--src/fs/gnunet-fs-gtk.c8
-rw-r--r--src/lib/trayicon.c2
-rw-r--r--src/peerinfo/Makefile.am9
-rw-r--r--src/peerinfo/gnunet-peerinfo-gtk-about.c (renamed from src/peerinfo/peerinfo.h)36
-rw-r--r--src/peerinfo/gnunet-peerinfo-gtk.c212
-rw-r--r--src/peerinfo/peerinfo.c84
-rw-r--r--src/setup/gnunet-setup-options.c2
-rw-r--r--src/setup/gnunet-setup.c2
21 files changed, 4115 insertions, 2275 deletions
diff --git a/ChangeLog b/ChangeLog
index 4836b1f7..1367d369 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
1Fri Sep 9 10:43:26 CEST 2011
2 Initial draft for gnunet-peerinfo-gtk.
3 Fixing issues when compiling against Gtk 3.0 (which is now
4 required since we are clearly getting increasingly
5 incompatible with Gtk 2.6).
6
1Mon Aug 15 16:18:22 CEST 2011 7Mon Aug 15 16:18:22 CEST 2011
2 Merging gnunet-setup and gnunet-gtk projects. 8 Merging gnunet-setup and gnunet-gtk projects.
3 9
diff --git a/README b/README
index 157b7ae9..420eba70 100644
--- a/README
+++ b/README
@@ -17,7 +17,8 @@ After installation, you should have the following new programs:
17 17
18* gnunet-setup --- a GUI to configure GNUnet 18* gnunet-setup --- a GUI to configure GNUnet
19* gnunet-fs-gtk --- a GUI for file-sharing with GNUnet 19* gnunet-fs-gtk --- a GUI for file-sharing with GNUnet
20 20* gnunet-peerinfo-gtk --- a GUI for inspecting which
21 other peers your peer knows about
21 22
22 23
23Stay tuned 24Stay tuned
diff --git a/configure.ac b/configure.ac
index c708be57..2154cc85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -118,7 +118,7 @@ AC_CHECK_HEADERS([errno.h stdio.h unistd.h locale.h sys/stat.h sys/types.h langi
118 118
119GNUNET_FS_APP="fs" 119GNUNET_FS_APP="fs"
120AC_ARG_ENABLE([fs-app], 120AC_ARG_ENABLE([fs-app],
121 AS_HELP_STRING([--disable-fs-app],[Do not build gnunet-fs application])) 121 AS_HELP_STRING([--disable-fs-app],[Do not build gnunet-fs-gtk application]))
122AS_IF([test "x$enable_fs_app" != "xno"], [ 122AS_IF([test "x$enable_fs_app" != "xno"], [
123 GNUNET_FS_APP="fs" 123 GNUNET_FS_APP="fs"
124]) 124])
@@ -132,6 +132,14 @@ AS_IF([test "x$enable_setup_app" != "xno"], [
132]) 132])
133AC_SUBST(GNUNET_SETUP_APP) 133AC_SUBST(GNUNET_SETUP_APP)
134 134
135GNUNET_PEERINFO_APP=""
136AC_ARG_ENABLE([peerinfo-app],
137 AS_HELP_STRING([--disable-peerinfo-app],[Do not build gnunet-peerinfo-gtk application]))
138AS_IF([test "x$enable_peerinfo_app" != "xno"], [
139 GNUNET_PEERINFO_APP="peerinfo"
140])
141AC_SUBST(GNUNET_PEERINFO_APP)
142
135# test for libextractor 143# test for libextractor
136extractor=0 144extractor=0
137AC_MSG_CHECKING(for libextractor) 145AC_MSG_CHECKING(for libextractor)
@@ -152,14 +160,14 @@ AC_ARG_WITH(extractor,
152 ], 160 ],
153 [AC_MSG_RESULT([--with-extractor not specified]) 161 [AC_MSG_RESULT([--with-extractor not specified])
154 AC_CHECK_HEADERS(extractor.h,extractor=1)]) 162 AC_CHECK_HEADERS(extractor.h,extractor=1)])
155if test "$extractor" != 1 163if test "$extractor" != 1
156then 164then
157 AC_MSG_ERROR([gnunet-gtk requires libextractor headers]) 165 AC_MSG_ERROR([gnunet-gtk requires libextractor headers])
158fi 166fi
159 167
160# check for gtk >= 2.6.0 168# check for gtk >= 3.0.0
161AC_MSG_CHECKING(for gtk) 169AC_MSG_CHECKING(for gtk)
162AM_PATH_GTK_2_0(2.6.0,without_gtk=false,without_gtk=true) 170AM_PATH_GTK_3_0(3.0.0,without_gtk=false,without_gtk=true)
163AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue) 171AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue)
164if test $without_gtk != true 172if test $without_gtk != true
165then 173then
diff --git a/contrib/gnunet_peerinfo_gtk_main_window.glade b/contrib/gnunet_peerinfo_gtk_main_window.glade
index 9873a252..f36555ca 100644
--- a/contrib/gnunet_peerinfo_gtk_main_window.glade
+++ b/contrib/gnunet_peerinfo_gtk_main_window.glade
@@ -2,7 +2,7 @@
2<interface> 2<interface>
3 <requires lib="gtk+" version="2.20"/> 3 <requires lib="gtk+" version="2.20"/>
4 <!-- interface-naming-policy project-wide --> 4 <!-- interface-naming-policy project-wide -->
5 <object class="GtkWindow" id="GNUNET_GTK_main_window"> 5 <object class="GtkWindow" id="GNUNET_GTK_PEERINFO_main_window">
6 <property name="title" translatable="yes">gnunet-gtk</property> 6 <property name="title" translatable="yes">gnunet-gtk</property>
7 <property name="window_position">center</property> 7 <property name="window_position">center</property>
8 <property name="default_width">700</property> 8 <property name="default_width">700</property>
diff --git a/ltmain.sh b/ltmain.sh
index fa4b1e1f..c7dd9063 100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,9 @@
1# Generated from ltmain.m4sh.
2 1
3# ltmain.sh (GNU libtool) 2.2.6b 2# libtool (GNU libtool) 2.4
4# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 3# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5 4
6# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. 5# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
6# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
7# This is free software; see the source for copying conditions. There is NO 7# This is free software; see the source for copying conditions. There is NO
8# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 9
@@ -32,50 +32,56 @@
32# 32#
33# Provide generalized library-building support services. 33# Provide generalized library-building support services.
34# 34#
35# --config show all configuration variables 35# --config show all configuration variables
36# --debug enable verbose shell tracing 36# --debug enable verbose shell tracing
37# -n, --dry-run display commands without modifying any files 37# -n, --dry-run display commands without modifying any files
38# --features display basic configuration information and exit 38# --features display basic configuration information and exit
39# --mode=MODE use operation mode MODE 39# --mode=MODE use operation mode MODE
40# --preserve-dup-deps don't remove duplicate dependency libraries 40# --preserve-dup-deps don't remove duplicate dependency libraries
41# --quiet, --silent don't print informational messages 41# --quiet, --silent don't print informational messages
42# --tag=TAG use configuration variables from tag TAG 42# --no-quiet, --no-silent
43# -v, --verbose print informational messages (default) 43# print informational messages (default)
44# --version print version information 44# --tag=TAG use configuration variables from tag TAG
45# -h, --help print short or long help message 45# -v, --verbose print more informational messages than default
46# --no-verbose don't print the extra informational messages
47# --version print version information
48# -h, --help, --help-all print short, long, or detailed help message
46# 49#
47# MODE must be one of the following: 50# MODE must be one of the following:
48# 51#
49# clean remove files from the build directory 52# clean remove files from the build directory
50# compile compile a source file into a libtool object 53# compile compile a source file into a libtool object
51# execute automatically set library path, then run a program 54# execute automatically set library path, then run a program
52# finish complete the installation of libtool libraries 55# finish complete the installation of libtool libraries
53# install install libraries or executables 56# install install libraries or executables
54# link create a library or an executable 57# link create a library or an executable
55# uninstall remove libraries from an installed directory 58# uninstall remove libraries from an installed directory
56# 59#
57# MODE-ARGS vary depending on the MODE. 60# MODE-ARGS vary depending on the MODE. When passed as first option,
61# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
58# Try `$progname --help --mode=MODE' for a more detailed description of MODE. 62# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
59# 63#
60# When reporting a bug, please describe a test case to reproduce it and 64# When reporting a bug, please describe a test case to reproduce it and
61# include the following information: 65# include the following information:
62# 66#
63# host-triplet: $host 67# host-triplet: $host
64# shell: $SHELL 68# shell: $SHELL
65# compiler: $LTCC 69# compiler: $LTCC
66# compiler flags: $LTCFLAGS 70# compiler flags: $LTCFLAGS
67# linker: $LD (gnu? $with_gnu_ld) 71# linker: $LD (gnu? $with_gnu_ld)
68# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 72# $progname: (GNU libtool) 2.4 Debian-2.4-3
69# automake: $automake_version 73# automake: $automake_version
70# autoconf: $autoconf_version 74# autoconf: $autoconf_version
71# 75#
72# Report bugs to <bug-libtool@gnu.org>. 76# Report bugs to <bug-libtool@gnu.org>.
77# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
78# General help using GNU software: <http://www.gnu.org/gethelp/>.
73 79
74PROGRAM=ltmain.sh 80PROGRAM=libtool
75PACKAGE=libtool 81PACKAGE=libtool
76VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" 82VERSION="2.4 Debian-2.4-3"
77TIMESTAMP="" 83TIMESTAMP=""
78package_revision=1.3017 84package_revision=1.3293
79 85
80# Be Bourne compatible 86# Be Bourne compatible
81if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then 87if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -91,10 +97,15 @@ fi
91BIN_SH=xpg4; export BIN_SH # for Tru64 97BIN_SH=xpg4; export BIN_SH # for Tru64
92DUALCASE=1; export DUALCASE # for MKS sh 98DUALCASE=1; export DUALCASE # for MKS sh
93 99
100# A function that is used when there is no print builtin or printf.
101func_fallback_echo ()
102{
103 eval 'cat <<_LTECHO_EOF
104$1
105_LTECHO_EOF'
106}
107
94# NLS nuisances: We save the old values to restore during execute mode. 108# NLS nuisances: We save the old values to restore during execute mode.
95# Only set LANG and LC_ALL to C if already set.
96# These must not be set unconditionally because not all systems understand
97# e.g. LANG=C (notably SCO).
98lt_user_locale= 109lt_user_locale=
99lt_safe_locale= 110lt_safe_locale=
100for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 111for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
@@ -107,15 +118,24 @@ do
107 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" 118 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
108 fi" 119 fi"
109done 120done
121LC_ALL=C
122LANGUAGE=C
123export LANGUAGE LC_ALL
110 124
111$lt_unset CDPATH 125$lt_unset CDPATH
112 126
113 127
128# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
129# is ksh but when the shell is invoked as "sh" and the current value of
130# the _XPG environment variable is not equal to 1 (one), the special
131# positional parameter $0, within a function call, is the name of the
132# function.
133progpath="$0"
114 134
115 135
116 136
117: ${CP="cp -f"} 137: ${CP="cp -f"}
118: ${ECHO="echo"} 138test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
119: ${EGREP="/bin/grep -E"} 139: ${EGREP="/bin/grep -E"}
120: ${FGREP="/bin/grep -F"} 140: ${FGREP="/bin/grep -F"}
121: ${GREP="/bin/grep"} 141: ${GREP="/bin/grep"}
@@ -144,6 +164,27 @@ IFS=" $lt_nl"
144dirname="s,/[^/]*$,," 164dirname="s,/[^/]*$,,"
145basename="s,^.*/,," 165basename="s,^.*/,,"
146 166
167# func_dirname file append nondir_replacement
168# Compute the dirname of FILE. If nonempty, add APPEND to the result,
169# otherwise set result to NONDIR_REPLACEMENT.
170func_dirname ()
171{
172 func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
173 if test "X$func_dirname_result" = "X${1}"; then
174 func_dirname_result="${3}"
175 else
176 func_dirname_result="$func_dirname_result${2}"
177 fi
178} # func_dirname may be replaced by extended shell implementation
179
180
181# func_basename file
182func_basename ()
183{
184 func_basename_result=`$ECHO "${1}" | $SED "$basename"`
185} # func_basename may be replaced by extended shell implementation
186
187
147# func_dirname_and_basename file append nondir_replacement 188# func_dirname_and_basename file append nondir_replacement
148# perform func_basename and func_dirname in a single function 189# perform func_basename and func_dirname in a single function
149# call: 190# call:
@@ -158,33 +199,183 @@ basename="s,^.*/,,"
158# those functions but instead duplicate the functionality here. 199# those functions but instead duplicate the functionality here.
159func_dirname_and_basename () 200func_dirname_and_basename ()
160{ 201{
161 # Extract subdirectory from the argument. 202 # Extract subdirectory from the argument.
162 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 203 func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
163 if test "X$func_dirname_result" = "X${1}"; then 204 if test "X$func_dirname_result" = "X${1}"; then
164 func_dirname_result="${3}" 205 func_dirname_result="${3}"
165 else 206 else
166 func_dirname_result="$func_dirname_result${2}" 207 func_dirname_result="$func_dirname_result${2}"
167 fi 208 fi
168 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 209 func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
210} # func_dirname_and_basename may be replaced by extended shell implementation
211
212
213# func_stripname prefix suffix name
214# strip PREFIX and SUFFIX off of NAME.
215# PREFIX and SUFFIX must not contain globbing or regex special
216# characters, hashes, percent signs, but SUFFIX may contain a leading
217# dot (in which case that matches only a dot).
218# func_strip_suffix prefix name
219func_stripname ()
220{
221 case ${2} in
222 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
223 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
224 esac
225} # func_stripname may be replaced by extended shell implementation
226
227
228# These SED scripts presuppose an absolute path with a trailing slash.
229pathcar='s,^/\([^/]*\).*$,\1,'
230pathcdr='s,^/[^/]*,,'
231removedotparts=':dotsl
232 s@/\./@/@g
233 t dotsl
234 s,/\.$,/,'
235collapseslashes='s@/\{1,\}@/@g'
236finalslash='s,/*$,/,'
237
238# func_normal_abspath PATH
239# Remove doubled-up and trailing slashes, "." path components,
240# and cancel out any ".." path components in PATH after making
241# it an absolute path.
242# value returned in "$func_normal_abspath_result"
243func_normal_abspath ()
244{
245 # Start from root dir and reassemble the path.
246 func_normal_abspath_result=
247 func_normal_abspath_tpath=$1
248 func_normal_abspath_altnamespace=
249 case $func_normal_abspath_tpath in
250 "")
251 # Empty path, that just means $cwd.
252 func_stripname '' '/' "`pwd`"
253 func_normal_abspath_result=$func_stripname_result
254 return
255 ;;
256 # The next three entries are used to spot a run of precisely
257 # two leading slashes without using negated character classes;
258 # we take advantage of case's first-match behaviour.
259 ///*)
260 # Unusual form of absolute path, do nothing.
261 ;;
262 //*)
263 # Not necessarily an ordinary path; POSIX reserves leading '//'
264 # and for example Cygwin uses it to access remote file shares
265 # over CIFS/SMB, so we conserve a leading double slash if found.
266 func_normal_abspath_altnamespace=/
267 ;;
268 /*)
269 # Absolute path, do nothing.
270 ;;
271 *)
272 # Relative path, prepend $cwd.
273 func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
274 ;;
275 esac
276 # Cancel out all the simple stuff to save iterations. We also want
277 # the path to end with a slash for ease of parsing, so make sure
278 # there is one (and only one) here.
279 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
280 -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
281 while :; do
282 # Processed it all yet?
283 if test "$func_normal_abspath_tpath" = / ; then
284 # If we ascended to the root using ".." the result may be empty now.
285 if test -z "$func_normal_abspath_result" ; then
286 func_normal_abspath_result=/
287 fi
288 break
289 fi
290 func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
291 -e "$pathcar"`
292 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
293 -e "$pathcdr"`
294 # Figure out what to do with it
295 case $func_normal_abspath_tcomponent in
296 "")
297 # Trailing empty path component, ignore it.
298 ;;
299 ..)
300 # Parent dir; strip last assembled component from result.
301 func_dirname "$func_normal_abspath_result"
302 func_normal_abspath_result=$func_dirname_result
303 ;;
304 *)
305 # Actual path component, append it.
306 func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
307 ;;
308 esac
309 done
310 # Restore leading double-slash if one was found on entry.
311 func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
169} 312}
170 313
171# Generated shell functions inserted here. 314# func_relative_path SRCDIR DSTDIR
315# generates a relative path from SRCDIR to DSTDIR, with a trailing
316# slash if non-empty, suitable for immediately appending a filename
317# without needing to append a separator.
318# value returned in "$func_relative_path_result"
319func_relative_path ()
320{
321 func_relative_path_result=
322 func_normal_abspath "$1"
323 func_relative_path_tlibdir=$func_normal_abspath_result
324 func_normal_abspath "$2"
325 func_relative_path_tbindir=$func_normal_abspath_result
326
327 # Ascend the tree starting from libdir
328 while :; do
329 # check if we have found a prefix of bindir
330 case $func_relative_path_tbindir in
331 $func_relative_path_tlibdir)
332 # found an exact match
333 func_relative_path_tcancelled=
334 break
335 ;;
336 $func_relative_path_tlibdir*)
337 # found a matching prefix
338 func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
339 func_relative_path_tcancelled=$func_stripname_result
340 if test -z "$func_relative_path_result"; then
341 func_relative_path_result=.
342 fi
343 break
344 ;;
345 *)
346 func_dirname $func_relative_path_tlibdir
347 func_relative_path_tlibdir=${func_dirname_result}
348 if test "x$func_relative_path_tlibdir" = x ; then
349 # Have to descend all the way to the root!
350 func_relative_path_result=../$func_relative_path_result
351 func_relative_path_tcancelled=$func_relative_path_tbindir
352 break
353 fi
354 func_relative_path_result=../$func_relative_path_result
355 ;;
356 esac
357 done
172 358
173# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh 359 # Now calculate path; take care to avoid doubling-up slashes.
174# is ksh but when the shell is invoked as "sh" and the current value of 360 func_stripname '' '/' "$func_relative_path_result"
175# the _XPG environment variable is not equal to 1 (one), the special 361 func_relative_path_result=$func_stripname_result
176# positional parameter $0, within a function call, is the name of the 362 func_stripname '/' '/' "$func_relative_path_tcancelled"
177# function. 363 if test "x$func_stripname_result" != x ; then
178progpath="$0" 364 func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
365 fi
366
367 # Normalisation. If bindir is libdir, return empty string,
368 # else relative path ending with a slash; either way, target
369 # file name can be directly appended.
370 if test ! -z "$func_relative_path_result"; then
371 func_stripname './' '' "$func_relative_path_result/"
372 func_relative_path_result=$func_stripname_result
373 fi
374}
179 375
180# The name of this program: 376# The name of this program:
181# In the unlikely event $progname began with a '-', it would play havoc with
182# func_echo (imagine progname=-n), so we prepend ./ in that case:
183func_dirname_and_basename "$progpath" 377func_dirname_and_basename "$progpath"
184progname=$func_basename_result 378progname=$func_basename_result
185case $progname in
186 -*) progname=./$progname ;;
187esac
188 379
189# Make sure we have an absolute path for reexecution: 380# Make sure we have an absolute path for reexecution:
190case $progpath in 381case $progpath in
@@ -215,6 +406,15 @@ sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
215# Same as above, but do not quote variable references. 406# Same as above, but do not quote variable references.
216double_quote_subst='s/\(["`\\]\)/\\\1/g' 407double_quote_subst='s/\(["`\\]\)/\\\1/g'
217 408
409# Sed substitution that turns a string into a regex matching for the
410# string literally.
411sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
412
413# Sed substitution that converts a w32 file name or path
414# which contains forward slashes, into one that contains
415# (escaped) backslashes. A very naive implementation.
416lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
417
218# Re-`\' parameter expansions in output of double_quote_subst that were 418# Re-`\' parameter expansions in output of double_quote_subst that were
219# `\'-ed in input to the same. If an odd number of `\' preceded a '$' 419# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
220# in input to double_quote_subst, that '$' was protected from expansion. 420# in input to double_quote_subst, that '$' was protected from expansion.
@@ -243,7 +443,7 @@ opt_warning=:
243# name if it has been set yet. 443# name if it has been set yet.
244func_echo () 444func_echo ()
245{ 445{
246 $ECHO "$progname${mode+: }$mode: $*" 446 $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
247} 447}
248 448
249# func_verbose arg... 449# func_verbose arg...
@@ -258,18 +458,25 @@ func_verbose ()
258 : 458 :
259} 459}
260 460
461# func_echo_all arg...
462# Invoke $ECHO with all args, space-separated.
463func_echo_all ()
464{
465 $ECHO "$*"
466}
467
261# func_error arg... 468# func_error arg...
262# Echo program name prefixed message to standard error. 469# Echo program name prefixed message to standard error.
263func_error () 470func_error ()
264{ 471{
265 $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 472 $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
266} 473}
267 474
268# func_warning arg... 475# func_warning arg...
269# Echo program name prefixed warning message to standard error. 476# Echo program name prefixed warning message to standard error.
270func_warning () 477func_warning ()
271{ 478{
272 $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 479 $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
273 480
274 # bash bug again: 481 # bash bug again:
275 : 482 :
@@ -326,9 +533,9 @@ func_mkdir_p ()
326 case $my_directory_path in */*) ;; *) break ;; esac 533 case $my_directory_path in */*) ;; *) break ;; esac
327 534
328 # ...otherwise throw away the child directory and loop 535 # ...otherwise throw away the child directory and loop
329 my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` 536 my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
330 done 537 done
331 my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` 538 my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
332 539
333 save_mkdir_p_IFS="$IFS"; IFS=':' 540 save_mkdir_p_IFS="$IFS"; IFS=':'
334 for my_dir in $my_dir_list; do 541 for my_dir in $my_dir_list; do
@@ -378,7 +585,7 @@ func_mktempdir ()
378 func_fatal_error "cannot create temporary directory \`$my_tmpdir'" 585 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
379 fi 586 fi
380 587
381 $ECHO "X$my_tmpdir" | $Xsed 588 $ECHO "$my_tmpdir"
382} 589}
383 590
384 591
@@ -392,7 +599,7 @@ func_quote_for_eval ()
392{ 599{
393 case $1 in 600 case $1 in
394 *[\\\`\"\$]*) 601 *[\\\`\"\$]*)
395 func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; 602 func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
396 *) 603 *)
397 func_quote_for_eval_unquoted_result="$1" ;; 604 func_quote_for_eval_unquoted_result="$1" ;;
398 esac 605 esac
@@ -419,7 +626,7 @@ func_quote_for_expand ()
419{ 626{
420 case $1 in 627 case $1 in
421 *[\\\`\"]*) 628 *[\\\`\"]*)
422 my_arg=`$ECHO "X$1" | $Xsed \ 629 my_arg=`$ECHO "$1" | $SED \
423 -e "$double_quote_subst" -e "$sed_double_backslash"` ;; 630 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
424 *) 631 *)
425 my_arg="$1" ;; 632 my_arg="$1" ;;
@@ -488,15 +695,39 @@ func_show_eval_locale ()
488 fi 695 fi
489} 696}
490 697
491 698# func_tr_sh
492 699# Turn $1 into a string suitable for a shell variable name.
700# Result is stored in $func_tr_sh_result. All characters
701# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
702# if $1 begins with a digit, a '_' is prepended as well.
703func_tr_sh ()
704{
705 case $1 in
706 [0-9]* | *[!a-zA-Z0-9_]*)
707 func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
708 ;;
709 * )
710 func_tr_sh_result=$1
711 ;;
712 esac
713}
493 714
494 715
495# func_version 716# func_version
496# Echo version message to standard output and exit. 717# Echo version message to standard output and exit.
497func_version () 718func_version ()
498{ 719{
499 $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { 720 $opt_debug
721
722 $SED -n '/(C)/!b go
723 :more
724 /\./!{
725 N
726 s/\n# / /
727 b more
728 }
729 :go
730 /^# '$PROGRAM' (GNU /,/# warranty; / {
500 s/^# // 731 s/^# //
501 s/^# *$// 732 s/^# *$//
502 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ 733 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
@@ -509,22 +740,28 @@ func_version ()
509# Echo short help message to standard output and exit. 740# Echo short help message to standard output and exit.
510func_usage () 741func_usage ()
511{ 742{
512 $SED -n '/^# Usage:/,/# -h/ { 743 $opt_debug
744
745 $SED -n '/^# Usage:/,/^# *.*--help/ {
513 s/^# // 746 s/^# //
514 s/^# *$// 747 s/^# *$//
515 s/\$progname/'$progname'/ 748 s/\$progname/'$progname'/
516 p 749 p
517 }' < "$progpath" 750 }' < "$progpath"
518 $ECHO 751 echo
519 $ECHO "run \`$progname --help | more' for full usage" 752 $ECHO "run \`$progname --help | more' for full usage"
520 exit $? 753 exit $?
521} 754}
522 755
523# func_help 756# func_help [NOEXIT]
524# Echo long help message to standard output and exit. 757# Echo long help message to standard output and exit,
758# unless 'noexit' is passed as argument.
525func_help () 759func_help ()
526{ 760{
761 $opt_debug
762
527 $SED -n '/^# Usage:/,/# Report bugs to/ { 763 $SED -n '/^# Usage:/,/# Report bugs to/ {
764 :print
528 s/^# // 765 s/^# //
529 s/^# *$// 766 s/^# *$//
530 s*\$progname*'$progname'* 767 s*\$progname*'$progname'*
@@ -537,8 +774,15 @@ func_help ()
537 s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ 774 s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
538 s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ 775 s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
539 p 776 p
540 }' < "$progpath" 777 d
541 exit $? 778 }
779 /^# .* home page:/b print
780 /^# General help using/b print
781 ' < "$progpath"
782 ret=$?
783 if test -z "$1"; then
784 exit $ret
785 fi
542} 786}
543 787
544# func_missing_arg argname 788# func_missing_arg argname
@@ -546,63 +790,106 @@ func_help ()
546# exit_cmd. 790# exit_cmd.
547func_missing_arg () 791func_missing_arg ()
548{ 792{
549 func_error "missing argument for $1" 793 $opt_debug
794
795 func_error "missing argument for $1."
550 exit_cmd=exit 796 exit_cmd=exit
551} 797}
552 798
553exit_cmd=:
554 799
800# func_split_short_opt shortopt
801# Set func_split_short_opt_name and func_split_short_opt_arg shell
802# variables after splitting SHORTOPT after the 2nd character.
803func_split_short_opt ()
804{
805 my_sed_short_opt='1s/^\(..\).*$/\1/;q'
806 my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
807
808 func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
809 func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
810} # func_split_short_opt may be replaced by extended shell implementation
555 811
556 812
813# func_split_long_opt longopt
814# Set func_split_long_opt_name and func_split_long_opt_arg shell
815# variables after splitting LONGOPT at the `=' sign.
816func_split_long_opt ()
817{
818 my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
819 my_sed_long_arg='1s/^--[^=]*=//'
820
821 func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
822 func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
823} # func_split_long_opt may be replaced by extended shell implementation
824
825exit_cmd=:
826
557 827
558 828
559# Check that we have a working $ECHO.
560if test "X$1" = X--no-reexec; then
561 # Discard the --no-reexec flag, and continue.
562 shift
563elif test "X$1" = X--fallback-echo; then
564 # Avoid inline document here, it may be left over
565 :
566elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
567 # Yippee, $ECHO works!
568 :
569else
570 # Restart under the correct shell, and then maybe $ECHO will work.
571 exec $SHELL "$progpath" --no-reexec ${1+"$@"}
572fi
573 829
574if test "X$1" = X--fallback-echo; then
575 # used as fallback echo
576 shift
577 cat <<EOF
578$*
579EOF
580 exit $EXIT_SUCCESS
581fi
582 830
583magic="%%%MAGIC variable%%%" 831magic="%%%MAGIC variable%%%"
584magic_exe="%%%MAGIC EXE variable%%%" 832magic_exe="%%%MAGIC EXE variable%%%"
585 833
586# Global variables. 834# Global variables.
587# $mode is unset
588nonopt= 835nonopt=
589execute_dlfiles=
590preserve_args= 836preserve_args=
591lo2o="s/\\.lo\$/.${objext}/" 837lo2o="s/\\.lo\$/.${objext}/"
592o2lo="s/\\.${objext}\$/.lo/" 838o2lo="s/\\.${objext}\$/.lo/"
593extracted_archives= 839extracted_archives=
594extracted_serial=0 840extracted_serial=0
595 841
596opt_dry_run=false
597opt_duplicate_deps=false
598opt_silent=false
599opt_debug=:
600
601# If this variable is set in any of the actions, the command in it 842# If this variable is set in any of the actions, the command in it
602# will be execed at the end. This prevents here-documents from being 843# will be execed at the end. This prevents here-documents from being
603# left over by shells. 844# left over by shells.
604exec_cmd= 845exec_cmd=
605 846
847# func_append var value
848# Append VALUE to the end of shell variable VAR.
849func_append ()
850{
851 eval "${1}=\$${1}\${2}"
852} # func_append may be replaced by extended shell implementation
853
854# func_append_quoted var value
855# Quote VALUE and append to the end of shell variable VAR, separated
856# by a space.
857func_append_quoted ()
858{
859 func_quote_for_eval "${2}"
860 eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
861} # func_append_quoted may be replaced by extended shell implementation
862
863
864# func_arith arithmetic-term...
865func_arith ()
866{
867 func_arith_result=`expr "${@}"`
868} # func_arith may be replaced by extended shell implementation
869
870
871# func_len string
872# STRING may not start with a hyphen.
873func_len ()
874{
875 func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
876} # func_len may be replaced by extended shell implementation
877
878
879# func_lo2o object
880func_lo2o ()
881{
882 func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
883} # func_lo2o may be replaced by extended shell implementation
884
885
886# func_xform libobj-or-source
887func_xform ()
888{
889 func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
890} # func_xform may be replaced by extended shell implementation
891
892
606# func_fatal_configuration arg... 893# func_fatal_configuration arg...
607# Echo program name prefixed message to standard error, followed by 894# Echo program name prefixed message to standard error, followed by
608# a configuration failure hint, and exit. 895# a configuration failure hint, and exit.
@@ -636,16 +923,16 @@ func_config ()
636# Display the features supported by this script. 923# Display the features supported by this script.
637func_features () 924func_features ()
638{ 925{
639 $ECHO "host: $host" 926 echo "host: $host"
640 if test "$build_libtool_libs" = yes; then 927 if test "$build_libtool_libs" = yes; then
641 $ECHO "enable shared libraries" 928 echo "enable shared libraries"
642 else 929 else
643 $ECHO "disable shared libraries" 930 echo "disable shared libraries"
644 fi 931 fi
645 if test "$build_old_libs" = yes; then 932 if test "$build_old_libs" = yes; then
646 $ECHO "enable static libraries" 933 echo "enable static libraries"
647 else 934 else
648 $ECHO "disable static libraries" 935 echo "disable static libraries"
649 fi 936 fi
650 937
651 exit $? 938 exit $?
@@ -692,117 +979,204 @@ func_enable_tag ()
692 esac 979 esac
693} 980}
694 981
695# Parse options once, thoroughly. This comes as soon as possible in 982# func_check_version_match
696# the script to make things like `libtool --version' happen quickly. 983# Ensure that we are using m4 macros, and libtool script from the same
984# release of libtool.
985func_check_version_match ()
697{ 986{
987 if test "$package_revision" != "$macro_revision"; then
988 if test "$VERSION" != "$macro_version"; then
989 if test -z "$macro_version"; then
990 cat >&2 <<_LT_EOF
991$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
992$progname: definition of this LT_INIT comes from an older release.
993$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
994$progname: and run autoconf again.
995_LT_EOF
996 else
997 cat >&2 <<_LT_EOF
998$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
999$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
1000$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
1001$progname: and run autoconf again.
1002_LT_EOF
1003 fi
1004 else
1005 cat >&2 <<_LT_EOF
1006$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
1007$progname: but the definition of this LT_INIT comes from revision $macro_revision.
1008$progname: You should recreate aclocal.m4 with macros from revision $package_revision
1009$progname: of $PACKAGE $VERSION and run autoconf again.
1010_LT_EOF
1011 fi
698 1012
699 # Shorthand for --mode=foo, only valid as the first argument 1013 exit $EXIT_MISMATCH
700 case $1 in 1014 fi
701 clean|clea|cle|cl) 1015}
702 shift; set dummy --mode clean ${1+"$@"}; shift 1016
703 ;; 1017
704 compile|compil|compi|comp|com|co|c) 1018# Shorthand for --mode=foo, only valid as the first argument
705 shift; set dummy --mode compile ${1+"$@"}; shift 1019case $1 in
706 ;; 1020clean|clea|cle|cl)
707 execute|execut|execu|exec|exe|ex|e) 1021 shift; set dummy --mode clean ${1+"$@"}; shift
708 shift; set dummy --mode execute ${1+"$@"}; shift 1022 ;;
709 ;; 1023compile|compil|compi|comp|com|co|c)
710 finish|finis|fini|fin|fi|f) 1024 shift; set dummy --mode compile ${1+"$@"}; shift
711 shift; set dummy --mode finish ${1+"$@"}; shift 1025 ;;
712 ;; 1026execute|execut|execu|exec|exe|ex|e)
713 install|instal|insta|inst|ins|in|i) 1027 shift; set dummy --mode execute ${1+"$@"}; shift
714 shift; set dummy --mode install ${1+"$@"}; shift 1028 ;;
715 ;; 1029finish|finis|fini|fin|fi|f)
716 link|lin|li|l) 1030 shift; set dummy --mode finish ${1+"$@"}; shift
717 shift; set dummy --mode link ${1+"$@"}; shift 1031 ;;
718 ;; 1032install|instal|insta|inst|ins|in|i)
719 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) 1033 shift; set dummy --mode install ${1+"$@"}; shift
720 shift; set dummy --mode uninstall ${1+"$@"}; shift 1034 ;;
721 ;; 1035link|lin|li|l)
722 esac 1036 shift; set dummy --mode link ${1+"$@"}; shift
1037 ;;
1038uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
1039 shift; set dummy --mode uninstall ${1+"$@"}; shift
1040 ;;
1041esac
723 1042
724 # Parse non-mode specific arguments: 1043
725 while test "$#" -gt 0; do 1044
1045# Option defaults:
1046opt_debug=:
1047opt_dry_run=false
1048opt_config=false
1049opt_preserve_dup_deps=false
1050opt_features=false
1051opt_finish=false
1052opt_help=false
1053opt_help_all=false
1054opt_silent=:
1055opt_verbose=:
1056opt_silent=false
1057opt_verbose=false
1058
1059
1060# Parse options once, thoroughly. This comes as soon as possible in the
1061# script to make things like `--version' happen as quickly as we can.
1062{
1063 # this just eases exit handling
1064 while test $# -gt 0; do
726 opt="$1" 1065 opt="$1"
727 shift 1066 shift
728
729 case $opt in 1067 case $opt in
730 --config) func_config ;; 1068 --debug|-x) opt_debug='set -x'
731
732 --debug) preserve_args="$preserve_args $opt"
733 func_echo "enabling shell trace mode" 1069 func_echo "enabling shell trace mode"
734 opt_debug='set -x'
735 $opt_debug 1070 $opt_debug
736 ;; 1071 ;;
737 1072 --dry-run|--dryrun|-n)
738 -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break 1073 opt_dry_run=:
739 execute_dlfiles="$execute_dlfiles $1"
740 shift
741 ;; 1074 ;;
742 1075 --config)
743 --dry-run | -n) opt_dry_run=: ;; 1076 opt_config=:
744 --features) func_features ;; 1077func_config
745 --finish) mode="finish" ;; 1078 ;;
746 1079 --dlopen|-dlopen)
747 --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break 1080 optarg="$1"
748 case $1 in 1081 opt_dlopen="${opt_dlopen+$opt_dlopen
749 # Valid mode arguments: 1082}$optarg"
750 clean) ;;
751 compile) ;;
752 execute) ;;
753 finish) ;;
754 install) ;;
755 link) ;;
756 relink) ;;
757 uninstall) ;;
758
759 # Catch anything else as an error
760 *) func_error "invalid argument for $opt"
761 exit_cmd=exit
762 break
763 ;;
764 esac
765
766 mode="$1"
767 shift 1083 shift
768 ;; 1084 ;;
769
770 --preserve-dup-deps) 1085 --preserve-dup-deps)
771 opt_duplicate_deps=: ;; 1086 opt_preserve_dup_deps=:
772
773 --quiet|--silent) preserve_args="$preserve_args $opt"
774 opt_silent=:
775 ;; 1087 ;;
776 1088 --features)
777 --verbose| -v) preserve_args="$preserve_args $opt" 1089 opt_features=:
1090func_features
1091 ;;
1092 --finish)
1093 opt_finish=:
1094set dummy --mode finish ${1+"$@"}; shift
1095 ;;
1096 --help)
1097 opt_help=:
1098 ;;
1099 --help-all)
1100 opt_help_all=:
1101opt_help=': help-all'
1102 ;;
1103 --mode)
1104 test $# = 0 && func_missing_arg $opt && break
1105 optarg="$1"
1106 opt_mode="$optarg"
1107case $optarg in
1108 # Valid mode arguments:
1109 clean|compile|execute|finish|install|link|relink|uninstall) ;;
1110
1111 # Catch anything else as an error
1112 *) func_error "invalid argument for $opt"
1113 exit_cmd=exit
1114 break
1115 ;;
1116esac
1117 shift
1118 ;;
1119 --no-silent|--no-quiet)
778 opt_silent=false 1120 opt_silent=false
1121func_append preserve_args " $opt"
779 ;; 1122 ;;
780 1123 --no-verbose)
781 --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break 1124 opt_verbose=false
782 preserve_args="$preserve_args $opt $1" 1125func_append preserve_args " $opt"
783 func_enable_tag "$1" # tagname is set here 1126 ;;
1127 --silent|--quiet)
1128 opt_silent=:
1129func_append preserve_args " $opt"
1130 opt_verbose=false
1131 ;;
1132 --verbose|-v)
1133 opt_verbose=:
1134func_append preserve_args " $opt"
1135opt_silent=false
1136 ;;
1137 --tag)
1138 test $# = 0 && func_missing_arg $opt && break
1139 optarg="$1"
1140 opt_tag="$optarg"
1141func_append preserve_args " $opt $optarg"
1142func_enable_tag "$optarg"
784 shift 1143 shift
785 ;; 1144 ;;
786 1145
1146 -\?|-h) func_usage ;;
1147 --help) func_help ;;
1148 --version) func_version ;;
1149
787 # Separate optargs to long options: 1150 # Separate optargs to long options:
788 -dlopen=*|--mode=*|--tag=*) 1151 --*=*)
789 func_opt_split "$opt" 1152 func_split_long_opt "$opt"
790 set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} 1153 set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
791 shift 1154 shift
792 ;; 1155 ;;
793 1156
794 -\?|-h) func_usage ;; 1157 # Separate non-argument short options:
795 --help) opt_help=: ;; 1158 -\?*|-h*|-n*|-v*)
796 --version) func_version ;; 1159 func_split_short_opt "$opt"
797 1160 set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
798 -*) func_fatal_help "unrecognized option \`$opt'" ;; 1161 shift
799
800 *) nonopt="$opt"
801 break
802 ;; 1162 ;;
1163
1164 --) break ;;
1165 -*) func_fatal_help "unrecognized option \`$opt'" ;;
1166 *) set dummy "$opt" ${1+"$@"}; shift; break ;;
803 esac 1167 esac
804 done 1168 done
805 1169
1170 # Validate options:
1171
1172 # save first non-option argument
1173 if test "$#" -gt 0; then
1174 nonopt="$opt"
1175 shift
1176 fi
1177
1178 # preserve --debug
1179 test "$opt_debug" = : || func_append preserve_args " --debug"
806 1180
807 case $host in 1181 case $host in
808 *cygwin* | *mingw* | *pw32* | *cegcc*) 1182 *cygwin* | *mingw* | *pw32* | *cegcc*)
@@ -810,82 +1184,44 @@ func_enable_tag ()
810 opt_duplicate_compiler_generated_deps=: 1184 opt_duplicate_compiler_generated_deps=:
811 ;; 1185 ;;
812 *) 1186 *)
813 opt_duplicate_compiler_generated_deps=$opt_duplicate_deps 1187 opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
814 ;; 1188 ;;
815 esac 1189 esac
816 1190
817 # Having warned about all mis-specified options, bail out if 1191 $opt_help || {
818 # anything was wrong. 1192 # Sanity checks first:
819 $exit_cmd $EXIT_FAILURE 1193 func_check_version_match
820}
821 1194
822# func_check_version_match 1195 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
823# Ensure that we are using m4 macros, and libtool script from the same 1196 func_fatal_configuration "not configured to build any kind of library"
824# release of libtool.
825func_check_version_match ()
826{
827 if test "$package_revision" != "$macro_revision"; then
828 if test "$VERSION" != "$macro_version"; then
829 if test -z "$macro_version"; then
830 cat >&2 <<_LT_EOF
831$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
832$progname: definition of this LT_INIT comes from an older release.
833$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
834$progname: and run autoconf again.
835_LT_EOF
836 else
837 cat >&2 <<_LT_EOF
838$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
839$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
840$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
841$progname: and run autoconf again.
842_LT_EOF
843 fi
844 else
845 cat >&2 <<_LT_EOF
846$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
847$progname: but the definition of this LT_INIT comes from revision $macro_revision.
848$progname: You should recreate aclocal.m4 with macros from revision $package_revision
849$progname: of $PACKAGE $VERSION and run autoconf again.
850_LT_EOF
851 fi 1197 fi
852 1198
853 exit $EXIT_MISMATCH 1199 # Darwin sucks
854 fi 1200 eval std_shrext=\"$shrext_cmds\"
855}
856
857
858## ----------- ##
859## Main. ##
860## ----------- ##
861 1201
862$opt_help || { 1202 # Only execute mode is allowed to have -dlopen flags.
863 # Sanity checks first: 1203 if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
864 func_check_version_match 1204 func_error "unrecognized option \`-dlopen'"
1205 $ECHO "$help" 1>&2
1206 exit $EXIT_FAILURE
1207 fi
865 1208
866 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then 1209 # Change the help message to a mode-specific one.
867 func_fatal_configuration "not configured to build any kind of library" 1210 generic_help="$help"
868 fi 1211 help="Try \`$progname --help --mode=$opt_mode' for more information."
1212 }
869 1213
870 test -z "$mode" && func_fatal_error "error: you must specify a MODE."
871 1214
1215 # Bail if the options were screwed
1216 $exit_cmd $EXIT_FAILURE
1217}
872 1218
873 # Darwin sucks
874 eval std_shrext=\"$shrext_cmds\"
875 1219
876 1220
877 # Only execute mode is allowed to have -dlopen flags.
878 if test -n "$execute_dlfiles" && test "$mode" != execute; then
879 func_error "unrecognized option \`-dlopen'"
880 $ECHO "$help" 1>&2
881 exit $EXIT_FAILURE
882 fi
883
884 # Change the help message to a mode-specific one.
885 generic_help="$help"
886 help="Try \`$progname --help --mode=$mode' for more information."
887}
888 1221
1222## ----------- ##
1223## Main. ##
1224## ----------- ##
889 1225
890# func_lalib_p file 1226# func_lalib_p file
891# True iff FILE is a libtool `.la' library or `.lo' object file. 1227# True iff FILE is a libtool `.la' library or `.lo' object file.
@@ -950,12 +1286,9 @@ func_ltwrapper_executable_p ()
950# temporary ltwrapper_script. 1286# temporary ltwrapper_script.
951func_ltwrapper_scriptname () 1287func_ltwrapper_scriptname ()
952{ 1288{
953 func_ltwrapper_scriptname_result="" 1289 func_dirname_and_basename "$1" "" "."
954 if func_ltwrapper_executable_p "$1"; then 1290 func_stripname '' '.exe' "$func_basename_result"
955 func_dirname_and_basename "$1" "" "." 1291 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
956 func_stripname '' '.exe' "$func_basename_result"
957 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
958 fi
959} 1292}
960 1293
961# func_ltwrapper_p file 1294# func_ltwrapper_p file
@@ -1001,6 +1334,37 @@ func_source ()
1001} 1334}
1002 1335
1003 1336
1337# func_resolve_sysroot PATH
1338# Replace a leading = in PATH with a sysroot. Store the result into
1339# func_resolve_sysroot_result
1340func_resolve_sysroot ()
1341{
1342 func_resolve_sysroot_result=$1
1343 case $func_resolve_sysroot_result in
1344 =*)
1345 func_stripname '=' '' "$func_resolve_sysroot_result"
1346 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
1347 ;;
1348 esac
1349}
1350
1351# func_replace_sysroot PATH
1352# If PATH begins with the sysroot, replace it with = and
1353# store the result into func_replace_sysroot_result.
1354func_replace_sysroot ()
1355{
1356 case "$lt_sysroot:$1" in
1357 ?*:"$lt_sysroot"*)
1358 func_stripname "$lt_sysroot" '' "$1"
1359 func_replace_sysroot_result="=$func_stripname_result"
1360 ;;
1361 *)
1362 # Including no sysroot.
1363 func_replace_sysroot_result=$1
1364 ;;
1365 esac
1366}
1367
1004# func_infer_tag arg 1368# func_infer_tag arg
1005# Infer tagged configuration to use if any are available and 1369# Infer tagged configuration to use if any are available and
1006# if one wasn't chosen via the "--tag" command line option. 1370# if one wasn't chosen via the "--tag" command line option.
@@ -1013,13 +1377,15 @@ func_infer_tag ()
1013 if test -n "$available_tags" && test -z "$tagname"; then 1377 if test -n "$available_tags" && test -z "$tagname"; then
1014 CC_quoted= 1378 CC_quoted=
1015 for arg in $CC; do 1379 for arg in $CC; do
1016 func_quote_for_eval "$arg" 1380 func_append_quoted CC_quoted "$arg"
1017 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1018 done 1381 done
1382 CC_expanded=`func_echo_all $CC`
1383 CC_quoted_expanded=`func_echo_all $CC_quoted`
1019 case $@ in 1384 case $@ in
1020 # Blanks in the command may have been stripped by the calling shell, 1385 # Blanks in the command may have been stripped by the calling shell,
1021 # but not from the CC environment variable when configure was run. 1386 # but not from the CC environment variable when configure was run.
1022 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; 1387 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1388 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
1023 # Blanks at the start of $base_compile will cause this to fail 1389 # Blanks at the start of $base_compile will cause this to fail
1024 # if we don't check for them as well. 1390 # if we don't check for them as well.
1025 *) 1391 *)
@@ -1030,11 +1396,13 @@ func_infer_tag ()
1030 CC_quoted= 1396 CC_quoted=
1031 for arg in $CC; do 1397 for arg in $CC; do
1032 # Double-quote args containing other shell metacharacters. 1398 # Double-quote args containing other shell metacharacters.
1033 func_quote_for_eval "$arg" 1399 func_append_quoted CC_quoted "$arg"
1034 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1035 done 1400 done
1401 CC_expanded=`func_echo_all $CC`
1402 CC_quoted_expanded=`func_echo_all $CC_quoted`
1036 case "$@ " in 1403 case "$@ " in
1037 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) 1404 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1405 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
1038 # The compiler in the base compile command matches 1406 # The compiler in the base compile command matches
1039 # the one in the tagged configuration. 1407 # the one in the tagged configuration.
1040 # Assume this is the tagged configuration we want. 1408 # Assume this is the tagged configuration we want.
@@ -1097,6 +1465,486 @@ EOF
1097 } 1465 }
1098} 1466}
1099 1467
1468
1469##################################################
1470# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
1471##################################################
1472
1473# func_convert_core_file_wine_to_w32 ARG
1474# Helper function used by file name conversion functions when $build is *nix,
1475# and $host is mingw, cygwin, or some other w32 environment. Relies on a
1476# correctly configured wine environment available, with the winepath program
1477# in $build's $PATH.
1478#
1479# ARG is the $build file name to be converted to w32 format.
1480# Result is available in $func_convert_core_file_wine_to_w32_result, and will
1481# be empty on error (or when ARG is empty)
1482func_convert_core_file_wine_to_w32 ()
1483{
1484 $opt_debug
1485 func_convert_core_file_wine_to_w32_result="$1"
1486 if test -n "$1"; then
1487 # Unfortunately, winepath does not exit with a non-zero error code, so we
1488 # are forced to check the contents of stdout. On the other hand, if the
1489 # command is not found, the shell will set an exit code of 127 and print
1490 # *an error message* to stdout. So we must check for both error code of
1491 # zero AND non-empty stdout, which explains the odd construction:
1492 func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
1493 if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
1494 func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
1495 $SED -e "$lt_sed_naive_backslashify"`
1496 else
1497 func_convert_core_file_wine_to_w32_result=
1498 fi
1499 fi
1500}
1501# end: func_convert_core_file_wine_to_w32
1502
1503
1504# func_convert_core_path_wine_to_w32 ARG
1505# Helper function used by path conversion functions when $build is *nix, and
1506# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
1507# configured wine environment available, with the winepath program in $build's
1508# $PATH. Assumes ARG has no leading or trailing path separator characters.
1509#
1510# ARG is path to be converted from $build format to win32.
1511# Result is available in $func_convert_core_path_wine_to_w32_result.
1512# Unconvertible file (directory) names in ARG are skipped; if no directory names
1513# are convertible, then the result may be empty.
1514func_convert_core_path_wine_to_w32 ()
1515{
1516 $opt_debug
1517 # unfortunately, winepath doesn't convert paths, only file names
1518 func_convert_core_path_wine_to_w32_result=""
1519 if test -n "$1"; then
1520 oldIFS=$IFS
1521 IFS=:
1522 for func_convert_core_path_wine_to_w32_f in $1; do
1523 IFS=$oldIFS
1524 func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
1525 if test -n "$func_convert_core_file_wine_to_w32_result" ; then
1526 if test -z "$func_convert_core_path_wine_to_w32_result"; then
1527 func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
1528 else
1529 func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
1530 fi
1531 fi
1532 done
1533 IFS=$oldIFS
1534 fi
1535}
1536# end: func_convert_core_path_wine_to_w32
1537
1538
1539# func_cygpath ARGS...
1540# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
1541# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
1542# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
1543# (2), returns the Cygwin file name or path in func_cygpath_result (input
1544# file name or path is assumed to be in w32 format, as previously converted
1545# from $build's *nix or MSYS format). In case (3), returns the w32 file name
1546# or path in func_cygpath_result (input file name or path is assumed to be in
1547# Cygwin format). Returns an empty string on error.
1548#
1549# ARGS are passed to cygpath, with the last one being the file name or path to
1550# be converted.
1551#
1552# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
1553# environment variable; do not put it in $PATH.
1554func_cygpath ()
1555{
1556 $opt_debug
1557 if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
1558 func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
1559 if test "$?" -ne 0; then
1560 # on failure, ensure result is empty
1561 func_cygpath_result=
1562 fi
1563 else
1564 func_cygpath_result=
1565 func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
1566 fi
1567}
1568#end: func_cygpath
1569
1570
1571# func_convert_core_msys_to_w32 ARG
1572# Convert file name or path ARG from MSYS format to w32 format. Return
1573# result in func_convert_core_msys_to_w32_result.
1574func_convert_core_msys_to_w32 ()
1575{
1576 $opt_debug
1577 # awkward: cmd appends spaces to result
1578 func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
1579 $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
1580}
1581#end: func_convert_core_msys_to_w32
1582
1583
1584# func_convert_file_check ARG1 ARG2
1585# Verify that ARG1 (a file name in $build format) was converted to $host
1586# format in ARG2. Otherwise, emit an error message, but continue (resetting
1587# func_to_host_file_result to ARG1).
1588func_convert_file_check ()
1589{
1590 $opt_debug
1591 if test -z "$2" && test -n "$1" ; then
1592 func_error "Could not determine host file name corresponding to"
1593 func_error " \`$1'"
1594 func_error "Continuing, but uninstalled executables may not work."
1595 # Fallback:
1596 func_to_host_file_result="$1"
1597 fi
1598}
1599# end func_convert_file_check
1600
1601
1602# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
1603# Verify that FROM_PATH (a path in $build format) was converted to $host
1604# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
1605# func_to_host_file_result to a simplistic fallback value (see below).
1606func_convert_path_check ()
1607{
1608 $opt_debug
1609 if test -z "$4" && test -n "$3"; then
1610 func_error "Could not determine the host path corresponding to"
1611 func_error " \`$3'"
1612 func_error "Continuing, but uninstalled executables may not work."
1613 # Fallback. This is a deliberately simplistic "conversion" and
1614 # should not be "improved". See libtool.info.
1615 if test "x$1" != "x$2"; then
1616 lt_replace_pathsep_chars="s|$1|$2|g"
1617 func_to_host_path_result=`echo "$3" |
1618 $SED -e "$lt_replace_pathsep_chars"`
1619 else
1620 func_to_host_path_result="$3"
1621 fi
1622 fi
1623}
1624# end func_convert_path_check
1625
1626
1627# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
1628# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
1629# and appending REPL if ORIG matches BACKPAT.
1630func_convert_path_front_back_pathsep ()
1631{
1632 $opt_debug
1633 case $4 in
1634 $1 ) func_to_host_path_result="$3$func_to_host_path_result"
1635 ;;
1636 esac
1637 case $4 in
1638 $2 ) func_append func_to_host_path_result "$3"
1639 ;;
1640 esac
1641}
1642# end func_convert_path_front_back_pathsep
1643
1644
1645##################################################
1646# $build to $host FILE NAME CONVERSION FUNCTIONS #
1647##################################################
1648# invoked via `$to_host_file_cmd ARG'
1649#
1650# In each case, ARG is the path to be converted from $build to $host format.
1651# Result will be available in $func_to_host_file_result.
1652
1653
1654# func_to_host_file ARG
1655# Converts the file name ARG from $build format to $host format. Return result
1656# in func_to_host_file_result.
1657func_to_host_file ()
1658{
1659 $opt_debug
1660 $to_host_file_cmd "$1"
1661}
1662# end func_to_host_file
1663
1664
1665# func_to_tool_file ARG LAZY
1666# converts the file name ARG from $build format to toolchain format. Return
1667# result in func_to_tool_file_result. If the conversion in use is listed
1668# in (the comma separated) LAZY, no conversion takes place.
1669func_to_tool_file ()
1670{
1671 $opt_debug
1672 case ,$2, in
1673 *,"$to_tool_file_cmd",*)
1674 func_to_tool_file_result=$1
1675 ;;
1676 *)
1677 $to_tool_file_cmd "$1"
1678 func_to_tool_file_result=$func_to_host_file_result
1679 ;;
1680 esac
1681}
1682# end func_to_tool_file
1683
1684
1685# func_convert_file_noop ARG
1686# Copy ARG to func_to_host_file_result.
1687func_convert_file_noop ()
1688{
1689 func_to_host_file_result="$1"
1690}
1691# end func_convert_file_noop
1692
1693
1694# func_convert_file_msys_to_w32 ARG
1695# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
1696# conversion to w32 is not available inside the cwrapper. Returns result in
1697# func_to_host_file_result.
1698func_convert_file_msys_to_w32 ()
1699{
1700 $opt_debug
1701 func_to_host_file_result="$1"
1702 if test -n "$1"; then
1703 func_convert_core_msys_to_w32 "$1"
1704 func_to_host_file_result="$func_convert_core_msys_to_w32_result"
1705 fi
1706 func_convert_file_check "$1" "$func_to_host_file_result"
1707}
1708# end func_convert_file_msys_to_w32
1709
1710
1711# func_convert_file_cygwin_to_w32 ARG
1712# Convert file name ARG from Cygwin to w32 format. Returns result in
1713# func_to_host_file_result.
1714func_convert_file_cygwin_to_w32 ()
1715{
1716 $opt_debug
1717 func_to_host_file_result="$1"
1718 if test -n "$1"; then
1719 # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
1720 # LT_CYGPATH in this case.
1721 func_to_host_file_result=`cygpath -m "$1"`
1722 fi
1723 func_convert_file_check "$1" "$func_to_host_file_result"
1724}
1725# end func_convert_file_cygwin_to_w32
1726
1727
1728# func_convert_file_nix_to_w32 ARG
1729# Convert file name ARG from *nix to w32 format. Requires a wine environment
1730# and a working winepath. Returns result in func_to_host_file_result.
1731func_convert_file_nix_to_w32 ()
1732{
1733 $opt_debug
1734 func_to_host_file_result="$1"
1735 if test -n "$1"; then
1736 func_convert_core_file_wine_to_w32 "$1"
1737 func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
1738 fi
1739 func_convert_file_check "$1" "$func_to_host_file_result"
1740}
1741# end func_convert_file_nix_to_w32
1742
1743
1744# func_convert_file_msys_to_cygwin ARG
1745# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1746# Returns result in func_to_host_file_result.
1747func_convert_file_msys_to_cygwin ()
1748{
1749 $opt_debug
1750 func_to_host_file_result="$1"
1751 if test -n "$1"; then
1752 func_convert_core_msys_to_w32 "$1"
1753 func_cygpath -u "$func_convert_core_msys_to_w32_result"
1754 func_to_host_file_result="$func_cygpath_result"
1755 fi
1756 func_convert_file_check "$1" "$func_to_host_file_result"
1757}
1758# end func_convert_file_msys_to_cygwin
1759
1760
1761# func_convert_file_nix_to_cygwin ARG
1762# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
1763# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
1764# in func_to_host_file_result.
1765func_convert_file_nix_to_cygwin ()
1766{
1767 $opt_debug
1768 func_to_host_file_result="$1"
1769 if test -n "$1"; then
1770 # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
1771 func_convert_core_file_wine_to_w32 "$1"
1772 func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
1773 func_to_host_file_result="$func_cygpath_result"
1774 fi
1775 func_convert_file_check "$1" "$func_to_host_file_result"
1776}
1777# end func_convert_file_nix_to_cygwin
1778
1779
1780#############################################
1781# $build to $host PATH CONVERSION FUNCTIONS #
1782#############################################
1783# invoked via `$to_host_path_cmd ARG'
1784#
1785# In each case, ARG is the path to be converted from $build to $host format.
1786# The result will be available in $func_to_host_path_result.
1787#
1788# Path separators are also converted from $build format to $host format. If
1789# ARG begins or ends with a path separator character, it is preserved (but
1790# converted to $host format) on output.
1791#
1792# All path conversion functions are named using the following convention:
1793# file name conversion function : func_convert_file_X_to_Y ()
1794# path conversion function : func_convert_path_X_to_Y ()
1795# where, for any given $build/$host combination the 'X_to_Y' value is the
1796# same. If conversion functions are added for new $build/$host combinations,
1797# the two new functions must follow this pattern, or func_init_to_host_path_cmd
1798# will break.
1799
1800
1801# func_init_to_host_path_cmd
1802# Ensures that function "pointer" variable $to_host_path_cmd is set to the
1803# appropriate value, based on the value of $to_host_file_cmd.
1804to_host_path_cmd=
1805func_init_to_host_path_cmd ()
1806{
1807 $opt_debug
1808 if test -z "$to_host_path_cmd"; then
1809 func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
1810 to_host_path_cmd="func_convert_path_${func_stripname_result}"
1811 fi
1812}
1813
1814
1815# func_to_host_path ARG
1816# Converts the path ARG from $build format to $host format. Return result
1817# in func_to_host_path_result.
1818func_to_host_path ()
1819{
1820 $opt_debug
1821 func_init_to_host_path_cmd
1822 $to_host_path_cmd "$1"
1823}
1824# end func_to_host_path
1825
1826
1827# func_convert_path_noop ARG
1828# Copy ARG to func_to_host_path_result.
1829func_convert_path_noop ()
1830{
1831 func_to_host_path_result="$1"
1832}
1833# end func_convert_path_noop
1834
1835
1836# func_convert_path_msys_to_w32 ARG
1837# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
1838# conversion to w32 is not available inside the cwrapper. Returns result in
1839# func_to_host_path_result.
1840func_convert_path_msys_to_w32 ()
1841{
1842 $opt_debug
1843 func_to_host_path_result="$1"
1844 if test -n "$1"; then
1845 # Remove leading and trailing path separator characters from ARG. MSYS
1846 # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
1847 # and winepath ignores them completely.
1848 func_stripname : : "$1"
1849 func_to_host_path_tmp1=$func_stripname_result
1850 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1851 func_to_host_path_result="$func_convert_core_msys_to_w32_result"
1852 func_convert_path_check : ";" \
1853 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1854 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1855 fi
1856}
1857# end func_convert_path_msys_to_w32
1858
1859
1860# func_convert_path_cygwin_to_w32 ARG
1861# Convert path ARG from Cygwin to w32 format. Returns result in
1862# func_to_host_file_result.
1863func_convert_path_cygwin_to_w32 ()
1864{
1865 $opt_debug
1866 func_to_host_path_result="$1"
1867 if test -n "$1"; then
1868 # See func_convert_path_msys_to_w32:
1869 func_stripname : : "$1"
1870 func_to_host_path_tmp1=$func_stripname_result
1871 func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
1872 func_convert_path_check : ";" \
1873 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1874 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1875 fi
1876}
1877# end func_convert_path_cygwin_to_w32
1878
1879
1880# func_convert_path_nix_to_w32 ARG
1881# Convert path ARG from *nix to w32 format. Requires a wine environment and
1882# a working winepath. Returns result in func_to_host_file_result.
1883func_convert_path_nix_to_w32 ()
1884{
1885 $opt_debug
1886 func_to_host_path_result="$1"
1887 if test -n "$1"; then
1888 # See func_convert_path_msys_to_w32:
1889 func_stripname : : "$1"
1890 func_to_host_path_tmp1=$func_stripname_result
1891 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1892 func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
1893 func_convert_path_check : ";" \
1894 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1895 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1896 fi
1897}
1898# end func_convert_path_nix_to_w32
1899
1900
1901# func_convert_path_msys_to_cygwin ARG
1902# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1903# Returns result in func_to_host_file_result.
1904func_convert_path_msys_to_cygwin ()
1905{
1906 $opt_debug
1907 func_to_host_path_result="$1"
1908 if test -n "$1"; then
1909 # See func_convert_path_msys_to_w32:
1910 func_stripname : : "$1"
1911 func_to_host_path_tmp1=$func_stripname_result
1912 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1913 func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
1914 func_to_host_path_result="$func_cygpath_result"
1915 func_convert_path_check : : \
1916 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1917 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1918 fi
1919}
1920# end func_convert_path_msys_to_cygwin
1921
1922
1923# func_convert_path_nix_to_cygwin ARG
1924# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
1925# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
1926# func_to_host_file_result.
1927func_convert_path_nix_to_cygwin ()
1928{
1929 $opt_debug
1930 func_to_host_path_result="$1"
1931 if test -n "$1"; then
1932 # Remove leading and trailing path separator characters from
1933 # ARG. msys behavior is inconsistent here, cygpath turns them
1934 # into '.;' and ';.', and winepath ignores them completely.
1935 func_stripname : : "$1"
1936 func_to_host_path_tmp1=$func_stripname_result
1937 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1938 func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
1939 func_to_host_path_result="$func_cygpath_result"
1940 func_convert_path_check : : \
1941 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1942 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1943 fi
1944}
1945# end func_convert_path_nix_to_cygwin
1946
1947
1100# func_mode_compile arg... 1948# func_mode_compile arg...
1101func_mode_compile () 1949func_mode_compile ()
1102{ 1950{
@@ -1137,12 +1985,12 @@ func_mode_compile ()
1137 ;; 1985 ;;
1138 1986
1139 -pie | -fpie | -fPIE) 1987 -pie | -fpie | -fPIE)
1140 pie_flag="$pie_flag $arg" 1988 func_append pie_flag " $arg"
1141 continue 1989 continue
1142 ;; 1990 ;;
1143 1991
1144 -shared | -static | -prefer-pic | -prefer-non-pic) 1992 -shared | -static | -prefer-pic | -prefer-non-pic)
1145 later="$later $arg" 1993 func_append later " $arg"
1146 continue 1994 continue
1147 ;; 1995 ;;
1148 1996
@@ -1163,15 +2011,14 @@ func_mode_compile ()
1163 save_ifs="$IFS"; IFS=',' 2011 save_ifs="$IFS"; IFS=','
1164 for arg in $args; do 2012 for arg in $args; do
1165 IFS="$save_ifs" 2013 IFS="$save_ifs"
1166 func_quote_for_eval "$arg" 2014 func_append_quoted lastarg "$arg"
1167 lastarg="$lastarg $func_quote_for_eval_result"
1168 done 2015 done
1169 IFS="$save_ifs" 2016 IFS="$save_ifs"
1170 func_stripname ' ' '' "$lastarg" 2017 func_stripname ' ' '' "$lastarg"
1171 lastarg=$func_stripname_result 2018 lastarg=$func_stripname_result
1172 2019
1173 # Add the arguments to base_compile. 2020 # Add the arguments to base_compile.
1174 base_compile="$base_compile $lastarg" 2021 func_append base_compile " $lastarg"
1175 continue 2022 continue
1176 ;; 2023 ;;
1177 2024
@@ -1187,8 +2034,7 @@ func_mode_compile ()
1187 esac # case $arg_mode 2034 esac # case $arg_mode
1188 2035
1189 # Aesthetically quote the previous argument. 2036 # Aesthetically quote the previous argument.
1190 func_quote_for_eval "$lastarg" 2037 func_append_quoted base_compile "$lastarg"
1191 base_compile="$base_compile $func_quote_for_eval_result"
1192 done # for arg 2038 done # for arg
1193 2039
1194 case $arg_mode in 2040 case $arg_mode in
@@ -1213,7 +2059,7 @@ func_mode_compile ()
1213 *.[cCFSifmso] | \ 2059 *.[cCFSifmso] | \
1214 *.ada | *.adb | *.ads | *.asm | \ 2060 *.ada | *.adb | *.ads | *.asm | \
1215 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ 2061 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
1216 *.[fF][09]? | *.for | *.java | *.obj | *.sx) 2062 *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
1217 func_xform "$libobj" 2063 func_xform "$libobj"
1218 libobj=$func_xform_result 2064 libobj=$func_xform_result
1219 ;; 2065 ;;
@@ -1288,7 +2134,7 @@ func_mode_compile ()
1288 # Calculate the filename of the output object if compiler does 2134 # Calculate the filename of the output object if compiler does
1289 # not support -o with -c 2135 # not support -o with -c
1290 if test "$compiler_c_o" = no; then 2136 if test "$compiler_c_o" = no; then
1291 output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} 2137 output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
1292 lockfile="$output_obj.lock" 2138 lockfile="$output_obj.lock"
1293 else 2139 else
1294 output_obj= 2140 output_obj=
@@ -1319,17 +2165,16 @@ compiler."
1319 $opt_dry_run || $RM $removelist 2165 $opt_dry_run || $RM $removelist
1320 exit $EXIT_FAILURE 2166 exit $EXIT_FAILURE
1321 fi 2167 fi
1322 removelist="$removelist $output_obj" 2168 func_append removelist " $output_obj"
1323 $ECHO "$srcfile" > "$lockfile" 2169 $ECHO "$srcfile" > "$lockfile"
1324 fi 2170 fi
1325 2171
1326 $opt_dry_run || $RM $removelist 2172 $opt_dry_run || $RM $removelist
1327 removelist="$removelist $lockfile" 2173 func_append removelist " $lockfile"
1328 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 2174 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
1329 2175
1330 if test -n "$fix_srcfile_path"; then 2176 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
1331 eval srcfile=\"$fix_srcfile_path\" 2177 srcfile=$func_to_tool_file_result
1332 fi
1333 func_quote_for_eval "$srcfile" 2178 func_quote_for_eval "$srcfile"
1334 qsrcfile=$func_quote_for_eval_result 2179 qsrcfile=$func_quote_for_eval_result
1335 2180
@@ -1349,7 +2194,7 @@ compiler."
1349 2194
1350 if test -z "$output_obj"; then 2195 if test -z "$output_obj"; then
1351 # Place PIC objects in $objdir 2196 # Place PIC objects in $objdir
1352 command="$command -o $lobj" 2197 func_append command " -o $lobj"
1353 fi 2198 fi
1354 2199
1355 func_show_eval_locale "$command" \ 2200 func_show_eval_locale "$command" \
@@ -1396,11 +2241,11 @@ compiler."
1396 command="$base_compile $qsrcfile $pic_flag" 2241 command="$base_compile $qsrcfile $pic_flag"
1397 fi 2242 fi
1398 if test "$compiler_c_o" = yes; then 2243 if test "$compiler_c_o" = yes; then
1399 command="$command -o $obj" 2244 func_append command " -o $obj"
1400 fi 2245 fi
1401 2246
1402 # Suppress compiler output if we already did a PIC compilation. 2247 # Suppress compiler output if we already did a PIC compilation.
1403 command="$command$suppress_output" 2248 func_append command "$suppress_output"
1404 func_show_eval_locale "$command" \ 2249 func_show_eval_locale "$command" \
1405 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 2250 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
1406 2251
@@ -1445,13 +2290,13 @@ compiler."
1445} 2290}
1446 2291
1447$opt_help || { 2292$opt_help || {
1448test "$mode" = compile && func_mode_compile ${1+"$@"} 2293 test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
1449} 2294}
1450 2295
1451func_mode_help () 2296func_mode_help ()
1452{ 2297{
1453 # We need to display help for each of the modes. 2298 # We need to display help for each of the modes.
1454 case $mode in 2299 case $opt_mode in
1455 "") 2300 "")
1456 # Generic help is extracted from the usage comments 2301 # Generic help is extracted from the usage comments
1457 # at the start of this file. 2302 # at the start of this file.
@@ -1482,10 +2327,11 @@ This mode accepts the following additional options:
1482 2327
1483 -o OUTPUT-FILE set the output file name to OUTPUT-FILE 2328 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
1484 -no-suppress do not suppress compiler output for multiple passes 2329 -no-suppress do not suppress compiler output for multiple passes
1485 -prefer-pic try to building PIC objects only 2330 -prefer-pic try to build PIC objects only
1486 -prefer-non-pic try to building non-PIC objects only 2331 -prefer-non-pic try to build non-PIC objects only
1487 -shared do not build a \`.o' file suitable for static linking 2332 -shared do not build a \`.o' file suitable for static linking
1488 -static only build a \`.o' file suitable for static linking 2333 -static only build a \`.o' file suitable for static linking
2334 -Wc,FLAG pass FLAG directly to the compiler
1489 2335
1490COMPILE-COMMAND is a command to be used in creating a \`standard' object file 2336COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1491from the given SOURCEFILE. 2337from the given SOURCEFILE.
@@ -1538,7 +2384,7 @@ either the \`install' or \`cp' program.
1538 2384
1539The following components of INSTALL-COMMAND are treated specially: 2385The following components of INSTALL-COMMAND are treated specially:
1540 2386
1541 -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation 2387 -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
1542 2388
1543The rest of the components are interpreted as arguments to that command (only 2389The rest of the components are interpreted as arguments to that command (only
1544BSD-compatible install options are recognized)." 2390BSD-compatible install options are recognized)."
@@ -1558,6 +2404,8 @@ The following components of LINK-COMMAND are treated specially:
1558 2404
1559 -all-static do not do any dynamic linking at all 2405 -all-static do not do any dynamic linking at all
1560 -avoid-version do not add a version suffix if possible 2406 -avoid-version do not add a version suffix if possible
2407 -bindir BINDIR specify path to binaries directory (for systems where
2408 libraries must be found in the PATH setting at runtime)
1561 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime 2409 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
1562 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols 2410 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
1563 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) 2411 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
@@ -1586,6 +2434,11 @@ The following components of LINK-COMMAND are treated specially:
1586 -version-info CURRENT[:REVISION[:AGE]] 2434 -version-info CURRENT[:REVISION[:AGE]]
1587 specify library version info [each variable defaults to 0] 2435 specify library version info [each variable defaults to 0]
1588 -weak LIBNAME declare that the target provides the LIBNAME interface 2436 -weak LIBNAME declare that the target provides the LIBNAME interface
2437 -Wc,FLAG
2438 -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
2439 -Wl,FLAG
2440 -Xlinker FLAG pass linker-specific FLAG directly to the linker
2441 -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
1589 2442
1590All other options (arguments beginning with \`-') are ignored. 2443All other options (arguments beginning with \`-') are ignored.
1591 2444
@@ -1619,18 +2472,44 @@ Otherwise, only FILE itself is deleted using RM."
1619 ;; 2472 ;;
1620 2473
1621 *) 2474 *)
1622 func_fatal_help "invalid operation mode \`$mode'" 2475 func_fatal_help "invalid operation mode \`$opt_mode'"
1623 ;; 2476 ;;
1624 esac 2477 esac
1625 2478
1626 $ECHO 2479 echo
1627 $ECHO "Try \`$progname --help' for more information about other modes." 2480 $ECHO "Try \`$progname --help' for more information about other modes."
1628
1629 exit $?
1630} 2481}
1631 2482
1632 # Now that we've collected a possible --mode arg, show help if necessary 2483# Now that we've collected a possible --mode arg, show help if necessary
1633 $opt_help && func_mode_help 2484if $opt_help; then
2485 if test "$opt_help" = :; then
2486 func_mode_help
2487 else
2488 {
2489 func_help noexit
2490 for opt_mode in compile link execute install finish uninstall clean; do
2491 func_mode_help
2492 done
2493 } | sed -n '1p; 2,$s/^Usage:/ or: /p'
2494 {
2495 func_help noexit
2496 for opt_mode in compile link execute install finish uninstall clean; do
2497 echo
2498 func_mode_help
2499 done
2500 } |
2501 sed '1d
2502 /^When reporting/,/^Report/{
2503 H
2504 d
2505 }
2506 $x
2507 /information about other modes/d
2508 /more detailed .*MODE/d
2509 s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
2510 fi
2511 exit $?
2512fi
1634 2513
1635 2514
1636# func_mode_execute arg... 2515# func_mode_execute arg...
@@ -1643,13 +2522,16 @@ func_mode_execute ()
1643 func_fatal_help "you must specify a COMMAND" 2522 func_fatal_help "you must specify a COMMAND"
1644 2523
1645 # Handle -dlopen flags immediately. 2524 # Handle -dlopen flags immediately.
1646 for file in $execute_dlfiles; do 2525 for file in $opt_dlopen; do
1647 test -f "$file" \ 2526 test -f "$file" \
1648 || func_fatal_help "\`$file' is not a file" 2527 || func_fatal_help "\`$file' is not a file"
1649 2528
1650 dir= 2529 dir=
1651 case $file in 2530 case $file in
1652 *.la) 2531 *.la)
2532 func_resolve_sysroot "$file"
2533 file=$func_resolve_sysroot_result
2534
1653 # Check to see that this really is a libtool archive. 2535 # Check to see that this really is a libtool archive.
1654 func_lalib_unsafe_p "$file" \ 2536 func_lalib_unsafe_p "$file" \
1655 || func_fatal_help "\`$lib' is not a valid libtool archive" 2537 || func_fatal_help "\`$lib' is not a valid libtool archive"
@@ -1671,7 +2553,7 @@ func_mode_execute ()
1671 dir="$func_dirname_result" 2553 dir="$func_dirname_result"
1672 2554
1673 if test -f "$dir/$objdir/$dlname"; then 2555 if test -f "$dir/$objdir/$dlname"; then
1674 dir="$dir/$objdir" 2556 func_append dir "/$objdir"
1675 else 2557 else
1676 if test ! -f "$dir/$dlname"; then 2558 if test ! -f "$dir/$dlname"; then
1677 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 2559 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
@@ -1712,7 +2594,7 @@ func_mode_execute ()
1712 for file 2594 for file
1713 do 2595 do
1714 case $file in 2596 case $file in
1715 -*) ;; 2597 -* | *.la | *.lo ) ;;
1716 *) 2598 *)
1717 # Do a test to see if this is really a libtool program. 2599 # Do a test to see if this is really a libtool program.
1718 if func_ltwrapper_script_p "$file"; then 2600 if func_ltwrapper_script_p "$file"; then
@@ -1728,8 +2610,7 @@ func_mode_execute ()
1728 ;; 2610 ;;
1729 esac 2611 esac
1730 # Quote arguments (to preserve shell metacharacters). 2612 # Quote arguments (to preserve shell metacharacters).
1731 func_quote_for_eval "$file" 2613 func_append_quoted args "$file"
1732 args="$args $func_quote_for_eval_result"
1733 done 2614 done
1734 2615
1735 if test "X$opt_dry_run" = Xfalse; then 2616 if test "X$opt_dry_run" = Xfalse; then
@@ -1754,29 +2635,66 @@ func_mode_execute ()
1754 # Display what would be done. 2635 # Display what would be done.
1755 if test -n "$shlibpath_var"; then 2636 if test -n "$shlibpath_var"; then
1756 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" 2637 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
1757 $ECHO "export $shlibpath_var" 2638 echo "export $shlibpath_var"
1758 fi 2639 fi
1759 $ECHO "$cmd$args" 2640 $ECHO "$cmd$args"
1760 exit $EXIT_SUCCESS 2641 exit $EXIT_SUCCESS
1761 fi 2642 fi
1762} 2643}
1763 2644
1764test "$mode" = execute && func_mode_execute ${1+"$@"} 2645test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
1765 2646
1766 2647
1767# func_mode_finish arg... 2648# func_mode_finish arg...
1768func_mode_finish () 2649func_mode_finish ()
1769{ 2650{
1770 $opt_debug 2651 $opt_debug
1771 libdirs="$nonopt" 2652 libs=
2653 libdirs=
1772 admincmds= 2654 admincmds=
1773 2655
1774 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then 2656 for opt in "$nonopt" ${1+"$@"}
1775 for dir 2657 do
1776 do 2658 if test -d "$opt"; then
1777 libdirs="$libdirs $dir" 2659 func_append libdirs " $opt"
1778 done 2660
2661 elif test -f "$opt"; then
2662 if func_lalib_unsafe_p "$opt"; then
2663 func_append libs " $opt"
2664 else
2665 func_warning "\`$opt' is not a valid libtool archive"
2666 fi
2667
2668 else
2669 func_fatal_error "invalid argument \`$opt'"
2670 fi
2671 done
2672
2673 if test -n "$libs"; then
2674 if test -n "$lt_sysroot"; then
2675 sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
2676 sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
2677 else
2678 sysroot_cmd=
2679 fi
2680
2681 # Remove sysroot references
2682 if $opt_dry_run; then
2683 for lib in $libs; do
2684 echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
2685 done
2686 else
2687 tmpdir=`func_mktempdir`
2688 for lib in $libs; do
2689 sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
2690 > $tmpdir/tmp-la
2691 mv -f $tmpdir/tmp-la $lib
2692 done
2693 ${RM}r "$tmpdir"
2694 fi
2695 fi
1779 2696
2697 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1780 for libdir in $libdirs; do 2698 for libdir in $libdirs; do
1781 if test -n "$finish_cmds"; then 2699 if test -n "$finish_cmds"; then
1782 # Do each command in the finish commands. 2700 # Do each command in the finish commands.
@@ -1786,7 +2704,7 @@ func_mode_finish ()
1786 if test -n "$finish_eval"; then 2704 if test -n "$finish_eval"; then
1787 # Do the single finish_eval. 2705 # Do the single finish_eval.
1788 eval cmds=\"$finish_eval\" 2706 eval cmds=\"$finish_eval\"
1789 $opt_dry_run || eval "$cmds" || admincmds="$admincmds 2707 $opt_dry_run || eval "$cmds" || func_append admincmds "
1790 $cmds" 2708 $cmds"
1791 fi 2709 fi
1792 done 2710 done
@@ -1795,53 +2713,55 @@ func_mode_finish ()
1795 # Exit here if they wanted silent mode. 2713 # Exit here if they wanted silent mode.
1796 $opt_silent && exit $EXIT_SUCCESS 2714 $opt_silent && exit $EXIT_SUCCESS
1797 2715
1798 $ECHO "X----------------------------------------------------------------------" | $Xsed 2716 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1799 $ECHO "Libraries have been installed in:" 2717 echo "----------------------------------------------------------------------"
1800 for libdir in $libdirs; do 2718 echo "Libraries have been installed in:"
1801 $ECHO " $libdir" 2719 for libdir in $libdirs; do
1802 done 2720 $ECHO " $libdir"
1803 $ECHO 2721 done
1804 $ECHO "If you ever happen to want to link against installed libraries" 2722 echo
1805 $ECHO "in a given directory, LIBDIR, you must either use libtool, and" 2723 echo "If you ever happen to want to link against installed libraries"
1806 $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" 2724 echo "in a given directory, LIBDIR, you must either use libtool, and"
1807 $ECHO "flag during linking and do at least one of the following:" 2725 echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
1808 if test -n "$shlibpath_var"; then 2726 echo "flag during linking and do at least one of the following:"
1809 $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" 2727 if test -n "$shlibpath_var"; then
1810 $ECHO " during execution" 2728 echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
1811 fi 2729 echo " during execution"
1812 if test -n "$runpath_var"; then 2730 fi
1813 $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" 2731 if test -n "$runpath_var"; then
1814 $ECHO " during linking" 2732 echo " - add LIBDIR to the \`$runpath_var' environment variable"
1815 fi 2733 echo " during linking"
1816 if test -n "$hardcode_libdir_flag_spec"; then 2734 fi
1817 libdir=LIBDIR 2735 if test -n "$hardcode_libdir_flag_spec"; then
1818 eval flag=\"$hardcode_libdir_flag_spec\" 2736 libdir=LIBDIR
2737 eval flag=\"$hardcode_libdir_flag_spec\"
1819 2738
1820 $ECHO " - use the \`$flag' linker flag" 2739 $ECHO " - use the \`$flag' linker flag"
1821 fi 2740 fi
1822 if test -n "$admincmds"; then 2741 if test -n "$admincmds"; then
1823 $ECHO " - have your system administrator run these commands:$admincmds" 2742 $ECHO " - have your system administrator run these commands:$admincmds"
1824 fi 2743 fi
1825 if test -f /etc/ld.so.conf; then 2744 if test -f /etc/ld.so.conf; then
1826 $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" 2745 echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1827 fi 2746 fi
1828 $ECHO 2747 echo
1829 2748
1830 $ECHO "See any operating system documentation about shared libraries for" 2749 echo "See any operating system documentation about shared libraries for"
1831 case $host in 2750 case $host in
1832 solaris2.[6789]|solaris2.1[0-9]) 2751 solaris2.[6789]|solaris2.1[0-9])
1833 $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" 2752 echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
1834 $ECHO "pages." 2753 echo "pages."
1835 ;; 2754 ;;
1836 *) 2755 *)
1837 $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." 2756 echo "more information, such as the ld(1) and ld.so(8) manual pages."
1838 ;; 2757 ;;
1839 esac 2758 esac
1840 $ECHO "X----------------------------------------------------------------------" | $Xsed 2759 echo "----------------------------------------------------------------------"
2760 fi
1841 exit $EXIT_SUCCESS 2761 exit $EXIT_SUCCESS
1842} 2762}
1843 2763
1844test "$mode" = finish && func_mode_finish ${1+"$@"} 2764test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
1845 2765
1846 2766
1847# func_mode_install arg... 2767# func_mode_install arg...
@@ -1852,7 +2772,7 @@ func_mode_install ()
1852 # install_prog (especially on Windows NT). 2772 # install_prog (especially on Windows NT).
1853 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || 2773 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1854 # Allow the use of GNU shtool's install command. 2774 # Allow the use of GNU shtool's install command.
1855 $ECHO "X$nonopt" | $GREP shtool >/dev/null; then 2775 case $nonopt in *shtool*) :;; *) false;; esac; then
1856 # Aesthetically quote it. 2776 # Aesthetically quote it.
1857 func_quote_for_eval "$nonopt" 2777 func_quote_for_eval "$nonopt"
1858 install_prog="$func_quote_for_eval_result " 2778 install_prog="$func_quote_for_eval_result "
@@ -1866,7 +2786,12 @@ func_mode_install ()
1866 # The real first argument should be the name of the installation program. 2786 # The real first argument should be the name of the installation program.
1867 # Aesthetically quote it. 2787 # Aesthetically quote it.
1868 func_quote_for_eval "$arg" 2788 func_quote_for_eval "$arg"
1869 install_prog="$install_prog$func_quote_for_eval_result" 2789 func_append install_prog "$func_quote_for_eval_result"
2790 install_shared_prog=$install_prog
2791 case " $install_prog " in
2792 *[\\\ /]cp\ *) install_cp=: ;;
2793 *) install_cp=false ;;
2794 esac
1870 2795
1871 # We need to accept at least all the BSD install flags. 2796 # We need to accept at least all the BSD install flags.
1872 dest= 2797 dest=
@@ -1876,10 +2801,12 @@ func_mode_install ()
1876 install_type= 2801 install_type=
1877 isdir=no 2802 isdir=no
1878 stripme= 2803 stripme=
2804 no_mode=:
1879 for arg 2805 for arg
1880 do 2806 do
2807 arg2=
1881 if test -n "$dest"; then 2808 if test -n "$dest"; then
1882 files="$files $dest" 2809 func_append files " $dest"
1883 dest=$arg 2810 dest=$arg
1884 continue 2811 continue
1885 fi 2812 fi
@@ -1887,10 +2814,9 @@ func_mode_install ()
1887 case $arg in 2814 case $arg in
1888 -d) isdir=yes ;; 2815 -d) isdir=yes ;;
1889 -f) 2816 -f)
1890 case " $install_prog " in 2817 if $install_cp; then :; else
1891 *[\\\ /]cp\ *) ;; 2818 prev=$arg
1892 *) prev=$arg ;; 2819 fi
1893 esac
1894 ;; 2820 ;;
1895 -g | -m | -o) 2821 -g | -m | -o)
1896 prev=$arg 2822 prev=$arg
@@ -1904,6 +2830,10 @@ func_mode_install ()
1904 *) 2830 *)
1905 # If the previous option needed an argument, then skip it. 2831 # If the previous option needed an argument, then skip it.
1906 if test -n "$prev"; then 2832 if test -n "$prev"; then
2833 if test "x$prev" = x-m && test -n "$install_override_mode"; then
2834 arg2=$install_override_mode
2835 no_mode=false
2836 fi
1907 prev= 2837 prev=
1908 else 2838 else
1909 dest=$arg 2839 dest=$arg
@@ -1914,7 +2844,11 @@ func_mode_install ()
1914 2844
1915 # Aesthetically quote the argument. 2845 # Aesthetically quote the argument.
1916 func_quote_for_eval "$arg" 2846 func_quote_for_eval "$arg"
1917 install_prog="$install_prog $func_quote_for_eval_result" 2847 func_append install_prog " $func_quote_for_eval_result"
2848 if test -n "$arg2"; then
2849 func_quote_for_eval "$arg2"
2850 fi
2851 func_append install_shared_prog " $func_quote_for_eval_result"
1918 done 2852 done
1919 2853
1920 test -z "$install_prog" && \ 2854 test -z "$install_prog" && \
@@ -1923,6 +2857,13 @@ func_mode_install ()
1923 test -n "$prev" && \ 2857 test -n "$prev" && \
1924 func_fatal_help "the \`$prev' option requires an argument" 2858 func_fatal_help "the \`$prev' option requires an argument"
1925 2859
2860 if test -n "$install_override_mode" && $no_mode; then
2861 if $install_cp; then :; else
2862 func_quote_for_eval "$install_override_mode"
2863 func_append install_shared_prog " -m $func_quote_for_eval_result"
2864 fi
2865 fi
2866
1926 if test -z "$files"; then 2867 if test -z "$files"; then
1927 if test -z "$dest"; then 2868 if test -z "$dest"; then
1928 func_fatal_help "no file or destination specified" 2869 func_fatal_help "no file or destination specified"
@@ -1977,10 +2918,13 @@ func_mode_install ()
1977 case $file in 2918 case $file in
1978 *.$libext) 2919 *.$libext)
1979 # Do the static libraries later. 2920 # Do the static libraries later.
1980 staticlibs="$staticlibs $file" 2921 func_append staticlibs " $file"
1981 ;; 2922 ;;
1982 2923
1983 *.la) 2924 *.la)
2925 func_resolve_sysroot "$file"
2926 file=$func_resolve_sysroot_result
2927
1984 # Check to see that this really is a libtool archive. 2928 # Check to see that this really is a libtool archive.
1985 func_lalib_unsafe_p "$file" \ 2929 func_lalib_unsafe_p "$file" \
1986 || func_fatal_help "\`$file' is not a valid libtool archive" 2930 || func_fatal_help "\`$file' is not a valid libtool archive"
@@ -1994,23 +2938,23 @@ func_mode_install ()
1994 if test "X$destdir" = "X$libdir"; then 2938 if test "X$destdir" = "X$libdir"; then
1995 case "$current_libdirs " in 2939 case "$current_libdirs " in
1996 *" $libdir "*) ;; 2940 *" $libdir "*) ;;
1997 *) current_libdirs="$current_libdirs $libdir" ;; 2941 *) func_append current_libdirs " $libdir" ;;
1998 esac 2942 esac
1999 else 2943 else
2000 # Note the libdir as a future libdir. 2944 # Note the libdir as a future libdir.
2001 case "$future_libdirs " in 2945 case "$future_libdirs " in
2002 *" $libdir "*) ;; 2946 *" $libdir "*) ;;
2003 *) future_libdirs="$future_libdirs $libdir" ;; 2947 *) func_append future_libdirs " $libdir" ;;
2004 esac 2948 esac
2005 fi 2949 fi
2006 2950
2007 func_dirname "$file" "/" "" 2951 func_dirname "$file" "/" ""
2008 dir="$func_dirname_result" 2952 dir="$func_dirname_result"
2009 dir="$dir$objdir" 2953 func_append dir "$objdir"
2010 2954
2011 if test -n "$relink_command"; then 2955 if test -n "$relink_command"; then
2012 # Determine the prefix the user has applied to our future dir. 2956 # Determine the prefix the user has applied to our future dir.
2013 inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` 2957 inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
2014 2958
2015 # Don't allow the user to place us outside of our expected 2959 # Don't allow the user to place us outside of our expected
2016 # location b/c this prevents finding dependent libraries that 2960 # location b/c this prevents finding dependent libraries that
@@ -2023,9 +2967,9 @@ func_mode_install ()
2023 2967
2024 if test -n "$inst_prefix_dir"; then 2968 if test -n "$inst_prefix_dir"; then
2025 # Stick the inst_prefix_dir data into the link command. 2969 # Stick the inst_prefix_dir data into the link command.
2026 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` 2970 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
2027 else 2971 else
2028 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` 2972 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
2029 fi 2973 fi
2030 2974
2031 func_warning "relinking \`$file'" 2975 func_warning "relinking \`$file'"
@@ -2043,7 +2987,7 @@ func_mode_install ()
2043 test -n "$relink_command" && srcname="$realname"T 2987 test -n "$relink_command" && srcname="$realname"T
2044 2988
2045 # Install the shared library and build the symlinks. 2989 # Install the shared library and build the symlinks.
2046 func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 2990 func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
2047 'exit $?' 2991 'exit $?'
2048 tstripme="$stripme" 2992 tstripme="$stripme"
2049 case $host_os in 2993 case $host_os in
@@ -2083,7 +3027,7 @@ func_mode_install ()
2083 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' 3027 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
2084 3028
2085 # Maybe install the static library, too. 3029 # Maybe install the static library, too.
2086 test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" 3030 test -n "$old_library" && func_append staticlibs " $dir/$old_library"
2087 ;; 3031 ;;
2088 3032
2089 *.lo) 3033 *.lo)
@@ -2183,7 +3127,7 @@ func_mode_install ()
2183 if test -f "$lib"; then 3127 if test -f "$lib"; then
2184 func_source "$lib" 3128 func_source "$lib"
2185 fi 3129 fi
2186 libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test 3130 libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
2187 if test -n "$libdir" && test ! -f "$libfile"; then 3131 if test -n "$libdir" && test ! -f "$libfile"; then
2188 func_warning "\`$lib' has not been installed in \`$libdir'" 3132 func_warning "\`$lib' has not been installed in \`$libdir'"
2189 finalize=no 3133 finalize=no
@@ -2202,7 +3146,7 @@ func_mode_install ()
2202 file="$func_basename_result" 3146 file="$func_basename_result"
2203 outputname="$tmpdir/$file" 3147 outputname="$tmpdir/$file"
2204 # Replace the output file specification. 3148 # Replace the output file specification.
2205 relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` 3149 relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
2206 3150
2207 $opt_silent || { 3151 $opt_silent || {
2208 func_quote_for_expand "$relink_command" 3152 func_quote_for_expand "$relink_command"
@@ -2221,7 +3165,7 @@ func_mode_install ()
2221 } 3165 }
2222 else 3166 else
2223 # Install the binary that we compiled earlier. 3167 # Install the binary that we compiled earlier.
2224 file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` 3168 file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
2225 fi 3169 fi
2226 fi 3170 fi
2227 3171
@@ -2280,7 +3224,7 @@ func_mode_install ()
2280 fi 3224 fi
2281} 3225}
2282 3226
2283test "$mode" = install && func_mode_install ${1+"$@"} 3227test "$opt_mode" = install && func_mode_install ${1+"$@"}
2284 3228
2285 3229
2286# func_generate_dlsyms outputname originator pic_p 3230# func_generate_dlsyms outputname originator pic_p
@@ -2323,6 +3267,22 @@ func_generate_dlsyms ()
2323extern \"C\" { 3267extern \"C\" {
2324#endif 3268#endif
2325 3269
3270#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
3271#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
3272#endif
3273
3274/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3275#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3276/* DATA imports from DLLs on WIN32 con't be const, because runtime
3277 relocations are performed -- see ld's documentation on pseudo-relocs. */
3278# define LT_DLSYM_CONST
3279#elif defined(__osf__)
3280/* This system does not cope well with relocations in const data. */
3281# define LT_DLSYM_CONST
3282#else
3283# define LT_DLSYM_CONST const
3284#endif
3285
2326/* External symbol declarations for the compiler. */\ 3286/* External symbol declarations for the compiler. */\
2327" 3287"
2328 3288
@@ -2332,10 +3292,11 @@ extern \"C\" {
2332 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" 3292 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
2333 3293
2334 # Add our own program objects to the symbol list. 3294 # Add our own program objects to the symbol list.
2335 progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 3295 progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
2336 for progfile in $progfiles; do 3296 for progfile in $progfiles; do
2337 func_verbose "extracting global C symbols from \`$progfile'" 3297 func_to_tool_file "$progfile" func_convert_file_msys_to_w32
2338 $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" 3298 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
3299 $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
2339 done 3300 done
2340 3301
2341 if test -n "$exclude_expsyms"; then 3302 if test -n "$exclude_expsyms"; then
@@ -2371,7 +3332,7 @@ extern \"C\" {
2371 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' 3332 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
2372 eval '$MV "$nlist"T "$nlist"' 3333 eval '$MV "$nlist"T "$nlist"'
2373 case $host in 3334 case $host in
2374 *cygwin | *mingw* | *cegcc* ) 3335 *cygwin* | *mingw* | *cegcc* )
2375 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' 3336 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2376 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' 3337 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
2377 ;; 3338 ;;
@@ -2384,10 +3345,52 @@ extern \"C\" {
2384 func_verbose "extracting global C symbols from \`$dlprefile'" 3345 func_verbose "extracting global C symbols from \`$dlprefile'"
2385 func_basename "$dlprefile" 3346 func_basename "$dlprefile"
2386 name="$func_basename_result" 3347 name="$func_basename_result"
2387 $opt_dry_run || { 3348 case $host in
2388 eval '$ECHO ": $name " >> "$nlist"' 3349 *cygwin* | *mingw* | *cegcc* )
2389 eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" 3350 # if an import library, we need to obtain dlname
2390 } 3351 if func_win32_import_lib_p "$dlprefile"; then
3352 func_tr_sh "$dlprefile"
3353 eval "curr_lafile=\$libfile_$func_tr_sh_result"
3354 dlprefile_dlbasename=""
3355 if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
3356 # Use subshell, to avoid clobbering current variable values
3357 dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
3358 if test -n "$dlprefile_dlname" ; then
3359 func_basename "$dlprefile_dlname"
3360 dlprefile_dlbasename="$func_basename_result"
3361 else
3362 # no lafile. user explicitly requested -dlpreopen <import library>.
3363 $sharedlib_from_linklib_cmd "$dlprefile"
3364 dlprefile_dlbasename=$sharedlib_from_linklib_result
3365 fi
3366 fi
3367 $opt_dry_run || {
3368 if test -n "$dlprefile_dlbasename" ; then
3369 eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
3370 else
3371 func_warning "Could not compute DLL name from $name"
3372 eval '$ECHO ": $name " >> "$nlist"'
3373 fi
3374 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3375 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
3376 $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
3377 }
3378 else # not an import lib
3379 $opt_dry_run || {
3380 eval '$ECHO ": $name " >> "$nlist"'
3381 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3382 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
3383 }
3384 fi
3385 ;;
3386 *)
3387 $opt_dry_run || {
3388 eval '$ECHO ": $name " >> "$nlist"'
3389 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3390 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
3391 }
3392 ;;
3393 esac
2391 done 3394 done
2392 3395
2393 $opt_dry_run || { 3396 $opt_dry_run || {
@@ -2415,36 +3418,19 @@ extern \"C\" {
2415 if test -f "$nlist"S; then 3418 if test -f "$nlist"S; then
2416 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' 3419 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
2417 else 3420 else
2418 $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" 3421 echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
2419 fi 3422 fi
2420 3423
2421 $ECHO >> "$output_objdir/$my_dlsyms" "\ 3424 echo >> "$output_objdir/$my_dlsyms" "\
2422 3425
2423/* The mapping between symbol names and symbols. */ 3426/* The mapping between symbol names and symbols. */
2424typedef struct { 3427typedef struct {
2425 const char *name; 3428 const char *name;
2426 void *address; 3429 void *address;
2427} lt_dlsymlist; 3430} lt_dlsymlist;
2428" 3431extern LT_DLSYM_CONST lt_dlsymlist
2429 case $host in
2430 *cygwin* | *mingw* | *cegcc* )
2431 $ECHO >> "$output_objdir/$my_dlsyms" "\
2432/* DATA imports from DLLs on WIN32 con't be const, because
2433 runtime relocations are performed -- see ld's documentation
2434 on pseudo-relocs. */"
2435 lt_dlsym_const= ;;
2436 *osf5*)
2437 echo >> "$output_objdir/$my_dlsyms" "\
2438/* This system does not cope well with relocations in const data */"
2439 lt_dlsym_const= ;;
2440 *)
2441 lt_dlsym_const=const ;;
2442 esac
2443
2444 $ECHO >> "$output_objdir/$my_dlsyms" "\
2445extern $lt_dlsym_const lt_dlsymlist
2446lt_${my_prefix}_LTX_preloaded_symbols[]; 3432lt_${my_prefix}_LTX_preloaded_symbols[];
2447$lt_dlsym_const lt_dlsymlist 3433LT_DLSYM_CONST lt_dlsymlist
2448lt_${my_prefix}_LTX_preloaded_symbols[] = 3434lt_${my_prefix}_LTX_preloaded_symbols[] =
2449{\ 3435{\
2450 { \"$my_originator\", (void *) 0 }," 3436 { \"$my_originator\", (void *) 0 },"
@@ -2457,7 +3443,7 @@ lt_${my_prefix}_LTX_preloaded_symbols[] =
2457 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" 3443 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
2458 ;; 3444 ;;
2459 esac 3445 esac
2460 $ECHO >> "$output_objdir/$my_dlsyms" "\ 3446 echo >> "$output_objdir/$my_dlsyms" "\
2461 {0, (void *) 0} 3447 {0, (void *) 0}
2462}; 3448};
2463 3449
@@ -2500,7 +3486,7 @@ static const void *lt_preloaded_setup() {
2500 for arg in $LTCFLAGS; do 3486 for arg in $LTCFLAGS; do
2501 case $arg in 3487 case $arg in
2502 -pie | -fpie | -fPIE) ;; 3488 -pie | -fpie | -fPIE) ;;
2503 *) symtab_cflags="$symtab_cflags $arg" ;; 3489 *) func_append symtab_cflags " $arg" ;;
2504 esac 3490 esac
2505 done 3491 done
2506 3492
@@ -2515,16 +3501,16 @@ static const void *lt_preloaded_setup() {
2515 case $host in 3501 case $host in
2516 *cygwin* | *mingw* | *cegcc* ) 3502 *cygwin* | *mingw* | *cegcc* )
2517 if test -f "$output_objdir/$my_outputname.def"; then 3503 if test -f "$output_objdir/$my_outputname.def"; then
2518 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` 3504 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2519 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` 3505 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2520 else 3506 else
2521 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` 3507 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
2522 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` 3508 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
2523 fi 3509 fi
2524 ;; 3510 ;;
2525 *) 3511 *)
2526 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` 3512 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
2527 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` 3513 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
2528 ;; 3514 ;;
2529 esac 3515 esac
2530 ;; 3516 ;;
@@ -2538,8 +3524,8 @@ static const void *lt_preloaded_setup() {
2538 # really was required. 3524 # really was required.
2539 3525
2540 # Nullify the symbol file. 3526 # Nullify the symbol file.
2541 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` 3527 compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
2542 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` 3528 finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
2543 fi 3529 fi
2544} 3530}
2545 3531
@@ -2549,6 +3535,7 @@ static const void *lt_preloaded_setup() {
2549# Need a lot of goo to handle *both* DLLs and import libs 3535# Need a lot of goo to handle *both* DLLs and import libs
2550# Has to be a shell function in order to 'eat' the argument 3536# Has to be a shell function in order to 'eat' the argument
2551# that is supplied when $file_magic_command is called. 3537# that is supplied when $file_magic_command is called.
3538# Despite the name, also deal with 64 bit binaries.
2552func_win32_libid () 3539func_win32_libid ()
2553{ 3540{
2554 $opt_debug 3541 $opt_debug
@@ -2559,9 +3546,11 @@ func_win32_libid ()
2559 win32_libid_type="x86 archive import" 3546 win32_libid_type="x86 archive import"
2560 ;; 3547 ;;
2561 *ar\ archive*) # could be an import, or static 3548 *ar\ archive*) # could be an import, or static
3549 # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
2562 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | 3550 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
2563 $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then 3551 $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
2564 win32_nmres=`eval $NM -f posix -A $1 | 3552 func_to_tool_file "$1" func_convert_file_msys_to_w32
3553 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
2565 $SED -n -e ' 3554 $SED -n -e '
2566 1,100{ 3555 1,100{
2567 / I /{ 3556 / I /{
@@ -2590,6 +3579,131 @@ func_win32_libid ()
2590 $ECHO "$win32_libid_type" 3579 $ECHO "$win32_libid_type"
2591} 3580}
2592 3581
3582# func_cygming_dll_for_implib ARG
3583#
3584# Platform-specific function to extract the
3585# name of the DLL associated with the specified
3586# import library ARG.
3587# Invoked by eval'ing the libtool variable
3588# $sharedlib_from_linklib_cmd
3589# Result is available in the variable
3590# $sharedlib_from_linklib_result
3591func_cygming_dll_for_implib ()
3592{
3593 $opt_debug
3594 sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
3595}
3596
3597# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
3598#
3599# The is the core of a fallback implementation of a
3600# platform-specific function to extract the name of the
3601# DLL associated with the specified import library LIBNAME.
3602#
3603# SECTION_NAME is either .idata$6 or .idata$7, depending
3604# on the platform and compiler that created the implib.
3605#
3606# Echos the name of the DLL associated with the
3607# specified import library.
3608func_cygming_dll_for_implib_fallback_core ()
3609{
3610 $opt_debug
3611 match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
3612 $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
3613 $SED '/^Contents of section '"$match_literal"':/{
3614 # Place marker at beginning of archive member dllname section
3615 s/.*/====MARK====/
3616 p
3617 d
3618 }
3619 # These lines can sometimes be longer than 43 characters, but
3620 # are always uninteresting
3621 /:[ ]*file format pe[i]\{,1\}-/d
3622 /^In archive [^:]*:/d
3623 # Ensure marker is printed
3624 /^====MARK====/p
3625 # Remove all lines with less than 43 characters
3626 /^.\{43\}/!d
3627 # From remaining lines, remove first 43 characters
3628 s/^.\{43\}//' |
3629 $SED -n '
3630 # Join marker and all lines until next marker into a single line
3631 /^====MARK====/ b para
3632 H
3633 $ b para
3634 b
3635 :para
3636 x
3637 s/\n//g
3638 # Remove the marker
3639 s/^====MARK====//
3640 # Remove trailing dots and whitespace
3641 s/[\. \t]*$//
3642 # Print
3643 /./p' |
3644 # we now have a list, one entry per line, of the stringified
3645 # contents of the appropriate section of all members of the
3646 # archive which possess that section. Heuristic: eliminate
3647 # all those which have a first or second character that is
3648 # a '.' (that is, objdump's representation of an unprintable
3649 # character.) This should work for all archives with less than
3650 # 0x302f exports -- but will fail for DLLs whose name actually
3651 # begins with a literal '.' or a single character followed by
3652 # a '.'.
3653 #
3654 # Of those that remain, print the first one.
3655 $SED -e '/^\./d;/^.\./d;q'
3656}
3657
3658# func_cygming_gnu_implib_p ARG
3659# This predicate returns with zero status (TRUE) if
3660# ARG is a GNU/binutils-style import library. Returns
3661# with nonzero status (FALSE) otherwise.
3662func_cygming_gnu_implib_p ()
3663{
3664 $opt_debug
3665 func_to_tool_file "$1" func_convert_file_msys_to_w32
3666 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
3667 test -n "$func_cygming_gnu_implib_tmp"
3668}
3669
3670# func_cygming_ms_implib_p ARG
3671# This predicate returns with zero status (TRUE) if
3672# ARG is an MS-style import library. Returns
3673# with nonzero status (FALSE) otherwise.
3674func_cygming_ms_implib_p ()
3675{
3676 $opt_debug
3677 func_to_tool_file "$1" func_convert_file_msys_to_w32
3678 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
3679 test -n "$func_cygming_ms_implib_tmp"
3680}
3681
3682# func_cygming_dll_for_implib_fallback ARG
3683# Platform-specific function to extract the
3684# name of the DLL associated with the specified
3685# import library ARG.
3686#
3687# This fallback implementation is for use when $DLLTOOL
3688# does not support the --identify-strict option.
3689# Invoked by eval'ing the libtool variable
3690# $sharedlib_from_linklib_cmd
3691# Result is available in the variable
3692# $sharedlib_from_linklib_result
3693func_cygming_dll_for_implib_fallback ()
3694{
3695 $opt_debug
3696 if func_cygming_gnu_implib_p "$1" ; then
3697 # binutils import library
3698 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
3699 elif func_cygming_ms_implib_p "$1" ; then
3700 # ms-generated import library
3701 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
3702 else
3703 # unknown
3704 sharedlib_from_linklib_result=""
3705 fi
3706}
2593 3707
2594 3708
2595# func_extract_an_archive dir oldlib 3709# func_extract_an_archive dir oldlib
@@ -2598,7 +3712,18 @@ func_extract_an_archive ()
2598 $opt_debug 3712 $opt_debug
2599 f_ex_an_ar_dir="$1"; shift 3713 f_ex_an_ar_dir="$1"; shift
2600 f_ex_an_ar_oldlib="$1" 3714 f_ex_an_ar_oldlib="$1"
2601 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' 3715 if test "$lock_old_archive_extraction" = yes; then
3716 lockfile=$f_ex_an_ar_oldlib.lock
3717 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
3718 func_echo "Waiting for $lockfile to be removed"
3719 sleep 2
3720 done
3721 fi
3722 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
3723 'stat=$?; rm -f "$lockfile"; exit $stat'
3724 if test "$lock_old_archive_extraction" = yes; then
3725 $opt_dry_run || rm -f "$lockfile"
3726 fi
2602 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then 3727 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
2603 : 3728 :
2604 else 3729 else
@@ -2669,7 +3794,7 @@ func_extract_archives ()
2669 darwin_file= 3794 darwin_file=
2670 darwin_files= 3795 darwin_files=
2671 for darwin_file in $darwin_filelist; do 3796 for darwin_file in $darwin_filelist; do
2672 darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` 3797 darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
2673 $LIPO -create -output "$darwin_file" $darwin_files 3798 $LIPO -create -output "$darwin_file" $darwin_files
2674 done # $darwin_filelist 3799 done # $darwin_filelist
2675 $RM -rf unfat-$$ 3800 $RM -rf unfat-$$
@@ -2684,25 +3809,30 @@ func_extract_archives ()
2684 func_extract_an_archive "$my_xdir" "$my_xabs" 3809 func_extract_an_archive "$my_xdir" "$my_xabs"
2685 ;; 3810 ;;
2686 esac 3811 esac
2687 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` 3812 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
2688 done 3813 done
2689 3814
2690 func_extract_archives_result="$my_oldobjs" 3815 func_extract_archives_result="$my_oldobjs"
2691} 3816}
2692 3817
2693 3818
2694 3819# func_emit_wrapper [arg=no]
2695# func_emit_wrapper_part1 [arg=no]
2696# 3820#
2697# Emit the first part of a libtool wrapper script on stdout. 3821# Emit a libtool wrapper script on stdout.
2698# For more information, see the description associated with 3822# Don't directly open a file because we may want to
2699# func_emit_wrapper(), below. 3823# incorporate the script contents within a cygwin/mingw
2700func_emit_wrapper_part1 () 3824# wrapper executable. Must ONLY be called from within
3825# func_mode_link because it depends on a number of variables
3826# set therein.
3827#
3828# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
3829# variable will take. If 'yes', then the emitted script
3830# will assume that the directory in which it is stored is
3831# the $objdir directory. This is a cygwin/mingw-specific
3832# behavior.
3833func_emit_wrapper ()
2701{ 3834{
2702 func_emit_wrapper_part1_arg1=no 3835 func_emit_wrapper_arg1=${1-no}
2703 if test -n "$1" ; then
2704 func_emit_wrapper_part1_arg1=$1
2705 fi
2706 3836
2707 $ECHO "\ 3837 $ECHO "\
2708#! $SHELL 3838#! $SHELL
@@ -2718,7 +3848,6 @@ func_emit_wrapper_part1 ()
2718 3848
2719# Sed substitution that helps us do robust quoting. It backslashifies 3849# Sed substitution that helps us do robust quoting. It backslashifies
2720# metacharacters that are still active within double-quoted strings. 3850# metacharacters that are still active within double-quoted strings.
2721Xsed='${SED} -e 1s/^X//'
2722sed_quote_subst='$sed_quote_subst' 3851sed_quote_subst='$sed_quote_subst'
2723 3852
2724# Be Bourne compatible 3853# Be Bourne compatible
@@ -2749,31 +3878,132 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
2749else 3878else
2750 # When we are sourced in execute mode, \$file and \$ECHO are already set. 3879 # When we are sourced in execute mode, \$file and \$ECHO are already set.
2751 if test \"\$libtool_execute_magic\" != \"$magic\"; then 3880 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2752 ECHO=\"$qecho\" 3881 file=\"\$0\""
2753 file=\"\$0\" 3882
2754 # Make sure echo works. 3883 qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
2755 if test \"X\$1\" = X--no-reexec; then 3884 $ECHO "\
2756 # Discard the --no-reexec flag, and continue. 3885
2757 shift 3886# A function that is used when there is no print builtin or printf.
2758 elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then 3887func_fallback_echo ()
2759 # Yippee, \$ECHO works! 3888{
2760 : 3889 eval 'cat <<_LTECHO_EOF
2761 else 3890\$1
2762 # Restart under the correct shell, and then maybe \$ECHO will work. 3891_LTECHO_EOF'
2763 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} 3892}
2764 fi 3893 ECHO=\"$qECHO\"
2765 fi\ 3894 fi
3895
3896# Very basic option parsing. These options are (a) specific to
3897# the libtool wrapper, (b) are identical between the wrapper
3898# /script/ and the wrapper /executable/ which is used only on
3899# windows platforms, and (c) all begin with the string "--lt-"
3900# (application programs are unlikely to have options which match
3901# this pattern).
3902#
3903# There are only two supported options: --lt-debug and
3904# --lt-dump-script. There is, deliberately, no --lt-help.
3905#
3906# The first argument to this parsing function should be the
3907# script's $0 value, followed by "$@".
3908lt_option_debug=
3909func_parse_lt_options ()
3910{
3911 lt_script_arg0=\$0
3912 shift
3913 for lt_opt
3914 do
3915 case \"\$lt_opt\" in
3916 --lt-debug) lt_option_debug=1 ;;
3917 --lt-dump-script)
3918 lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
3919 test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
3920 lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
3921 cat \"\$lt_dump_D/\$lt_dump_F\"
3922 exit 0
3923 ;;
3924 --lt-*)
3925 \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
3926 exit 1
3927 ;;
3928 esac
3929 done
3930
3931 # Print the debug banner immediately:
3932 if test -n \"\$lt_option_debug\"; then
3933 echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
3934 fi
3935}
3936
3937# Used when --lt-debug. Prints its arguments to stdout
3938# (redirection is the responsibility of the caller)
3939func_lt_dump_args ()
3940{
3941 lt_dump_args_N=1;
3942 for lt_arg
3943 do
3944 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
3945 lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
3946 done
3947}
3948
3949# Core function for launching the target application
3950func_exec_program_core ()
3951{
2766" 3952"
2767 $ECHO "\ 3953 case $host in
3954 # Backslashes separate directories on plain windows
3955 *-*-mingw | *-*-os2* | *-cegcc*)
3956 $ECHO "\
3957 if test -n \"\$lt_option_debug\"; then
3958 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
3959 func_lt_dump_args \${1+\"\$@\"} 1>&2
3960 fi
3961 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
3962"
3963 ;;
3964
3965 *)
3966 $ECHO "\
3967 if test -n \"\$lt_option_debug\"; then
3968 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
3969 func_lt_dump_args \${1+\"\$@\"} 1>&2
3970 fi
3971 exec \"\$progdir/\$program\" \${1+\"\$@\"}
3972"
3973 ;;
3974 esac
3975 $ECHO "\
3976 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
3977 exit 1
3978}
3979
3980# A function to encapsulate launching the target application
3981# Strips options in the --lt-* namespace from \$@ and
3982# launches target application with the remaining arguments.
3983func_exec_program ()
3984{
3985 for lt_wr_arg
3986 do
3987 case \$lt_wr_arg in
3988 --lt-*) ;;
3989 *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
3990 esac
3991 shift
3992 done
3993 func_exec_program_core \${1+\"\$@\"}
3994}
3995
3996 # Parse options
3997 func_parse_lt_options \"\$0\" \${1+\"\$@\"}
2768 3998
2769 # Find the directory that this script lives in. 3999 # Find the directory that this script lives in.
2770 thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` 4000 thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
2771 test \"x\$thisdir\" = \"x\$file\" && thisdir=. 4001 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2772 4002
2773 # Follow symbolic links until we get to the real thisdir. 4003 # Follow symbolic links until we get to the real thisdir.
2774 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` 4004 file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
2775 while test -n \"\$file\"; do 4005 while test -n \"\$file\"; do
2776 destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` 4006 destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
2777 4007
2778 # If there was a directory component, then change thisdir. 4008 # If there was a directory component, then change thisdir.
2779 if test \"x\$destdir\" != \"x\$file\"; then 4009 if test \"x\$destdir\" != \"x\$file\"; then
@@ -2783,30 +4013,13 @@ else
2783 esac 4013 esac
2784 fi 4014 fi
2785 4015
2786 file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` 4016 file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
2787 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` 4017 file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
2788 done 4018 done
2789"
2790}
2791# end: func_emit_wrapper_part1
2792
2793# func_emit_wrapper_part2 [arg=no]
2794#
2795# Emit the second part of a libtool wrapper script on stdout.
2796# For more information, see the description associated with
2797# func_emit_wrapper(), below.
2798func_emit_wrapper_part2 ()
2799{
2800 func_emit_wrapper_part2_arg1=no
2801 if test -n "$1" ; then
2802 func_emit_wrapper_part2_arg1=$1
2803 fi
2804
2805 $ECHO "\
2806 4019
2807 # Usually 'no', except on cygwin/mingw when embedded into 4020 # Usually 'no', except on cygwin/mingw when embedded into
2808 # the cwrapper. 4021 # the cwrapper.
2809 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 4022 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
2810 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then 4023 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
2811 # special case for '.' 4024 # special case for '.'
2812 if test \"\$thisdir\" = \".\"; then 4025 if test \"\$thisdir\" = \".\"; then
@@ -2814,7 +4027,7 @@ func_emit_wrapper_part2 ()
2814 fi 4027 fi
2815 # remove .libs from thisdir 4028 # remove .libs from thisdir
2816 case \"\$thisdir\" in 4029 case \"\$thisdir\" in
2817 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; 4030 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
2818 $objdir ) thisdir=. ;; 4031 $objdir ) thisdir=. ;;
2819 esac 4032 esac
2820 fi 4033 fi
@@ -2869,6 +4082,18 @@ func_emit_wrapper_part2 ()
2869 4082
2870 if test -f \"\$progdir/\$program\"; then" 4083 if test -f \"\$progdir/\$program\"; then"
2871 4084
4085 # fixup the dll searchpath if we need to.
4086 #
4087 # Fix the DLL searchpath if we need to. Do this before prepending
4088 # to shlibpath, because on Windows, both are PATH and uninstalled
4089 # libraries must come first.
4090 if test -n "$dllsearchpath"; then
4091 $ECHO "\
4092 # Add the dll search path components to the executable PATH
4093 PATH=$dllsearchpath:\$PATH
4094"
4095 fi
4096
2872 # Export our shlibpath_var if we have one. 4097 # Export our shlibpath_var if we have one.
2873 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then 4098 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2874 $ECHO "\ 4099 $ECHO "\
@@ -2877,253 +4102,28 @@ func_emit_wrapper_part2 ()
2877 4102
2878 # Some systems cannot cope with colon-terminated $shlibpath_var 4103 # Some systems cannot cope with colon-terminated $shlibpath_var
2879 # The second colon is a workaround for a bug in BeOS R4 sed 4104 # The second colon is a workaround for a bug in BeOS R4 sed
2880 $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` 4105 $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
2881 4106
2882 export $shlibpath_var 4107 export $shlibpath_var
2883" 4108"
2884 fi 4109 fi
2885 4110
2886 # fixup the dll searchpath if we need to.
2887 if test -n "$dllsearchpath"; then
2888 $ECHO "\
2889 # Add the dll search path components to the executable PATH
2890 PATH=$dllsearchpath:\$PATH
2891"
2892 fi
2893
2894 $ECHO "\ 4111 $ECHO "\
2895 if test \"\$libtool_execute_magic\" != \"$magic\"; then 4112 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2896 # Run the actual program with our arguments. 4113 # Run the actual program with our arguments.
2897" 4114 func_exec_program \${1+\"\$@\"}
2898 case $host in
2899 # Backslashes separate directories on plain windows
2900 *-*-mingw | *-*-os2* | *-cegcc*)
2901 $ECHO "\
2902 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
2903"
2904 ;;
2905
2906 *)
2907 $ECHO "\
2908 exec \"\$progdir/\$program\" \${1+\"\$@\"}
2909"
2910 ;;
2911 esac
2912 $ECHO "\
2913 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
2914 exit 1
2915 fi 4115 fi
2916 else 4116 else
2917 # The program doesn't exist. 4117 # The program doesn't exist.
2918 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 4118 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
2919 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 4119 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
2920 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 4120 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
2921 exit 1 4121 exit 1
2922 fi 4122 fi
2923fi\ 4123fi\
2924" 4124"
2925} 4125}
2926# end: func_emit_wrapper_part2
2927
2928
2929# func_emit_wrapper [arg=no]
2930#
2931# Emit a libtool wrapper script on stdout.
2932# Don't directly open a file because we may want to
2933# incorporate the script contents within a cygwin/mingw
2934# wrapper executable. Must ONLY be called from within
2935# func_mode_link because it depends on a number of variables
2936# set therein.
2937#
2938# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
2939# variable will take. If 'yes', then the emitted script
2940# will assume that the directory in which it is stored is
2941# the $objdir directory. This is a cygwin/mingw-specific
2942# behavior.
2943func_emit_wrapper ()
2944{
2945 func_emit_wrapper_arg1=no
2946 if test -n "$1" ; then
2947 func_emit_wrapper_arg1=$1
2948 fi
2949
2950 # split this up so that func_emit_cwrapperexe_src
2951 # can call each part independently.
2952 func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
2953 func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
2954}
2955
2956
2957# func_to_host_path arg
2958#
2959# Convert paths to host format when used with build tools.
2960# Intended for use with "native" mingw (where libtool itself
2961# is running under the msys shell), or in the following cross-
2962# build environments:
2963# $build $host
2964# mingw (msys) mingw [e.g. native]
2965# cygwin mingw
2966# *nix + wine mingw
2967# where wine is equipped with the `winepath' executable.
2968# In the native mingw case, the (msys) shell automatically
2969# converts paths for any non-msys applications it launches,
2970# but that facility isn't available from inside the cwrapper.
2971# Similar accommodations are necessary for $host mingw and
2972# $build cygwin. Calling this function does no harm for other
2973# $host/$build combinations not listed above.
2974#
2975# ARG is the path (on $build) that should be converted to
2976# the proper representation for $host. The result is stored
2977# in $func_to_host_path_result.
2978func_to_host_path ()
2979{
2980 func_to_host_path_result="$1"
2981 if test -n "$1" ; then
2982 case $host in
2983 *mingw* )
2984 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2985 case $build in
2986 *mingw* ) # actually, msys
2987 # awkward: cmd appends spaces to result
2988 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
2989 func_to_host_path_tmp1=`( cmd //c echo "$1" |\
2990 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
2991 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2992 $SED -e "$lt_sed_naive_backslashify"`
2993 ;;
2994 *cygwin* )
2995 func_to_host_path_tmp1=`cygpath -w "$1"`
2996 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2997 $SED -e "$lt_sed_naive_backslashify"`
2998 ;;
2999 * )
3000 # Unfortunately, winepath does not exit with a non-zero
3001 # error code, so we are forced to check the contents of
3002 # stdout. On the other hand, if the command is not
3003 # found, the shell will set an exit code of 127 and print
3004 # *an error message* to stdout. So we must check for both
3005 # error code of zero AND non-empty stdout, which explains
3006 # the odd construction:
3007 func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
3008 if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
3009 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3010 $SED -e "$lt_sed_naive_backslashify"`
3011 else
3012 # Allow warning below.
3013 func_to_host_path_result=""
3014 fi
3015 ;;
3016 esac
3017 if test -z "$func_to_host_path_result" ; then
3018 func_error "Could not determine host path corresponding to"
3019 func_error " '$1'"
3020 func_error "Continuing, but uninstalled executables may not work."
3021 # Fallback:
3022 func_to_host_path_result="$1"
3023 fi
3024 ;;
3025 esac
3026 fi
3027}
3028# end: func_to_host_path
3029 4126
3030# func_to_host_pathlist arg
3031#
3032# Convert pathlists to host format when used with build tools.
3033# See func_to_host_path(), above. This function supports the
3034# following $build/$host combinations (but does no harm for
3035# combinations not listed here):
3036# $build $host
3037# mingw (msys) mingw [e.g. native]
3038# cygwin mingw
3039# *nix + wine mingw
3040#
3041# Path separators are also converted from $build format to
3042# $host format. If ARG begins or ends with a path separator
3043# character, it is preserved (but converted to $host format)
3044# on output.
3045#
3046# ARG is a pathlist (on $build) that should be converted to
3047# the proper representation on $host. The result is stored
3048# in $func_to_host_pathlist_result.
3049func_to_host_pathlist ()
3050{
3051 func_to_host_pathlist_result="$1"
3052 if test -n "$1" ; then
3053 case $host in
3054 *mingw* )
3055 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
3056 # Remove leading and trailing path separator characters from
3057 # ARG. msys behavior is inconsistent here, cygpath turns them
3058 # into '.;' and ';.', and winepath ignores them completely.
3059 func_to_host_pathlist_tmp2="$1"
3060 # Once set for this call, this variable should not be
3061 # reassigned. It is used in tha fallback case.
3062 func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
3063 $SED -e 's|^:*||' -e 's|:*$||'`
3064 case $build in
3065 *mingw* ) # Actually, msys.
3066 # Awkward: cmd appends spaces to result.
3067 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
3068 func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
3069 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
3070 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3071 $SED -e "$lt_sed_naive_backslashify"`
3072 ;;
3073 *cygwin* )
3074 func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
3075 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3076 $SED -e "$lt_sed_naive_backslashify"`
3077 ;;
3078 * )
3079 # unfortunately, winepath doesn't convert pathlists
3080 func_to_host_pathlist_result=""
3081 func_to_host_pathlist_oldIFS=$IFS
3082 IFS=:
3083 for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
3084 IFS=$func_to_host_pathlist_oldIFS
3085 if test -n "$func_to_host_pathlist_f" ; then
3086 func_to_host_path "$func_to_host_pathlist_f"
3087 if test -n "$func_to_host_path_result" ; then
3088 if test -z "$func_to_host_pathlist_result" ; then
3089 func_to_host_pathlist_result="$func_to_host_path_result"
3090 else
3091 func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
3092 fi
3093 fi
3094 fi
3095 IFS=:
3096 done
3097 IFS=$func_to_host_pathlist_oldIFS
3098 ;;
3099 esac
3100 if test -z "$func_to_host_pathlist_result" ; then
3101 func_error "Could not determine the host path(s) corresponding to"
3102 func_error " '$1'"
3103 func_error "Continuing, but uninstalled executables may not work."
3104 # Fallback. This may break if $1 contains DOS-style drive
3105 # specifications. The fix is not to complicate the expression
3106 # below, but for the user to provide a working wine installation
3107 # with winepath so that path translation in the cross-to-mingw
3108 # case works properly.
3109 lt_replace_pathsep_nix_to_dos="s|:|;|g"
3110 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
3111 $SED -e "$lt_replace_pathsep_nix_to_dos"`
3112 fi
3113 # Now, add the leading and trailing path separators back
3114 case "$1" in
3115 :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
3116 ;;
3117 esac
3118 case "$1" in
3119 *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
3120 ;;
3121 esac
3122 ;;
3123 esac
3124 fi
3125}
3126# end: func_to_host_pathlist
3127 4127
3128# func_emit_cwrapperexe_src 4128# func_emit_cwrapperexe_src
3129# emit the source code for a wrapper executable on stdout 4129# emit the source code for a wrapper executable on stdout
@@ -3141,31 +4141,23 @@ func_emit_cwrapperexe_src ()
3141 4141
3142 This wrapper executable should never be moved out of the build directory. 4142 This wrapper executable should never be moved out of the build directory.
3143 If it is, it will not operate correctly. 4143 If it is, it will not operate correctly.
3144
3145 Currently, it simply execs the wrapper *script* "$SHELL $output",
3146 but could eventually absorb all of the scripts functionality and
3147 exec $objdir/$outputname directly.
3148*/ 4144*/
3149EOF 4145EOF
3150 cat <<"EOF" 4146 cat <<"EOF"
4147#ifdef _MSC_VER
4148# define _CRT_SECURE_NO_DEPRECATE 1
4149#endif
3151#include <stdio.h> 4150#include <stdio.h>
3152#include <stdlib.h> 4151#include <stdlib.h>
3153#ifdef _MSC_VER 4152#ifdef _MSC_VER
3154# include <direct.h> 4153# include <direct.h>
3155# include <process.h> 4154# include <process.h>
3156# include <io.h> 4155# include <io.h>
3157# define setmode _setmode
3158#else 4156#else
3159# include <unistd.h> 4157# include <unistd.h>
3160# include <stdint.h> 4158# include <stdint.h>
3161# ifdef __CYGWIN__ 4159# ifdef __CYGWIN__
3162# include <io.h> 4160# include <io.h>
3163# define HAVE_SETENV
3164# ifdef __STRICT_ANSI__
3165char *realpath (const char *, char *);
3166int putenv (char *);
3167int setenv (const char *, const char *, int);
3168# endif
3169# endif 4161# endif
3170#endif 4162#endif
3171#include <malloc.h> 4163#include <malloc.h>
@@ -3177,6 +4169,44 @@ int setenv (const char *, const char *, int);
3177#include <fcntl.h> 4169#include <fcntl.h>
3178#include <sys/stat.h> 4170#include <sys/stat.h>
3179 4171
4172/* declarations of non-ANSI functions */
4173#if defined(__MINGW32__)
4174# ifdef __STRICT_ANSI__
4175int _putenv (const char *);
4176# endif
4177#elif defined(__CYGWIN__)
4178# ifdef __STRICT_ANSI__
4179char *realpath (const char *, char *);
4180int putenv (char *);
4181int setenv (const char *, const char *, int);
4182# endif
4183/* #elif defined (other platforms) ... */
4184#endif
4185
4186/* portability defines, excluding path handling macros */
4187#if defined(_MSC_VER)
4188# define setmode _setmode
4189# define stat _stat
4190# define chmod _chmod
4191# define getcwd _getcwd
4192# define putenv _putenv
4193# define S_IXUSR _S_IEXEC
4194# ifndef _INTPTR_T_DEFINED
4195# define _INTPTR_T_DEFINED
4196# define intptr_t int
4197# endif
4198#elif defined(__MINGW32__)
4199# define setmode _setmode
4200# define stat _stat
4201# define chmod _chmod
4202# define getcwd _getcwd
4203# define putenv _putenv
4204#elif defined(__CYGWIN__)
4205# define HAVE_SETENV
4206# define FOPEN_WB "wb"
4207/* #elif defined (other platforms) ... */
4208#endif
4209
3180#if defined(PATH_MAX) 4210#if defined(PATH_MAX)
3181# define LT_PATHMAX PATH_MAX 4211# define LT_PATHMAX PATH_MAX
3182#elif defined(MAXPATHLEN) 4212#elif defined(MAXPATHLEN)
@@ -3192,14 +4222,7 @@ int setenv (const char *, const char *, int);
3192# define S_IXGRP 0 4222# define S_IXGRP 0
3193#endif 4223#endif
3194 4224
3195#ifdef _MSC_VER 4225/* path handling portability macros */
3196# define S_IXUSR _S_IEXEC
3197# define stat _stat
3198# ifndef _INTPTR_T_DEFINED
3199# define intptr_t int
3200# endif
3201#endif
3202
3203#ifndef DIR_SEPARATOR 4226#ifndef DIR_SEPARATOR
3204# define DIR_SEPARATOR '/' 4227# define DIR_SEPARATOR '/'
3205# define PATH_SEPARATOR ':' 4228# define PATH_SEPARATOR ':'
@@ -3230,10 +4253,6 @@ int setenv (const char *, const char *, int);
3230# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) 4253# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
3231#endif /* PATH_SEPARATOR_2 */ 4254#endif /* PATH_SEPARATOR_2 */
3232 4255
3233#ifdef __CYGWIN__
3234# define FOPEN_WB "wb"
3235#endif
3236
3237#ifndef FOPEN_WB 4256#ifndef FOPEN_WB
3238# define FOPEN_WB "w" 4257# define FOPEN_WB "w"
3239#endif 4258#endif
@@ -3246,22 +4265,13 @@ int setenv (const char *, const char *, int);
3246 if (stale) { free ((void *) stale); stale = 0; } \ 4265 if (stale) { free ((void *) stale); stale = 0; } \
3247} while (0) 4266} while (0)
3248 4267
3249#undef LTWRAPPER_DEBUGPRINTF 4268#if defined(LT_DEBUGWRAPPER)
3250#if defined DEBUGWRAPPER 4269static int lt_debug = 1;
3251# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
3252static void
3253ltwrapper_debugprintf (const char *fmt, ...)
3254{
3255 va_list args;
3256 va_start (args, fmt);
3257 (void) vfprintf (stderr, fmt, args);
3258 va_end (args);
3259}
3260#else 4270#else
3261# define LTWRAPPER_DEBUGPRINTF(args) 4271static int lt_debug = 0;
3262#endif 4272#endif
3263 4273
3264const char *program_name = NULL; 4274const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
3265 4275
3266void *xmalloc (size_t num); 4276void *xmalloc (size_t num);
3267char *xstrdup (const char *string); 4277char *xstrdup (const char *string);
@@ -3271,41 +4281,27 @@ char *chase_symlinks (const char *pathspec);
3271int make_executable (const char *path); 4281int make_executable (const char *path);
3272int check_executable (const char *path); 4282int check_executable (const char *path);
3273char *strendzap (char *str, const char *pat); 4283char *strendzap (char *str, const char *pat);
3274void lt_fatal (const char *message, ...); 4284void lt_debugprintf (const char *file, int line, const char *fmt, ...);
4285void lt_fatal (const char *file, int line, const char *message, ...);
4286static const char *nonnull (const char *s);
4287static const char *nonempty (const char *s);
3275void lt_setenv (const char *name, const char *value); 4288void lt_setenv (const char *name, const char *value);
3276char *lt_extend_str (const char *orig_value, const char *add, int to_end); 4289char *lt_extend_str (const char *orig_value, const char *add, int to_end);
3277void lt_opt_process_env_set (const char *arg);
3278void lt_opt_process_env_prepend (const char *arg);
3279void lt_opt_process_env_append (const char *arg);
3280int lt_split_name_value (const char *arg, char** name, char** value);
3281void lt_update_exe_path (const char *name, const char *value); 4290void lt_update_exe_path (const char *name, const char *value);
3282void lt_update_lib_path (const char *name, const char *value); 4291void lt_update_lib_path (const char *name, const char *value);
3283 4292char **prepare_spawn (char **argv);
3284static const char *script_text_part1 = 4293void lt_dump_script (FILE *f);
3285EOF 4294EOF
3286 4295
3287 func_emit_wrapper_part1 yes |
3288 $SED -e 's/\([\\"]\)/\\\1/g' \
3289 -e 's/^/ "/' -e 's/$/\\n"/'
3290 echo ";"
3291 cat <<EOF 4296 cat <<EOF
3292 4297volatile const char * MAGIC_EXE = "$magic_exe";
3293static const char *script_text_part2 =
3294EOF
3295 func_emit_wrapper_part2 yes |
3296 $SED -e 's/\([\\"]\)/\\\1/g' \
3297 -e 's/^/ "/' -e 's/$/\\n"/'
3298 echo ";"
3299
3300 cat <<EOF
3301const char * MAGIC_EXE = "$magic_exe";
3302const char * LIB_PATH_VARNAME = "$shlibpath_var"; 4298const char * LIB_PATH_VARNAME = "$shlibpath_var";
3303EOF 4299EOF
3304 4300
3305 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then 4301 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
3306 func_to_host_pathlist "$temp_rpath" 4302 func_to_host_path "$temp_rpath"
3307 cat <<EOF 4303 cat <<EOF
3308const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result"; 4304const char * LIB_PATH_VALUE = "$func_to_host_path_result";
3309EOF 4305EOF
3310 else 4306 else
3311 cat <<"EOF" 4307 cat <<"EOF"
@@ -3314,10 +4310,10 @@ EOF
3314 fi 4310 fi
3315 4311
3316 if test -n "$dllsearchpath"; then 4312 if test -n "$dllsearchpath"; then
3317 func_to_host_pathlist "$dllsearchpath:" 4313 func_to_host_path "$dllsearchpath:"
3318 cat <<EOF 4314 cat <<EOF
3319const char * EXE_PATH_VARNAME = "PATH"; 4315const char * EXE_PATH_VARNAME = "PATH";
3320const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result"; 4316const char * EXE_PATH_VALUE = "$func_to_host_path_result";
3321EOF 4317EOF
3322 else 4318 else
3323 cat <<"EOF" 4319 cat <<"EOF"
@@ -3340,24 +4336,10 @@ EOF
3340 cat <<"EOF" 4336 cat <<"EOF"
3341 4337
3342#define LTWRAPPER_OPTION_PREFIX "--lt-" 4338#define LTWRAPPER_OPTION_PREFIX "--lt-"
3343#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
3344 4339
3345static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
3346static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; 4340static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
3347
3348static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; 4341static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
3349 4342static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
3350static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
3351static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
3352 /* argument is putenv-style "foo=bar", value of foo is set to bar */
3353
3354static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
3355static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
3356 /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
3357
3358static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
3359static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
3360 /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
3361 4343
3362int 4344int
3363main (int argc, char *argv[]) 4345main (int argc, char *argv[])
@@ -3374,10 +4356,13 @@ main (int argc, char *argv[])
3374 int i; 4356 int i;
3375 4357
3376 program_name = (char *) xstrdup (base_name (argv[0])); 4358 program_name = (char *) xstrdup (base_name (argv[0]));
3377 LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0])); 4359 newargz = XMALLOC (char *, argc + 1);
3378 LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
3379 4360
3380 /* very simple arg parsing; don't want to rely on getopt */ 4361 /* very simple arg parsing; don't want to rely on getopt
4362 * also, copy all non cwrapper options to newargz, except
4363 * argz[0], which is handled differently
4364 */
4365 newargc=0;
3381 for (i = 1; i < argc; i++) 4366 for (i = 1; i < argc; i++)
3382 { 4367 {
3383 if (strcmp (argv[i], dumpscript_opt) == 0) 4368 if (strcmp (argv[i], dumpscript_opt) == 0)
@@ -3391,25 +4376,57 @@ EOF
3391 esac 4376 esac
3392 4377
3393 cat <<"EOF" 4378 cat <<"EOF"
3394 printf ("%s", script_text_part1); 4379 lt_dump_script (stdout);
3395 printf ("%s", script_text_part2);
3396 return 0; 4380 return 0;
3397 } 4381 }
4382 if (strcmp (argv[i], debug_opt) == 0)
4383 {
4384 lt_debug = 1;
4385 continue;
4386 }
4387 if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
4388 {
4389 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
4390 namespace, but it is not one of the ones we know about and
4391 have already dealt with, above (inluding dump-script), then
4392 report an error. Otherwise, targets might begin to believe
4393 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
4394 namespace. The first time any user complains about this, we'll
4395 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
4396 or a configure.ac-settable value.
4397 */
4398 lt_fatal (__FILE__, __LINE__,
4399 "unrecognized %s option: '%s'",
4400 ltwrapper_option_prefix, argv[i]);
4401 }
4402 /* otherwise ... */
4403 newargz[++newargc] = xstrdup (argv[i]);
3398 } 4404 }
4405 newargz[++newargc] = NULL;
4406
4407EOF
4408 cat <<EOF
4409 /* The GNU banner must be the first non-error debug message */
4410 lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
4411EOF
4412 cat <<"EOF"
4413 lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
4414 lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
3399 4415
3400 newargz = XMALLOC (char *, argc + 1);
3401 tmp_pathspec = find_executable (argv[0]); 4416 tmp_pathspec = find_executable (argv[0]);
3402 if (tmp_pathspec == NULL) 4417 if (tmp_pathspec == NULL)
3403 lt_fatal ("Couldn't find %s", argv[0]); 4418 lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
3404 LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n", 4419 lt_debugprintf (__FILE__, __LINE__,
3405 tmp_pathspec)); 4420 "(main) found exe (before symlink chase) at: %s\n",
4421 tmp_pathspec);
3406 4422
3407 actual_cwrapper_path = chase_symlinks (tmp_pathspec); 4423 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
3408 LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n", 4424 lt_debugprintf (__FILE__, __LINE__,
3409 actual_cwrapper_path)); 4425 "(main) found exe (after symlink chase) at: %s\n",
4426 actual_cwrapper_path);
3410 XFREE (tmp_pathspec); 4427 XFREE (tmp_pathspec);
3411 4428
3412 actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path)); 4429 actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
3413 strendzap (actual_cwrapper_path, actual_cwrapper_name); 4430 strendzap (actual_cwrapper_path, actual_cwrapper_name);
3414 4431
3415 /* wrapper name transforms */ 4432 /* wrapper name transforms */
@@ -3427,8 +4444,9 @@ EOF
3427 target_name = tmp_pathspec; 4444 target_name = tmp_pathspec;
3428 tmp_pathspec = 0; 4445 tmp_pathspec = 0;
3429 4446
3430 LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n", 4447 lt_debugprintf (__FILE__, __LINE__,
3431 target_name)); 4448 "(main) libtool target name: %s\n",
4449 target_name);
3432EOF 4450EOF
3433 4451
3434 cat <<EOF 4452 cat <<EOF
@@ -3478,80 +4496,19 @@ EOF
3478 4496
3479 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ 4497 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
3480 lt_setenv ("DUALCASE", "1"); /* for MSK sh */ 4498 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
3481 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); 4499 /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
4500 be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
4501 because on Windows, both *_VARNAMEs are PATH but uninstalled
4502 libraries must come first. */
3482 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); 4503 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
4504 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
3483 4505
3484 newargc=0; 4506 lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
3485 for (i = 1; i < argc; i++) 4507 nonnull (lt_argv_zero));
3486 {
3487 if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
3488 {
3489 if (argv[i][env_set_opt_len] == '=')
3490 {
3491 const char *p = argv[i] + env_set_opt_len + 1;
3492 lt_opt_process_env_set (p);
3493 }
3494 else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
3495 {
3496 lt_opt_process_env_set (argv[++i]); /* don't copy */
3497 }
3498 else
3499 lt_fatal ("%s missing required argument", env_set_opt);
3500 continue;
3501 }
3502 if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
3503 {
3504 if (argv[i][env_prepend_opt_len] == '=')
3505 {
3506 const char *p = argv[i] + env_prepend_opt_len + 1;
3507 lt_opt_process_env_prepend (p);
3508 }
3509 else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
3510 {
3511 lt_opt_process_env_prepend (argv[++i]); /* don't copy */
3512 }
3513 else
3514 lt_fatal ("%s missing required argument", env_prepend_opt);
3515 continue;
3516 }
3517 if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
3518 {
3519 if (argv[i][env_append_opt_len] == '=')
3520 {
3521 const char *p = argv[i] + env_append_opt_len + 1;
3522 lt_opt_process_env_append (p);
3523 }
3524 else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
3525 {
3526 lt_opt_process_env_append (argv[++i]); /* don't copy */
3527 }
3528 else
3529 lt_fatal ("%s missing required argument", env_append_opt);
3530 continue;
3531 }
3532 if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
3533 {
3534 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
3535 namespace, but it is not one of the ones we know about and
3536 have already dealt with, above (inluding dump-script), then
3537 report an error. Otherwise, targets might begin to believe
3538 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
3539 namespace. The first time any user complains about this, we'll
3540 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
3541 or a configure.ac-settable value.
3542 */
3543 lt_fatal ("Unrecognized option in %s namespace: '%s'",
3544 ltwrapper_option_prefix, argv[i]);
3545 }
3546 /* otherwise ... */
3547 newargz[++newargc] = xstrdup (argv[i]);
3548 }
3549 newargz[++newargc] = NULL;
3550
3551 LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
3552 for (i = 0; i < newargc; i++) 4508 for (i = 0; i < newargc; i++)
3553 { 4509 {
3554 LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>"))); 4510 lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
4511 i, nonnull (newargz[i]));
3555 } 4512 }
3556 4513
3557EOF 4514EOF
@@ -3560,11 +4517,14 @@ EOF
3560 mingw*) 4517 mingw*)
3561 cat <<"EOF" 4518 cat <<"EOF"
3562 /* execv doesn't actually work on mingw as expected on unix */ 4519 /* execv doesn't actually work on mingw as expected on unix */
4520 newargz = prepare_spawn (newargz);
3563 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); 4521 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
3564 if (rval == -1) 4522 if (rval == -1)
3565 { 4523 {
3566 /* failed to start process */ 4524 /* failed to start process */
3567 LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); 4525 lt_debugprintf (__FILE__, __LINE__,
4526 "(main) failed to launch target \"%s\": %s\n",
4527 lt_argv_zero, nonnull (strerror (errno)));
3568 return 127; 4528 return 127;
3569 } 4529 }
3570 return rval; 4530 return rval;
@@ -3586,7 +4546,7 @@ xmalloc (size_t num)
3586{ 4546{
3587 void *p = (void *) malloc (num); 4547 void *p = (void *) malloc (num);
3588 if (!p) 4548 if (!p)
3589 lt_fatal ("Memory exhausted"); 4549 lt_fatal (__FILE__, __LINE__, "memory exhausted");
3590 4550
3591 return p; 4551 return p;
3592} 4552}
@@ -3620,8 +4580,8 @@ check_executable (const char *path)
3620{ 4580{
3621 struct stat st; 4581 struct stat st;
3622 4582
3623 LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", 4583 lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
3624 path ? (*path ? path : "EMPTY!") : "NULL!")); 4584 nonempty (path));
3625 if ((!path) || (!*path)) 4585 if ((!path) || (!*path))
3626 return 0; 4586 return 0;
3627 4587
@@ -3638,8 +4598,8 @@ make_executable (const char *path)
3638 int rval = 0; 4598 int rval = 0;
3639 struct stat st; 4599 struct stat st;
3640 4600
3641 LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", 4601 lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
3642 path ? (*path ? path : "EMPTY!") : "NULL!")); 4602 nonempty (path));
3643 if ((!path) || (!*path)) 4603 if ((!path) || (!*path))
3644 return 0; 4604 return 0;
3645 4605
@@ -3665,8 +4625,8 @@ find_executable (const char *wrapper)
3665 int tmp_len; 4625 int tmp_len;
3666 char *concat_name; 4626 char *concat_name;
3667 4627
3668 LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", 4628 lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
3669 wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); 4629 nonempty (wrapper));
3670 4630
3671 if ((wrapper == NULL) || (*wrapper == '\0')) 4631 if ((wrapper == NULL) || (*wrapper == '\0'))
3672 return NULL; 4632 return NULL;
@@ -3719,7 +4679,8 @@ find_executable (const char *wrapper)
3719 { 4679 {
3720 /* empty path: current directory */ 4680 /* empty path: current directory */
3721 if (getcwd (tmp, LT_PATHMAX) == NULL) 4681 if (getcwd (tmp, LT_PATHMAX) == NULL)
3722 lt_fatal ("getcwd failed"); 4682 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4683 nonnull (strerror (errno)));
3723 tmp_len = strlen (tmp); 4684 tmp_len = strlen (tmp);
3724 concat_name = 4685 concat_name =
3725 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4686 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
@@ -3744,7 +4705,8 @@ find_executable (const char *wrapper)
3744 } 4705 }
3745 /* Relative path | not found in path: prepend cwd */ 4706 /* Relative path | not found in path: prepend cwd */
3746 if (getcwd (tmp, LT_PATHMAX) == NULL) 4707 if (getcwd (tmp, LT_PATHMAX) == NULL)
3747 lt_fatal ("getcwd failed"); 4708 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4709 nonnull (strerror (errno)));
3748 tmp_len = strlen (tmp); 4710 tmp_len = strlen (tmp);
3749 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4711 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3750 memcpy (concat_name, tmp, tmp_len); 4712 memcpy (concat_name, tmp, tmp_len);
@@ -3770,8 +4732,9 @@ chase_symlinks (const char *pathspec)
3770 int has_symlinks = 0; 4732 int has_symlinks = 0;
3771 while (strlen (tmp_pathspec) && !has_symlinks) 4733 while (strlen (tmp_pathspec) && !has_symlinks)
3772 { 4734 {
3773 LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", 4735 lt_debugprintf (__FILE__, __LINE__,
3774 tmp_pathspec)); 4736 "checking path component for symlinks: %s\n",
4737 tmp_pathspec);
3775 if (lstat (tmp_pathspec, &s) == 0) 4738 if (lstat (tmp_pathspec, &s) == 0)
3776 { 4739 {
3777 if (S_ISLNK (s.st_mode) != 0) 4740 if (S_ISLNK (s.st_mode) != 0)
@@ -3793,8 +4756,9 @@ chase_symlinks (const char *pathspec)
3793 } 4756 }
3794 else 4757 else
3795 { 4758 {
3796 char *errstr = strerror (errno); 4759 lt_fatal (__FILE__, __LINE__,
3797 lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); 4760 "error accessing file \"%s\": %s",
4761 tmp_pathspec, nonnull (strerror (errno)));
3798 } 4762 }
3799 } 4763 }
3800 XFREE (tmp_pathspec); 4764 XFREE (tmp_pathspec);
@@ -3807,7 +4771,8 @@ chase_symlinks (const char *pathspec)
3807 tmp_pathspec = realpath (pathspec, buf); 4771 tmp_pathspec = realpath (pathspec, buf);
3808 if (tmp_pathspec == 0) 4772 if (tmp_pathspec == 0)
3809 { 4773 {
3810 lt_fatal ("Could not follow symlinks for %s", pathspec); 4774 lt_fatal (__FILE__, __LINE__,
4775 "could not follow symlinks for %s", pathspec);
3811 } 4776 }
3812 return xstrdup (tmp_pathspec); 4777 return xstrdup (tmp_pathspec);
3813#endif 4778#endif
@@ -3833,11 +4798,25 @@ strendzap (char *str, const char *pat)
3833 return str; 4798 return str;
3834} 4799}
3835 4800
4801void
4802lt_debugprintf (const char *file, int line, const char *fmt, ...)
4803{
4804 va_list args;
4805 if (lt_debug)
4806 {
4807 (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
4808 va_start (args, fmt);
4809 (void) vfprintf (stderr, fmt, args);
4810 va_end (args);
4811 }
4812}
4813
3836static void 4814static void
3837lt_error_core (int exit_status, const char *mode, 4815lt_error_core (int exit_status, const char *file,
4816 int line, const char *mode,
3838 const char *message, va_list ap) 4817 const char *message, va_list ap)
3839{ 4818{
3840 fprintf (stderr, "%s: %s: ", program_name, mode); 4819 fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
3841 vfprintf (stderr, message, ap); 4820 vfprintf (stderr, message, ap);
3842 fprintf (stderr, ".\n"); 4821 fprintf (stderr, ".\n");
3843 4822
@@ -3846,20 +4825,32 @@ lt_error_core (int exit_status, const char *mode,
3846} 4825}
3847 4826
3848void 4827void
3849lt_fatal (const char *message, ...) 4828lt_fatal (const char *file, int line, const char *message, ...)
3850{ 4829{
3851 va_list ap; 4830 va_list ap;
3852 va_start (ap, message); 4831 va_start (ap, message);
3853 lt_error_core (EXIT_FAILURE, "FATAL", message, ap); 4832 lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
3854 va_end (ap); 4833 va_end (ap);
3855} 4834}
3856 4835
4836static const char *
4837nonnull (const char *s)
4838{
4839 return s ? s : "(null)";
4840}
4841
4842static const char *
4843nonempty (const char *s)
4844{
4845 return (s && !*s) ? "(empty)" : nonnull (s);
4846}
4847
3857void 4848void
3858lt_setenv (const char *name, const char *value) 4849lt_setenv (const char *name, const char *value)
3859{ 4850{
3860 LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", 4851 lt_debugprintf (__FILE__, __LINE__,
3861 (name ? name : "<NULL>"), 4852 "(lt_setenv) setting '%s' to '%s'\n",
3862 (value ? value : "<NULL>"))); 4853 nonnull (name), nonnull (value));
3863 { 4854 {
3864#ifdef HAVE_SETENV 4855#ifdef HAVE_SETENV
3865 /* always make a copy, for consistency with !HAVE_SETENV */ 4856 /* always make a copy, for consistency with !HAVE_SETENV */
@@ -3904,95 +4895,12 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
3904 return new_value; 4895 return new_value;
3905} 4896}
3906 4897
3907int
3908lt_split_name_value (const char *arg, char** name, char** value)
3909{
3910 const char *p;
3911 int len;
3912 if (!arg || !*arg)
3913 return 1;
3914
3915 p = strchr (arg, (int)'=');
3916
3917 if (!p)
3918 return 1;
3919
3920 *value = xstrdup (++p);
3921
3922 len = strlen (arg) - strlen (*value);
3923 *name = XMALLOC (char, len);
3924 strncpy (*name, arg, len-1);
3925 (*name)[len - 1] = '\0';
3926
3927 return 0;
3928}
3929
3930void
3931lt_opt_process_env_set (const char *arg)
3932{
3933 char *name = NULL;
3934 char *value = NULL;
3935
3936 if (lt_split_name_value (arg, &name, &value) != 0)
3937 {
3938 XFREE (name);
3939 XFREE (value);
3940 lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
3941 }
3942
3943 lt_setenv (name, value);
3944 XFREE (name);
3945 XFREE (value);
3946}
3947
3948void
3949lt_opt_process_env_prepend (const char *arg)
3950{
3951 char *name = NULL;
3952 char *value = NULL;
3953 char *new_value = NULL;
3954
3955 if (lt_split_name_value (arg, &name, &value) != 0)
3956 {
3957 XFREE (name);
3958 XFREE (value);
3959 lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
3960 }
3961
3962 new_value = lt_extend_str (getenv (name), value, 0);
3963 lt_setenv (name, new_value);
3964 XFREE (new_value);
3965 XFREE (name);
3966 XFREE (value);
3967}
3968
3969void
3970lt_opt_process_env_append (const char *arg)
3971{
3972 char *name = NULL;
3973 char *value = NULL;
3974 char *new_value = NULL;
3975
3976 if (lt_split_name_value (arg, &name, &value) != 0)
3977 {
3978 XFREE (name);
3979 XFREE (value);
3980 lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
3981 }
3982
3983 new_value = lt_extend_str (getenv (name), value, 1);
3984 lt_setenv (name, new_value);
3985 XFREE (new_value);
3986 XFREE (name);
3987 XFREE (value);
3988}
3989
3990void 4898void
3991lt_update_exe_path (const char *name, const char *value) 4899lt_update_exe_path (const char *name, const char *value)
3992{ 4900{
3993 LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", 4901 lt_debugprintf (__FILE__, __LINE__,
3994 (name ? name : "<NULL>"), 4902 "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
3995 (value ? value : "<NULL>"))); 4903 nonnull (name), nonnull (value));
3996 4904
3997 if (name && *name && value && *value) 4905 if (name && *name && value && *value)
3998 { 4906 {
@@ -4011,9 +4919,9 @@ lt_update_exe_path (const char *name, const char *value)
4011void 4919void
4012lt_update_lib_path (const char *name, const char *value) 4920lt_update_lib_path (const char *name, const char *value)
4013{ 4921{
4014 LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", 4922 lt_debugprintf (__FILE__, __LINE__,
4015 (name ? name : "<NULL>"), 4923 "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4016 (value ? value : "<NULL>"))); 4924 nonnull (name), nonnull (value));
4017 4925
4018 if (name && *name && value && *value) 4926 if (name && *name && value && *value)
4019 { 4927 {
@@ -4023,11 +4931,152 @@ lt_update_lib_path (const char *name, const char *value)
4023 } 4931 }
4024} 4932}
4025 4933
4934EOF
4935 case $host_os in
4936 mingw*)
4937 cat <<"EOF"
4938
4939/* Prepares an argument vector before calling spawn().
4940 Note that spawn() does not by itself call the command interpreter
4941 (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
4942 ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
4943 GetVersionEx(&v);
4944 v.dwPlatformId == VER_PLATFORM_WIN32_NT;
4945 }) ? "cmd.exe" : "command.com").
4946 Instead it simply concatenates the arguments, separated by ' ', and calls
4947 CreateProcess(). We must quote the arguments since Win32 CreateProcess()
4948 interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
4949 special way:
4950 - Space and tab are interpreted as delimiters. They are not treated as
4951 delimiters if they are surrounded by double quotes: "...".
4952 - Unescaped double quotes are removed from the input. Their only effect is
4953 that within double quotes, space and tab are treated like normal
4954 characters.
4955 - Backslashes not followed by double quotes are not special.
4956 - But 2*n+1 backslashes followed by a double quote become
4957 n backslashes followed by a double quote (n >= 0):
4958 \" -> "
4959 \\\" -> \"
4960 \\\\\" -> \\"
4961 */
4962#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4963#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4964char **
4965prepare_spawn (char **argv)
4966{
4967 size_t argc;
4968 char **new_argv;
4969 size_t i;
4970
4971 /* Count number of arguments. */
4972 for (argc = 0; argv[argc] != NULL; argc++)
4973 ;
4974
4975 /* Allocate new argument vector. */
4976 new_argv = XMALLOC (char *, argc + 1);
4977
4978 /* Put quoted arguments into the new argument vector. */
4979 for (i = 0; i < argc; i++)
4980 {
4981 const char *string = argv[i];
4982
4983 if (string[0] == '\0')
4984 new_argv[i] = xstrdup ("\"\"");
4985 else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
4986 {
4987 int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
4988 size_t length;
4989 unsigned int backslashes;
4990 const char *s;
4991 char *quoted_string;
4992 char *p;
4993
4994 length = 0;
4995 backslashes = 0;
4996 if (quote_around)
4997 length++;
4998 for (s = string; *s != '\0'; s++)
4999 {
5000 char c = *s;
5001 if (c == '"')
5002 length += backslashes + 1;
5003 length++;
5004 if (c == '\\')
5005 backslashes++;
5006 else
5007 backslashes = 0;
5008 }
5009 if (quote_around)
5010 length += backslashes + 1;
4026 5011
5012 quoted_string = XMALLOC (char, length + 1);
5013
5014 p = quoted_string;
5015 backslashes = 0;
5016 if (quote_around)
5017 *p++ = '"';
5018 for (s = string; *s != '\0'; s++)
5019 {
5020 char c = *s;
5021 if (c == '"')
5022 {
5023 unsigned int j;
5024 for (j = backslashes + 1; j > 0; j--)
5025 *p++ = '\\';
5026 }
5027 *p++ = c;
5028 if (c == '\\')
5029 backslashes++;
5030 else
5031 backslashes = 0;
5032 }
5033 if (quote_around)
5034 {
5035 unsigned int j;
5036 for (j = backslashes; j > 0; j--)
5037 *p++ = '\\';
5038 *p++ = '"';
5039 }
5040 *p = '\0';
5041
5042 new_argv[i] = quoted_string;
5043 }
5044 else
5045 new_argv[i] = (char *) string;
5046 }
5047 new_argv[argc] = NULL;
5048
5049 return new_argv;
5050}
5051EOF
5052 ;;
5053 esac
5054
5055 cat <<"EOF"
5056void lt_dump_script (FILE* f)
5057{
5058EOF
5059 func_emit_wrapper yes |
5060 $SED -e 's/\([\\"]\)/\\\1/g' \
5061 -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
5062
5063 cat <<"EOF"
5064}
4027EOF 5065EOF
4028} 5066}
4029# end: func_emit_cwrapperexe_src 5067# end: func_emit_cwrapperexe_src
4030 5068
5069# func_win32_import_lib_p ARG
5070# True if ARG is an import lib, as indicated by $file_magic_cmd
5071func_win32_import_lib_p ()
5072{
5073 $opt_debug
5074 case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
5075 *import*) : ;;
5076 *) false ;;
5077 esac
5078}
5079
4031# func_mode_link arg... 5080# func_mode_link arg...
4032func_mode_link () 5081func_mode_link ()
4033{ 5082{
@@ -4072,6 +5121,7 @@ func_mode_link ()
4072 new_inherited_linker_flags= 5121 new_inherited_linker_flags=
4073 5122
4074 avoid_version=no 5123 avoid_version=no
5124 bindir=
4075 dlfiles= 5125 dlfiles=
4076 dlprefiles= 5126 dlprefiles=
4077 dlself=no 5127 dlself=no
@@ -4164,6 +5214,11 @@ func_mode_link ()
4164 esac 5214 esac
4165 5215
4166 case $prev in 5216 case $prev in
5217 bindir)
5218 bindir="$arg"
5219 prev=
5220 continue
5221 ;;
4167 dlfiles|dlprefiles) 5222 dlfiles|dlprefiles)
4168 if test "$preload" = no; then 5223 if test "$preload" = no; then
4169 # Add the symbol object into the linking commands. 5224 # Add the symbol object into the linking commands.
@@ -4195,9 +5250,9 @@ func_mode_link ()
4195 ;; 5250 ;;
4196 *) 5251 *)
4197 if test "$prev" = dlfiles; then 5252 if test "$prev" = dlfiles; then
4198 dlfiles="$dlfiles $arg" 5253 func_append dlfiles " $arg"
4199 else 5254 else
4200 dlprefiles="$dlprefiles $arg" 5255 func_append dlprefiles " $arg"
4201 fi 5256 fi
4202 prev= 5257 prev=
4203 continue 5258 continue
@@ -4221,7 +5276,7 @@ func_mode_link ()
4221 *-*-darwin*) 5276 *-*-darwin*)
4222 case "$deplibs " in 5277 case "$deplibs " in
4223 *" $qarg.ltframework "*) ;; 5278 *" $qarg.ltframework "*) ;;
4224 *) deplibs="$deplibs $qarg.ltframework" # this is fixed later 5279 *) func_append deplibs " $qarg.ltframework" # this is fixed later
4225 ;; 5280 ;;
4226 esac 5281 esac
4227 ;; 5282 ;;
@@ -4240,7 +5295,7 @@ func_mode_link ()
4240 moreargs= 5295 moreargs=
4241 for fil in `cat "$save_arg"` 5296 for fil in `cat "$save_arg"`
4242 do 5297 do
4243# moreargs="$moreargs $fil" 5298# func_append moreargs " $fil"
4244 arg=$fil 5299 arg=$fil
4245 # A libtool-controlled object. 5300 # A libtool-controlled object.
4246 5301
@@ -4269,7 +5324,7 @@ func_mode_link ()
4269 5324
4270 if test "$prev" = dlfiles; then 5325 if test "$prev" = dlfiles; then
4271 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 5326 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4272 dlfiles="$dlfiles $pic_object" 5327 func_append dlfiles " $pic_object"
4273 prev= 5328 prev=
4274 continue 5329 continue
4275 else 5330 else
@@ -4281,7 +5336,7 @@ func_mode_link ()
4281 # CHECK ME: I think I busted this. -Ossama 5336 # CHECK ME: I think I busted this. -Ossama
4282 if test "$prev" = dlprefiles; then 5337 if test "$prev" = dlprefiles; then
4283 # Preload the old-style object. 5338 # Preload the old-style object.
4284 dlprefiles="$dlprefiles $pic_object" 5339 func_append dlprefiles " $pic_object"
4285 prev= 5340 prev=
4286 fi 5341 fi
4287 5342
@@ -4351,12 +5406,12 @@ func_mode_link ()
4351 if test "$prev" = rpath; then 5406 if test "$prev" = rpath; then
4352 case "$rpath " in 5407 case "$rpath " in
4353 *" $arg "*) ;; 5408 *" $arg "*) ;;
4354 *) rpath="$rpath $arg" ;; 5409 *) func_append rpath " $arg" ;;
4355 esac 5410 esac
4356 else 5411 else
4357 case "$xrpath " in 5412 case "$xrpath " in
4358 *" $arg "*) ;; 5413 *" $arg "*) ;;
4359 *) xrpath="$xrpath $arg" ;; 5414 *) func_append xrpath " $arg" ;;
4360 esac 5415 esac
4361 fi 5416 fi
4362 prev= 5417 prev=
@@ -4368,28 +5423,28 @@ func_mode_link ()
4368 continue 5423 continue
4369 ;; 5424 ;;
4370 weak) 5425 weak)
4371 weak_libs="$weak_libs $arg" 5426 func_append weak_libs " $arg"
4372 prev= 5427 prev=
4373 continue 5428 continue
4374 ;; 5429 ;;
4375 xcclinker) 5430 xcclinker)
4376 linker_flags="$linker_flags $qarg" 5431 func_append linker_flags " $qarg"
4377 compiler_flags="$compiler_flags $qarg" 5432 func_append compiler_flags " $qarg"
4378 prev= 5433 prev=
4379 func_append compile_command " $qarg" 5434 func_append compile_command " $qarg"
4380 func_append finalize_command " $qarg" 5435 func_append finalize_command " $qarg"
4381 continue 5436 continue
4382 ;; 5437 ;;
4383 xcompiler) 5438 xcompiler)
4384 compiler_flags="$compiler_flags $qarg" 5439 func_append compiler_flags " $qarg"
4385 prev= 5440 prev=
4386 func_append compile_command " $qarg" 5441 func_append compile_command " $qarg"
4387 func_append finalize_command " $qarg" 5442 func_append finalize_command " $qarg"
4388 continue 5443 continue
4389 ;; 5444 ;;
4390 xlinker) 5445 xlinker)
4391 linker_flags="$linker_flags $qarg" 5446 func_append linker_flags " $qarg"
4392 compiler_flags="$compiler_flags $wl$qarg" 5447 func_append compiler_flags " $wl$qarg"
4393 prev= 5448 prev=
4394 func_append compile_command " $wl$qarg" 5449 func_append compile_command " $wl$qarg"
4395 func_append finalize_command " $wl$qarg" 5450 func_append finalize_command " $wl$qarg"
@@ -4425,6 +5480,11 @@ func_mode_link ()
4425 continue 5480 continue
4426 ;; 5481 ;;
4427 5482
5483 -bindir)
5484 prev=bindir
5485 continue
5486 ;;
5487
4428 -dlopen) 5488 -dlopen)
4429 prev=dlfiles 5489 prev=dlfiles
4430 continue 5490 continue
@@ -4475,15 +5535,16 @@ func_mode_link ()
4475 ;; 5535 ;;
4476 5536
4477 -L*) 5537 -L*)
4478 func_stripname '-L' '' "$arg" 5538 func_stripname "-L" '' "$arg"
4479 dir=$func_stripname_result 5539 if test -z "$func_stripname_result"; then
4480 if test -z "$dir"; then
4481 if test "$#" -gt 0; then 5540 if test "$#" -gt 0; then
4482 func_fatal_error "require no space between \`-L' and \`$1'" 5541 func_fatal_error "require no space between \`-L' and \`$1'"
4483 else 5542 else
4484 func_fatal_error "need path for \`-L' option" 5543 func_fatal_error "need path for \`-L' option"
4485 fi 5544 fi
4486 fi 5545 fi
5546 func_resolve_sysroot "$func_stripname_result"
5547 dir=$func_resolve_sysroot_result
4487 # We need an absolute path. 5548 # We need an absolute path.
4488 case $dir in 5549 case $dir in
4489 [\\/]* | [A-Za-z]:[\\/]*) ;; 5550 [\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -4495,24 +5556,30 @@ func_mode_link ()
4495 ;; 5556 ;;
4496 esac 5557 esac
4497 case "$deplibs " in 5558 case "$deplibs " in
4498 *" -L$dir "*) ;; 5559 *" -L$dir "* | *" $arg "*)
5560 # Will only happen for absolute or sysroot arguments
5561 ;;
4499 *) 5562 *)
4500 deplibs="$deplibs -L$dir" 5563 # Preserve sysroot, but never include relative directories
4501 lib_search_path="$lib_search_path $dir" 5564 case $dir in
5565 [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
5566 *) func_append deplibs " -L$dir" ;;
5567 esac
5568 func_append lib_search_path " $dir"
4502 ;; 5569 ;;
4503 esac 5570 esac
4504 case $host in 5571 case $host in
4505 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 5572 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4506 testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` 5573 testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
4507 case :$dllsearchpath: in 5574 case :$dllsearchpath: in
4508 *":$dir:"*) ;; 5575 *":$dir:"*) ;;
4509 ::) dllsearchpath=$dir;; 5576 ::) dllsearchpath=$dir;;
4510 *) dllsearchpath="$dllsearchpath:$dir";; 5577 *) func_append dllsearchpath ":$dir";;
4511 esac 5578 esac
4512 case :$dllsearchpath: in 5579 case :$dllsearchpath: in
4513 *":$testbindir:"*) ;; 5580 *":$testbindir:"*) ;;
4514 ::) dllsearchpath=$testbindir;; 5581 ::) dllsearchpath=$testbindir;;
4515 *) dllsearchpath="$dllsearchpath:$testbindir";; 5582 *) func_append dllsearchpath ":$testbindir";;
4516 esac 5583 esac
4517 ;; 5584 ;;
4518 esac 5585 esac
@@ -4522,7 +5589,7 @@ func_mode_link ()
4522 -l*) 5589 -l*)
4523 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then 5590 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
4524 case $host in 5591 case $host in
4525 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) 5592 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
4526 # These systems don't actually have a C or math library (as such) 5593 # These systems don't actually have a C or math library (as such)
4527 continue 5594 continue
4528 ;; 5595 ;;
@@ -4536,7 +5603,7 @@ func_mode_link ()
4536 ;; 5603 ;;
4537 *-*-rhapsody* | *-*-darwin1.[012]) 5604 *-*-rhapsody* | *-*-darwin1.[012])
4538 # Rhapsody C and math libraries are in the System framework 5605 # Rhapsody C and math libraries are in the System framework
4539 deplibs="$deplibs System.ltframework" 5606 func_append deplibs " System.ltframework"
4540 continue 5607 continue
4541 ;; 5608 ;;
4542 *-*-sco3.2v5* | *-*-sco5v6*) 5609 *-*-sco3.2v5* | *-*-sco5v6*)
@@ -4556,7 +5623,7 @@ func_mode_link ()
4556 ;; 5623 ;;
4557 esac 5624 esac
4558 fi 5625 fi
4559 deplibs="$deplibs $arg" 5626 func_append deplibs " $arg"
4560 continue 5627 continue
4561 ;; 5628 ;;
4562 5629
@@ -4568,8 +5635,8 @@ func_mode_link ()
4568 # Tru64 UNIX uses -model [arg] to determine the layout of C++ 5635 # Tru64 UNIX uses -model [arg] to determine the layout of C++
4569 # classes, name mangling, and exception handling. 5636 # classes, name mangling, and exception handling.
4570 # Darwin uses the -arch flag to determine output architecture. 5637 # Darwin uses the -arch flag to determine output architecture.
4571 -model|-arch|-isysroot) 5638 -model|-arch|-isysroot|--sysroot)
4572 compiler_flags="$compiler_flags $arg" 5639 func_append compiler_flags " $arg"
4573 func_append compile_command " $arg" 5640 func_append compile_command " $arg"
4574 func_append finalize_command " $arg" 5641 func_append finalize_command " $arg"
4575 prev=xcompiler 5642 prev=xcompiler
@@ -4577,12 +5644,12 @@ func_mode_link ()
4577 ;; 5644 ;;
4578 5645
4579 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) 5646 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
4580 compiler_flags="$compiler_flags $arg" 5647 func_append compiler_flags " $arg"
4581 func_append compile_command " $arg" 5648 func_append compile_command " $arg"
4582 func_append finalize_command " $arg" 5649 func_append finalize_command " $arg"
4583 case "$new_inherited_linker_flags " in 5650 case "$new_inherited_linker_flags " in
4584 *" $arg "*) ;; 5651 *" $arg "*) ;;
4585 * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; 5652 * ) func_append new_inherited_linker_flags " $arg" ;;
4586 esac 5653 esac
4587 continue 5654 continue
4588 ;; 5655 ;;
@@ -4649,13 +5716,17 @@ func_mode_link ()
4649 # We need an absolute path. 5716 # We need an absolute path.
4650 case $dir in 5717 case $dir in
4651 [\\/]* | [A-Za-z]:[\\/]*) ;; 5718 [\\/]* | [A-Za-z]:[\\/]*) ;;
5719 =*)
5720 func_stripname '=' '' "$dir"
5721 dir=$lt_sysroot$func_stripname_result
5722 ;;
4652 *) 5723 *)
4653 func_fatal_error "only absolute run-paths are allowed" 5724 func_fatal_error "only absolute run-paths are allowed"
4654 ;; 5725 ;;
4655 esac 5726 esac
4656 case "$xrpath " in 5727 case "$xrpath " in
4657 *" $dir "*) ;; 5728 *" $dir "*) ;;
4658 *) xrpath="$xrpath $dir" ;; 5729 *) func_append xrpath " $dir" ;;
4659 esac 5730 esac
4660 continue 5731 continue
4661 ;; 5732 ;;
@@ -4708,8 +5779,8 @@ func_mode_link ()
4708 for flag in $args; do 5779 for flag in $args; do
4709 IFS="$save_ifs" 5780 IFS="$save_ifs"
4710 func_quote_for_eval "$flag" 5781 func_quote_for_eval "$flag"
4711 arg="$arg $wl$func_quote_for_eval_result" 5782 func_append arg " $func_quote_for_eval_result"
4712 compiler_flags="$compiler_flags $func_quote_for_eval_result" 5783 func_append compiler_flags " $func_quote_for_eval_result"
4713 done 5784 done
4714 IFS="$save_ifs" 5785 IFS="$save_ifs"
4715 func_stripname ' ' '' "$arg" 5786 func_stripname ' ' '' "$arg"
@@ -4724,9 +5795,9 @@ func_mode_link ()
4724 for flag in $args; do 5795 for flag in $args; do
4725 IFS="$save_ifs" 5796 IFS="$save_ifs"
4726 func_quote_for_eval "$flag" 5797 func_quote_for_eval "$flag"
4727 arg="$arg $wl$func_quote_for_eval_result" 5798 func_append arg " $wl$func_quote_for_eval_result"
4728 compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" 5799 func_append compiler_flags " $wl$func_quote_for_eval_result"
4729 linker_flags="$linker_flags $func_quote_for_eval_result" 5800 func_append linker_flags " $func_quote_for_eval_result"
4730 done 5801 done
4731 IFS="$save_ifs" 5802 IFS="$save_ifs"
4732 func_stripname ' ' '' "$arg" 5803 func_stripname ' ' '' "$arg"
@@ -4754,23 +5825,27 @@ func_mode_link ()
4754 arg="$func_quote_for_eval_result" 5825 arg="$func_quote_for_eval_result"
4755 ;; 5826 ;;
4756 5827
4757 # -64, -mips[0-9] enable 64-bit mode on the SGI compiler 5828 # Flags to be passed through unchanged, with rationale:
4758 # -r[0-9][0-9]* specifies the processor on the SGI compiler 5829 # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
4759 # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler 5830 # -r[0-9][0-9]* specify processor for the SGI compiler
4760 # +DA*, +DD* enable 64-bit mode on the HP compiler 5831 # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
4761 # -q* pass through compiler args for the IBM compiler 5832 # +DA*, +DD* enable 64-bit mode for the HP compiler
4762 # -m*, -t[45]*, -txscale* pass through architecture-specific 5833 # -q* compiler args for the IBM compiler
4763 # compiler args for GCC 5834 # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
4764 # -F/path gives path to uninstalled frameworks, gcc on darwin 5835 # -F/path path to uninstalled frameworks, gcc on darwin
4765 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC 5836 # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
4766 # @file GCC response files 5837 # @file GCC response files
5838 # -tp=* Portland pgcc target processor selection
5839 # --sysroot=* for sysroot support
5840 # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
4767 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ 5841 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
4768 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) 5842 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
5843 -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
4769 func_quote_for_eval "$arg" 5844 func_quote_for_eval "$arg"
4770 arg="$func_quote_for_eval_result" 5845 arg="$func_quote_for_eval_result"
4771 func_append compile_command " $arg" 5846 func_append compile_command " $arg"
4772 func_append finalize_command " $arg" 5847 func_append finalize_command " $arg"
4773 compiler_flags="$compiler_flags $arg" 5848 func_append compiler_flags " $arg"
4774 continue 5849 continue
4775 ;; 5850 ;;
4776 5851
@@ -4782,7 +5857,7 @@ func_mode_link ()
4782 5857
4783 *.$objext) 5858 *.$objext)
4784 # A standard object. 5859 # A standard object.
4785 objs="$objs $arg" 5860 func_append objs " $arg"
4786 ;; 5861 ;;
4787 5862
4788 *.lo) 5863 *.lo)
@@ -4813,7 +5888,7 @@ func_mode_link ()
4813 5888
4814 if test "$prev" = dlfiles; then 5889 if test "$prev" = dlfiles; then
4815 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 5890 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4816 dlfiles="$dlfiles $pic_object" 5891 func_append dlfiles " $pic_object"
4817 prev= 5892 prev=
4818 continue 5893 continue
4819 else 5894 else
@@ -4825,7 +5900,7 @@ func_mode_link ()
4825 # CHECK ME: I think I busted this. -Ossama 5900 # CHECK ME: I think I busted this. -Ossama
4826 if test "$prev" = dlprefiles; then 5901 if test "$prev" = dlprefiles; then
4827 # Preload the old-style object. 5902 # Preload the old-style object.
4828 dlprefiles="$dlprefiles $pic_object" 5903 func_append dlprefiles " $pic_object"
4829 prev= 5904 prev=
4830 fi 5905 fi
4831 5906
@@ -4870,24 +5945,25 @@ func_mode_link ()
4870 5945
4871 *.$libext) 5946 *.$libext)
4872 # An archive. 5947 # An archive.
4873 deplibs="$deplibs $arg" 5948 func_append deplibs " $arg"
4874 old_deplibs="$old_deplibs $arg" 5949 func_append old_deplibs " $arg"
4875 continue 5950 continue
4876 ;; 5951 ;;
4877 5952
4878 *.la) 5953 *.la)
4879 # A libtool-controlled library. 5954 # A libtool-controlled library.
4880 5955
5956 func_resolve_sysroot "$arg"
4881 if test "$prev" = dlfiles; then 5957 if test "$prev" = dlfiles; then
4882 # This library was specified with -dlopen. 5958 # This library was specified with -dlopen.
4883 dlfiles="$dlfiles $arg" 5959 func_append dlfiles " $func_resolve_sysroot_result"
4884 prev= 5960 prev=
4885 elif test "$prev" = dlprefiles; then 5961 elif test "$prev" = dlprefiles; then
4886 # The library was specified with -dlpreopen. 5962 # The library was specified with -dlpreopen.
4887 dlprefiles="$dlprefiles $arg" 5963 func_append dlprefiles " $func_resolve_sysroot_result"
4888 prev= 5964 prev=
4889 else 5965 else
4890 deplibs="$deplibs $arg" 5966 func_append deplibs " $func_resolve_sysroot_result"
4891 fi 5967 fi
4892 continue 5968 continue
4893 ;; 5969 ;;
@@ -4925,7 +6001,7 @@ func_mode_link ()
4925 6001
4926 if test -n "$shlibpath_var"; then 6002 if test -n "$shlibpath_var"; then
4927 # get the directories listed in $shlibpath_var 6003 # get the directories listed in $shlibpath_var
4928 eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` 6004 eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
4929 else 6005 else
4930 shlib_search_path= 6006 shlib_search_path=
4931 fi 6007 fi
@@ -4934,6 +6010,8 @@ func_mode_link ()
4934 6010
4935 func_dirname "$output" "/" "" 6011 func_dirname "$output" "/" ""
4936 output_objdir="$func_dirname_result$objdir" 6012 output_objdir="$func_dirname_result$objdir"
6013 func_to_tool_file "$output_objdir/"
6014 tool_output_objdir=$func_to_tool_file_result
4937 # Create the object directory. 6015 # Create the object directory.
4938 func_mkdir_p "$output_objdir" 6016 func_mkdir_p "$output_objdir"
4939 6017
@@ -4954,12 +6032,12 @@ func_mode_link ()
4954 # Find all interdependent deplibs by searching for libraries 6032 # Find all interdependent deplibs by searching for libraries
4955 # that are linked more than once (e.g. -la -lb -la) 6033 # that are linked more than once (e.g. -la -lb -la)
4956 for deplib in $deplibs; do 6034 for deplib in $deplibs; do
4957 if $opt_duplicate_deps ; then 6035 if $opt_preserve_dup_deps ; then
4958 case "$libs " in 6036 case "$libs " in
4959 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6037 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
4960 esac 6038 esac
4961 fi 6039 fi
4962 libs="$libs $deplib" 6040 func_append libs " $deplib"
4963 done 6041 done
4964 6042
4965 if test "$linkmode" = lib; then 6043 if test "$linkmode" = lib; then
@@ -4972,9 +6050,9 @@ func_mode_link ()
4972 if $opt_duplicate_compiler_generated_deps; then 6050 if $opt_duplicate_compiler_generated_deps; then
4973 for pre_post_dep in $predeps $postdeps; do 6051 for pre_post_dep in $predeps $postdeps; do
4974 case "$pre_post_deps " in 6052 case "$pre_post_deps " in
4975 *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; 6053 *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
4976 esac 6054 esac
4977 pre_post_deps="$pre_post_deps $pre_post_dep" 6055 func_append pre_post_deps " $pre_post_dep"
4978 done 6056 done
4979 fi 6057 fi
4980 pre_post_deps= 6058 pre_post_deps=
@@ -5044,17 +6122,19 @@ func_mode_link ()
5044 for lib in $dlprefiles; do 6122 for lib in $dlprefiles; do
5045 # Ignore non-libtool-libs 6123 # Ignore non-libtool-libs
5046 dependency_libs= 6124 dependency_libs=
6125 func_resolve_sysroot "$lib"
5047 case $lib in 6126 case $lib in
5048 *.la) func_source "$lib" ;; 6127 *.la) func_source "$func_resolve_sysroot_result" ;;
5049 esac 6128 esac
5050 6129
5051 # Collect preopened libtool deplibs, except any this library 6130 # Collect preopened libtool deplibs, except any this library
5052 # has declared as weak libs 6131 # has declared as weak libs
5053 for deplib in $dependency_libs; do 6132 for deplib in $dependency_libs; do
5054 deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` 6133 func_basename "$deplib"
6134 deplib_base=$func_basename_result
5055 case " $weak_libs " in 6135 case " $weak_libs " in
5056 *" $deplib_base "*) ;; 6136 *" $deplib_base "*) ;;
5057 *) deplibs="$deplibs $deplib" ;; 6137 *) func_append deplibs " $deplib" ;;
5058 esac 6138 esac
5059 done 6139 done
5060 done 6140 done
@@ -5075,11 +6155,11 @@ func_mode_link ()
5075 compile_deplibs="$deplib $compile_deplibs" 6155 compile_deplibs="$deplib $compile_deplibs"
5076 finalize_deplibs="$deplib $finalize_deplibs" 6156 finalize_deplibs="$deplib $finalize_deplibs"
5077 else 6157 else
5078 compiler_flags="$compiler_flags $deplib" 6158 func_append compiler_flags " $deplib"
5079 if test "$linkmode" = lib ; then 6159 if test "$linkmode" = lib ; then
5080 case "$new_inherited_linker_flags " in 6160 case "$new_inherited_linker_flags " in
5081 *" $deplib "*) ;; 6161 *" $deplib "*) ;;
5082 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; 6162 * ) func_append new_inherited_linker_flags " $deplib" ;;
5083 esac 6163 esac
5084 fi 6164 fi
5085 fi 6165 fi
@@ -5164,7 +6244,7 @@ func_mode_link ()
5164 if test "$linkmode" = lib ; then 6244 if test "$linkmode" = lib ; then
5165 case "$new_inherited_linker_flags " in 6245 case "$new_inherited_linker_flags " in
5166 *" $deplib "*) ;; 6246 *" $deplib "*) ;;
5167 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; 6247 * ) func_append new_inherited_linker_flags " $deplib" ;;
5168 esac 6248 esac
5169 fi 6249 fi
5170 fi 6250 fi
@@ -5177,7 +6257,8 @@ func_mode_link ()
5177 test "$pass" = conv && continue 6257 test "$pass" = conv && continue
5178 newdependency_libs="$deplib $newdependency_libs" 6258 newdependency_libs="$deplib $newdependency_libs"
5179 func_stripname '-L' '' "$deplib" 6259 func_stripname '-L' '' "$deplib"
5180 newlib_search_path="$newlib_search_path $func_stripname_result" 6260 func_resolve_sysroot "$func_stripname_result"
6261 func_append newlib_search_path " $func_resolve_sysroot_result"
5181 ;; 6262 ;;
5182 prog) 6263 prog)
5183 if test "$pass" = conv; then 6264 if test "$pass" = conv; then
@@ -5191,7 +6272,8 @@ func_mode_link ()
5191 finalize_deplibs="$deplib $finalize_deplibs" 6272 finalize_deplibs="$deplib $finalize_deplibs"
5192 fi 6273 fi
5193 func_stripname '-L' '' "$deplib" 6274 func_stripname '-L' '' "$deplib"
5194 newlib_search_path="$newlib_search_path $func_stripname_result" 6275 func_resolve_sysroot "$func_stripname_result"
6276 func_append newlib_search_path " $func_resolve_sysroot_result"
5195 ;; 6277 ;;
5196 *) 6278 *)
5197 func_warning "\`-L' is ignored for archives/objects" 6279 func_warning "\`-L' is ignored for archives/objects"
@@ -5202,17 +6284,21 @@ func_mode_link ()
5202 -R*) 6284 -R*)
5203 if test "$pass" = link; then 6285 if test "$pass" = link; then
5204 func_stripname '-R' '' "$deplib" 6286 func_stripname '-R' '' "$deplib"
5205 dir=$func_stripname_result 6287 func_resolve_sysroot "$func_stripname_result"
6288 dir=$func_resolve_sysroot_result
5206 # Make sure the xrpath contains only unique directories. 6289 # Make sure the xrpath contains only unique directories.
5207 case "$xrpath " in 6290 case "$xrpath " in
5208 *" $dir "*) ;; 6291 *" $dir "*) ;;
5209 *) xrpath="$xrpath $dir" ;; 6292 *) func_append xrpath " $dir" ;;
5210 esac 6293 esac
5211 fi 6294 fi
5212 deplibs="$deplib $deplibs" 6295 deplibs="$deplib $deplibs"
5213 continue 6296 continue
5214 ;; 6297 ;;
5215 *.la) lib="$deplib" ;; 6298 *.la)
6299 func_resolve_sysroot "$deplib"
6300 lib=$func_resolve_sysroot_result
6301 ;;
5216 *.$libext) 6302 *.$libext)
5217 if test "$pass" = conv; then 6303 if test "$pass" = conv; then
5218 deplibs="$deplib $deplibs" 6304 deplibs="$deplib $deplibs"
@@ -5230,7 +6316,7 @@ func_mode_link ()
5230 match_pattern*) 6316 match_pattern*)
5231 set dummy $deplibs_check_method; shift 6317 set dummy $deplibs_check_method; shift
5232 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 6318 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
5233 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ 6319 if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
5234 | $EGREP "$match_pattern_regex" > /dev/null; then 6320 | $EGREP "$match_pattern_regex" > /dev/null; then
5235 valid_a_lib=yes 6321 valid_a_lib=yes
5236 fi 6322 fi
@@ -5240,15 +6326,15 @@ func_mode_link ()
5240 ;; 6326 ;;
5241 esac 6327 esac
5242 if test "$valid_a_lib" != yes; then 6328 if test "$valid_a_lib" != yes; then
5243 $ECHO 6329 echo
5244 $ECHO "*** Warning: Trying to link with static lib archive $deplib." 6330 $ECHO "*** Warning: Trying to link with static lib archive $deplib."
5245 $ECHO "*** I have the capability to make that library automatically link in when" 6331 echo "*** I have the capability to make that library automatically link in when"
5246 $ECHO "*** you link to this library. But I can only do this if you have a" 6332 echo "*** you link to this library. But I can only do this if you have a"
5247 $ECHO "*** shared version of the library, which you do not appear to have" 6333 echo "*** shared version of the library, which you do not appear to have"
5248 $ECHO "*** because the file extensions .$libext of this argument makes me believe" 6334 echo "*** because the file extensions .$libext of this argument makes me believe"
5249 $ECHO "*** that it is just a static archive that I should not use here." 6335 echo "*** that it is just a static archive that I should not use here."
5250 else 6336 else
5251 $ECHO 6337 echo
5252 $ECHO "*** Warning: Linking the shared library $output against the" 6338 $ECHO "*** Warning: Linking the shared library $output against the"
5253 $ECHO "*** static library $deplib is not portable!" 6339 $ECHO "*** static library $deplib is not portable!"
5254 deplibs="$deplib $deplibs" 6340 deplibs="$deplib $deplibs"
@@ -5275,11 +6361,11 @@ func_mode_link ()
5275 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then 6361 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
5276 # If there is no dlopen support or we're linking statically, 6362 # If there is no dlopen support or we're linking statically,
5277 # we need to preload. 6363 # we need to preload.
5278 newdlprefiles="$newdlprefiles $deplib" 6364 func_append newdlprefiles " $deplib"
5279 compile_deplibs="$deplib $compile_deplibs" 6365 compile_deplibs="$deplib $compile_deplibs"
5280 finalize_deplibs="$deplib $finalize_deplibs" 6366 finalize_deplibs="$deplib $finalize_deplibs"
5281 else 6367 else
5282 newdlfiles="$newdlfiles $deplib" 6368 func_append newdlfiles " $deplib"
5283 fi 6369 fi
5284 fi 6370 fi
5285 continue 6371 continue
@@ -5321,20 +6407,20 @@ func_mode_link ()
5321 6407
5322 # Convert "-framework foo" to "foo.ltframework" 6408 # Convert "-framework foo" to "foo.ltframework"
5323 if test -n "$inherited_linker_flags"; then 6409 if test -n "$inherited_linker_flags"; then
5324 tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` 6410 tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
5325 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do 6411 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
5326 case " $new_inherited_linker_flags " in 6412 case " $new_inherited_linker_flags " in
5327 *" $tmp_inherited_linker_flag "*) ;; 6413 *" $tmp_inherited_linker_flag "*) ;;
5328 *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; 6414 *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
5329 esac 6415 esac
5330 done 6416 done
5331 fi 6417 fi
5332 dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 6418 dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
5333 if test "$linkmode,$pass" = "lib,link" || 6419 if test "$linkmode,$pass" = "lib,link" ||
5334 test "$linkmode,$pass" = "prog,scan" || 6420 test "$linkmode,$pass" = "prog,scan" ||
5335 { test "$linkmode" != prog && test "$linkmode" != lib; }; then 6421 { test "$linkmode" != prog && test "$linkmode" != lib; }; then
5336 test -n "$dlopen" && dlfiles="$dlfiles $dlopen" 6422 test -n "$dlopen" && func_append dlfiles " $dlopen"
5337 test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" 6423 test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
5338 fi 6424 fi
5339 6425
5340 if test "$pass" = conv; then 6426 if test "$pass" = conv; then
@@ -5345,17 +6431,17 @@ func_mode_link ()
5345 func_fatal_error "cannot find name of link library for \`$lib'" 6431 func_fatal_error "cannot find name of link library for \`$lib'"
5346 fi 6432 fi
5347 # It is a libtool convenience library, so add in its objects. 6433 # It is a libtool convenience library, so add in its objects.
5348 convenience="$convenience $ladir/$objdir/$old_library" 6434 func_append convenience " $ladir/$objdir/$old_library"
5349 old_convenience="$old_convenience $ladir/$objdir/$old_library" 6435 func_append old_convenience " $ladir/$objdir/$old_library"
5350 tmp_libs= 6436 tmp_libs=
5351 for deplib in $dependency_libs; do 6437 for deplib in $dependency_libs; do
5352 deplibs="$deplib $deplibs" 6438 deplibs="$deplib $deplibs"
5353 if $opt_duplicate_deps ; then 6439 if $opt_preserve_dup_deps ; then
5354 case "$tmp_libs " in 6440 case "$tmp_libs " in
5355 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6441 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
5356 esac 6442 esac
5357 fi 6443 fi
5358 tmp_libs="$tmp_libs $deplib" 6444 func_append tmp_libs " $deplib"
5359 done 6445 done
5360 elif test "$linkmode" != prog && test "$linkmode" != lib; then 6446 elif test "$linkmode" != prog && test "$linkmode" != lib; then
5361 func_fatal_error "\`$lib' is not a convenience library" 6447 func_fatal_error "\`$lib' is not a convenience library"
@@ -5366,9 +6452,15 @@ func_mode_link ()
5366 6452
5367 # Get the name of the library we link against. 6453 # Get the name of the library we link against.
5368 linklib= 6454 linklib=
5369 for l in $old_library $library_names; do 6455 if test -n "$old_library" &&
5370 linklib="$l" 6456 { test "$prefer_static_libs" = yes ||
5371 done 6457 test "$prefer_static_libs,$installed" = "built,no"; }; then
6458 linklib=$old_library
6459 else
6460 for l in $old_library $library_names; do
6461 linklib="$l"
6462 done
6463 fi
5372 if test -z "$linklib"; then 6464 if test -z "$linklib"; then
5373 func_fatal_error "cannot find name of link library for \`$lib'" 6465 func_fatal_error "cannot find name of link library for \`$lib'"
5374 fi 6466 fi
@@ -5385,9 +6477,9 @@ func_mode_link ()
5385 # statically, we need to preload. We also need to preload any 6477 # statically, we need to preload. We also need to preload any
5386 # dependent libraries so libltdl's deplib preloader doesn't 6478 # dependent libraries so libltdl's deplib preloader doesn't
5387 # bomb out in the load deplibs phase. 6479 # bomb out in the load deplibs phase.
5388 dlprefiles="$dlprefiles $lib $dependency_libs" 6480 func_append dlprefiles " $lib $dependency_libs"
5389 else 6481 else
5390 newdlfiles="$newdlfiles $lib" 6482 func_append newdlfiles " $lib"
5391 fi 6483 fi
5392 continue 6484 continue
5393 fi # $pass = dlopen 6485 fi # $pass = dlopen
@@ -5409,14 +6501,14 @@ func_mode_link ()
5409 6501
5410 # Find the relevant object directory and library name. 6502 # Find the relevant object directory and library name.
5411 if test "X$installed" = Xyes; then 6503 if test "X$installed" = Xyes; then
5412 if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then 6504 if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
5413 func_warning "library \`$lib' was moved." 6505 func_warning "library \`$lib' was moved."
5414 dir="$ladir" 6506 dir="$ladir"
5415 absdir="$abs_ladir" 6507 absdir="$abs_ladir"
5416 libdir="$abs_ladir" 6508 libdir="$abs_ladir"
5417 else 6509 else
5418 dir="$libdir" 6510 dir="$lt_sysroot$libdir"
5419 absdir="$libdir" 6511 absdir="$lt_sysroot$libdir"
5420 fi 6512 fi
5421 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes 6513 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
5422 else 6514 else
@@ -5424,12 +6516,12 @@ func_mode_link ()
5424 dir="$ladir" 6516 dir="$ladir"
5425 absdir="$abs_ladir" 6517 absdir="$abs_ladir"
5426 # Remove this search path later 6518 # Remove this search path later
5427 notinst_path="$notinst_path $abs_ladir" 6519 func_append notinst_path " $abs_ladir"
5428 else 6520 else
5429 dir="$ladir/$objdir" 6521 dir="$ladir/$objdir"
5430 absdir="$abs_ladir/$objdir" 6522 absdir="$abs_ladir/$objdir"
5431 # Remove this search path later 6523 # Remove this search path later
5432 notinst_path="$notinst_path $abs_ladir" 6524 func_append notinst_path " $abs_ladir"
5433 fi 6525 fi
5434 fi # $installed = yes 6526 fi # $installed = yes
5435 func_stripname 'lib' '.la' "$laname" 6527 func_stripname 'lib' '.la' "$laname"
@@ -5440,20 +6532,46 @@ func_mode_link ()
5440 if test -z "$libdir" && test "$linkmode" = prog; then 6532 if test -z "$libdir" && test "$linkmode" = prog; then
5441 func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" 6533 func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
5442 fi 6534 fi
5443 # Prefer using a static library (so that no silly _DYNAMIC symbols 6535 case "$host" in
5444 # are required to link). 6536 # special handling for platforms with PE-DLLs.
5445 if test -n "$old_library"; then 6537 *cygwin* | *mingw* | *cegcc* )
5446 newdlprefiles="$newdlprefiles $dir/$old_library" 6538 # Linker will automatically link against shared library if both
5447 # Keep a list of preopened convenience libraries to check 6539 # static and shared are present. Therefore, ensure we extract
5448 # that they are being used correctly in the link pass. 6540 # symbols from the import library if a shared library is present
5449 test -z "$libdir" && \ 6541 # (otherwise, the dlopen module name will be incorrect). We do
5450 dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" 6542 # this by putting the import library name into $newdlprefiles.
5451 # Otherwise, use the dlname, so that lt_dlopen finds it. 6543 # We recover the dlopen module name by 'saving' the la file
5452 elif test -n "$dlname"; then 6544 # name in a special purpose variable, and (later) extracting the
5453 newdlprefiles="$newdlprefiles $dir/$dlname" 6545 # dlname from the la file.
5454 else 6546 if test -n "$dlname"; then
5455 newdlprefiles="$newdlprefiles $dir/$linklib" 6547 func_tr_sh "$dir/$linklib"
5456 fi 6548 eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
6549 func_append newdlprefiles " $dir/$linklib"
6550 else
6551 func_append newdlprefiles " $dir/$old_library"
6552 # Keep a list of preopened convenience libraries to check
6553 # that they are being used correctly in the link pass.
6554 test -z "$libdir" && \
6555 func_append dlpreconveniencelibs " $dir/$old_library"
6556 fi
6557 ;;
6558 * )
6559 # Prefer using a static library (so that no silly _DYNAMIC symbols
6560 # are required to link).
6561 if test -n "$old_library"; then
6562 func_append newdlprefiles " $dir/$old_library"
6563 # Keep a list of preopened convenience libraries to check
6564 # that they are being used correctly in the link pass.
6565 test -z "$libdir" && \
6566 func_append dlpreconveniencelibs " $dir/$old_library"
6567 # Otherwise, use the dlname, so that lt_dlopen finds it.
6568 elif test -n "$dlname"; then
6569 func_append newdlprefiles " $dir/$dlname"
6570 else
6571 func_append newdlprefiles " $dir/$linklib"
6572 fi
6573 ;;
6574 esac
5457 fi # $pass = dlpreopen 6575 fi # $pass = dlpreopen
5458 6576
5459 if test -z "$libdir"; then 6577 if test -z "$libdir"; then
@@ -5471,7 +6589,7 @@ func_mode_link ()
5471 6589
5472 6590
5473 if test "$linkmode" = prog && test "$pass" != link; then 6591 if test "$linkmode" = prog && test "$pass" != link; then
5474 newlib_search_path="$newlib_search_path $ladir" 6592 func_append newlib_search_path " $ladir"
5475 deplibs="$lib $deplibs" 6593 deplibs="$lib $deplibs"
5476 6594
5477 linkalldeplibs=no 6595 linkalldeplibs=no
@@ -5484,7 +6602,8 @@ func_mode_link ()
5484 for deplib in $dependency_libs; do 6602 for deplib in $dependency_libs; do
5485 case $deplib in 6603 case $deplib in
5486 -L*) func_stripname '-L' '' "$deplib" 6604 -L*) func_stripname '-L' '' "$deplib"
5487 newlib_search_path="$newlib_search_path $func_stripname_result" 6605 func_resolve_sysroot "$func_stripname_result"
6606 func_append newlib_search_path " $func_resolve_sysroot_result"
5488 ;; 6607 ;;
5489 esac 6608 esac
5490 # Need to link against all dependency_libs? 6609 # Need to link against all dependency_libs?
@@ -5495,12 +6614,12 @@ func_mode_link ()
5495 # or/and link against static libraries 6614 # or/and link against static libraries
5496 newdependency_libs="$deplib $newdependency_libs" 6615 newdependency_libs="$deplib $newdependency_libs"
5497 fi 6616 fi
5498 if $opt_duplicate_deps ; then 6617 if $opt_preserve_dup_deps ; then
5499 case "$tmp_libs " in 6618 case "$tmp_libs " in
5500 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6619 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
5501 esac 6620 esac
5502 fi 6621 fi
5503 tmp_libs="$tmp_libs $deplib" 6622 func_append tmp_libs " $deplib"
5504 done # for deplib 6623 done # for deplib
5505 continue 6624 continue
5506 fi # $linkmode = prog... 6625 fi # $linkmode = prog...
@@ -5515,7 +6634,7 @@ func_mode_link ()
5515 # Make sure the rpath contains only unique directories. 6634 # Make sure the rpath contains only unique directories.
5516 case "$temp_rpath:" in 6635 case "$temp_rpath:" in
5517 *"$absdir:"*) ;; 6636 *"$absdir:"*) ;;
5518 *) temp_rpath="$temp_rpath$absdir:" ;; 6637 *) func_append temp_rpath "$absdir:" ;;
5519 esac 6638 esac
5520 fi 6639 fi
5521 6640
@@ -5527,7 +6646,7 @@ func_mode_link ()
5527 *) 6646 *)
5528 case "$compile_rpath " in 6647 case "$compile_rpath " in
5529 *" $absdir "*) ;; 6648 *" $absdir "*) ;;
5530 *) compile_rpath="$compile_rpath $absdir" 6649 *) func_append compile_rpath " $absdir" ;;
5531 esac 6650 esac
5532 ;; 6651 ;;
5533 esac 6652 esac
@@ -5536,7 +6655,7 @@ func_mode_link ()
5536 *) 6655 *)
5537 case "$finalize_rpath " in 6656 case "$finalize_rpath " in
5538 *" $libdir "*) ;; 6657 *" $libdir "*) ;;
5539 *) finalize_rpath="$finalize_rpath $libdir" 6658 *) func_append finalize_rpath " $libdir" ;;
5540 esac 6659 esac
5541 ;; 6660 ;;
5542 esac 6661 esac
@@ -5561,12 +6680,12 @@ func_mode_link ()
5561 case $host in 6680 case $host in
5562 *cygwin* | *mingw* | *cegcc*) 6681 *cygwin* | *mingw* | *cegcc*)
5563 # No point in relinking DLLs because paths are not encoded 6682 # No point in relinking DLLs because paths are not encoded
5564 notinst_deplibs="$notinst_deplibs $lib" 6683 func_append notinst_deplibs " $lib"
5565 need_relink=no 6684 need_relink=no
5566 ;; 6685 ;;
5567 *) 6686 *)
5568 if test "$installed" = no; then 6687 if test "$installed" = no; then
5569 notinst_deplibs="$notinst_deplibs $lib" 6688 func_append notinst_deplibs " $lib"
5570 need_relink=yes 6689 need_relink=yes
5571 fi 6690 fi
5572 ;; 6691 ;;
@@ -5583,7 +6702,7 @@ func_mode_link ()
5583 fi 6702 fi
5584 done 6703 done
5585 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then 6704 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
5586 $ECHO 6705 echo
5587 if test "$linkmode" = prog; then 6706 if test "$linkmode" = prog; then
5588 $ECHO "*** Warning: Linking the executable $output against the loadable module" 6707 $ECHO "*** Warning: Linking the executable $output against the loadable module"
5589 else 6708 else
@@ -5601,7 +6720,7 @@ func_mode_link ()
5601 *) 6720 *)
5602 case "$compile_rpath " in 6721 case "$compile_rpath " in
5603 *" $absdir "*) ;; 6722 *" $absdir "*) ;;
5604 *) compile_rpath="$compile_rpath $absdir" 6723 *) func_append compile_rpath " $absdir" ;;
5605 esac 6724 esac
5606 ;; 6725 ;;
5607 esac 6726 esac
@@ -5610,7 +6729,7 @@ func_mode_link ()
5610 *) 6729 *)
5611 case "$finalize_rpath " in 6730 case "$finalize_rpath " in
5612 *" $libdir "*) ;; 6731 *" $libdir "*) ;;
5613 *) finalize_rpath="$finalize_rpath $libdir" 6732 *) func_append finalize_rpath " $libdir" ;;
5614 esac 6733 esac
5615 ;; 6734 ;;
5616 esac 6735 esac
@@ -5664,7 +6783,7 @@ func_mode_link ()
5664 linklib=$newlib 6783 linklib=$newlib
5665 fi # test -n "$old_archive_from_expsyms_cmds" 6784 fi # test -n "$old_archive_from_expsyms_cmds"
5666 6785
5667 if test "$linkmode" = prog || test "$mode" != relink; then 6786 if test "$linkmode" = prog || test "$opt_mode" != relink; then
5668 add_shlibpath= 6787 add_shlibpath=
5669 add_dir= 6788 add_dir=
5670 add= 6789 add=
@@ -5686,9 +6805,9 @@ func_mode_link ()
5686 if test "X$dlopenmodule" != "X$lib"; then 6805 if test "X$dlopenmodule" != "X$lib"; then
5687 $ECHO "*** Warning: lib $linklib is a module, not a shared library" 6806 $ECHO "*** Warning: lib $linklib is a module, not a shared library"
5688 if test -z "$old_library" ; then 6807 if test -z "$old_library" ; then
5689 $ECHO 6808 echo
5690 $ECHO "*** And there doesn't seem to be a static archive available" 6809 echo "*** And there doesn't seem to be a static archive available"
5691 $ECHO "*** The link will probably fail, sorry" 6810 echo "*** The link will probably fail, sorry"
5692 else 6811 else
5693 add="$dir/$old_library" 6812 add="$dir/$old_library"
5694 fi 6813 fi
@@ -5720,7 +6839,7 @@ func_mode_link ()
5720 if test -n "$inst_prefix_dir"; then 6839 if test -n "$inst_prefix_dir"; then
5721 case $libdir in 6840 case $libdir in
5722 [\\/]*) 6841 [\\/]*)
5723 add_dir="$add_dir -L$inst_prefix_dir$libdir" 6842 func_append add_dir " -L$inst_prefix_dir$libdir"
5724 ;; 6843 ;;
5725 esac 6844 esac
5726 fi 6845 fi
@@ -5742,7 +6861,7 @@ func_mode_link ()
5742 if test -n "$add_shlibpath"; then 6861 if test -n "$add_shlibpath"; then
5743 case :$compile_shlibpath: in 6862 case :$compile_shlibpath: in
5744 *":$add_shlibpath:"*) ;; 6863 *":$add_shlibpath:"*) ;;
5745 *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; 6864 *) func_append compile_shlibpath "$add_shlibpath:" ;;
5746 esac 6865 esac
5747 fi 6866 fi
5748 if test "$linkmode" = prog; then 6867 if test "$linkmode" = prog; then
@@ -5756,13 +6875,13 @@ func_mode_link ()
5756 test "$hardcode_shlibpath_var" = yes; then 6875 test "$hardcode_shlibpath_var" = yes; then
5757 case :$finalize_shlibpath: in 6876 case :$finalize_shlibpath: in
5758 *":$libdir:"*) ;; 6877 *":$libdir:"*) ;;
5759 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; 6878 *) func_append finalize_shlibpath "$libdir:" ;;
5760 esac 6879 esac
5761 fi 6880 fi
5762 fi 6881 fi
5763 fi 6882 fi
5764 6883
5765 if test "$linkmode" = prog || test "$mode" = relink; then 6884 if test "$linkmode" = prog || test "$opt_mode" = relink; then
5766 add_shlibpath= 6885 add_shlibpath=
5767 add_dir= 6886 add_dir=
5768 add= 6887 add=
@@ -5776,7 +6895,7 @@ func_mode_link ()
5776 elif test "$hardcode_shlibpath_var" = yes; then 6895 elif test "$hardcode_shlibpath_var" = yes; then
5777 case :$finalize_shlibpath: in 6896 case :$finalize_shlibpath: in
5778 *":$libdir:"*) ;; 6897 *":$libdir:"*) ;;
5779 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; 6898 *) func_append finalize_shlibpath "$libdir:" ;;
5780 esac 6899 esac
5781 add="-l$name" 6900 add="-l$name"
5782 elif test "$hardcode_automatic" = yes; then 6901 elif test "$hardcode_automatic" = yes; then
@@ -5793,7 +6912,7 @@ func_mode_link ()
5793 if test -n "$inst_prefix_dir"; then 6912 if test -n "$inst_prefix_dir"; then
5794 case $libdir in 6913 case $libdir in
5795 [\\/]*) 6914 [\\/]*)
5796 add_dir="$add_dir -L$inst_prefix_dir$libdir" 6915 func_append add_dir " -L$inst_prefix_dir$libdir"
5797 ;; 6916 ;;
5798 esac 6917 esac
5799 fi 6918 fi
@@ -5828,21 +6947,21 @@ func_mode_link ()
5828 6947
5829 # Just print a warning and add the library to dependency_libs so 6948 # Just print a warning and add the library to dependency_libs so
5830 # that the program can be linked against the static library. 6949 # that the program can be linked against the static library.
5831 $ECHO 6950 echo
5832 $ECHO "*** Warning: This system can not link to static lib archive $lib." 6951 $ECHO "*** Warning: This system can not link to static lib archive $lib."
5833 $ECHO "*** I have the capability to make that library automatically link in when" 6952 echo "*** I have the capability to make that library automatically link in when"
5834 $ECHO "*** you link to this library. But I can only do this if you have a" 6953 echo "*** you link to this library. But I can only do this if you have a"
5835 $ECHO "*** shared version of the library, which you do not appear to have." 6954 echo "*** shared version of the library, which you do not appear to have."
5836 if test "$module" = yes; then 6955 if test "$module" = yes; then
5837 $ECHO "*** But as you try to build a module library, libtool will still create " 6956 echo "*** But as you try to build a module library, libtool will still create "
5838 $ECHO "*** a static module, that should work as long as the dlopening application" 6957 echo "*** a static module, that should work as long as the dlopening application"
5839 $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." 6958 echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
5840 if test -z "$global_symbol_pipe"; then 6959 if test -z "$global_symbol_pipe"; then
5841 $ECHO 6960 echo
5842 $ECHO "*** However, this would only work if libtool was able to extract symbol" 6961 echo "*** However, this would only work if libtool was able to extract symbol"
5843 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" 6962 echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
5844 $ECHO "*** not find such a program. So, this module is probably useless." 6963 echo "*** not find such a program. So, this module is probably useless."
5845 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." 6964 echo "*** \`nm' from GNU binutils and a full rebuild may help."
5846 fi 6965 fi
5847 if test "$build_old_libs" = no; then 6966 if test "$build_old_libs" = no; then
5848 build_libtool_libs=module 6967 build_libtool_libs=module
@@ -5870,27 +6989,33 @@ func_mode_link ()
5870 temp_xrpath=$func_stripname_result 6989 temp_xrpath=$func_stripname_result
5871 case " $xrpath " in 6990 case " $xrpath " in
5872 *" $temp_xrpath "*) ;; 6991 *" $temp_xrpath "*) ;;
5873 *) xrpath="$xrpath $temp_xrpath";; 6992 *) func_append xrpath " $temp_xrpath";;
5874 esac;; 6993 esac;;
5875 *) temp_deplibs="$temp_deplibs $libdir";; 6994 *) func_append temp_deplibs " $libdir";;
5876 esac 6995 esac
5877 done 6996 done
5878 dependency_libs="$temp_deplibs" 6997 dependency_libs="$temp_deplibs"
5879 fi 6998 fi
5880 6999
5881 newlib_search_path="$newlib_search_path $absdir" 7000 func_append newlib_search_path " $absdir"
5882 # Link against this library 7001 # Link against this library
5883 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" 7002 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
5884 # ... and its dependency_libs 7003 # ... and its dependency_libs
5885 tmp_libs= 7004 tmp_libs=
5886 for deplib in $dependency_libs; do 7005 for deplib in $dependency_libs; do
5887 newdependency_libs="$deplib $newdependency_libs" 7006 newdependency_libs="$deplib $newdependency_libs"
5888 if $opt_duplicate_deps ; then 7007 case $deplib in
7008 -L*) func_stripname '-L' '' "$deplib"
7009 func_resolve_sysroot "$func_stripname_result";;
7010 *) func_resolve_sysroot "$deplib" ;;
7011 esac
7012 if $opt_preserve_dup_deps ; then
5889 case "$tmp_libs " in 7013 case "$tmp_libs " in
5890 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 7014 *" $func_resolve_sysroot_result "*)
7015 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
5891 esac 7016 esac
5892 fi 7017 fi
5893 tmp_libs="$tmp_libs $deplib" 7018 func_append tmp_libs " $func_resolve_sysroot_result"
5894 done 7019 done
5895 7020
5896 if test "$link_all_deplibs" != no; then 7021 if test "$link_all_deplibs" != no; then
@@ -5900,8 +7025,10 @@ func_mode_link ()
5900 case $deplib in 7025 case $deplib in
5901 -L*) path="$deplib" ;; 7026 -L*) path="$deplib" ;;
5902 *.la) 7027 *.la)
7028 func_resolve_sysroot "$deplib"
7029 deplib=$func_resolve_sysroot_result
5903 func_dirname "$deplib" "" "." 7030 func_dirname "$deplib" "" "."
5904 dir="$func_dirname_result" 7031 dir=$func_dirname_result
5905 # We need an absolute path. 7032 # We need an absolute path.
5906 case $dir in 7033 case $dir in
5907 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; 7034 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
@@ -5928,8 +7055,8 @@ func_mode_link ()
5928 if test -z "$darwin_install_name"; then 7055 if test -z "$darwin_install_name"; then
5929 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` 7056 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5930 fi 7057 fi
5931 compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" 7058 func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
5932 linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" 7059 func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
5933 path= 7060 path=
5934 fi 7061 fi
5935 fi 7062 fi
@@ -5962,7 +7089,7 @@ func_mode_link ()
5962 compile_deplibs="$new_inherited_linker_flags $compile_deplibs" 7089 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
5963 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" 7090 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
5964 else 7091 else
5965 compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7092 compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
5966 fi 7093 fi
5967 fi 7094 fi
5968 dependency_libs="$newdependency_libs" 7095 dependency_libs="$newdependency_libs"
@@ -5979,7 +7106,7 @@ func_mode_link ()
5979 for dir in $newlib_search_path; do 7106 for dir in $newlib_search_path; do
5980 case "$lib_search_path " in 7107 case "$lib_search_path " in
5981 *" $dir "*) ;; 7108 *" $dir "*) ;;
5982 *) lib_search_path="$lib_search_path $dir" ;; 7109 *) func_append lib_search_path " $dir" ;;
5983 esac 7110 esac
5984 done 7111 done
5985 newlib_search_path= 7112 newlib_search_path=
@@ -6037,10 +7164,10 @@ func_mode_link ()
6037 -L*) 7164 -L*)
6038 case " $tmp_libs " in 7165 case " $tmp_libs " in
6039 *" $deplib "*) ;; 7166 *" $deplib "*) ;;
6040 *) tmp_libs="$tmp_libs $deplib" ;; 7167 *) func_append tmp_libs " $deplib" ;;
6041 esac 7168 esac
6042 ;; 7169 ;;
6043 *) tmp_libs="$tmp_libs $deplib" ;; 7170 *) func_append tmp_libs " $deplib" ;;
6044 esac 7171 esac
6045 done 7172 done
6046 eval $var=\"$tmp_libs\" 7173 eval $var=\"$tmp_libs\"
@@ -6056,7 +7183,7 @@ func_mode_link ()
6056 ;; 7183 ;;
6057 esac 7184 esac
6058 if test -n "$i" ; then 7185 if test -n "$i" ; then
6059 tmp_libs="$tmp_libs $i" 7186 func_append tmp_libs " $i"
6060 fi 7187 fi
6061 done 7188 done
6062 dependency_libs=$tmp_libs 7189 dependency_libs=$tmp_libs
@@ -6097,7 +7224,7 @@ func_mode_link ()
6097 # Now set the variables for building old libraries. 7224 # Now set the variables for building old libraries.
6098 build_libtool_libs=no 7225 build_libtool_libs=no
6099 oldlibs="$output" 7226 oldlibs="$output"
6100 objs="$objs$old_deplibs" 7227 func_append objs "$old_deplibs"
6101 ;; 7228 ;;
6102 7229
6103 lib) 7230 lib)
@@ -6130,10 +7257,10 @@ func_mode_link ()
6130 if test "$deplibs_check_method" != pass_all; then 7257 if test "$deplibs_check_method" != pass_all; then
6131 func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 7258 func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
6132 else 7259 else
6133 $ECHO 7260 echo
6134 $ECHO "*** Warning: Linking the shared library $output against the non-libtool" 7261 $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
6135 $ECHO "*** objects $objs is not portable!" 7262 $ECHO "*** objects $objs is not portable!"
6136 libobjs="$libobjs $objs" 7263 func_append libobjs " $objs"
6137 fi 7264 fi
6138 fi 7265 fi
6139 7266
@@ -6198,7 +7325,7 @@ func_mode_link ()
6198 age="$number_minor" 7325 age="$number_minor"
6199 revision="$number_revision" 7326 revision="$number_revision"
6200 ;; 7327 ;;
6201 freebsd-aout|freebsd-elf|sunos) 7328 freebsd-aout|freebsd-elf|qnx|sunos)
6202 current="$number_major" 7329 current="$number_major"
6203 revision="$number_minor" 7330 revision="$number_minor"
6204 age="0" 7331 age="0"
@@ -6334,7 +7461,7 @@ func_mode_link ()
6334 done 7461 done
6335 7462
6336 # Make executables depend on our current version. 7463 # Make executables depend on our current version.
6337 verstring="$verstring:${current}.0" 7464 func_append verstring ":${current}.0"
6338 ;; 7465 ;;
6339 7466
6340 qnx) 7467 qnx)
@@ -6402,10 +7529,10 @@ func_mode_link ()
6402 fi 7529 fi
6403 7530
6404 func_generate_dlsyms "$libname" "$libname" "yes" 7531 func_generate_dlsyms "$libname" "$libname" "yes"
6405 libobjs="$libobjs $symfileobj" 7532 func_append libobjs " $symfileobj"
6406 test "X$libobjs" = "X " && libobjs= 7533 test "X$libobjs" = "X " && libobjs=
6407 7534
6408 if test "$mode" != relink; then 7535 if test "$opt_mode" != relink; then
6409 # Remove our outputs, but don't remove object files since they 7536 # Remove our outputs, but don't remove object files since they
6410 # may have been created when compiling PIC objects. 7537 # may have been created when compiling PIC objects.
6411 removelist= 7538 removelist=
@@ -6421,7 +7548,7 @@ func_mode_link ()
6421 continue 7548 continue
6422 fi 7549 fi
6423 fi 7550 fi
6424 removelist="$removelist $p" 7551 func_append removelist " $p"
6425 ;; 7552 ;;
6426 *) ;; 7553 *) ;;
6427 esac 7554 esac
@@ -6432,27 +7559,28 @@ func_mode_link ()
6432 7559
6433 # Now set the variables for building old libraries. 7560 # Now set the variables for building old libraries.
6434 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then 7561 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
6435 oldlibs="$oldlibs $output_objdir/$libname.$libext" 7562 func_append oldlibs " $output_objdir/$libname.$libext"
6436 7563
6437 # Transform .lo files to .o files. 7564 # Transform .lo files to .o files.
6438 oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` 7565 oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
6439 fi 7566 fi
6440 7567
6441 # Eliminate all temporary directories. 7568 # Eliminate all temporary directories.
6442 #for path in $notinst_path; do 7569 #for path in $notinst_path; do
6443 # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` 7570 # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
6444 # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` 7571 # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
6445 # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` 7572 # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
6446 #done 7573 #done
6447 7574
6448 if test -n "$xrpath"; then 7575 if test -n "$xrpath"; then
6449 # If the user specified any rpath flags, then add them. 7576 # If the user specified any rpath flags, then add them.
6450 temp_xrpath= 7577 temp_xrpath=
6451 for libdir in $xrpath; do 7578 for libdir in $xrpath; do
6452 temp_xrpath="$temp_xrpath -R$libdir" 7579 func_replace_sysroot "$libdir"
7580 func_append temp_xrpath " -R$func_replace_sysroot_result"
6453 case "$finalize_rpath " in 7581 case "$finalize_rpath " in
6454 *" $libdir "*) ;; 7582 *" $libdir "*) ;;
6455 *) finalize_rpath="$finalize_rpath $libdir" ;; 7583 *) func_append finalize_rpath " $libdir" ;;
6456 esac 7584 esac
6457 done 7585 done
6458 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then 7586 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
@@ -6466,7 +7594,7 @@ func_mode_link ()
6466 for lib in $old_dlfiles; do 7594 for lib in $old_dlfiles; do
6467 case " $dlprefiles $dlfiles " in 7595 case " $dlprefiles $dlfiles " in
6468 *" $lib "*) ;; 7596 *" $lib "*) ;;
6469 *) dlfiles="$dlfiles $lib" ;; 7597 *) func_append dlfiles " $lib" ;;
6470 esac 7598 esac
6471 done 7599 done
6472 7600
@@ -6476,19 +7604,19 @@ func_mode_link ()
6476 for lib in $old_dlprefiles; do 7604 for lib in $old_dlprefiles; do
6477 case "$dlprefiles " in 7605 case "$dlprefiles " in
6478 *" $lib "*) ;; 7606 *" $lib "*) ;;
6479 *) dlprefiles="$dlprefiles $lib" ;; 7607 *) func_append dlprefiles " $lib" ;;
6480 esac 7608 esac
6481 done 7609 done
6482 7610
6483 if test "$build_libtool_libs" = yes; then 7611 if test "$build_libtool_libs" = yes; then
6484 if test -n "$rpath"; then 7612 if test -n "$rpath"; then
6485 case $host in 7613 case $host in
6486 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) 7614 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
6487 # these systems don't actually have a c library (as such)! 7615 # these systems don't actually have a c library (as such)!
6488 ;; 7616 ;;
6489 *-*-rhapsody* | *-*-darwin1.[012]) 7617 *-*-rhapsody* | *-*-darwin1.[012])
6490 # Rhapsody C library is in the System framework 7618 # Rhapsody C library is in the System framework
6491 deplibs="$deplibs System.ltframework" 7619 func_append deplibs " System.ltframework"
6492 ;; 7620 ;;
6493 *-*-netbsd*) 7621 *-*-netbsd*)
6494 # Don't link with libc until the a.out ld.so is fixed. 7622 # Don't link with libc until the a.out ld.so is fixed.
@@ -6505,7 +7633,7 @@ func_mode_link ()
6505 *) 7633 *)
6506 # Add libc to deplibs on all other systems if necessary. 7634 # Add libc to deplibs on all other systems if necessary.
6507 if test "$build_libtool_need_lc" = "yes"; then 7635 if test "$build_libtool_need_lc" = "yes"; then
6508 deplibs="$deplibs -lc" 7636 func_append deplibs " -lc"
6509 fi 7637 fi
6510 ;; 7638 ;;
6511 esac 7639 esac
@@ -6554,7 +7682,7 @@ EOF
6554 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7682 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6555 case " $predeps $postdeps " in 7683 case " $predeps $postdeps " in
6556 *" $i "*) 7684 *" $i "*)
6557 newdeplibs="$newdeplibs $i" 7685 func_append newdeplibs " $i"
6558 i="" 7686 i=""
6559 ;; 7687 ;;
6560 esac 7688 esac
@@ -6565,21 +7693,21 @@ EOF
6565 set dummy $deplib_matches; shift 7693 set dummy $deplib_matches; shift
6566 deplib_match=$1 7694 deplib_match=$1
6567 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then 7695 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6568 newdeplibs="$newdeplibs $i" 7696 func_append newdeplibs " $i"
6569 else 7697 else
6570 droppeddeps=yes 7698 droppeddeps=yes
6571 $ECHO 7699 echo
6572 $ECHO "*** Warning: dynamic linker does not accept needed library $i." 7700 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6573 $ECHO "*** I have the capability to make that library automatically link in when" 7701 echo "*** I have the capability to make that library automatically link in when"
6574 $ECHO "*** you link to this library. But I can only do this if you have a" 7702 echo "*** you link to this library. But I can only do this if you have a"
6575 $ECHO "*** shared version of the library, which I believe you do not have" 7703 echo "*** shared version of the library, which I believe you do not have"
6576 $ECHO "*** because a test_compile did reveal that the linker did not use it for" 7704 echo "*** because a test_compile did reveal that the linker did not use it for"
6577 $ECHO "*** its dynamic dependency list that programs get resolved with at runtime." 7705 echo "*** its dynamic dependency list that programs get resolved with at runtime."
6578 fi 7706 fi
6579 fi 7707 fi
6580 ;; 7708 ;;
6581 *) 7709 *)
6582 newdeplibs="$newdeplibs $i" 7710 func_append newdeplibs " $i"
6583 ;; 7711 ;;
6584 esac 7712 esac
6585 done 7713 done
@@ -6597,7 +7725,7 @@ EOF
6597 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7725 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6598 case " $predeps $postdeps " in 7726 case " $predeps $postdeps " in
6599 *" $i "*) 7727 *" $i "*)
6600 newdeplibs="$newdeplibs $i" 7728 func_append newdeplibs " $i"
6601 i="" 7729 i=""
6602 ;; 7730 ;;
6603 esac 7731 esac
@@ -6608,29 +7736,29 @@ EOF
6608 set dummy $deplib_matches; shift 7736 set dummy $deplib_matches; shift
6609 deplib_match=$1 7737 deplib_match=$1
6610 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then 7738 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6611 newdeplibs="$newdeplibs $i" 7739 func_append newdeplibs " $i"
6612 else 7740 else
6613 droppeddeps=yes 7741 droppeddeps=yes
6614 $ECHO 7742 echo
6615 $ECHO "*** Warning: dynamic linker does not accept needed library $i." 7743 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6616 $ECHO "*** I have the capability to make that library automatically link in when" 7744 echo "*** I have the capability to make that library automatically link in when"
6617 $ECHO "*** you link to this library. But I can only do this if you have a" 7745 echo "*** you link to this library. But I can only do this if you have a"
6618 $ECHO "*** shared version of the library, which you do not appear to have" 7746 echo "*** shared version of the library, which you do not appear to have"
6619 $ECHO "*** because a test_compile did reveal that the linker did not use this one" 7747 echo "*** because a test_compile did reveal that the linker did not use this one"
6620 $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime." 7748 echo "*** as a dynamic dependency that programs can get resolved with at runtime."
6621 fi 7749 fi
6622 fi 7750 fi
6623 else 7751 else
6624 droppeddeps=yes 7752 droppeddeps=yes
6625 $ECHO 7753 echo
6626 $ECHO "*** Warning! Library $i is needed by this library but I was not able to" 7754 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
6627 $ECHO "*** make it link in! You will probably need to install it or some" 7755 echo "*** make it link in! You will probably need to install it or some"
6628 $ECHO "*** library that it depends on before this library will be fully" 7756 echo "*** library that it depends on before this library will be fully"
6629 $ECHO "*** functional. Installing it before continuing would be even better." 7757 echo "*** functional. Installing it before continuing would be even better."
6630 fi 7758 fi
6631 ;; 7759 ;;
6632 *) 7760 *)
6633 newdeplibs="$newdeplibs $i" 7761 func_append newdeplibs " $i"
6634 ;; 7762 ;;
6635 esac 7763 esac
6636 done 7764 done
@@ -6647,15 +7775,27 @@ EOF
6647 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7775 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6648 case " $predeps $postdeps " in 7776 case " $predeps $postdeps " in
6649 *" $a_deplib "*) 7777 *" $a_deplib "*)
6650 newdeplibs="$newdeplibs $a_deplib" 7778 func_append newdeplibs " $a_deplib"
6651 a_deplib="" 7779 a_deplib=""
6652 ;; 7780 ;;
6653 esac 7781 esac
6654 fi 7782 fi
6655 if test -n "$a_deplib" ; then 7783 if test -n "$a_deplib" ; then
6656 libname=`eval "\\$ECHO \"$libname_spec\""` 7784 libname=`eval "\\$ECHO \"$libname_spec\""`
7785 if test -n "$file_magic_glob"; then
7786 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
7787 else
7788 libnameglob=$libname
7789 fi
7790 test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
6657 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do 7791 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
6658 potential_libs=`ls $i/$libname[.-]* 2>/dev/null` 7792 if test "$want_nocaseglob" = yes; then
7793 shopt -s nocaseglob
7794 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7795 $nocaseglob
7796 else
7797 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7798 fi
6659 for potent_lib in $potential_libs; do 7799 for potent_lib in $potential_libs; do
6660 # Follow soft links. 7800 # Follow soft links.
6661 if ls -lLd "$potent_lib" 2>/dev/null | 7801 if ls -lLd "$potent_lib" 2>/dev/null |
@@ -6672,13 +7812,13 @@ EOF
6672 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` 7812 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
6673 case $potliblink in 7813 case $potliblink in
6674 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; 7814 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
6675 *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; 7815 *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
6676 esac 7816 esac
6677 done 7817 done
6678 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | 7818 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
6679 $SED -e 10q | 7819 $SED -e 10q |
6680 $EGREP "$file_magic_regex" > /dev/null; then 7820 $EGREP "$file_magic_regex" > /dev/null; then
6681 newdeplibs="$newdeplibs $a_deplib" 7821 func_append newdeplibs " $a_deplib"
6682 a_deplib="" 7822 a_deplib=""
6683 break 2 7823 break 2
6684 fi 7824 fi
@@ -6687,12 +7827,12 @@ EOF
6687 fi 7827 fi
6688 if test -n "$a_deplib" ; then 7828 if test -n "$a_deplib" ; then
6689 droppeddeps=yes 7829 droppeddeps=yes
6690 $ECHO 7830 echo
6691 $ECHO "*** Warning: linker path does not have real file for library $a_deplib." 7831 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6692 $ECHO "*** I have the capability to make that library automatically link in when" 7832 echo "*** I have the capability to make that library automatically link in when"
6693 $ECHO "*** you link to this library. But I can only do this if you have a" 7833 echo "*** you link to this library. But I can only do this if you have a"
6694 $ECHO "*** shared version of the library, which you do not appear to have" 7834 echo "*** shared version of the library, which you do not appear to have"
6695 $ECHO "*** because I did check the linker path looking for a file starting" 7835 echo "*** because I did check the linker path looking for a file starting"
6696 if test -z "$potlib" ; then 7836 if test -z "$potlib" ; then
6697 $ECHO "*** with $libname but no candidates were found. (...for file magic test)" 7837 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
6698 else 7838 else
@@ -6703,7 +7843,7 @@ EOF
6703 ;; 7843 ;;
6704 *) 7844 *)
6705 # Add a -L argument. 7845 # Add a -L argument.
6706 newdeplibs="$newdeplibs $a_deplib" 7846 func_append newdeplibs " $a_deplib"
6707 ;; 7847 ;;
6708 esac 7848 esac
6709 done # Gone through all deplibs. 7849 done # Gone through all deplibs.
@@ -6719,7 +7859,7 @@ EOF
6719 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7859 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6720 case " $predeps $postdeps " in 7860 case " $predeps $postdeps " in
6721 *" $a_deplib "*) 7861 *" $a_deplib "*)
6722 newdeplibs="$newdeplibs $a_deplib" 7862 func_append newdeplibs " $a_deplib"
6723 a_deplib="" 7863 a_deplib=""
6724 ;; 7864 ;;
6725 esac 7865 esac
@@ -6730,9 +7870,9 @@ EOF
6730 potential_libs=`ls $i/$libname[.-]* 2>/dev/null` 7870 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6731 for potent_lib in $potential_libs; do 7871 for potent_lib in $potential_libs; do
6732 potlib="$potent_lib" # see symlink-check above in file_magic test 7872 potlib="$potent_lib" # see symlink-check above in file_magic test
6733 if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ 7873 if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
6734 $EGREP "$match_pattern_regex" > /dev/null; then 7874 $EGREP "$match_pattern_regex" > /dev/null; then
6735 newdeplibs="$newdeplibs $a_deplib" 7875 func_append newdeplibs " $a_deplib"
6736 a_deplib="" 7876 a_deplib=""
6737 break 2 7877 break 2
6738 fi 7878 fi
@@ -6741,12 +7881,12 @@ EOF
6741 fi 7881 fi
6742 if test -n "$a_deplib" ; then 7882 if test -n "$a_deplib" ; then
6743 droppeddeps=yes 7883 droppeddeps=yes
6744 $ECHO 7884 echo
6745 $ECHO "*** Warning: linker path does not have real file for library $a_deplib." 7885 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6746 $ECHO "*** I have the capability to make that library automatically link in when" 7886 echo "*** I have the capability to make that library automatically link in when"
6747 $ECHO "*** you link to this library. But I can only do this if you have a" 7887 echo "*** you link to this library. But I can only do this if you have a"
6748 $ECHO "*** shared version of the library, which you do not appear to have" 7888 echo "*** shared version of the library, which you do not appear to have"
6749 $ECHO "*** because I did check the linker path looking for a file starting" 7889 echo "*** because I did check the linker path looking for a file starting"
6750 if test -z "$potlib" ; then 7890 if test -z "$potlib" ; then
6751 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" 7891 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
6752 else 7892 else
@@ -6757,32 +7897,32 @@ EOF
6757 ;; 7897 ;;
6758 *) 7898 *)
6759 # Add a -L argument. 7899 # Add a -L argument.
6760 newdeplibs="$newdeplibs $a_deplib" 7900 func_append newdeplibs " $a_deplib"
6761 ;; 7901 ;;
6762 esac 7902 esac
6763 done # Gone through all deplibs. 7903 done # Gone through all deplibs.
6764 ;; 7904 ;;
6765 none | unknown | *) 7905 none | unknown | *)
6766 newdeplibs="" 7906 newdeplibs=""
6767 tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ 7907 tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
6768 -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
6769 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7908 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6770 for i in $predeps $postdeps ; do 7909 for i in $predeps $postdeps ; do
6771 # can't use Xsed below, because $i might contain '/' 7910 # can't use Xsed below, because $i might contain '/'
6772 tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` 7911 tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
6773 done 7912 done
6774 fi 7913 fi
6775 if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | 7914 case $tmp_deplibs in
6776 $GREP . >/dev/null; then 7915 *[!\ \ ]*)
6777 $ECHO 7916 echo
6778 if test "X$deplibs_check_method" = "Xnone"; then 7917 if test "X$deplibs_check_method" = "Xnone"; then
6779 $ECHO "*** Warning: inter-library dependencies are not supported in this platform." 7918 echo "*** Warning: inter-library dependencies are not supported in this platform."
6780 else 7919 else
6781 $ECHO "*** Warning: inter-library dependencies are not known to be supported." 7920 echo "*** Warning: inter-library dependencies are not known to be supported."
6782 fi 7921 fi
6783 $ECHO "*** All declared inter-library dependencies are being dropped." 7922 echo "*** All declared inter-library dependencies are being dropped."
6784 droppeddeps=yes 7923 droppeddeps=yes
6785 fi 7924 ;;
7925 esac
6786 ;; 7926 ;;
6787 esac 7927 esac
6788 versuffix=$versuffix_save 7928 versuffix=$versuffix_save
@@ -6794,23 +7934,23 @@ EOF
6794 case $host in 7934 case $host in
6795 *-*-rhapsody* | *-*-darwin1.[012]) 7935 *-*-rhapsody* | *-*-darwin1.[012])
6796 # On Rhapsody replace the C library with the System framework 7936 # On Rhapsody replace the C library with the System framework
6797 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` 7937 newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
6798 ;; 7938 ;;
6799 esac 7939 esac
6800 7940
6801 if test "$droppeddeps" = yes; then 7941 if test "$droppeddeps" = yes; then
6802 if test "$module" = yes; then 7942 if test "$module" = yes; then
6803 $ECHO 7943 echo
6804 $ECHO "*** Warning: libtool could not satisfy all declared inter-library" 7944 echo "*** Warning: libtool could not satisfy all declared inter-library"
6805 $ECHO "*** dependencies of module $libname. Therefore, libtool will create" 7945 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
6806 $ECHO "*** a static module, that should work as long as the dlopening" 7946 echo "*** a static module, that should work as long as the dlopening"
6807 $ECHO "*** application is linked with the -dlopen flag." 7947 echo "*** application is linked with the -dlopen flag."
6808 if test -z "$global_symbol_pipe"; then 7948 if test -z "$global_symbol_pipe"; then
6809 $ECHO 7949 echo
6810 $ECHO "*** However, this would only work if libtool was able to extract symbol" 7950 echo "*** However, this would only work if libtool was able to extract symbol"
6811 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" 7951 echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
6812 $ECHO "*** not find such a program. So, this module is probably useless." 7952 echo "*** not find such a program. So, this module is probably useless."
6813 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." 7953 echo "*** \`nm' from GNU binutils and a full rebuild may help."
6814 fi 7954 fi
6815 if test "$build_old_libs" = no; then 7955 if test "$build_old_libs" = no; then
6816 oldlibs="$output_objdir/$libname.$libext" 7956 oldlibs="$output_objdir/$libname.$libext"
@@ -6820,16 +7960,16 @@ EOF
6820 build_libtool_libs=no 7960 build_libtool_libs=no
6821 fi 7961 fi
6822 else 7962 else
6823 $ECHO "*** The inter-library dependencies that have been dropped here will be" 7963 echo "*** The inter-library dependencies that have been dropped here will be"
6824 $ECHO "*** automatically added whenever a program is linked with this library" 7964 echo "*** automatically added whenever a program is linked with this library"
6825 $ECHO "*** or is declared to -dlopen it." 7965 echo "*** or is declared to -dlopen it."
6826 7966
6827 if test "$allow_undefined" = no; then 7967 if test "$allow_undefined" = no; then
6828 $ECHO 7968 echo
6829 $ECHO "*** Since this library must not contain undefined symbols," 7969 echo "*** Since this library must not contain undefined symbols,"
6830 $ECHO "*** because either the platform does not support them or" 7970 echo "*** because either the platform does not support them or"
6831 $ECHO "*** it was explicitly requested with -no-undefined," 7971 echo "*** it was explicitly requested with -no-undefined,"
6832 $ECHO "*** libtool will only create a static version of it." 7972 echo "*** libtool will only create a static version of it."
6833 if test "$build_old_libs" = no; then 7973 if test "$build_old_libs" = no; then
6834 oldlibs="$output_objdir/$libname.$libext" 7974 oldlibs="$output_objdir/$libname.$libext"
6835 build_libtool_libs=module 7975 build_libtool_libs=module
@@ -6846,9 +7986,9 @@ EOF
6846 # Time to change all our "foo.ltframework" stuff back to "-framework foo" 7986 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
6847 case $host in 7987 case $host in
6848 *-*-darwin*) 7988 *-*-darwin*)
6849 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7989 newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
6850 new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7990 new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
6851 deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7991 deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
6852 ;; 7992 ;;
6853 esac 7993 esac
6854 7994
@@ -6861,7 +8001,7 @@ EOF
6861 *) 8001 *)
6862 case " $deplibs " in 8002 case " $deplibs " in
6863 *" -L$path/$objdir "*) 8003 *" -L$path/$objdir "*)
6864 new_libs="$new_libs -L$path/$objdir" ;; 8004 func_append new_libs " -L$path/$objdir" ;;
6865 esac 8005 esac
6866 ;; 8006 ;;
6867 esac 8007 esac
@@ -6871,10 +8011,10 @@ EOF
6871 -L*) 8011 -L*)
6872 case " $new_libs " in 8012 case " $new_libs " in
6873 *" $deplib "*) ;; 8013 *" $deplib "*) ;;
6874 *) new_libs="$new_libs $deplib" ;; 8014 *) func_append new_libs " $deplib" ;;
6875 esac 8015 esac
6876 ;; 8016 ;;
6877 *) new_libs="$new_libs $deplib" ;; 8017 *) func_append new_libs " $deplib" ;;
6878 esac 8018 esac
6879 done 8019 done
6880 deplibs="$new_libs" 8020 deplibs="$new_libs"
@@ -6891,10 +8031,12 @@ EOF
6891 hardcode_libdirs= 8031 hardcode_libdirs=
6892 dep_rpath= 8032 dep_rpath=
6893 rpath="$finalize_rpath" 8033 rpath="$finalize_rpath"
6894 test "$mode" != relink && rpath="$compile_rpath$rpath" 8034 test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
6895 for libdir in $rpath; do 8035 for libdir in $rpath; do
6896 if test -n "$hardcode_libdir_flag_spec"; then 8036 if test -n "$hardcode_libdir_flag_spec"; then
6897 if test -n "$hardcode_libdir_separator"; then 8037 if test -n "$hardcode_libdir_separator"; then
8038 func_replace_sysroot "$libdir"
8039 libdir=$func_replace_sysroot_result
6898 if test -z "$hardcode_libdirs"; then 8040 if test -z "$hardcode_libdirs"; then
6899 hardcode_libdirs="$libdir" 8041 hardcode_libdirs="$libdir"
6900 else 8042 else
@@ -6903,18 +8045,18 @@ EOF
6903 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8045 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
6904 ;; 8046 ;;
6905 *) 8047 *)
6906 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" 8048 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
6907 ;; 8049 ;;
6908 esac 8050 esac
6909 fi 8051 fi
6910 else 8052 else
6911 eval flag=\"$hardcode_libdir_flag_spec\" 8053 eval flag=\"$hardcode_libdir_flag_spec\"
6912 dep_rpath="$dep_rpath $flag" 8054 func_append dep_rpath " $flag"
6913 fi 8055 fi
6914 elif test -n "$runpath_var"; then 8056 elif test -n "$runpath_var"; then
6915 case "$perm_rpath " in 8057 case "$perm_rpath " in
6916 *" $libdir "*) ;; 8058 *" $libdir "*) ;;
6917 *) perm_rpath="$perm_rpath $libdir" ;; 8059 *) func_apped perm_rpath " $libdir" ;;
6918 esac 8060 esac
6919 fi 8061 fi
6920 done 8062 done
@@ -6932,7 +8074,7 @@ EOF
6932 # We should set the runpath_var. 8074 # We should set the runpath_var.
6933 rpath= 8075 rpath=
6934 for dir in $perm_rpath; do 8076 for dir in $perm_rpath; do
6935 rpath="$rpath$dir:" 8077 func_append rpath "$dir:"
6936 done 8078 done
6937 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" 8079 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
6938 fi 8080 fi
@@ -6940,7 +8082,7 @@ EOF
6940 fi 8082 fi
6941 8083
6942 shlibpath="$finalize_shlibpath" 8084 shlibpath="$finalize_shlibpath"
6943 test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" 8085 test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
6944 if test -n "$shlibpath"; then 8086 if test -n "$shlibpath"; then
6945 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" 8087 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
6946 fi 8088 fi
@@ -6966,18 +8108,18 @@ EOF
6966 linknames= 8108 linknames=
6967 for link 8109 for link
6968 do 8110 do
6969 linknames="$linknames $link" 8111 func_append linknames " $link"
6970 done 8112 done
6971 8113
6972 # Use standard objects if they are pic 8114 # Use standard objects if they are pic
6973 test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 8115 test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
6974 test "X$libobjs" = "X " && libobjs= 8116 test "X$libobjs" = "X " && libobjs=
6975 8117
6976 delfiles= 8118 delfiles=
6977 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8119 if test -n "$export_symbols" && test -n "$include_expsyms"; then
6978 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" 8120 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
6979 export_symbols="$output_objdir/$libname.uexp" 8121 export_symbols="$output_objdir/$libname.uexp"
6980 delfiles="$delfiles $export_symbols" 8122 func_append delfiles " $export_symbols"
6981 fi 8123 fi
6982 8124
6983 orig_export_symbols= 8125 orig_export_symbols=
@@ -7008,13 +8150,45 @@ EOF
7008 $opt_dry_run || $RM $export_symbols 8150 $opt_dry_run || $RM $export_symbols
7009 cmds=$export_symbols_cmds 8151 cmds=$export_symbols_cmds
7010 save_ifs="$IFS"; IFS='~' 8152 save_ifs="$IFS"; IFS='~'
7011 for cmd in $cmds; do 8153 for cmd1 in $cmds; do
7012 IFS="$save_ifs" 8154 IFS="$save_ifs"
7013 eval cmd=\"$cmd\" 8155 # Take the normal branch if the nm_file_list_spec branch
7014 func_len " $cmd" 8156 # doesn't work or if tool conversion is not needed.
7015 len=$func_len_result 8157 case $nm_file_list_spec~$to_tool_file_cmd in
7016 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then 8158 *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
8159 try_normal_branch=yes
8160 eval cmd=\"$cmd1\"
8161 func_len " $cmd"
8162 len=$func_len_result
8163 ;;
8164 *)
8165 try_normal_branch=no
8166 ;;
8167 esac
8168 if test "$try_normal_branch" = yes \
8169 && { test "$len" -lt "$max_cmd_len" \
8170 || test "$max_cmd_len" -le -1; }
8171 then
8172 func_show_eval "$cmd" 'exit $?'
8173 skipped_export=false
8174 elif test -n "$nm_file_list_spec"; then
8175 func_basename "$output"
8176 output_la=$func_basename_result
8177 save_libobjs=$libobjs
8178 save_output=$output
8179 output=${output_objdir}/${output_la}.nm
8180 func_to_tool_file "$output"
8181 libobjs=$nm_file_list_spec$func_to_tool_file_result
8182 func_append delfiles " $output"
8183 func_verbose "creating $NM input file list: $output"
8184 for obj in $save_libobjs; do
8185 func_to_tool_file "$obj"
8186 $ECHO "$func_to_tool_file_result"
8187 done > "$output"
8188 eval cmd=\"$cmd1\"
7017 func_show_eval "$cmd" 'exit $?' 8189 func_show_eval "$cmd" 'exit $?'
8190 output=$save_output
8191 libobjs=$save_libobjs
7018 skipped_export=false 8192 skipped_export=false
7019 else 8193 else
7020 # The command line is too long to execute in one step. 8194 # The command line is too long to execute in one step.
@@ -7036,7 +8210,7 @@ EOF
7036 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8210 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7037 tmp_export_symbols="$export_symbols" 8211 tmp_export_symbols="$export_symbols"
7038 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" 8212 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7039 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' 8213 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
7040 fi 8214 fi
7041 8215
7042 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then 8216 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
@@ -7048,7 +8222,7 @@ EOF
7048 # global variables. join(1) would be nice here, but unfortunately 8222 # global variables. join(1) would be nice here, but unfortunately
7049 # isn't a blessed tool. 8223 # isn't a blessed tool.
7050 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter 8224 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7051 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" 8225 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
7052 export_symbols=$output_objdir/$libname.def 8226 export_symbols=$output_objdir/$libname.def
7053 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols 8227 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7054 fi 8228 fi
@@ -7058,7 +8232,7 @@ EOF
7058 case " $convenience " in 8232 case " $convenience " in
7059 *" $test_deplib "*) ;; 8233 *" $test_deplib "*) ;;
7060 *) 8234 *)
7061 tmp_deplibs="$tmp_deplibs $test_deplib" 8235 func_append tmp_deplibs " $test_deplib"
7062 ;; 8236 ;;
7063 esac 8237 esac
7064 done 8238 done
@@ -7078,21 +8252,21 @@ EOF
7078 test "X$libobjs" = "X " && libobjs= 8252 test "X$libobjs" = "X " && libobjs=
7079 else 8253 else
7080 gentop="$output_objdir/${outputname}x" 8254 gentop="$output_objdir/${outputname}x"
7081 generated="$generated $gentop" 8255 func_append generated " $gentop"
7082 8256
7083 func_extract_archives $gentop $convenience 8257 func_extract_archives $gentop $convenience
7084 libobjs="$libobjs $func_extract_archives_result" 8258 func_append libobjs " $func_extract_archives_result"
7085 test "X$libobjs" = "X " && libobjs= 8259 test "X$libobjs" = "X " && libobjs=
7086 fi 8260 fi
7087 fi 8261 fi
7088 8262
7089 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then 8263 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
7090 eval flag=\"$thread_safe_flag_spec\" 8264 eval flag=\"$thread_safe_flag_spec\"
7091 linker_flags="$linker_flags $flag" 8265 func_append linker_flags " $flag"
7092 fi 8266 fi
7093 8267
7094 # Make a backup of the uninstalled library when relinking 8268 # Make a backup of the uninstalled library when relinking
7095 if test "$mode" = relink; then 8269 if test "$opt_mode" = relink; then
7096 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? 8270 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
7097 fi 8271 fi
7098 8272
@@ -7137,7 +8311,8 @@ EOF
7137 save_libobjs=$libobjs 8311 save_libobjs=$libobjs
7138 fi 8312 fi
7139 save_output=$output 8313 save_output=$output
7140 output_la=`$ECHO "X$output" | $Xsed -e "$basename"` 8314 func_basename "$output"
8315 output_la=$func_basename_result
7141 8316
7142 # Clear the reloadable object creation command queue and 8317 # Clear the reloadable object creation command queue and
7143 # initialize k to one. 8318 # initialize k to one.
@@ -7150,13 +8325,16 @@ EOF
7150 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then 8325 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
7151 output=${output_objdir}/${output_la}.lnkscript 8326 output=${output_objdir}/${output_la}.lnkscript
7152 func_verbose "creating GNU ld script: $output" 8327 func_verbose "creating GNU ld script: $output"
7153 $ECHO 'INPUT (' > $output 8328 echo 'INPUT (' > $output
7154 for obj in $save_libobjs 8329 for obj in $save_libobjs
7155 do 8330 do
7156 $ECHO "$obj" >> $output 8331 func_to_tool_file "$obj"
8332 $ECHO "$func_to_tool_file_result" >> $output
7157 done 8333 done
7158 $ECHO ')' >> $output 8334 echo ')' >> $output
7159 delfiles="$delfiles $output" 8335 func_append delfiles " $output"
8336 func_to_tool_file "$output"
8337 output=$func_to_tool_file_result
7160 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then 8338 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
7161 output=${output_objdir}/${output_la}.lnk 8339 output=${output_objdir}/${output_la}.lnk
7162 func_verbose "creating linker input file list: $output" 8340 func_verbose "creating linker input file list: $output"
@@ -7170,10 +8348,12 @@ EOF
7170 fi 8348 fi
7171 for obj 8349 for obj
7172 do 8350 do
7173 $ECHO "$obj" >> $output 8351 func_to_tool_file "$obj"
8352 $ECHO "$func_to_tool_file_result" >> $output
7174 done 8353 done
7175 delfiles="$delfiles $output" 8354 func_append delfiles " $output"
7176 output=$firstobj\"$file_list_spec$output\" 8355 func_to_tool_file "$output"
8356 output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
7177 else 8357 else
7178 if test -n "$save_libobjs"; then 8358 if test -n "$save_libobjs"; then
7179 func_verbose "creating reloadable object files..." 8359 func_verbose "creating reloadable object files..."
@@ -7197,17 +8377,19 @@ EOF
7197 # command to the queue. 8377 # command to the queue.
7198 if test "$k" -eq 1 ; then 8378 if test "$k" -eq 1 ; then
7199 # The first file doesn't have a previous command to add. 8379 # The first file doesn't have a previous command to add.
7200 eval concat_cmds=\"$reload_cmds $objlist $last_robj\" 8380 reload_objs=$objlist
8381 eval concat_cmds=\"$reload_cmds\"
7201 else 8382 else
7202 # All subsequent reloadable object files will link in 8383 # All subsequent reloadable object files will link in
7203 # the last one created. 8384 # the last one created.
7204 eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" 8385 reload_objs="$objlist $last_robj"
8386 eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
7205 fi 8387 fi
7206 last_robj=$output_objdir/$output_la-${k}.$objext 8388 last_robj=$output_objdir/$output_la-${k}.$objext
7207 func_arith $k + 1 8389 func_arith $k + 1
7208 k=$func_arith_result 8390 k=$func_arith_result
7209 output=$output_objdir/$output_la-${k}.$objext 8391 output=$output_objdir/$output_la-${k}.$objext
7210 objlist=$obj 8392 objlist=" $obj"
7211 func_len " $last_robj" 8393 func_len " $last_robj"
7212 func_arith $len0 + $func_len_result 8394 func_arith $len0 + $func_len_result
7213 len=$func_arith_result 8395 len=$func_arith_result
@@ -7217,11 +8399,12 @@ EOF
7217 # reloadable object file. All subsequent reloadable object 8399 # reloadable object file. All subsequent reloadable object
7218 # files will link in the last one created. 8400 # files will link in the last one created.
7219 test -z "$concat_cmds" || concat_cmds=$concat_cmds~ 8401 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7220 eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" 8402 reload_objs="$objlist $last_robj"
8403 eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
7221 if test -n "$last_robj"; then 8404 if test -n "$last_robj"; then
7222 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" 8405 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
7223 fi 8406 fi
7224 delfiles="$delfiles $output" 8407 func_append delfiles " $output"
7225 8408
7226 else 8409 else
7227 output= 8410 output=
@@ -7255,7 +8438,7 @@ EOF
7255 lt_exit=$? 8438 lt_exit=$?
7256 8439
7257 # Restore the uninstalled library and exit 8440 # Restore the uninstalled library and exit
7258 if test "$mode" = relink; then 8441 if test "$opt_mode" = relink; then
7259 ( cd "$output_objdir" && \ 8442 ( cd "$output_objdir" && \
7260 $RM "${realname}T" && \ 8443 $RM "${realname}T" && \
7261 $MV "${realname}U" "$realname" ) 8444 $MV "${realname}U" "$realname" )
@@ -7276,7 +8459,7 @@ EOF
7276 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8459 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7277 tmp_export_symbols="$export_symbols" 8460 tmp_export_symbols="$export_symbols"
7278 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" 8461 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7279 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' 8462 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
7280 fi 8463 fi
7281 8464
7282 if test -n "$orig_export_symbols"; then 8465 if test -n "$orig_export_symbols"; then
@@ -7288,7 +8471,7 @@ EOF
7288 # global variables. join(1) would be nice here, but unfortunately 8471 # global variables. join(1) would be nice here, but unfortunately
7289 # isn't a blessed tool. 8472 # isn't a blessed tool.
7290 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter 8473 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7291 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" 8474 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
7292 export_symbols=$output_objdir/$libname.def 8475 export_symbols=$output_objdir/$libname.def
7293 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols 8476 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7294 fi 8477 fi
@@ -7329,10 +8512,10 @@ EOF
7329 # Add any objects from preloaded convenience libraries 8512 # Add any objects from preloaded convenience libraries
7330 if test -n "$dlprefiles"; then 8513 if test -n "$dlprefiles"; then
7331 gentop="$output_objdir/${outputname}x" 8514 gentop="$output_objdir/${outputname}x"
7332 generated="$generated $gentop" 8515 func_append generated " $gentop"
7333 8516
7334 func_extract_archives $gentop $dlprefiles 8517 func_extract_archives $gentop $dlprefiles
7335 libobjs="$libobjs $func_extract_archives_result" 8518 func_append libobjs " $func_extract_archives_result"
7336 test "X$libobjs" = "X " && libobjs= 8519 test "X$libobjs" = "X " && libobjs=
7337 fi 8520 fi
7338 8521
@@ -7348,7 +8531,7 @@ EOF
7348 lt_exit=$? 8531 lt_exit=$?
7349 8532
7350 # Restore the uninstalled library and exit 8533 # Restore the uninstalled library and exit
7351 if test "$mode" = relink; then 8534 if test "$opt_mode" = relink; then
7352 ( cd "$output_objdir" && \ 8535 ( cd "$output_objdir" && \
7353 $RM "${realname}T" && \ 8536 $RM "${realname}T" && \
7354 $MV "${realname}U" "$realname" ) 8537 $MV "${realname}U" "$realname" )
@@ -7360,7 +8543,7 @@ EOF
7360 IFS="$save_ifs" 8543 IFS="$save_ifs"
7361 8544
7362 # Restore the uninstalled library and exit 8545 # Restore the uninstalled library and exit
7363 if test "$mode" = relink; then 8546 if test "$opt_mode" = relink; then
7364 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? 8547 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
7365 8548
7366 if test -n "$convenience"; then 8549 if test -n "$convenience"; then
@@ -7441,18 +8624,21 @@ EOF
7441 if test -n "$convenience"; then 8624 if test -n "$convenience"; then
7442 if test -n "$whole_archive_flag_spec"; then 8625 if test -n "$whole_archive_flag_spec"; then
7443 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" 8626 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
7444 reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` 8627 reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
7445 else 8628 else
7446 gentop="$output_objdir/${obj}x" 8629 gentop="$output_objdir/${obj}x"
7447 generated="$generated $gentop" 8630 func_append generated " $gentop"
7448 8631
7449 func_extract_archives $gentop $convenience 8632 func_extract_archives $gentop $convenience
7450 reload_conv_objs="$reload_objs $func_extract_archives_result" 8633 reload_conv_objs="$reload_objs $func_extract_archives_result"
7451 fi 8634 fi
7452 fi 8635 fi
7453 8636
8637 # If we're not building shared, we need to use non_pic_objs
8638 test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
8639
7454 # Create the old-style object. 8640 # Create the old-style object.
7455 reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test 8641 reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
7456 8642
7457 output="$obj" 8643 output="$obj"
7458 func_execute_cmds "$reload_cmds" 'exit $?' 8644 func_execute_cmds "$reload_cmds" 'exit $?'
@@ -7512,8 +8698,8 @@ EOF
7512 case $host in 8698 case $host in
7513 *-*-rhapsody* | *-*-darwin1.[012]) 8699 *-*-rhapsody* | *-*-darwin1.[012])
7514 # On Rhapsody replace the C library is the System framework 8700 # On Rhapsody replace the C library is the System framework
7515 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` 8701 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
7516 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` 8702 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
7517 ;; 8703 ;;
7518 esac 8704 esac
7519 8705
@@ -7524,14 +8710,14 @@ EOF
7524 if test "$tagname" = CXX ; then 8710 if test "$tagname" = CXX ; then
7525 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 8711 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
7526 10.[0123]) 8712 10.[0123])
7527 compile_command="$compile_command ${wl}-bind_at_load" 8713 func_append compile_command " ${wl}-bind_at_load"
7528 finalize_command="$finalize_command ${wl}-bind_at_load" 8714 func_append finalize_command " ${wl}-bind_at_load"
7529 ;; 8715 ;;
7530 esac 8716 esac
7531 fi 8717 fi
7532 # Time to change all our "foo.ltframework" stuff back to "-framework foo" 8718 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
7533 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 8719 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
7534 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 8720 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
7535 ;; 8721 ;;
7536 esac 8722 esac
7537 8723
@@ -7545,7 +8731,7 @@ EOF
7545 *) 8731 *)
7546 case " $compile_deplibs " in 8732 case " $compile_deplibs " in
7547 *" -L$path/$objdir "*) 8733 *" -L$path/$objdir "*)
7548 new_libs="$new_libs -L$path/$objdir" ;; 8734 func_append new_libs " -L$path/$objdir" ;;
7549 esac 8735 esac
7550 ;; 8736 ;;
7551 esac 8737 esac
@@ -7555,17 +8741,17 @@ EOF
7555 -L*) 8741 -L*)
7556 case " $new_libs " in 8742 case " $new_libs " in
7557 *" $deplib "*) ;; 8743 *" $deplib "*) ;;
7558 *) new_libs="$new_libs $deplib" ;; 8744 *) func_append new_libs " $deplib" ;;
7559 esac 8745 esac
7560 ;; 8746 ;;
7561 *) new_libs="$new_libs $deplib" ;; 8747 *) func_append new_libs " $deplib" ;;
7562 esac 8748 esac
7563 done 8749 done
7564 compile_deplibs="$new_libs" 8750 compile_deplibs="$new_libs"
7565 8751
7566 8752
7567 compile_command="$compile_command $compile_deplibs" 8753 func_append compile_command " $compile_deplibs"
7568 finalize_command="$finalize_command $finalize_deplibs" 8754 func_append finalize_command " $finalize_deplibs"
7569 8755
7570 if test -n "$rpath$xrpath"; then 8756 if test -n "$rpath$xrpath"; then
7571 # If the user specified any rpath flags, then add them. 8757 # If the user specified any rpath flags, then add them.
@@ -7573,7 +8759,7 @@ EOF
7573 # This is the magic to use -rpath. 8759 # This is the magic to use -rpath.
7574 case "$finalize_rpath " in 8760 case "$finalize_rpath " in
7575 *" $libdir "*) ;; 8761 *" $libdir "*) ;;
7576 *) finalize_rpath="$finalize_rpath $libdir" ;; 8762 *) func_append finalize_rpath " $libdir" ;;
7577 esac 8763 esac
7578 done 8764 done
7579 fi 8765 fi
@@ -7592,18 +8778,18 @@ EOF
7592 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8778 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7593 ;; 8779 ;;
7594 *) 8780 *)
7595 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" 8781 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
7596 ;; 8782 ;;
7597 esac 8783 esac
7598 fi 8784 fi
7599 else 8785 else
7600 eval flag=\"$hardcode_libdir_flag_spec\" 8786 eval flag=\"$hardcode_libdir_flag_spec\"
7601 rpath="$rpath $flag" 8787 func_append rpath " $flag"
7602 fi 8788 fi
7603 elif test -n "$runpath_var"; then 8789 elif test -n "$runpath_var"; then
7604 case "$perm_rpath " in 8790 case "$perm_rpath " in
7605 *" $libdir "*) ;; 8791 *" $libdir "*) ;;
7606 *) perm_rpath="$perm_rpath $libdir" ;; 8792 *) func_append perm_rpath " $libdir" ;;
7607 esac 8793 esac
7608 fi 8794 fi
7609 case $host in 8795 case $host in
@@ -7612,12 +8798,12 @@ EOF
7612 case :$dllsearchpath: in 8798 case :$dllsearchpath: in
7613 *":$libdir:"*) ;; 8799 *":$libdir:"*) ;;
7614 ::) dllsearchpath=$libdir;; 8800 ::) dllsearchpath=$libdir;;
7615 *) dllsearchpath="$dllsearchpath:$libdir";; 8801 *) func_append dllsearchpath ":$libdir";;
7616 esac 8802 esac
7617 case :$dllsearchpath: in 8803 case :$dllsearchpath: in
7618 *":$testbindir:"*) ;; 8804 *":$testbindir:"*) ;;
7619 ::) dllsearchpath=$testbindir;; 8805 ::) dllsearchpath=$testbindir;;
7620 *) dllsearchpath="$dllsearchpath:$testbindir";; 8806 *) func_append dllsearchpath ":$testbindir";;
7621 esac 8807 esac
7622 ;; 8808 ;;
7623 esac 8809 esac
@@ -7643,18 +8829,18 @@ EOF
7643 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8829 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7644 ;; 8830 ;;
7645 *) 8831 *)
7646 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" 8832 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
7647 ;; 8833 ;;
7648 esac 8834 esac
7649 fi 8835 fi
7650 else 8836 else
7651 eval flag=\"$hardcode_libdir_flag_spec\" 8837 eval flag=\"$hardcode_libdir_flag_spec\"
7652 rpath="$rpath $flag" 8838 func_append rpath " $flag"
7653 fi 8839 fi
7654 elif test -n "$runpath_var"; then 8840 elif test -n "$runpath_var"; then
7655 case "$finalize_perm_rpath " in 8841 case "$finalize_perm_rpath " in
7656 *" $libdir "*) ;; 8842 *" $libdir "*) ;;
7657 *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; 8843 *) func_append finalize_perm_rpath " $libdir" ;;
7658 esac 8844 esac
7659 fi 8845 fi
7660 done 8846 done
@@ -7668,8 +8854,8 @@ EOF
7668 8854
7669 if test -n "$libobjs" && test "$build_old_libs" = yes; then 8855 if test -n "$libobjs" && test "$build_old_libs" = yes; then
7670 # Transform all the library objects into standard objects. 8856 # Transform all the library objects into standard objects.
7671 compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 8857 compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
7672 finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 8858 finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
7673 fi 8859 fi
7674 8860
7675 func_generate_dlsyms "$outputname" "@PROGRAM@" "no" 8861 func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
@@ -7681,15 +8867,15 @@ EOF
7681 8867
7682 wrappers_required=yes 8868 wrappers_required=yes
7683 case $host in 8869 case $host in
8870 *cegcc* | *mingw32ce*)
8871 # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
8872 wrappers_required=no
8873 ;;
7684 *cygwin* | *mingw* ) 8874 *cygwin* | *mingw* )
7685 if test "$build_libtool_libs" != yes; then 8875 if test "$build_libtool_libs" != yes; then
7686 wrappers_required=no 8876 wrappers_required=no
7687 fi 8877 fi
7688 ;; 8878 ;;
7689 *cegcc)
7690 # Disable wrappers for cegcc, we are cross compiling anyway.
7691 wrappers_required=no
7692 ;;
7693 *) 8879 *)
7694 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then 8880 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
7695 wrappers_required=no 8881 wrappers_required=no
@@ -7698,13 +8884,19 @@ EOF
7698 esac 8884 esac
7699 if test "$wrappers_required" = no; then 8885 if test "$wrappers_required" = no; then
7700 # Replace the output file specification. 8886 # Replace the output file specification.
7701 compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` 8887 compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
7702 link_command="$compile_command$compile_rpath" 8888 link_command="$compile_command$compile_rpath"
7703 8889
7704 # We have no uninstalled library dependencies, so finalize right now. 8890 # We have no uninstalled library dependencies, so finalize right now.
7705 exit_status=0 8891 exit_status=0
7706 func_show_eval "$link_command" 'exit_status=$?' 8892 func_show_eval "$link_command" 'exit_status=$?'
7707 8893
8894 if test -n "$postlink_cmds"; then
8895 func_to_tool_file "$output"
8896 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8897 func_execute_cmds "$postlink_cmds" 'exit $?'
8898 fi
8899
7708 # Delete the generated files. 8900 # Delete the generated files.
7709 if test -f "$output_objdir/${outputname}S.${objext}"; then 8901 if test -f "$output_objdir/${outputname}S.${objext}"; then
7710 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' 8902 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
@@ -7727,7 +8919,7 @@ EOF
7727 # We should set the runpath_var. 8919 # We should set the runpath_var.
7728 rpath= 8920 rpath=
7729 for dir in $perm_rpath; do 8921 for dir in $perm_rpath; do
7730 rpath="$rpath$dir:" 8922 func_append rpath "$dir:"
7731 done 8923 done
7732 compile_var="$runpath_var=\"$rpath\$$runpath_var\" " 8924 compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
7733 fi 8925 fi
@@ -7735,7 +8927,7 @@ EOF
7735 # We should set the runpath_var. 8927 # We should set the runpath_var.
7736 rpath= 8928 rpath=
7737 for dir in $finalize_perm_rpath; do 8929 for dir in $finalize_perm_rpath; do
7738 rpath="$rpath$dir:" 8930 func_append rpath "$dir:"
7739 done 8931 done
7740 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " 8932 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
7741 fi 8933 fi
@@ -7745,11 +8937,18 @@ EOF
7745 # We don't need to create a wrapper script. 8937 # We don't need to create a wrapper script.
7746 link_command="$compile_var$compile_command$compile_rpath" 8938 link_command="$compile_var$compile_command$compile_rpath"
7747 # Replace the output file specification. 8939 # Replace the output file specification.
7748 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` 8940 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
7749 # Delete the old output file. 8941 # Delete the old output file.
7750 $opt_dry_run || $RM $output 8942 $opt_dry_run || $RM $output
7751 # Link the executable and exit 8943 # Link the executable and exit
7752 func_show_eval "$link_command" 'exit $?' 8944 func_show_eval "$link_command" 'exit $?'
8945
8946 if test -n "$postlink_cmds"; then
8947 func_to_tool_file "$output"
8948 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8949 func_execute_cmds "$postlink_cmds" 'exit $?'
8950 fi
8951
7753 exit $EXIT_SUCCESS 8952 exit $EXIT_SUCCESS
7754 fi 8953 fi
7755 8954
@@ -7764,7 +8963,7 @@ EOF
7764 if test "$fast_install" != no; then 8963 if test "$fast_install" != no; then
7765 link_command="$finalize_var$compile_command$finalize_rpath" 8964 link_command="$finalize_var$compile_command$finalize_rpath"
7766 if test "$fast_install" = yes; then 8965 if test "$fast_install" = yes; then
7767 relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` 8966 relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
7768 else 8967 else
7769 # fast_install is set to needless 8968 # fast_install is set to needless
7770 relink_command= 8969 relink_command=
@@ -7776,13 +8975,19 @@ EOF
7776 fi 8975 fi
7777 8976
7778 # Replace the output file specification. 8977 # Replace the output file specification.
7779 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` 8978 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
7780 8979
7781 # Delete the old output files. 8980 # Delete the old output files.
7782 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname 8981 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
7783 8982
7784 func_show_eval "$link_command" 'exit $?' 8983 func_show_eval "$link_command" 'exit $?'
7785 8984
8985 if test -n "$postlink_cmds"; then
8986 func_to_tool_file "$output_objdir/$outputname"
8987 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8988 func_execute_cmds "$postlink_cmds" 'exit $?'
8989 fi
8990
7786 # Now create the wrapper script. 8991 # Now create the wrapper script.
7787 func_verbose "creating $output" 8992 func_verbose "creating $output"
7788 8993
@@ -7800,18 +9005,7 @@ EOF
7800 fi 9005 fi
7801 done 9006 done
7802 relink_command="(cd `pwd`; $relink_command)" 9007 relink_command="(cd `pwd`; $relink_command)"
7803 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` 9008 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
7804 fi
7805
7806 # Quote $ECHO for shipping.
7807 if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
7808 case $progpath in
7809 [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
7810 *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
7811 esac
7812 qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
7813 else
7814 qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
7815 fi 9009 fi
7816 9010
7817 # Only actually do things if not in dry run mode. 9011 # Only actually do things if not in dry run mode.
@@ -7891,7 +9085,7 @@ EOF
7891 else 9085 else
7892 oldobjs="$old_deplibs $non_pic_objects" 9086 oldobjs="$old_deplibs $non_pic_objects"
7893 if test "$preload" = yes && test -f "$symfileobj"; then 9087 if test "$preload" = yes && test -f "$symfileobj"; then
7894 oldobjs="$oldobjs $symfileobj" 9088 func_append oldobjs " $symfileobj"
7895 fi 9089 fi
7896 fi 9090 fi
7897 addlibs="$old_convenience" 9091 addlibs="$old_convenience"
@@ -7899,10 +9093,10 @@ EOF
7899 9093
7900 if test -n "$addlibs"; then 9094 if test -n "$addlibs"; then
7901 gentop="$output_objdir/${outputname}x" 9095 gentop="$output_objdir/${outputname}x"
7902 generated="$generated $gentop" 9096 func_append generated " $gentop"
7903 9097
7904 func_extract_archives $gentop $addlibs 9098 func_extract_archives $gentop $addlibs
7905 oldobjs="$oldobjs $func_extract_archives_result" 9099 func_append oldobjs " $func_extract_archives_result"
7906 fi 9100 fi
7907 9101
7908 # Do each command in the archive commands. 9102 # Do each command in the archive commands.
@@ -7913,10 +9107,10 @@ EOF
7913 # Add any objects from preloaded convenience libraries 9107 # Add any objects from preloaded convenience libraries
7914 if test -n "$dlprefiles"; then 9108 if test -n "$dlprefiles"; then
7915 gentop="$output_objdir/${outputname}x" 9109 gentop="$output_objdir/${outputname}x"
7916 generated="$generated $gentop" 9110 func_append generated " $gentop"
7917 9111
7918 func_extract_archives $gentop $dlprefiles 9112 func_extract_archives $gentop $dlprefiles
7919 oldobjs="$oldobjs $func_extract_archives_result" 9113 func_append oldobjs " $func_extract_archives_result"
7920 fi 9114 fi
7921 9115
7922 # POSIX demands no paths to be encoded in archives. We have 9116 # POSIX demands no paths to be encoded in archives. We have
@@ -7932,9 +9126,9 @@ EOF
7932 done | sort | sort -uc >/dev/null 2>&1); then 9126 done | sort | sort -uc >/dev/null 2>&1); then
7933 : 9127 :
7934 else 9128 else
7935 $ECHO "copying selected object files to avoid basename conflicts..." 9129 echo "copying selected object files to avoid basename conflicts..."
7936 gentop="$output_objdir/${outputname}x" 9130 gentop="$output_objdir/${outputname}x"
7937 generated="$generated $gentop" 9131 func_append generated " $gentop"
7938 func_mkdir_p "$gentop" 9132 func_mkdir_p "$gentop"
7939 save_oldobjs=$oldobjs 9133 save_oldobjs=$oldobjs
7940 oldobjs= 9134 oldobjs=
@@ -7958,9 +9152,9 @@ EOF
7958 esac 9152 esac
7959 done 9153 done
7960 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" 9154 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
7961 oldobjs="$oldobjs $gentop/$newobj" 9155 func_append oldobjs " $gentop/$newobj"
7962 ;; 9156 ;;
7963 *) oldobjs="$oldobjs $obj" ;; 9157 *) func_append oldobjs " $obj" ;;
7964 esac 9158 esac
7965 done 9159 done
7966 fi 9160 fi
@@ -7970,6 +9164,16 @@ EOF
7970 len=$func_len_result 9164 len=$func_len_result
7971 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then 9165 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7972 cmds=$old_archive_cmds 9166 cmds=$old_archive_cmds
9167 elif test -n "$archiver_list_spec"; then
9168 func_verbose "using command file archive linking..."
9169 for obj in $oldobjs
9170 do
9171 func_to_tool_file "$obj"
9172 $ECHO "$func_to_tool_file_result"
9173 done > $output_objdir/$libname.libcmd
9174 func_to_tool_file "$output_objdir/$libname.libcmd"
9175 oldobjs=" $archiver_list_spec$func_to_tool_file_result"
9176 cmds=$old_archive_cmds
7973 else 9177 else
7974 # the command line is too long to link in one step, link in parts 9178 # the command line is too long to link in one step, link in parts
7975 func_verbose "using piecewise archive linking..." 9179 func_verbose "using piecewise archive linking..."
@@ -8043,7 +9247,7 @@ EOF
8043 done 9247 done
8044 # Quote the link command for shipping. 9248 # Quote the link command for shipping.
8045 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" 9249 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
8046 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` 9250 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
8047 if test "$hardcode_automatic" = yes ; then 9251 if test "$hardcode_automatic" = yes ; then
8048 relink_command= 9252 relink_command=
8049 fi 9253 fi
@@ -8066,9 +9270,19 @@ EOF
8066 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` 9270 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
8067 test -z "$libdir" && \ 9271 test -z "$libdir" && \
8068 func_fatal_error "\`$deplib' is not a valid libtool archive" 9272 func_fatal_error "\`$deplib' is not a valid libtool archive"
8069 newdependency_libs="$newdependency_libs $libdir/$name" 9273 func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
9274 ;;
9275 -L*)
9276 func_stripname -L '' "$deplib"
9277 func_replace_sysroot "$func_stripname_result"
9278 func_append newdependency_libs " -L$func_replace_sysroot_result"
9279 ;;
9280 -R*)
9281 func_stripname -R '' "$deplib"
9282 func_replace_sysroot "$func_stripname_result"
9283 func_append newdependency_libs " -R$func_replace_sysroot_result"
8070 ;; 9284 ;;
8071 *) newdependency_libs="$newdependency_libs $deplib" ;; 9285 *) func_append newdependency_libs " $deplib" ;;
8072 esac 9286 esac
8073 done 9287 done
8074 dependency_libs="$newdependency_libs" 9288 dependency_libs="$newdependency_libs"
@@ -8082,9 +9296,9 @@ EOF
8082 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` 9296 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8083 test -z "$libdir" && \ 9297 test -z "$libdir" && \
8084 func_fatal_error "\`$lib' is not a valid libtool archive" 9298 func_fatal_error "\`$lib' is not a valid libtool archive"
8085 newdlfiles="$newdlfiles $libdir/$name" 9299 func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
8086 ;; 9300 ;;
8087 *) newdlfiles="$newdlfiles $lib" ;; 9301 *) func_append newdlfiles " $lib" ;;
8088 esac 9302 esac
8089 done 9303 done
8090 dlfiles="$newdlfiles" 9304 dlfiles="$newdlfiles"
@@ -8101,7 +9315,7 @@ EOF
8101 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` 9315 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8102 test -z "$libdir" && \ 9316 test -z "$libdir" && \
8103 func_fatal_error "\`$lib' is not a valid libtool archive" 9317 func_fatal_error "\`$lib' is not a valid libtool archive"
8104 newdlprefiles="$newdlprefiles $libdir/$name" 9318 func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
8105 ;; 9319 ;;
8106 esac 9320 esac
8107 done 9321 done
@@ -8113,7 +9327,7 @@ EOF
8113 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9327 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8114 *) abs=`pwd`"/$lib" ;; 9328 *) abs=`pwd`"/$lib" ;;
8115 esac 9329 esac
8116 newdlfiles="$newdlfiles $abs" 9330 func_append newdlfiles " $abs"
8117 done 9331 done
8118 dlfiles="$newdlfiles" 9332 dlfiles="$newdlfiles"
8119 newdlprefiles= 9333 newdlprefiles=
@@ -8122,15 +9336,33 @@ EOF
8122 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9336 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8123 *) abs=`pwd`"/$lib" ;; 9337 *) abs=`pwd`"/$lib" ;;
8124 esac 9338 esac
8125 newdlprefiles="$newdlprefiles $abs" 9339 func_append newdlprefiles " $abs"
8126 done 9340 done
8127 dlprefiles="$newdlprefiles" 9341 dlprefiles="$newdlprefiles"
8128 fi 9342 fi
8129 $RM $output 9343 $RM $output
8130 # place dlname in correct position for cygwin 9344 # place dlname in correct position for cygwin
9345 # In fact, it would be nice if we could use this code for all target
9346 # systems that can't hard-code library paths into their executables
9347 # and that have no shared library path variable independent of PATH,
9348 # but it turns out we can't easily determine that from inspecting
9349 # libtool variables, so we have to hard-code the OSs to which it
9350 # applies here; at the moment, that means platforms that use the PE
9351 # object format with DLL files. See the long comment at the top of
9352 # tests/bindir.at for full details.
8131 tdlname=$dlname 9353 tdlname=$dlname
8132 case $host,$output,$installed,$module,$dlname in 9354 case $host,$output,$installed,$module,$dlname in
8133 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; 9355 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
9356 # If a -bindir argument was supplied, place the dll there.
9357 if test "x$bindir" != x ;
9358 then
9359 func_relative_path "$install_libdir" "$bindir"
9360 tdlname=$func_relative_path_result$dlname
9361 else
9362 # Otherwise fall back on heuristic.
9363 tdlname=../bin/$dlname
9364 fi
9365 ;;
8134 esac 9366 esac
8135 $ECHO > $output "\ 9367 $ECHO > $output "\
8136# $outputname - a libtool library file 9368# $outputname - a libtool library file
@@ -8189,7 +9421,7 @@ relink_command=\"$relink_command\""
8189 exit $EXIT_SUCCESS 9421 exit $EXIT_SUCCESS
8190} 9422}
8191 9423
8192{ test "$mode" = link || test "$mode" = relink; } && 9424{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
8193 func_mode_link ${1+"$@"} 9425 func_mode_link ${1+"$@"}
8194 9426
8195 9427
@@ -8209,9 +9441,9 @@ func_mode_uninstall ()
8209 for arg 9441 for arg
8210 do 9442 do
8211 case $arg in 9443 case $arg in
8212 -f) RM="$RM $arg"; rmforce=yes ;; 9444 -f) func_append RM " $arg"; rmforce=yes ;;
8213 -*) RM="$RM $arg" ;; 9445 -*) func_append RM " $arg" ;;
8214 *) files="$files $arg" ;; 9446 *) func_append files " $arg" ;;
8215 esac 9447 esac
8216 done 9448 done
8217 9449
@@ -8220,24 +9452,23 @@ func_mode_uninstall ()
8220 9452
8221 rmdirs= 9453 rmdirs=
8222 9454
8223 origobjdir="$objdir"
8224 for file in $files; do 9455 for file in $files; do
8225 func_dirname "$file" "" "." 9456 func_dirname "$file" "" "."
8226 dir="$func_dirname_result" 9457 dir="$func_dirname_result"
8227 if test "X$dir" = X.; then 9458 if test "X$dir" = X.; then
8228 objdir="$origobjdir" 9459 odir="$objdir"
8229 else 9460 else
8230 objdir="$dir/$origobjdir" 9461 odir="$dir/$objdir"
8231 fi 9462 fi
8232 func_basename "$file" 9463 func_basename "$file"
8233 name="$func_basename_result" 9464 name="$func_basename_result"
8234 test "$mode" = uninstall && objdir="$dir" 9465 test "$opt_mode" = uninstall && odir="$dir"
8235 9466
8236 # Remember objdir for removal later, being careful to avoid duplicates 9467 # Remember odir for removal later, being careful to avoid duplicates
8237 if test "$mode" = clean; then 9468 if test "$opt_mode" = clean; then
8238 case " $rmdirs " in 9469 case " $rmdirs " in
8239 *" $objdir "*) ;; 9470 *" $odir "*) ;;
8240 *) rmdirs="$rmdirs $objdir" ;; 9471 *) func_append rmdirs " $odir" ;;
8241 esac 9472 esac
8242 fi 9473 fi
8243 9474
@@ -8263,18 +9494,17 @@ func_mode_uninstall ()
8263 9494
8264 # Delete the libtool libraries and symlinks. 9495 # Delete the libtool libraries and symlinks.
8265 for n in $library_names; do 9496 for n in $library_names; do
8266 rmfiles="$rmfiles $objdir/$n" 9497 func_append rmfiles " $odir/$n"
8267 done 9498 done
8268 test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" 9499 test -n "$old_library" && func_append rmfiles " $odir/$old_library"
8269 9500
8270 case "$mode" in 9501 case "$opt_mode" in
8271 clean) 9502 clean)
8272 case " $library_names " in 9503 case " $library_names " in
8273 # " " in the beginning catches empty $dlname
8274 *" $dlname "*) ;; 9504 *" $dlname "*) ;;
8275 *) rmfiles="$rmfiles $objdir/$dlname" ;; 9505 *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
8276 esac 9506 esac
8277 test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" 9507 test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
8278 ;; 9508 ;;
8279 uninstall) 9509 uninstall)
8280 if test -n "$library_names"; then 9510 if test -n "$library_names"; then
@@ -8302,19 +9532,19 @@ func_mode_uninstall ()
8302 # Add PIC object to the list of files to remove. 9532 # Add PIC object to the list of files to remove.
8303 if test -n "$pic_object" && 9533 if test -n "$pic_object" &&
8304 test "$pic_object" != none; then 9534 test "$pic_object" != none; then
8305 rmfiles="$rmfiles $dir/$pic_object" 9535 func_append rmfiles " $dir/$pic_object"
8306 fi 9536 fi
8307 9537
8308 # Add non-PIC object to the list of files to remove. 9538 # Add non-PIC object to the list of files to remove.
8309 if test -n "$non_pic_object" && 9539 if test -n "$non_pic_object" &&
8310 test "$non_pic_object" != none; then 9540 test "$non_pic_object" != none; then
8311 rmfiles="$rmfiles $dir/$non_pic_object" 9541 func_append rmfiles " $dir/$non_pic_object"
8312 fi 9542 fi
8313 fi 9543 fi
8314 ;; 9544 ;;
8315 9545
8316 *) 9546 *)
8317 if test "$mode" = clean ; then 9547 if test "$opt_mode" = clean ; then
8318 noexename=$name 9548 noexename=$name
8319 case $file in 9549 case $file in
8320 *.exe) 9550 *.exe)
@@ -8324,7 +9554,7 @@ func_mode_uninstall ()
8324 noexename=$func_stripname_result 9554 noexename=$func_stripname_result
8325 # $file with .exe has already been added to rmfiles, 9555 # $file with .exe has already been added to rmfiles,
8326 # add $file without .exe 9556 # add $file without .exe
8327 rmfiles="$rmfiles $file" 9557 func_append rmfiles " $file"
8328 ;; 9558 ;;
8329 esac 9559 esac
8330 # Do a test to see if this is a libtool program. 9560 # Do a test to see if this is a libtool program.
@@ -8333,7 +9563,7 @@ func_mode_uninstall ()
8333 func_ltwrapper_scriptname "$file" 9563 func_ltwrapper_scriptname "$file"
8334 relink_command= 9564 relink_command=
8335 func_source $func_ltwrapper_scriptname_result 9565 func_source $func_ltwrapper_scriptname_result
8336 rmfiles="$rmfiles $func_ltwrapper_scriptname_result" 9566 func_append rmfiles " $func_ltwrapper_scriptname_result"
8337 else 9567 else
8338 relink_command= 9568 relink_command=
8339 func_source $dir/$noexename 9569 func_source $dir/$noexename
@@ -8341,12 +9571,12 @@ func_mode_uninstall ()
8341 9571
8342 # note $name still contains .exe if it was in $file originally 9572 # note $name still contains .exe if it was in $file originally
8343 # as does the version of $file that was added into $rmfiles 9573 # as does the version of $file that was added into $rmfiles
8344 rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" 9574 func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
8345 if test "$fast_install" = yes && test -n "$relink_command"; then 9575 if test "$fast_install" = yes && test -n "$relink_command"; then
8346 rmfiles="$rmfiles $objdir/lt-$name" 9576 func_append rmfiles " $odir/lt-$name"
8347 fi 9577 fi
8348 if test "X$noexename" != "X$name" ; then 9578 if test "X$noexename" != "X$name" ; then
8349 rmfiles="$rmfiles $objdir/lt-${noexename}.c" 9579 func_append rmfiles " $odir/lt-${noexename}.c"
8350 fi 9580 fi
8351 fi 9581 fi
8352 fi 9582 fi
@@ -8354,7 +9584,6 @@ func_mode_uninstall ()
8354 esac 9584 esac
8355 func_show_eval "$RM $rmfiles" 'exit_status=1' 9585 func_show_eval "$RM $rmfiles" 'exit_status=1'
8356 done 9586 done
8357 objdir="$origobjdir"
8358 9587
8359 # Try to remove the ${objdir}s in the directories where we deleted files 9588 # Try to remove the ${objdir}s in the directories where we deleted files
8360 for dir in $rmdirs; do 9589 for dir in $rmdirs; do
@@ -8366,16 +9595,16 @@ func_mode_uninstall ()
8366 exit $exit_status 9595 exit $exit_status
8367} 9596}
8368 9597
8369{ test "$mode" = uninstall || test "$mode" = clean; } && 9598{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
8370 func_mode_uninstall ${1+"$@"} 9599 func_mode_uninstall ${1+"$@"}
8371 9600
8372test -z "$mode" && { 9601test -z "$opt_mode" && {
8373 help="$generic_help" 9602 help="$generic_help"
8374 func_fatal_help "you must specify a MODE" 9603 func_fatal_help "you must specify a MODE"
8375} 9604}
8376 9605
8377test -z "$exec_cmd" && \ 9606test -z "$exec_cmd" && \
8378 func_fatal_help "invalid operation mode \`$mode'" 9607 func_fatal_help "invalid operation mode \`$opt_mode'"
8379 9608
8380if test -n "$exec_cmd"; then 9609if test -n "$exec_cmd"; then
8381 eval exec "$exec_cmd" 9610 eval exec "$exec_cmd"
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a3fee536..8ff3c76f 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,7 +1,8 @@
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2# 2#
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
4# 2006, 2007, 2008 Free Software Foundation, Inc. 4# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
5# Inc.
5# Written by Gordon Matzigkeit, 1996 6# Written by Gordon Matzigkeit, 1996
6# 7#
7# This file is free software; the Free Software Foundation gives 8# This file is free software; the Free Software Foundation gives
@@ -10,7 +11,8 @@
10 11
11m4_define([_LT_COPYING], [dnl 12m4_define([_LT_COPYING], [dnl
12# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 13# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
13# 2006, 2007, 2008 Free Software Foundation, Inc. 14# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
15# Inc.
14# Written by Gordon Matzigkeit, 1996 16# Written by Gordon Matzigkeit, 1996
15# 17#
16# This file is part of GNU Libtool. 18# This file is part of GNU Libtool.
@@ -37,7 +39,7 @@ m4_define([_LT_COPYING], [dnl
37# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 39# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
38]) 40])
39 41
40# serial 56 LT_INIT 42# serial 57 LT_INIT
41 43
42 44
43# LT_PREREQ(VERSION) 45# LT_PREREQ(VERSION)
@@ -66,6 +68,7 @@ esac
66# ------------------ 68# ------------------
67AC_DEFUN([LT_INIT], 69AC_DEFUN([LT_INIT],
68[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT 70[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
71AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
69AC_BEFORE([$0], [LT_LANG])dnl 72AC_BEFORE([$0], [LT_LANG])dnl
70AC_BEFORE([$0], [LT_OUTPUT])dnl 73AC_BEFORE([$0], [LT_OUTPUT])dnl
71AC_BEFORE([$0], [LTDL_INIT])dnl 74AC_BEFORE([$0], [LTDL_INIT])dnl
@@ -82,6 +85,8 @@ AC_REQUIRE([LTVERSION_VERSION])dnl
82AC_REQUIRE([LTOBSOLETE_VERSION])dnl 85AC_REQUIRE([LTOBSOLETE_VERSION])dnl
83m4_require([_LT_PROG_LTMAIN])dnl 86m4_require([_LT_PROG_LTMAIN])dnl
84 87
88_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
89
85dnl Parse OPTIONS 90dnl Parse OPTIONS
86_LT_SET_OPTIONS([$0], [$1]) 91_LT_SET_OPTIONS([$0], [$1])
87 92
@@ -118,7 +123,7 @@ m4_defun([_LT_CC_BASENAME],
118 *) break;; 123 *) break;;
119 esac 124 esac
120done 125done
121cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 126cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
122]) 127])
123 128
124 129
@@ -138,6 +143,9 @@ m4_defun([_LT_FILEUTILS_DEFAULTS],
138m4_defun([_LT_SETUP], 143m4_defun([_LT_SETUP],
139[AC_REQUIRE([AC_CANONICAL_HOST])dnl 144[AC_REQUIRE([AC_CANONICAL_HOST])dnl
140AC_REQUIRE([AC_CANONICAL_BUILD])dnl 145AC_REQUIRE([AC_CANONICAL_BUILD])dnl
146AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
147AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
148
141_LT_DECL([], [host_alias], [0], [The host system])dnl 149_LT_DECL([], [host_alias], [0], [The host system])dnl
142_LT_DECL([], [host], [0])dnl 150_LT_DECL([], [host], [0])dnl
143_LT_DECL([], [host_os], [0])dnl 151_LT_DECL([], [host_os], [0])dnl
@@ -160,10 +168,13 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
160dnl 168dnl
161m4_require([_LT_FILEUTILS_DEFAULTS])dnl 169m4_require([_LT_FILEUTILS_DEFAULTS])dnl
162m4_require([_LT_CHECK_SHELL_FEATURES])dnl 170m4_require([_LT_CHECK_SHELL_FEATURES])dnl
171m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
163m4_require([_LT_CMD_RELOAD])dnl 172m4_require([_LT_CMD_RELOAD])dnl
164m4_require([_LT_CHECK_MAGIC_METHOD])dnl 173m4_require([_LT_CHECK_MAGIC_METHOD])dnl
174m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
165m4_require([_LT_CMD_OLD_ARCHIVE])dnl 175m4_require([_LT_CMD_OLD_ARCHIVE])dnl
166m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 176m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
177m4_require([_LT_WITH_SYSROOT])dnl
167 178
168_LT_CONFIG_LIBTOOL_INIT([ 179_LT_CONFIG_LIBTOOL_INIT([
169# See if we are running on zsh, and set the options which allow our 180# See if we are running on zsh, and set the options which allow our
@@ -179,7 +190,6 @@ fi
179_LT_CHECK_OBJDIR 190_LT_CHECK_OBJDIR
180 191
181m4_require([_LT_TAG_COMPILER])dnl 192m4_require([_LT_TAG_COMPILER])dnl
182_LT_PROG_ECHO_BACKSLASH
183 193
184case $host_os in 194case $host_os in
185aix3*) 195aix3*)
@@ -193,23 +203,6 @@ aix3*)
193 ;; 203 ;;
194esac 204esac
195 205
196# Sed substitution that helps us do robust quoting. It backslashifies
197# metacharacters that are still active within double-quoted strings.
198sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
199
200# Same as above, but do not quote variable references.
201double_quote_subst='s/\([["`\\]]\)/\\\1/g'
202
203# Sed substitution to delay expansion of an escaped shell variable in a
204# double_quote_subst'ed string.
205delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
206
207# Sed substitution to delay expansion of an escaped single quote.
208delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
209
210# Sed substitution to avoid accidental globbing in evaled expressions
211no_glob_subst='s/\*/\\\*/g'
212
213# Global variables: 206# Global variables:
214ofile=libtool 207ofile=libtool
215can_build_shared=yes 208can_build_shared=yes
@@ -250,6 +243,28 @@ _LT_CONFIG_COMMANDS
250])# _LT_SETUP 243])# _LT_SETUP
251 244
252 245
246# _LT_PREPARE_SED_QUOTE_VARS
247# --------------------------
248# Define a few sed substitution that help us do robust quoting.
249m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
250[# Backslashify metacharacters that are still active within
251# double-quoted strings.
252sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
253
254# Same as above, but do not quote variable references.
255double_quote_subst='s/\([["`\\]]\)/\\\1/g'
256
257# Sed substitution to delay expansion of an escaped shell variable in a
258# double_quote_subst'ed string.
259delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
260
261# Sed substitution to delay expansion of an escaped single quote.
262delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
263
264# Sed substitution to avoid accidental globbing in evaled expressions
265no_glob_subst='s/\*/\\\*/g'
266])
267
253# _LT_PROG_LTMAIN 268# _LT_PROG_LTMAIN
254# --------------- 269# ---------------
255# Note that this code is called both from `configure', and `config.status' 270# Note that this code is called both from `configure', and `config.status'
@@ -408,7 +423,7 @@ m4_define([_lt_decl_all_varnames],
408# declaration there will have the same value as in `configure'. VARNAME 423# declaration there will have the same value as in `configure'. VARNAME
409# must have a single quote delimited value for this to work. 424# must have a single quote delimited value for this to work.
410m4_define([_LT_CONFIG_STATUS_DECLARE], 425m4_define([_LT_CONFIG_STATUS_DECLARE],
411[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) 426[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
412 427
413 428
414# _LT_CONFIG_STATUS_DECLARATIONS 429# _LT_CONFIG_STATUS_DECLARATIONS
@@ -418,7 +433,7 @@ m4_define([_LT_CONFIG_STATUS_DECLARE],
418# embedded single quotes properly. In configure, this macro expands 433# embedded single quotes properly. In configure, this macro expands
419# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 434# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
420# 435#
421# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' 436# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
422m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 437m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
423[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 438[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
424 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 439 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
@@ -517,12 +532,20 @@ LTCC='$LTCC'
517LTCFLAGS='$LTCFLAGS' 532LTCFLAGS='$LTCFLAGS'
518compiler='$compiler_DEFAULT' 533compiler='$compiler_DEFAULT'
519 534
535# A function that is used when there is no print builtin or printf.
536func_fallback_echo ()
537{
538 eval 'cat <<_LTECHO_EOF
539\$[]1
540_LTECHO_EOF'
541}
542
520# Quote evaled strings. 543# Quote evaled strings.
521for var in lt_decl_all_varnames([[ \ 544for var in lt_decl_all_varnames([[ \
522]], lt_decl_quote_varnames); do 545]], lt_decl_quote_varnames); do
523 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 546 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
524 *[[\\\\\\\`\\"\\\$]]*) 547 *[[\\\\\\\`\\"\\\$]]*)
525 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" 548 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
526 ;; 549 ;;
527 *) 550 *)
528 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 551 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -533,9 +556,9 @@ done
533# Double-quote double-evaled strings. 556# Double-quote double-evaled strings.
534for var in lt_decl_all_varnames([[ \ 557for var in lt_decl_all_varnames([[ \
535]], lt_decl_dquote_varnames); do 558]], lt_decl_dquote_varnames); do
536 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 559 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
537 *[[\\\\\\\`\\"\\\$]]*) 560 *[[\\\\\\\`\\"\\\$]]*)
538 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" 561 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
539 ;; 562 ;;
540 *) 563 *)
541 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 564 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -543,16 +566,38 @@ for var in lt_decl_all_varnames([[ \
543 esac 566 esac
544done 567done
545 568
546# Fix-up fallback echo if it was mangled by the above quoting rules.
547case \$lt_ECHO in
548*'\\\[$]0 --fallback-echo"')dnl "
549 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
550 ;;
551esac
552
553_LT_OUTPUT_LIBTOOL_INIT 569_LT_OUTPUT_LIBTOOL_INIT
554]) 570])
555 571
572# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
573# ------------------------------------
574# Generate a child script FILE with all initialization necessary to
575# reuse the environment learned by the parent script, and make the
576# file executable. If COMMENT is supplied, it is inserted after the
577# `#!' sequence but before initialization text begins. After this
578# macro, additional text can be appended to FILE to form the body of
579# the child script. The macro ends with non-zero status if the
580# file could not be fully written (such as if the disk is full).
581m4_ifdef([AS_INIT_GENERATED],
582[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
583[m4_defun([_LT_GENERATED_FILE_INIT],
584[m4_require([AS_PREPARE])]dnl
585[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
586[lt_write_fail=0
587cat >$1 <<_ASEOF || lt_write_fail=1
588#! $SHELL
589# Generated by $as_me.
590$2
591SHELL=\${CONFIG_SHELL-$SHELL}
592export SHELL
593_ASEOF
594cat >>$1 <<\_ASEOF || lt_write_fail=1
595AS_SHELL_SANITIZE
596_AS_PREPARE
597exec AS_MESSAGE_FD>&1
598_ASEOF
599test $lt_write_fail = 0 && chmod +x $1[]dnl
600m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
556 601
557# LT_OUTPUT 602# LT_OUTPUT
558# --------- 603# ---------
@@ -562,20 +607,11 @@ _LT_OUTPUT_LIBTOOL_INIT
562AC_DEFUN([LT_OUTPUT], 607AC_DEFUN([LT_OUTPUT],
563[: ${CONFIG_LT=./config.lt} 608[: ${CONFIG_LT=./config.lt}
564AC_MSG_NOTICE([creating $CONFIG_LT]) 609AC_MSG_NOTICE([creating $CONFIG_LT])
565cat >"$CONFIG_LT" <<_LTEOF 610_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
566#! $SHELL 611[# Run this file to recreate a libtool stub with the current configuration.])
567# Generated by $as_me.
568# Run this file to recreate a libtool stub with the current configuration.
569
570lt_cl_silent=false
571SHELL=\${CONFIG_SHELL-$SHELL}
572_LTEOF
573 612
574cat >>"$CONFIG_LT" <<\_LTEOF 613cat >>"$CONFIG_LT" <<\_LTEOF
575AS_SHELL_SANITIZE 614lt_cl_silent=false
576_AS_PREPARE
577
578exec AS_MESSAGE_FD>&1
579exec AS_MESSAGE_LOG_FD>>config.log 615exec AS_MESSAGE_LOG_FD>>config.log
580{ 616{
581 echo 617 echo
@@ -601,7 +637,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
601m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 637m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
602configured by $[0], generated by m4_PACKAGE_STRING. 638configured by $[0], generated by m4_PACKAGE_STRING.
603 639
604Copyright (C) 2008 Free Software Foundation, Inc. 640Copyright (C) 2010 Free Software Foundation, Inc.
605This config.lt script is free software; the Free Software Foundation 641This config.lt script is free software; the Free Software Foundation
606gives unlimited permision to copy, distribute and modify it." 642gives unlimited permision to copy, distribute and modify it."
607 643
@@ -646,15 +682,13 @@ chmod +x "$CONFIG_LT"
646# appending to config.log, which fails on DOS, as config.log is still kept 682# appending to config.log, which fails on DOS, as config.log is still kept
647# open by configure. Here we exec the FD to /dev/null, effectively closing 683# open by configure. Here we exec the FD to /dev/null, effectively closing
648# config.log, so it can be properly (re)opened and appended to by config.lt. 684# config.log, so it can be properly (re)opened and appended to by config.lt.
649if test "$no_create" != yes; then 685lt_cl_success=:
650 lt_cl_success=: 686test "$silent" = yes &&
651 test "$silent" = yes && 687 lt_config_lt_args="$lt_config_lt_args --quiet"
652 lt_config_lt_args="$lt_config_lt_args --quiet" 688exec AS_MESSAGE_LOG_FD>/dev/null
653 exec AS_MESSAGE_LOG_FD>/dev/null 689$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
654 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 690exec AS_MESSAGE_LOG_FD>>config.log
655 exec AS_MESSAGE_LOG_FD>>config.log 691$lt_cl_success || AS_EXIT(1)
656 $lt_cl_success || AS_EXIT(1)
657fi
658])# LT_OUTPUT 692])# LT_OUTPUT
659 693
660 694
@@ -717,15 +751,12 @@ _LT_EOF
717 # if finds mixed CR/LF and LF-only lines. Since sed operates in 751 # if finds mixed CR/LF and LF-only lines. Since sed operates in
718 # text mode, it properly converts lines to CR/LF. This bash problem 752 # text mode, it properly converts lines to CR/LF. This bash problem
719 # is reportedly fixed, but why not run on old versions too? 753 # is reportedly fixed, but why not run on old versions too?
720 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ 754 sed '$q' "$ltmain" >> "$cfgfile" \
721 || (rm -f "$cfgfile"; exit 1) 755 || (rm -f "$cfgfile"; exit 1)
722 756
723 _LT_PROG_XSI_SHELLFNS 757 _LT_PROG_REPLACE_SHELLFNS
724 758
725 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ 759 mv -f "$cfgfile" "$ofile" ||
726 || (rm -f "$cfgfile"; exit 1)
727
728 mv -f "$cfgfile" "$ofile" ||
729 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 760 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
730 chmod +x "$ofile" 761 chmod +x "$ofile"
731], 762],
@@ -831,11 +862,13 @@ AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
831AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 862AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
832AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 863AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
833AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 864AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
865AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
834dnl aclocal-1.4 backwards compatibility: 866dnl aclocal-1.4 backwards compatibility:
835dnl AC_DEFUN([AC_LIBTOOL_CXX], []) 867dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
836dnl AC_DEFUN([AC_LIBTOOL_F77], []) 868dnl AC_DEFUN([AC_LIBTOOL_F77], [])
837dnl AC_DEFUN([AC_LIBTOOL_FC], []) 869dnl AC_DEFUN([AC_LIBTOOL_FC], [])
838dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 870dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
871dnl AC_DEFUN([AC_LIBTOOL_RC], [])
839 872
840 873
841# _LT_TAG_COMPILER 874# _LT_TAG_COMPILER
@@ -940,6 +973,31 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
940 [lt_cv_ld_exported_symbols_list=no]) 973 [lt_cv_ld_exported_symbols_list=no])
941 LDFLAGS="$save_LDFLAGS" 974 LDFLAGS="$save_LDFLAGS"
942 ]) 975 ])
976 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
977 [lt_cv_ld_force_load=no
978 cat > conftest.c << _LT_EOF
979int forced_loaded() { return 2;}
980_LT_EOF
981 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
982 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
983 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
984 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
985 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
986 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
987 cat > conftest.c << _LT_EOF
988int main() { return 0;}
989_LT_EOF
990 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
991 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
992 _lt_result=$?
993 if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
994 lt_cv_ld_force_load=yes
995 else
996 cat conftest.err >&AS_MESSAGE_LOG_FD
997 fi
998 rm -f conftest.err libconftest.a conftest conftest.c
999 rm -rf conftest.dSYM
1000 ])
943 case $host_os in 1001 case $host_os in
944 rhapsody* | darwin1.[[012]]) 1002 rhapsody* | darwin1.[[012]])
945 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 1003 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -967,7 +1025,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
967 else 1025 else
968 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 1026 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
969 fi 1027 fi
970 if test "$DSYMUTIL" != ":"; then 1028 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
971 _lt_dsymutil='~$DSYMUTIL $lib || :' 1029 _lt_dsymutil='~$DSYMUTIL $lib || :'
972 else 1030 else
973 _lt_dsymutil= 1031 _lt_dsymutil=
@@ -987,7 +1045,11 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
987 _LT_TAGVAR(hardcode_direct, $1)=no 1045 _LT_TAGVAR(hardcode_direct, $1)=no
988 _LT_TAGVAR(hardcode_automatic, $1)=yes 1046 _LT_TAGVAR(hardcode_automatic, $1)=yes
989 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 1047 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
990 _LT_TAGVAR(whole_archive_flag_spec, $1)='' 1048 if test "$lt_cv_ld_force_load" = "yes"; then
1049 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1050 else
1051 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1052 fi
991 _LT_TAGVAR(link_all_deplibs, $1)=yes 1053 _LT_TAGVAR(link_all_deplibs, $1)=yes
992 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 1054 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
993 case $cc_basename in 1055 case $cc_basename in
@@ -995,7 +1057,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
995 *) _lt_dar_can_shared=$GCC ;; 1057 *) _lt_dar_can_shared=$GCC ;;
996 esac 1058 esac
997 if test "$_lt_dar_can_shared" = "yes"; then 1059 if test "$_lt_dar_can_shared" = "yes"; then
998 output_verbose_link_cmd=echo 1060 output_verbose_link_cmd=func_echo_all
999 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" 1061 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1000 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 1062 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1001 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" 1063 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -1011,203 +1073,142 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
1011 fi 1073 fi
1012]) 1074])
1013 1075
1014# _LT_SYS_MODULE_PATH_AIX 1076# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1015# ----------------------- 1077# ----------------------------------
1016# Links a minimal program and checks the executable 1078# Links a minimal program and checks the executable
1017# for the system default hardcoded library path. In most cases, 1079# for the system default hardcoded library path. In most cases,
1018# this is /usr/lib:/lib, but when the MPI compilers are used 1080# this is /usr/lib:/lib, but when the MPI compilers are used
1019# the location of the communication and MPI libs are included too. 1081# the location of the communication and MPI libs are included too.
1020# If we don't find anything, use the default library path according 1082# If we don't find anything, use the default library path according
1021# to the aix ld manual. 1083# to the aix ld manual.
1084# Store the results from the different compilers for each TAGNAME.
1085# Allow to override them for all tags through lt_cv_aix_libpath.
1022m4_defun([_LT_SYS_MODULE_PATH_AIX], 1086m4_defun([_LT_SYS_MODULE_PATH_AIX],
1023[m4_require([_LT_DECL_SED])dnl 1087[m4_require([_LT_DECL_SED])dnl
1024AC_LINK_IFELSE(AC_LANG_PROGRAM,[ 1088if test "${lt_cv_aix_libpath+set}" = set; then
1025lt_aix_libpath_sed=' 1089 aix_libpath=$lt_cv_aix_libpath
1026 /Import File Strings/,/^$/ { 1090else
1027 /^0/ { 1091 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1028 s/^0 *\(.*\)$/\1/ 1092 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1029 p 1093 lt_aix_libpath_sed='[
1030 } 1094 /Import File Strings/,/^$/ {
1031 }' 1095 /^0/ {
1032aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1096 s/^0 *\([^ ]*\) *$/\1/
1033# Check for a 64-bit object if we didn't find anything. 1097 p
1034if test -z "$aix_libpath"; then 1098 }
1035 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1099 }]'
1036fi],[]) 1100 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1037if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 1101 # Check for a 64-bit object if we didn't find anything.
1102 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1103 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1104 fi],[])
1105 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1106 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1107 fi
1108 ])
1109 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1110fi
1038])# _LT_SYS_MODULE_PATH_AIX 1111])# _LT_SYS_MODULE_PATH_AIX
1039 1112
1040 1113
1041# _LT_SHELL_INIT(ARG) 1114# _LT_SHELL_INIT(ARG)
1042# ------------------- 1115# -------------------
1043m4_define([_LT_SHELL_INIT], 1116m4_define([_LT_SHELL_INIT],
1044[ifdef([AC_DIVERSION_NOTICE], 1117[m4_divert_text([M4SH-INIT], [$1
1045 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 1118])])# _LT_SHELL_INIT
1046 [AC_DIVERT_PUSH(NOTICE)]) 1119
1047$1
1048AC_DIVERT_POP
1049])# _LT_SHELL_INIT
1050 1120
1051 1121
1052# _LT_PROG_ECHO_BACKSLASH 1122# _LT_PROG_ECHO_BACKSLASH
1053# ----------------------- 1123# -----------------------
1054# Add some code to the start of the generated configure script which 1124# Find how we can fake an echo command that does not interpret backslash.
1055# will find an echo command which doesn't interpret backslashes. 1125# In particular, with Autoconf 2.60 or later we add some code to the start
1126# of the generated configure script which will find a shell with a builtin
1127# printf (which we can use as an echo command).
1056m4_defun([_LT_PROG_ECHO_BACKSLASH], 1128m4_defun([_LT_PROG_ECHO_BACKSLASH],
1057[_LT_SHELL_INIT([ 1129[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1058# Check that we are running under the correct shell. 1130ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1059SHELL=${CONFIG_SHELL-/bin/sh} 1131ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1060 1132
1061case X$lt_ECHO in 1133AC_MSG_CHECKING([how to print strings])
1062X*--fallback-echo) 1134# Test print first, because it will be a builtin if present.
1063 # Remove one level of quotation (which was required for Make). 1135if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1064 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 1136 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1065 ;; 1137 ECHO='print -r --'
1066esac 1138elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1067 1139 ECHO='printf %s\n'
1068ECHO=${lt_ECHO-echo}
1069if test "X[$]1" = X--no-reexec; then
1070 # Discard the --no-reexec flag, and continue.
1071 shift
1072elif test "X[$]1" = X--fallback-echo; then
1073 # Avoid inline document here, it may be left over
1074 :
1075elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1076 # Yippee, $ECHO works!
1077 :
1078else 1140else
1079 # Restart under the correct shell. 1141 # Use this function as a fallback that always works.
1080 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 1142 func_fallback_echo ()
1081fi 1143 {
1082 1144 eval 'cat <<_LTECHO_EOF
1083if test "X[$]1" = X--fallback-echo; then 1145$[]1
1084 # used as fallback echo 1146_LTECHO_EOF'
1085 shift 1147 }
1086 cat <<_LT_EOF 1148 ECHO='func_fallback_echo'
1087[$]*
1088_LT_EOF
1089 exit 0
1090fi 1149fi
1091 1150
1092# The HP-UX ksh and POSIX shell print the target directory to stdout 1151# func_echo_all arg...
1093# if CDPATH is set. 1152# Invoke $ECHO with all args, space-separated.
1094(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 1153func_echo_all ()
1095 1154{
1096if test -z "$lt_ECHO"; then 1155 $ECHO "$*"
1097 if test "X${echo_test_string+set}" != Xset; then 1156}
1098 # find a string as large as possible, as long as the shell can cope with it
1099 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1100 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1101 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1102 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1103 then
1104 break
1105 fi
1106 done
1107 fi
1108
1109 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1110 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1111 test "X$echo_testing_string" = "X$echo_test_string"; then
1112 :
1113 else
1114 # The Solaris, AIX, and Digital Unix default echo programs unquote
1115 # backslashes. This makes it impossible to quote backslashes using
1116 # echo "$something" | sed 's/\\/\\\\/g'
1117 #
1118 # So, first we look for a working echo in the user's PATH.
1119
1120 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1121 for dir in $PATH /usr/ucb; do
1122 IFS="$lt_save_ifs"
1123 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1124 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1125 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1126 test "X$echo_testing_string" = "X$echo_test_string"; then
1127 ECHO="$dir/echo"
1128 break
1129 fi
1130 done
1131 IFS="$lt_save_ifs"
1132
1133 if test "X$ECHO" = Xecho; then
1134 # We didn't find a better echo, so look for alternatives.
1135 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1136 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1137 test "X$echo_testing_string" = "X$echo_test_string"; then
1138 # This shell has a builtin print -r that does the trick.
1139 ECHO='print -r'
1140 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1141 test "X$CONFIG_SHELL" != X/bin/ksh; then
1142 # If we have ksh, try running configure again with it.
1143 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1144 export ORIGINAL_CONFIG_SHELL
1145 CONFIG_SHELL=/bin/ksh
1146 export CONFIG_SHELL
1147 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1148 else
1149 # Try using printf.
1150 ECHO='printf %s\n'
1151 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1152 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1153 test "X$echo_testing_string" = "X$echo_test_string"; then
1154 # Cool, printf works
1155 :
1156 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1157 test "X$echo_testing_string" = 'X\t' &&
1158 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1159 test "X$echo_testing_string" = "X$echo_test_string"; then
1160 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1161 export CONFIG_SHELL
1162 SHELL="$CONFIG_SHELL"
1163 export SHELL
1164 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1165 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1166 test "X$echo_testing_string" = 'X\t' &&
1167 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1168 test "X$echo_testing_string" = "X$echo_test_string"; then
1169 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1170 else
1171 # maybe with a smaller string...
1172 prev=:
1173
1174 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1175 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1176 then
1177 break
1178 fi
1179 prev="$cmd"
1180 done
1181 1157
1182 if test "$prev" != 'sed 50q "[$]0"'; then 1158case "$ECHO" in
1183 echo_test_string=`eval $prev` 1159 printf*) AC_MSG_RESULT([printf]) ;;
1184 export echo_test_string 1160 print*) AC_MSG_RESULT([print -r]) ;;
1185 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 1161 *) AC_MSG_RESULT([cat]) ;;
1186 else 1162esac
1187 # Oops. We lost completely, so just stick with echo.
1188 ECHO=echo
1189 fi
1190 fi
1191 fi
1192 fi
1193 fi
1194fi
1195 1163
1196# Copy echo and quote the copy suitably for passing to libtool from 1164m4_ifdef([_AS_DETECT_SUGGESTED],
1197# the Makefile, instead of quoting the original, which is used later. 1165[_AS_DETECT_SUGGESTED([
1198lt_ECHO=$ECHO 1166 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1199if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 1167 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1200 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 1168 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1201fi 1169 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1170 PATH=/empty FPATH=/empty; export PATH FPATH
1171 test "X`printf %s $ECHO`" = "X$ECHO" \
1172 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1202 1173
1203AC_SUBST(lt_ECHO)
1204])
1205_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1174_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1206_LT_DECL([], [ECHO], [1], 1175_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1207 [An echo program that does not interpret backslashes])
1208])# _LT_PROG_ECHO_BACKSLASH 1176])# _LT_PROG_ECHO_BACKSLASH
1209 1177
1210 1178
1179# _LT_WITH_SYSROOT
1180# ----------------
1181AC_DEFUN([_LT_WITH_SYSROOT],
1182[AC_MSG_CHECKING([for sysroot])
1183AC_ARG_WITH([sysroot],
1184[ --with-sysroot[=DIR] Search for dependent libraries within DIR
1185 (or the compiler's sysroot if not specified).],
1186[], [with_sysroot=no])
1187
1188dnl lt_sysroot will always be passed unquoted. We quote it here
1189dnl in case the user passed a directory name.
1190lt_sysroot=
1191case ${with_sysroot} in #(
1192 yes)
1193 if test "$GCC" = yes; then
1194 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1195 fi
1196 ;; #(
1197 /*)
1198 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1199 ;; #(
1200 no|'')
1201 ;; #(
1202 *)
1203 AC_MSG_RESULT([${with_sysroot}])
1204 AC_MSG_ERROR([The sysroot must be an absolute path.])
1205 ;;
1206esac
1207
1208 AC_MSG_RESULT([${lt_sysroot:-no}])
1209_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1210[dependent libraries, and in which our libraries should be installed.])])
1211
1211# _LT_ENABLE_LOCK 1212# _LT_ENABLE_LOCK
1212# --------------- 1213# ---------------
1213m4_defun([_LT_ENABLE_LOCK], 1214m4_defun([_LT_ENABLE_LOCK],
@@ -1236,7 +1237,7 @@ ia64-*-hpux*)
1236 ;; 1237 ;;
1237*-*-irix6*) 1238*-*-irix6*)
1238 # Find out which ABI we are using. 1239 # Find out which ABI we are using.
1239 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 1240 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1240 if AC_TRY_EVAL(ac_compile); then 1241 if AC_TRY_EVAL(ac_compile); then
1241 if test "$lt_cv_prog_gnu_ld" = yes; then 1242 if test "$lt_cv_prog_gnu_ld" = yes; then
1242 case `/usr/bin/file conftest.$ac_objext` in 1243 case `/usr/bin/file conftest.$ac_objext` in
@@ -1354,14 +1355,47 @@ need_locks="$enable_libtool_lock"
1354])# _LT_ENABLE_LOCK 1355])# _LT_ENABLE_LOCK
1355 1356
1356 1357
1358# _LT_PROG_AR
1359# -----------
1360m4_defun([_LT_PROG_AR],
1361[AC_CHECK_TOOLS(AR, [ar], false)
1362: ${AR=ar}
1363: ${AR_FLAGS=cru}
1364_LT_DECL([], [AR], [1], [The archiver])
1365_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1366
1367AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1368 [lt_cv_ar_at_file=no
1369 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1370 [echo conftest.$ac_objext > conftest.lst
1371 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1372 AC_TRY_EVAL([lt_ar_try])
1373 if test "$ac_status" -eq 0; then
1374 # Ensure the archiver fails upon bogus file names.
1375 rm -f conftest.$ac_objext libconftest.a
1376 AC_TRY_EVAL([lt_ar_try])
1377 if test "$ac_status" -ne 0; then
1378 lt_cv_ar_at_file=@
1379 fi
1380 fi
1381 rm -f conftest.* libconftest.a
1382 ])
1383 ])
1384
1385if test "x$lt_cv_ar_at_file" = xno; then
1386 archiver_list_spec=
1387else
1388 archiver_list_spec=$lt_cv_ar_at_file
1389fi
1390_LT_DECL([], [archiver_list_spec], [1],
1391 [How to feed a file listing to the archiver])
1392])# _LT_PROG_AR
1393
1394
1357# _LT_CMD_OLD_ARCHIVE 1395# _LT_CMD_OLD_ARCHIVE
1358# ------------------- 1396# -------------------
1359m4_defun([_LT_CMD_OLD_ARCHIVE], 1397m4_defun([_LT_CMD_OLD_ARCHIVE],
1360[AC_CHECK_TOOL(AR, ar, false) 1398[_LT_PROG_AR
1361test -z "$AR" && AR=ar
1362test -z "$AR_FLAGS" && AR_FLAGS=cru
1363_LT_DECL([], [AR], [1], [The archiver])
1364_LT_DECL([], [AR_FLAGS], [1])
1365 1399
1366AC_CHECK_TOOL(STRIP, strip, :) 1400AC_CHECK_TOOL(STRIP, strip, :)
1367test -z "$STRIP" && STRIP=: 1401test -z "$STRIP" && STRIP=:
@@ -1388,10 +1422,19 @@ if test -n "$RANLIB"; then
1388 esac 1422 esac
1389 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 1423 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1390fi 1424fi
1425
1426case $host_os in
1427 darwin*)
1428 lock_old_archive_extraction=yes ;;
1429 *)
1430 lock_old_archive_extraction=no ;;
1431esac
1391_LT_DECL([], [old_postinstall_cmds], [2]) 1432_LT_DECL([], [old_postinstall_cmds], [2])
1392_LT_DECL([], [old_postuninstall_cmds], [2]) 1433_LT_DECL([], [old_postuninstall_cmds], [2])
1393_LT_TAGDECL([], [old_archive_cmds], [2], 1434_LT_TAGDECL([], [old_archive_cmds], [2],
1394 [Commands used to build an old-style archive]) 1435 [Commands used to build an old-style archive])
1436_LT_DECL([], [lock_old_archive_extraction], [0],
1437 [Whether to use a lock for old archive extraction])
1395])# _LT_CMD_OLD_ARCHIVE 1438])# _LT_CMD_OLD_ARCHIVE
1396 1439
1397 1440
@@ -1416,15 +1459,15 @@ AC_CACHE_CHECK([$1], [$2],
1416 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1459 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1417 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1460 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1418 -e 's:$: $lt_compiler_flag:'` 1461 -e 's:$: $lt_compiler_flag:'`
1419 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1462 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1420 (eval "$lt_compile" 2>conftest.err) 1463 (eval "$lt_compile" 2>conftest.err)
1421 ac_status=$? 1464 ac_status=$?
1422 cat conftest.err >&AS_MESSAGE_LOG_FD 1465 cat conftest.err >&AS_MESSAGE_LOG_FD
1423 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1466 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1424 if (exit $ac_status) && test -s "$ac_outfile"; then 1467 if (exit $ac_status) && test -s "$ac_outfile"; then
1425 # The compiler can only warn and ignore the option if not recognized 1468 # The compiler can only warn and ignore the option if not recognized
1426 # So say no if there are warnings other than the usual output. 1469 # So say no if there are warnings other than the usual output.
1427 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp 1470 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1428 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1471 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1429 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1472 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1430 $2=yes 1473 $2=yes
@@ -1464,7 +1507,7 @@ AC_CACHE_CHECK([$1], [$2],
1464 if test -s conftest.err; then 1507 if test -s conftest.err; then
1465 # Append any errors to the config.log. 1508 # Append any errors to the config.log.
1466 cat conftest.err 1>&AS_MESSAGE_LOG_FD 1509 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1467 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp 1510 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1468 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1511 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1469 if diff conftest.exp conftest.er2 >/dev/null; then 1512 if diff conftest.exp conftest.er2 >/dev/null; then
1470 $2=yes 1513 $2=yes
@@ -1527,6 +1570,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1527 lt_cv_sys_max_cmd_len=8192; 1570 lt_cv_sys_max_cmd_len=8192;
1528 ;; 1571 ;;
1529 1572
1573 mint*)
1574 # On MiNT this can take a long time and run out of memory.
1575 lt_cv_sys_max_cmd_len=8192;
1576 ;;
1577
1530 amigaos*) 1578 amigaos*)
1531 # On AmigaOS with pdksh, this test takes hours, literally. 1579 # On AmigaOS with pdksh, this test takes hours, literally.
1532 # So we just punt and use a minimum line length of 8192. 1580 # So we just punt and use a minimum line length of 8192.
@@ -1591,8 +1639,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1591 # If test is not a shell built-in, we'll probably end up computing a 1639 # If test is not a shell built-in, we'll probably end up computing a
1592 # maximum length that is only half of the actual maximum length, but 1640 # maximum length that is only half of the actual maximum length, but
1593 # we can't tell. 1641 # we can't tell.
1594 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ 1642 while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
1595 = "XX$teststring$teststring"; } >/dev/null 2>&1 && 1643 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1596 test $i != 17 # 1/2 MB should be enough 1644 test $i != 17 # 1/2 MB should be enough
1597 do 1645 do
1598 i=`expr $i + 1` 1646 i=`expr $i + 1`
@@ -1643,7 +1691,7 @@ else
1643 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1691 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1644 lt_status=$lt_dlunknown 1692 lt_status=$lt_dlunknown
1645 cat > conftest.$ac_ext <<_LT_EOF 1693 cat > conftest.$ac_ext <<_LT_EOF
1646[#line __oline__ "configure" 1694[#line $LINENO "configure"
1647#include "confdefs.h" 1695#include "confdefs.h"
1648 1696
1649#if HAVE_DLFCN_H 1697#if HAVE_DLFCN_H
@@ -1684,7 +1732,13 @@ else
1684# endif 1732# endif
1685#endif 1733#endif
1686 1734
1687void fnord() { int i=42;} 1735/* When -fvisbility=hidden is used, assume the code has been annotated
1736 correspondingly for the symbols needed. */
1737#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1738int fnord () __attribute__((visibility("default")));
1739#endif
1740
1741int fnord () { return 42; }
1688int main () 1742int main ()
1689{ 1743{
1690 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1744 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -1693,7 +1747,11 @@ int main ()
1693 if (self) 1747 if (self)
1694 { 1748 {
1695 if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1749 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1696 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1750 else
1751 {
1752 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1753 else puts (dlerror ());
1754 }
1697 /* dlclose (self); */ 1755 /* dlclose (self); */
1698 } 1756 }
1699 else 1757 else
@@ -1869,16 +1927,16 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1869 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1927 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1870 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1928 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1871 -e 's:$: $lt_compiler_flag:'` 1929 -e 's:$: $lt_compiler_flag:'`
1872 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1930 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1873 (eval "$lt_compile" 2>out/conftest.err) 1931 (eval "$lt_compile" 2>out/conftest.err)
1874 ac_status=$? 1932 ac_status=$?
1875 cat out/conftest.err >&AS_MESSAGE_LOG_FD 1933 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1876 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1934 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1877 if (exit $ac_status) && test -s out/conftest2.$ac_objext 1935 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1878 then 1936 then
1879 # The compiler can only warn and ignore the option if not recognized 1937 # The compiler can only warn and ignore the option if not recognized
1880 # So say no if there are warnings 1938 # So say no if there are warnings
1881 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp 1939 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
1882 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 1940 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1883 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 1941 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1884 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 1942 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
@@ -2037,6 +2095,7 @@ m4_require([_LT_DECL_EGREP])dnl
2037m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2095m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2038m4_require([_LT_DECL_OBJDUMP])dnl 2096m4_require([_LT_DECL_OBJDUMP])dnl
2039m4_require([_LT_DECL_SED])dnl 2097m4_require([_LT_DECL_SED])dnl
2098m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2040AC_MSG_CHECKING([dynamic linker characteristics]) 2099AC_MSG_CHECKING([dynamic linker characteristics])
2041m4_if([$1], 2100m4_if([$1],
2042 [], [ 2101 [], [
@@ -2045,16 +2104,23 @@ if test "$GCC" = yes; then
2045 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; 2104 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2046 *) lt_awk_arg="/^libraries:/" ;; 2105 *) lt_awk_arg="/^libraries:/" ;;
2047 esac 2106 esac
2048 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` 2107 case $host_os in
2049 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then 2108 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2109 *) lt_sed_strip_eq="s,=/,/,g" ;;
2110 esac
2111 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2112 case $lt_search_path_spec in
2113 *\;*)
2050 # if the path contains ";" then we assume it to be the separator 2114 # if the path contains ";" then we assume it to be the separator
2051 # otherwise default to the standard path separator (i.e. ":") - it is 2115 # otherwise default to the standard path separator (i.e. ":") - it is
2052 # assumed that no part of a normal pathname contains ";" but that should 2116 # assumed that no part of a normal pathname contains ";" but that should
2053 # okay in the real world where ";" in dirpaths is itself problematic. 2117 # okay in the real world where ";" in dirpaths is itself problematic.
2054 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` 2118 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2055 else 2119 ;;
2056 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2120 *)
2057 fi 2121 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2122 ;;
2123 esac
2058 # Ok, now we have the path, separated by spaces, we can step through it 2124 # Ok, now we have the path, separated by spaces, we can step through it
2059 # and add multilib dir if necessary. 2125 # and add multilib dir if necessary.
2060 lt_tmp_lt_search_path_spec= 2126 lt_tmp_lt_search_path_spec=
@@ -2067,7 +2133,7 @@ if test "$GCC" = yes; then
2067 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 2133 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2068 fi 2134 fi
2069 done 2135 done
2070 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' 2136 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2071BEGIN {RS=" "; FS="/|\n";} { 2137BEGIN {RS=" "; FS="/|\n";} {
2072 lt_foo=""; 2138 lt_foo="";
2073 lt_count=0; 2139 lt_count=0;
@@ -2087,7 +2153,13 @@ BEGIN {RS=" "; FS="/|\n";} {
2087 if (lt_foo != "") { lt_freq[[lt_foo]]++; } 2153 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2088 if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 2154 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2089}'` 2155}'`
2090 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` 2156 # AWK program above erroneously prepends '/' to C:/dos/paths
2157 # for these hosts.
2158 case $host_os in
2159 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2160 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2161 esac
2162 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2091else 2163else
2092 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2164 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2093fi]) 2165fi])
@@ -2175,7 +2247,7 @@ amigaos*)
2175 m68k) 2247 m68k)
2176 library_names_spec='$libname.ixlibrary $libname.a' 2248 library_names_spec='$libname.ixlibrary $libname.a'
2177 # Create ${libname}_ixlibrary.a entries in /sys/libs. 2249 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2178 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 2250 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2179 ;; 2251 ;;
2180 esac 2252 esac
2181 ;; 2253 ;;
@@ -2206,8 +2278,9 @@ cygwin* | mingw* | pw32* | cegcc*)
2206 need_version=no 2278 need_version=no
2207 need_lib_prefix=no 2279 need_lib_prefix=no
2208 2280
2209 case $GCC,$host_os in 2281 case $GCC,$cc_basename in
2210 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) 2282 yes,*)
2283 # gcc
2211 library_names_spec='$libname.dll.a' 2284 library_names_spec='$libname.dll.a'
2212 # DLL is installed to $(libdir)/../bin by postinstall_cmds 2285 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2213 postinstall_cmds='base_file=`basename \${file}`~ 2286 postinstall_cmds='base_file=`basename \${file}`~
@@ -2228,36 +2301,83 @@ cygwin* | mingw* | pw32* | cegcc*)
2228 cygwin*) 2301 cygwin*)
2229 # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2302 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2230 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2303 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2231 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" 2304m4_if([$1], [],[
2305 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2232 ;; 2306 ;;
2233 mingw* | cegcc*) 2307 mingw* | cegcc*)
2234 # MinGW DLLs use traditional 'lib' prefix 2308 # MinGW DLLs use traditional 'lib' prefix
2235 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2309 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2236 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2237 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2238 # It is most probably a Windows format PATH printed by
2239 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2240 # path with ; separators, and with drive letters. We can handle the
2241 # drive letters (cygwin fileutils understands them), so leave them,
2242 # especially as we might pass files found there to a mingw objdump,
2243 # which wouldn't understand a cygwinified path. Ahh.
2244 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2245 else
2246 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2247 fi
2248 ;; 2310 ;;
2249 pw32*) 2311 pw32*)
2250 # pw32 DLLs use 'pw' prefix rather than 'lib' 2312 # pw32 DLLs use 'pw' prefix rather than 'lib'
2251 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2313 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2252 ;; 2314 ;;
2253 esac 2315 esac
2316 dynamic_linker='Win32 ld.exe'
2317 ;;
2318
2319 *,cl*)
2320 # Native MSVC
2321 libname_spec='$name'
2322 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2323 library_names_spec='${libname}.dll.lib'
2324
2325 case $build_os in
2326 mingw*)
2327 sys_lib_search_path_spec=
2328 lt_save_ifs=$IFS
2329 IFS=';'
2330 for lt_path in $LIB
2331 do
2332 IFS=$lt_save_ifs
2333 # Let DOS variable expansion print the short 8.3 style file name.
2334 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2335 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2336 done
2337 IFS=$lt_save_ifs
2338 # Convert to MSYS style.
2339 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2340 ;;
2341 cygwin*)
2342 # Convert to unix form, then to dos form, then back to unix form
2343 # but this time dos style (no spaces!) so that the unix form looks
2344 # like /cygdrive/c/PROGRA~1:/cygdr...
2345 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2346 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2347 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2348 ;;
2349 *)
2350 sys_lib_search_path_spec="$LIB"
2351 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2352 # It is most probably a Windows format PATH.
2353 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2354 else
2355 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2356 fi
2357 # FIXME: find the short name or the path components, as spaces are
2358 # common. (e.g. "Program Files" -> "PROGRA~1")
2359 ;;
2360 esac
2361
2362 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2363 postinstall_cmds='base_file=`basename \${file}`~
2364 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2365 dldir=$destdir/`dirname \$dlpath`~
2366 test -d \$dldir || mkdir -p \$dldir~
2367 $install_prog $dir/$dlname \$dldir/$dlname'
2368 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2369 dlpath=$dir/\$dldll~
2370 $RM \$dlpath'
2371 shlibpath_overrides_runpath=yes
2372 dynamic_linker='Win32 link.exe'
2254 ;; 2373 ;;
2255 2374
2256 *) 2375 *)
2376 # Assume MSVC wrapper
2257 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 2377 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2378 dynamic_linker='Win32 ld.exe'
2258 ;; 2379 ;;
2259 esac 2380 esac
2260 dynamic_linker='Win32 ld.exe'
2261 # FIXME: first we should search . and the directory the executable is in 2381 # FIXME: first we should search . and the directory the executable is in
2262 shlibpath_var=PATH 2382 shlibpath_var=PATH
2263 ;; 2383 ;;
@@ -2341,6 +2461,20 @@ gnu*)
2341 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 2461 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2342 soname_spec='${libname}${release}${shared_ext}$major' 2462 soname_spec='${libname}${release}${shared_ext}$major'
2343 shlibpath_var=LD_LIBRARY_PATH 2463 shlibpath_var=LD_LIBRARY_PATH
2464 shlibpath_overrides_runpath=no
2465 hardcode_into_libs=yes
2466 ;;
2467
2468haiku*)
2469 version_type=linux
2470 need_lib_prefix=no
2471 need_version=no
2472 dynamic_linker="$host_os runtime_loader"
2473 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2474 soname_spec='${libname}${release}${shared_ext}$major'
2475 shlibpath_var=LIBRARY_PATH
2476 shlibpath_overrides_runpath=yes
2477 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2344 hardcode_into_libs=yes 2478 hardcode_into_libs=yes
2345 ;; 2479 ;;
2346 2480
@@ -2386,8 +2520,10 @@ hpux9* | hpux10* | hpux11*)
2386 soname_spec='${libname}${release}${shared_ext}$major' 2520 soname_spec='${libname}${release}${shared_ext}$major'
2387 ;; 2521 ;;
2388 esac 2522 esac
2389 # HP-UX runs *really* slowly unless shared libraries are mode 555. 2523 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2390 postinstall_cmds='chmod 555 $lib' 2524 postinstall_cmds='chmod 555 $lib'
2525 # or fails outright, so override atomically:
2526 install_override_mode=555
2391 ;; 2527 ;;
2392 2528
2393interix[[3-9]]*) 2529interix[[3-9]]*)
@@ -2454,16 +2590,21 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
2454 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2590 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2455 shlibpath_var=LD_LIBRARY_PATH 2591 shlibpath_var=LD_LIBRARY_PATH
2456 shlibpath_overrides_runpath=no 2592 shlibpath_overrides_runpath=no
2593
2457 # Some binutils ld are patched to set DT_RUNPATH 2594 # Some binutils ld are patched to set DT_RUNPATH
2458 save_LDFLAGS=$LDFLAGS 2595 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2459 save_libdir=$libdir 2596 [lt_cv_shlibpath_overrides_runpath=no
2460 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 2597 save_LDFLAGS=$LDFLAGS
2461 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 2598 save_libdir=$libdir
2462 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 2599 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2463 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 2600 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2464 [shlibpath_overrides_runpath=yes])]) 2601 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2465 LDFLAGS=$save_LDFLAGS 2602 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2466 libdir=$save_libdir 2603 [lt_cv_shlibpath_overrides_runpath=yes])])
2604 LDFLAGS=$save_LDFLAGS
2605 libdir=$save_libdir
2606 ])
2607 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2467 2608
2468 # This implies no fast_install, which is unacceptable. 2609 # This implies no fast_install, which is unacceptable.
2469 # Some rework will be needed to allow for fast_install 2610 # Some rework will be needed to allow for fast_install
@@ -2472,7 +2613,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
2472 2613
2473 # Append ld.so.conf contents to the search path 2614 # Append ld.so.conf contents to the search path
2474 if test -f /etc/ld.so.conf; then 2615 if test -f /etc/ld.so.conf; then
2475 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` 2616 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2476 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 2617 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2477 fi 2618 fi
2478 2619
@@ -2717,6 +2858,8 @@ _LT_DECL([], [library_names_spec], [1],
2717 The last name is the one that the linker finds with -lNAME]]) 2858 The last name is the one that the linker finds with -lNAME]])
2718_LT_DECL([], [soname_spec], [1], 2859_LT_DECL([], [soname_spec], [1],
2719 [[The coded name of the library, if different from the real name]]) 2860 [[The coded name of the library, if different from the real name]])
2861_LT_DECL([], [install_override_mode], [1],
2862 [Permission mode override for installation of shared libraries])
2720_LT_DECL([], [postinstall_cmds], [2], 2863_LT_DECL([], [postinstall_cmds], [2],
2721 [Command to use after installation of a shared archive]) 2864 [Command to use after installation of a shared archive])
2722_LT_DECL([], [postuninstall_cmds], [2], 2865_LT_DECL([], [postuninstall_cmds], [2],
@@ -2829,6 +2972,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl
2829AC_REQUIRE([AC_CANONICAL_BUILD])dnl 2972AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2830m4_require([_LT_DECL_SED])dnl 2973m4_require([_LT_DECL_SED])dnl
2831m4_require([_LT_DECL_EGREP])dnl 2974m4_require([_LT_DECL_EGREP])dnl
2975m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
2832 2976
2833AC_ARG_WITH([gnu-ld], 2977AC_ARG_WITH([gnu-ld],
2834 [AS_HELP_STRING([--with-gnu-ld], 2978 [AS_HELP_STRING([--with-gnu-ld],
@@ -2950,6 +3094,11 @@ case $reload_flag in
2950esac 3094esac
2951reload_cmds='$LD$reload_flag -o $output$reload_objs' 3095reload_cmds='$LD$reload_flag -o $output$reload_objs'
2952case $host_os in 3096case $host_os in
3097 cygwin* | mingw* | pw32* | cegcc*)
3098 if test "$GCC" != yes; then
3099 reload_cmds=false
3100 fi
3101 ;;
2953 darwin*) 3102 darwin*)
2954 if test "$GCC" = yes; then 3103 if test "$GCC" = yes; then
2955 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' 3104 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
@@ -2958,8 +3107,8 @@ case $host_os in
2958 fi 3107 fi
2959 ;; 3108 ;;
2960esac 3109esac
2961_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl 3110_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2962_LT_DECL([], [reload_cmds], [2])dnl 3111_LT_TAGDECL([], [reload_cmds], [2])dnl
2963])# _LT_CMD_RELOAD 3112])# _LT_CMD_RELOAD
2964 3113
2965 3114
@@ -3011,16 +3160,18 @@ mingw* | pw32*)
3011 # Base MSYS/MinGW do not provide the 'file' command needed by 3160 # Base MSYS/MinGW do not provide the 'file' command needed by
3012 # func_win32_libid shell function, so use a weaker test based on 'objdump', 3161 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3013 # unless we find 'file', for example because we are cross-compiling. 3162 # unless we find 'file', for example because we are cross-compiling.
3014 if ( file / ) >/dev/null 2>&1; then 3163 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3164 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3015 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3165 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3016 lt_cv_file_magic_cmd='func_win32_libid' 3166 lt_cv_file_magic_cmd='func_win32_libid'
3017 else 3167 else
3018 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 3168 # Keep this pattern in sync with the one in func_win32_libid.
3169 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3019 lt_cv_file_magic_cmd='$OBJDUMP -f' 3170 lt_cv_file_magic_cmd='$OBJDUMP -f'
3020 fi 3171 fi
3021 ;; 3172 ;;
3022 3173
3023cegcc) 3174cegcc*)
3024 # use the weaker test based on 'objdump'. See mingw*. 3175 # use the weaker test based on 'objdump'. See mingw*.
3025 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3176 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3026 lt_cv_file_magic_cmd='$OBJDUMP -f' 3177 lt_cv_file_magic_cmd='$OBJDUMP -f'
@@ -3050,6 +3201,10 @@ gnu*)
3050 lt_cv_deplibs_check_method=pass_all 3201 lt_cv_deplibs_check_method=pass_all
3051 ;; 3202 ;;
3052 3203
3204haiku*)
3205 lt_cv_deplibs_check_method=pass_all
3206 ;;
3207
3053hpux10.20* | hpux11*) 3208hpux10.20* | hpux11*)
3054 lt_cv_file_magic_cmd=/usr/bin/file 3209 lt_cv_file_magic_cmd=/usr/bin/file
3055 case $host_cpu in 3210 case $host_cpu in
@@ -3058,11 +3213,11 @@ hpux10.20* | hpux11*)
3058 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3213 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3059 ;; 3214 ;;
3060 hppa*64*) 3215 hppa*64*)
3061 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] 3216 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3062 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3217 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3063 ;; 3218 ;;
3064 *) 3219 *)
3065 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 3220 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3066 lt_cv_file_magic_test_file=/usr/lib/libc.sl 3221 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3067 ;; 3222 ;;
3068 esac 3223 esac
@@ -3162,6 +3317,21 @@ tpf*)
3162 ;; 3317 ;;
3163esac 3318esac
3164]) 3319])
3320
3321file_magic_glob=
3322want_nocaseglob=no
3323if test "$build" = "$host"; then
3324 case $host_os in
3325 mingw* | pw32*)
3326 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3327 want_nocaseglob=yes
3328 else
3329 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3330 fi
3331 ;;
3332 esac
3333fi
3334
3165file_magic_cmd=$lt_cv_file_magic_cmd 3335file_magic_cmd=$lt_cv_file_magic_cmd
3166deplibs_check_method=$lt_cv_deplibs_check_method 3336deplibs_check_method=$lt_cv_deplibs_check_method
3167test -z "$deplibs_check_method" && deplibs_check_method=unknown 3337test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3169,7 +3339,11 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
3169_LT_DECL([], [deplibs_check_method], [1], 3339_LT_DECL([], [deplibs_check_method], [1],
3170 [Method to check whether dependent libraries are shared objects]) 3340 [Method to check whether dependent libraries are shared objects])
3171_LT_DECL([], [file_magic_cmd], [1], 3341_LT_DECL([], [file_magic_cmd], [1],
3172 [Command to use when deplibs_check_method == "file_magic"]) 3342 [Command to use when deplibs_check_method = "file_magic"])
3343_LT_DECL([], [file_magic_glob], [1],
3344 [How to find potential files when deplibs_check_method = "file_magic"])
3345_LT_DECL([], [want_nocaseglob], [1],
3346 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3173])# _LT_CHECK_MAGIC_METHOD 3347])# _LT_CHECK_MAGIC_METHOD
3174 3348
3175 3349
@@ -3226,7 +3400,19 @@ if test "$lt_cv_path_NM" != "no"; then
3226 NM="$lt_cv_path_NM" 3400 NM="$lt_cv_path_NM"
3227else 3401else
3228 # Didn't find any BSD compatible name lister, look for dumpbin. 3402 # Didn't find any BSD compatible name lister, look for dumpbin.
3229 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) 3403 if test -n "$DUMPBIN"; then :
3404 # Let the user override the test.
3405 else
3406 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3407 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3408 *COFF*)
3409 DUMPBIN="$DUMPBIN -symbols"
3410 ;;
3411 *)
3412 DUMPBIN=:
3413 ;;
3414 esac
3415 fi
3230 AC_SUBST([DUMPBIN]) 3416 AC_SUBST([DUMPBIN])
3231 if test "$DUMPBIN" != ":"; then 3417 if test "$DUMPBIN" != ":"; then
3232 NM="$DUMPBIN" 3418 NM="$DUMPBIN"
@@ -3239,13 +3425,13 @@ _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3239AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3425AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3240 [lt_cv_nm_interface="BSD nm" 3426 [lt_cv_nm_interface="BSD nm"
3241 echo "int some_variable = 0;" > conftest.$ac_ext 3427 echo "int some_variable = 0;" > conftest.$ac_ext
3242 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3428 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3243 (eval "$ac_compile" 2>conftest.err) 3429 (eval "$ac_compile" 2>conftest.err)
3244 cat conftest.err >&AS_MESSAGE_LOG_FD 3430 cat conftest.err >&AS_MESSAGE_LOG_FD
3245 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3431 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3246 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3432 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3247 cat conftest.err >&AS_MESSAGE_LOG_FD 3433 cat conftest.err >&AS_MESSAGE_LOG_FD
3248 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) 3434 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3249 cat conftest.out >&AS_MESSAGE_LOG_FD 3435 cat conftest.out >&AS_MESSAGE_LOG_FD
3250 if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3436 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3251 lt_cv_nm_interface="MS dumpbin" 3437 lt_cv_nm_interface="MS dumpbin"
@@ -3260,6 +3446,67 @@ dnl aclocal-1.4 backwards compatibility:
3260dnl AC_DEFUN([AM_PROG_NM], []) 3446dnl AC_DEFUN([AM_PROG_NM], [])
3261dnl AC_DEFUN([AC_PROG_NM], []) 3447dnl AC_DEFUN([AC_PROG_NM], [])
3262 3448
3449# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3450# --------------------------------
3451# how to determine the name of the shared library
3452# associated with a specific link library.
3453# -- PORTME fill in with the dynamic library characteristics
3454m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3455[m4_require([_LT_DECL_EGREP])
3456m4_require([_LT_DECL_OBJDUMP])
3457m4_require([_LT_DECL_DLLTOOL])
3458AC_CACHE_CHECK([how to associate runtime and link libraries],
3459lt_cv_sharedlib_from_linklib_cmd,
3460[lt_cv_sharedlib_from_linklib_cmd='unknown'
3461
3462case $host_os in
3463cygwin* | mingw* | pw32* | cegcc*)
3464 # two different shell functions defined in ltmain.sh
3465 # decide which to use based on capabilities of $DLLTOOL
3466 case `$DLLTOOL --help 2>&1` in
3467 *--identify-strict*)
3468 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3469 ;;
3470 *)
3471 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3472 ;;
3473 esac
3474 ;;
3475*)
3476 # fallback: assume linklib IS sharedlib
3477 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3478 ;;
3479esac
3480])
3481sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3482test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3483
3484_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3485 [Command to associate shared and link libraries])
3486])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3487
3488
3489# _LT_PATH_MANIFEST_TOOL
3490# ----------------------
3491# locate the manifest tool
3492m4_defun([_LT_PATH_MANIFEST_TOOL],
3493[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3494test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3495AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3496 [lt_cv_path_mainfest_tool=no
3497 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3498 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3499 cat conftest.err >&AS_MESSAGE_LOG_FD
3500 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3501 lt_cv_path_mainfest_tool=yes
3502 fi
3503 rm -f conftest*])
3504if test "x$lt_cv_path_mainfest_tool" != xyes; then
3505 MANIFEST_TOOL=:
3506fi
3507_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3508])# _LT_PATH_MANIFEST_TOOL
3509
3263 3510
3264# LT_LIB_M 3511# LT_LIB_M
3265# -------- 3512# --------
@@ -3268,7 +3515,7 @@ AC_DEFUN([LT_LIB_M],
3268[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3515[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3269LIBM= 3516LIBM=
3270case $host in 3517case $host in
3271*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) 3518*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3272 # These system don't have libm, or don't need it 3519 # These system don't have libm, or don't need it
3273 ;; 3520 ;;
3274*-ncr-sysv4.3*) 3521*-ncr-sysv4.3*)
@@ -3296,7 +3543,12 @@ m4_defun([_LT_COMPILER_NO_RTTI],
3296_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3543_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3297 3544
3298if test "$GCC" = yes; then 3545if test "$GCC" = yes; then
3299 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 3546 case $cc_basename in
3547 nvcc*)
3548 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3549 *)
3550 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3551 esac
3300 3552
3301 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3553 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3302 lt_cv_prog_compiler_rtti_exceptions, 3554 lt_cv_prog_compiler_rtti_exceptions,
@@ -3313,6 +3565,7 @@ _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3313m4_defun([_LT_CMD_GLOBAL_SYMBOLS], 3565m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3314[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3566[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3315AC_REQUIRE([AC_PROG_CC])dnl 3567AC_REQUIRE([AC_PROG_CC])dnl
3568AC_REQUIRE([AC_PROG_AWK])dnl
3316AC_REQUIRE([LT_PATH_NM])dnl 3569AC_REQUIRE([LT_PATH_NM])dnl
3317AC_REQUIRE([LT_PATH_LD])dnl 3570AC_REQUIRE([LT_PATH_LD])dnl
3318m4_require([_LT_DECL_SED])dnl 3571m4_require([_LT_DECL_SED])dnl
@@ -3380,8 +3633,8 @@ esac
3380lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 3633lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3381 3634
3382# Transform an extracted symbol line into symbol name and symbol address 3635# Transform an extracted symbol line into symbol name and symbol address
3383lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 3636lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3384lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" 3637lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3385 3638
3386# Handle CRLF in mingw tool chain 3639# Handle CRLF in mingw tool chain
3387opt_cr= 3640opt_cr=
@@ -3417,6 +3670,7 @@ for ac_symprfx in "" "_"; do
3417 else 3670 else
3418 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 3671 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3419 fi 3672 fi
3673 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3420 3674
3421 # Check to see that the pipe works correctly. 3675 # Check to see that the pipe works correctly.
3422 pipe_works=no 3676 pipe_works=no
@@ -3438,7 +3692,7 @@ _LT_EOF
3438 if AC_TRY_EVAL(ac_compile); then 3692 if AC_TRY_EVAL(ac_compile); then
3439 # Now try to grab the symbols. 3693 # Now try to grab the symbols.
3440 nlist=conftest.nm 3694 nlist=conftest.nm
3441 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 3695 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3442 # Try sorting and uniquifying the output. 3696 # Try sorting and uniquifying the output.
3443 if sort "$nlist" | uniq > "$nlist"T; then 3697 if sort "$nlist" | uniq > "$nlist"T; then
3444 mv -f "$nlist"T "$nlist" 3698 mv -f "$nlist"T "$nlist"
@@ -3450,6 +3704,18 @@ _LT_EOF
3450 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 3704 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3451 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 3705 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3452 cat <<_LT_EOF > conftest.$ac_ext 3706 cat <<_LT_EOF > conftest.$ac_ext
3707/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3708#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3709/* DATA imports from DLLs on WIN32 con't be const, because runtime
3710 relocations are performed -- see ld's documentation on pseudo-relocs. */
3711# define LT@&t@_DLSYM_CONST
3712#elif defined(__osf__)
3713/* This system does not cope well with relocations in const data. */
3714# define LT@&t@_DLSYM_CONST
3715#else
3716# define LT@&t@_DLSYM_CONST const
3717#endif
3718
3453#ifdef __cplusplus 3719#ifdef __cplusplus
3454extern "C" { 3720extern "C" {
3455#endif 3721#endif
@@ -3461,7 +3727,7 @@ _LT_EOF
3461 cat <<_LT_EOF >> conftest.$ac_ext 3727 cat <<_LT_EOF >> conftest.$ac_ext
3462 3728
3463/* The mapping between symbol names and symbols. */ 3729/* The mapping between symbol names and symbols. */
3464const struct { 3730LT@&t@_DLSYM_CONST struct {
3465 const char *name; 3731 const char *name;
3466 void *address; 3732 void *address;
3467} 3733}
@@ -3487,15 +3753,15 @@ static const void *lt_preloaded_setup() {
3487_LT_EOF 3753_LT_EOF
3488 # Now try linking the two files. 3754 # Now try linking the two files.
3489 mv conftest.$ac_objext conftstm.$ac_objext 3755 mv conftest.$ac_objext conftstm.$ac_objext
3490 lt_save_LIBS="$LIBS" 3756 lt_globsym_save_LIBS=$LIBS
3491 lt_save_CFLAGS="$CFLAGS" 3757 lt_globsym_save_CFLAGS=$CFLAGS
3492 LIBS="conftstm.$ac_objext" 3758 LIBS="conftstm.$ac_objext"
3493 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 3759 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3494 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 3760 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3495 pipe_works=yes 3761 pipe_works=yes
3496 fi 3762 fi
3497 LIBS="$lt_save_LIBS" 3763 LIBS=$lt_globsym_save_LIBS
3498 CFLAGS="$lt_save_CFLAGS" 3764 CFLAGS=$lt_globsym_save_CFLAGS
3499 else 3765 else
3500 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 3766 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3501 fi 3767 fi
@@ -3528,6 +3794,13 @@ else
3528 AC_MSG_RESULT(ok) 3794 AC_MSG_RESULT(ok)
3529fi 3795fi
3530 3796
3797# Response file support.
3798if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3799 nm_file_list_spec='@'
3800elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3801 nm_file_list_spec='@'
3802fi
3803
3531_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 3804_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3532 [Take the output of nm and produce a listing of raw symbols and C names]) 3805 [Take the output of nm and produce a listing of raw symbols and C names])
3533_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 3806_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
@@ -3538,6 +3811,8 @@ _LT_DECL([global_symbol_to_c_name_address],
3538_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 3811_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3539 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 3812 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3540 [Transform the output of nm in a C name address pair when lib prefix is needed]) 3813 [Transform the output of nm in a C name address pair when lib prefix is needed])
3814_LT_DECL([], [nm_file_list_spec], [1],
3815 [Specify filename containing input files for $NM])
3541]) # _LT_CMD_GLOBAL_SYMBOLS 3816]) # _LT_CMD_GLOBAL_SYMBOLS
3542 3817
3543 3818
@@ -3549,7 +3824,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
3549_LT_TAGVAR(lt_prog_compiler_pic, $1)= 3824_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3550_LT_TAGVAR(lt_prog_compiler_static, $1)= 3825_LT_TAGVAR(lt_prog_compiler_static, $1)=
3551 3826
3552AC_MSG_CHECKING([for $compiler option to produce PIC])
3553m4_if([$1], [CXX], [ 3827m4_if([$1], [CXX], [
3554 # C++ specific cases for pic, static, wl, etc. 3828 # C++ specific cases for pic, static, wl, etc.
3555 if test "$GXX" = yes; then 3829 if test "$GXX" = yes; then
@@ -3600,6 +3874,11 @@ m4_if([$1], [CXX], [
3600 # DJGPP does not support shared libraries at all 3874 # DJGPP does not support shared libraries at all
3601 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3875 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3602 ;; 3876 ;;
3877 haiku*)
3878 # PIC is the default for Haiku.
3879 # The "-static" flag exists, but is broken.
3880 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3881 ;;
3603 interix[[3-9]]*) 3882 interix[[3-9]]*)
3604 # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3883 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3605 # Instead, we relocate shared libraries at runtime. 3884 # Instead, we relocate shared libraries at runtime.
@@ -3649,6 +3928,12 @@ m4_if([$1], [CXX], [
3649 ;; 3928 ;;
3650 esac 3929 esac
3651 ;; 3930 ;;
3931 mingw* | cygwin* | os2* | pw32* | cegcc*)
3932 # This hack is so that the source file can tell whether it is being
3933 # built for inclusion in a dll (and should export symbols for example).
3934 m4_if([$1], [GCJ], [],
3935 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3936 ;;
3652 dgux*) 3937 dgux*)
3653 case $cc_basename in 3938 case $cc_basename in
3654 ec++*) 3939 ec++*)
@@ -3738,8 +4023,8 @@ m4_if([$1], [CXX], [
3738 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4023 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3739 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4024 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3740 ;; 4025 ;;
3741 xlc* | xlC*) 4026 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
3742 # IBM XL 8.0 on PPC 4027 # IBM XL 8.0, 9.0 on PPC and BlueGene
3743 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4028 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3744 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4029 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3745 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4030 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
@@ -3801,7 +4086,7 @@ m4_if([$1], [CXX], [
3801 ;; 4086 ;;
3802 solaris*) 4087 solaris*)
3803 case $cc_basename in 4088 case $cc_basename in
3804 CC*) 4089 CC* | sunCC*)
3805 # Sun C++ 4.2, 5.x and Centerline C++ 4090 # Sun C++ 4.2, 5.x and Centerline C++
3806 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4091 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3807 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4092 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -3905,6 +4190,12 @@ m4_if([$1], [CXX], [
3905 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4190 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3906 ;; 4191 ;;
3907 4192
4193 haiku*)
4194 # PIC is the default for Haiku.
4195 # The "-static" flag exists, but is broken.
4196 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4197 ;;
4198
3908 hpux*) 4199 hpux*)
3909 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4200 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3910 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4201 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
@@ -3947,6 +4238,13 @@ m4_if([$1], [CXX], [
3947 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4238 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3948 ;; 4239 ;;
3949 esac 4240 esac
4241
4242 case $cc_basename in
4243 nvcc*) # Cuda Compiler Driver 2.2
4244 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4245 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
4246 ;;
4247 esac
3950 else 4248 else
3951 # PORTME Check for flag to pass linker flags through the system compiler. 4249 # PORTME Check for flag to pass linker flags through the system compiler.
3952 case $host_os in 4250 case $host_os in
@@ -4010,7 +4308,13 @@ m4_if([$1], [CXX], [
4010 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 4308 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4011 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 4309 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4012 ;; 4310 ;;
4013 pgcc* | pgf77* | pgf90* | pgf95*) 4311 nagfor*)
4312 # NAG Fortran compiler
4313 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4314 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4315 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4316 ;;
4317 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4014 # Portland Group compilers (*not* the Pentium gcc compiler, 4318 # Portland Group compilers (*not* the Pentium gcc compiler,
4015 # which looks to be a dead project) 4319 # which looks to be a dead project)
4016 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4320 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -4022,25 +4326,25 @@ m4_if([$1], [CXX], [
4022 # All Alpha code is PIC. 4326 # All Alpha code is PIC.
4023 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4327 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4024 ;; 4328 ;;
4025 xl*) 4329 xl* | bgxl* | bgf* | mpixl*)
4026 # IBM XL C 8.0/Fortran 10.1 on PPC 4330 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4027 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4331 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4028 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4332 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4029 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4333 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4030 ;; 4334 ;;
4031 *) 4335 *)
4032 case `$CC -V 2>&1 | sed 5q` in 4336 case `$CC -V 2>&1 | sed 5q` in
4033 *Sun\ C*) 4337 *Sun\ F* | *Sun*Fortran*)
4034 # Sun C 5.9 4338 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4035 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4339 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4036 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4340 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4037 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4341 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4038 ;; 4342 ;;
4039 *Sun\ F*) 4343 *Sun\ C*)
4040 # Sun Fortran 8.3 passes all unrecognized flags to the linker 4344 # Sun C 5.9
4041 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4345 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4042 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4346 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4043 _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4347 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4044 ;; 4348 ;;
4045 esac 4349 esac
4046 ;; 4350 ;;
@@ -4072,7 +4376,7 @@ m4_if([$1], [CXX], [
4072 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4376 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4073 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4377 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4074 case $cc_basename in 4378 case $cc_basename in
4075 f77* | f90* | f95*) 4379 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4076 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4380 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4077 *) 4381 *)
4078 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4382 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
@@ -4129,9 +4433,11 @@ case $host_os in
4129 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 4433 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4130 ;; 4434 ;;
4131esac 4435esac
4132AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 4436
4133_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 4437AC_CACHE_CHECK([for $compiler option to produce PIC],
4134 [How to pass a linker flag through the compiler]) 4438 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4439 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4440_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4135 4441
4136# 4442#
4137# Check to make sure the PIC flag actually works. 4443# Check to make sure the PIC flag actually works.
@@ -4150,6 +4456,8 @@ fi
4150_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 4456_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4151 [Additional compiler flags for building library objects]) 4457 [Additional compiler flags for building library objects])
4152 4458
4459_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4460 [How to pass a linker flag through the compiler])
4153# 4461#
4154# Check to make sure the static flag actually works. 4462# Check to make sure the static flag actually works.
4155# 4463#
@@ -4170,6 +4478,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4170m4_defun([_LT_LINKER_SHLIBS], 4478m4_defun([_LT_LINKER_SHLIBS],
4171[AC_REQUIRE([LT_PATH_LD])dnl 4479[AC_REQUIRE([LT_PATH_LD])dnl
4172AC_REQUIRE([LT_PATH_NM])dnl 4480AC_REQUIRE([LT_PATH_NM])dnl
4481m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4173m4_require([_LT_FILEUTILS_DEFAULTS])dnl 4482m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4174m4_require([_LT_DECL_EGREP])dnl 4483m4_require([_LT_DECL_EGREP])dnl
4175m4_require([_LT_DECL_SED])dnl 4484m4_require([_LT_DECL_SED])dnl
@@ -4178,30 +4487,38 @@ m4_require([_LT_TAG_COMPILER])dnl
4178AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4487AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4179m4_if([$1], [CXX], [ 4488m4_if([$1], [CXX], [
4180 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4489 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4490 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4181 case $host_os in 4491 case $host_os in
4182 aix[[4-9]]*) 4492 aix[[4-9]]*)
4183 # If we're using GNU nm, then we don't want the "-C" option. 4493 # If we're using GNU nm, then we don't want the "-C" option.
4184 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4494 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4495 # Also, AIX nm treats weak defined symbols like other global defined
4496 # symbols, whereas GNU nm marks them as "W".
4185 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4497 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4186 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4498 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4187 else 4499 else
4188 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4500 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4189 fi 4501 fi
4190 ;; 4502 ;;
4191 pw32*) 4503 pw32*)
4192 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 4504 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4193 ;; 4505 ;;
4194 cygwin* | mingw* | cegcc*) 4506 cygwin* | mingw* | cegcc*)
4195 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' 4507 case $cc_basename in
4196 ;; 4508 cl*) ;;
4197 linux* | k*bsd*-gnu) 4509 *)
4510 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4511 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4512 ;;
4513 esac
4514 ;;
4515 linux* | k*bsd*-gnu | gnu*)
4198 _LT_TAGVAR(link_all_deplibs, $1)=no 4516 _LT_TAGVAR(link_all_deplibs, $1)=no
4199 ;; 4517 ;;
4200 *) 4518 *)
4201 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4519 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4202 ;; 4520 ;;
4203 esac 4521 esac
4204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4205], [ 4522], [
4206 runpath_var= 4523 runpath_var=
4207 _LT_TAGVAR(allow_undefined_flag, $1)= 4524 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -4261,13 +4578,39 @@ dnl Note also adjust exclude_expsyms for C++ above.
4261 openbsd*) 4578 openbsd*)
4262 with_gnu_ld=no 4579 with_gnu_ld=no
4263 ;; 4580 ;;
4264 linux* | k*bsd*-gnu) 4581 linux* | k*bsd*-gnu | gnu*)
4265 _LT_TAGVAR(link_all_deplibs, $1)=no 4582 _LT_TAGVAR(link_all_deplibs, $1)=no
4266 ;; 4583 ;;
4267 esac 4584 esac
4268 4585
4269 _LT_TAGVAR(ld_shlibs, $1)=yes 4586 _LT_TAGVAR(ld_shlibs, $1)=yes
4587
4588 # On some targets, GNU ld is compatible enough with the native linker
4589 # that we're better off using the native interface for both.
4590 lt_use_gnu_ld_interface=no
4270 if test "$with_gnu_ld" = yes; then 4591 if test "$with_gnu_ld" = yes; then
4592 case $host_os in
4593 aix*)
4594 # The AIX port of GNU ld has always aspired to compatibility
4595 # with the native linker. However, as the warning in the GNU ld
4596 # block says, versions before 2.19.5* couldn't really create working
4597 # shared libraries, regardless of the interface used.
4598 case `$LD -v 2>&1` in
4599 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4600 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4601 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4602 *)
4603 lt_use_gnu_ld_interface=yes
4604 ;;
4605 esac
4606 ;;
4607 *)
4608 lt_use_gnu_ld_interface=yes
4609 ;;
4610 esac
4611 fi
4612
4613 if test "$lt_use_gnu_ld_interface" = yes; then
4271 # If archive_cmds runs LD, not CC, wlarc should be empty 4614 # If archive_cmds runs LD, not CC, wlarc should be empty
4272 wlarc='${wl}' 4615 wlarc='${wl}'
4273 4616
@@ -4301,11 +4644,12 @@ dnl Note also adjust exclude_expsyms for C++ above.
4301 _LT_TAGVAR(ld_shlibs, $1)=no 4644 _LT_TAGVAR(ld_shlibs, $1)=no
4302 cat <<_LT_EOF 1>&2 4645 cat <<_LT_EOF 1>&2
4303 4646
4304*** Warning: the GNU linker, at least up to release 2.9.1, is reported 4647*** Warning: the GNU linker, at least up to release 2.19, is reported
4305*** to be unable to reliably create shared libraries on AIX. 4648*** to be unable to reliably create shared libraries on AIX.
4306*** Therefore, libtool is disabling shared libraries support. If you 4649*** Therefore, libtool is disabling shared libraries support. If you
4307*** really care for shared libraries, you may want to modify your PATH 4650*** really care for shared libraries, you may want to install binutils
4308*** so that a non-GNU linker is found, and then restart. 4651*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4652*** You will then need to restart the configuration process.
4309 4653
4310_LT_EOF 4654_LT_EOF
4311 fi 4655 fi
@@ -4341,10 +4685,12 @@ _LT_EOF
4341 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 4685 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4342 # as there is no search path for DLLs. 4686 # as there is no search path for DLLs.
4343 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4687 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4688 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4344 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4689 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4345 _LT_TAGVAR(always_export_symbols, $1)=no 4690 _LT_TAGVAR(always_export_symbols, $1)=no
4346 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4691 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4347 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' 4692 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4693 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4348 4694
4349 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 4695 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4350 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 4696 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -4362,6 +4708,11 @@ _LT_EOF
4362 fi 4708 fi
4363 ;; 4709 ;;
4364 4710
4711 haiku*)
4712 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4713 _LT_TAGVAR(link_all_deplibs, $1)=yes
4714 ;;
4715
4365 interix[[3-9]]*) 4716 interix[[3-9]]*)
4366 _LT_TAGVAR(hardcode_direct, $1)=no 4717 _LT_TAGVAR(hardcode_direct, $1)=no
4367 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4718 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4387,15 +4738,16 @@ _LT_EOF
4387 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 4738 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4388 && test "$tmp_diet" = no 4739 && test "$tmp_diet" = no
4389 then 4740 then
4390 tmp_addflag= 4741 tmp_addflag=' $pic_flag'
4391 tmp_sharedflag='-shared' 4742 tmp_sharedflag='-shared'
4392 case $cc_basename,$host_cpu in 4743 case $cc_basename,$host_cpu in
4393 pgcc*) # Portland Group C compiler 4744 pgcc*) # Portland Group C compiler
4394 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4745 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4395 tmp_addflag=' $pic_flag' 4746 tmp_addflag=' $pic_flag'
4396 ;; 4747 ;;
4397 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers 4748 pgf77* | pgf90* | pgf95* | pgfortran*)
4398 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4749 # Portland Group f77 and f90 compilers
4750 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4399 tmp_addflag=' $pic_flag -Mnomain' ;; 4751 tmp_addflag=' $pic_flag -Mnomain' ;;
4400 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 4752 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4401 tmp_addflag=' -i_dynamic' ;; 4753 tmp_addflag=' -i_dynamic' ;;
@@ -4406,13 +4758,17 @@ _LT_EOF
4406 lf95*) # Lahey Fortran 8.1 4758 lf95*) # Lahey Fortran 8.1
4407 _LT_TAGVAR(whole_archive_flag_spec, $1)= 4759 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4408 tmp_sharedflag='--shared' ;; 4760 tmp_sharedflag='--shared' ;;
4409 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 4761 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4410 tmp_sharedflag='-qmkshrobj' 4762 tmp_sharedflag='-qmkshrobj'
4411 tmp_addflag= ;; 4763 tmp_addflag= ;;
4764 nvcc*) # Cuda Compiler Driver 2.2
4765 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4766 _LT_TAGVAR(compiler_needs_object, $1)=yes
4767 ;;
4412 esac 4768 esac
4413 case `$CC -V 2>&1 | sed 5q` in 4769 case `$CC -V 2>&1 | sed 5q` in
4414 *Sun\ C*) # Sun C 5.9 4770 *Sun\ C*) # Sun C 5.9
4415 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4771 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4416 _LT_TAGVAR(compiler_needs_object, $1)=yes 4772 _LT_TAGVAR(compiler_needs_object, $1)=yes
4417 tmp_sharedflag='-G' ;; 4773 tmp_sharedflag='-G' ;;
4418 *Sun\ F*) # Sun Fortran 8.3 4774 *Sun\ F*) # Sun Fortran 8.3
@@ -4428,17 +4784,17 @@ _LT_EOF
4428 fi 4784 fi
4429 4785
4430 case $cc_basename in 4786 case $cc_basename in
4431 xlf*) 4787 xlf* | bgf* | bgxlf* | mpixlf*)
4432 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 4788 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4433 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 4789 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4434 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4790 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4435 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' 4791 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4436 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' 4792 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4437 if test "x$supports_anon_versioning" = xyes; then 4793 if test "x$supports_anon_versioning" = xyes; then
4438 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4794 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4439 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4795 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4440 echo "local: *; };" >> $output_objdir/$libname.ver~ 4796 echo "local: *; };" >> $output_objdir/$libname.ver~
4441 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 4797 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4442 fi 4798 fi
4443 ;; 4799 ;;
4444 esac 4800 esac
@@ -4452,8 +4808,8 @@ _LT_EOF
4452 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 4808 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4453 wlarc= 4809 wlarc=
4454 else 4810 else
4455 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4811 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4456 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4812 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4457 fi 4813 fi
4458 ;; 4814 ;;
4459 4815
@@ -4471,8 +4827,8 @@ _LT_EOF
4471 4827
4472_LT_EOF 4828_LT_EOF
4473 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4829 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4474 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4830 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4475 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4831 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4476 else 4832 else
4477 _LT_TAGVAR(ld_shlibs, $1)=no 4833 _LT_TAGVAR(ld_shlibs, $1)=no
4478 fi 4834 fi
@@ -4518,8 +4874,8 @@ _LT_EOF
4518 4874
4519 *) 4875 *)
4520 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4876 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4521 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4877 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4522 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4878 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4523 else 4879 else
4524 _LT_TAGVAR(ld_shlibs, $1)=no 4880 _LT_TAGVAR(ld_shlibs, $1)=no
4525 fi 4881 fi
@@ -4559,8 +4915,10 @@ _LT_EOF
4559 else 4915 else
4560 # If we're using GNU nm, then we don't want the "-C" option. 4916 # If we're using GNU nm, then we don't want the "-C" option.
4561 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4917 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4918 # Also, AIX nm treats weak defined symbols like other global
4919 # defined symbols, whereas GNU nm marks them as "W".
4562 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4920 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4563 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4921 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4564 else 4922 else
4565 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4923 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4566 fi 4924 fi
@@ -4648,9 +5006,9 @@ _LT_EOF
4648 _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5006 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4649 # Determine the default libpath from the value encoded in an 5007 # Determine the default libpath from the value encoded in an
4650 # empty executable. 5008 # empty executable.
4651 _LT_SYS_MODULE_PATH_AIX 5009 _LT_SYS_MODULE_PATH_AIX([$1])
4652 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5010 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4653 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 5011 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4654 else 5012 else
4655 if test "$host_cpu" = ia64; then 5013 if test "$host_cpu" = ia64; then
4656 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 5014 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -4659,14 +5017,19 @@ _LT_EOF
4659 else 5017 else
4660 # Determine the default libpath from the value encoded in an 5018 # Determine the default libpath from the value encoded in an
4661 # empty executable. 5019 # empty executable.
4662 _LT_SYS_MODULE_PATH_AIX 5020 _LT_SYS_MODULE_PATH_AIX([$1])
4663 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5021 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4664 # Warning - without using the other run time loading flags, 5022 # Warning - without using the other run time loading flags,
4665 # -berok will link without error, but may produce a broken library. 5023 # -berok will link without error, but may produce a broken library.
4666 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 5024 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4667 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 5025 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4668 # Exported symbols can be pulled into shared objects from archives 5026 if test "$with_gnu_ld" = yes; then
4669 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5027 # We only use this code for GNU lds that support --whole-archive.
5028 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5029 else
5030 # Exported symbols can be pulled into shared objects from archives
5031 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5032 fi
4670 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5033 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4671 # This is similar to how AIX traditionally builds its shared libraries. 5034 # This is similar to how AIX traditionally builds its shared libraries.
4672 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 5035 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -4698,20 +5061,63 @@ _LT_EOF
4698 # Microsoft Visual C++. 5061 # Microsoft Visual C++.
4699 # hardcode_libdir_flag_spec is actually meaningless, as there is 5062 # hardcode_libdir_flag_spec is actually meaningless, as there is
4700 # no search path for DLLs. 5063 # no search path for DLLs.
4701 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5064 case $cc_basename in
4702 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5065 cl*)
4703 # Tell ltmain to make .lib files, not .a files. 5066 # Native MSVC
4704 libext=lib 5067 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4705 # Tell ltmain to make .dll files, not .so files. 5068 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4706 shrext_cmds=".dll" 5069 _LT_TAGVAR(always_export_symbols, $1)=yes
4707 # FIXME: Setting linknames here is a bad hack. 5070 _LT_TAGVAR(file_list_spec, $1)='@'
4708 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 5071 # Tell ltmain to make .lib files, not .a files.
4709 # The linker will automatically build a .lib file if we build a DLL. 5072 libext=lib
4710 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5073 # Tell ltmain to make .dll files, not .so files.
4711 # FIXME: Should let the user specify the lib program. 5074 shrext_cmds=".dll"
4712 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 5075 # FIXME: Setting linknames here is a bad hack.
4713 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' 5076 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
4714 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5077 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5078 sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5079 else
5080 sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5081 fi~
5082 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5083 linknames='
5084 # The linker will not automatically build a static lib if we build a DLL.
5085 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5086 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5087 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5088 # Don't use ranlib
5089 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5090 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5091 lt_tool_outputfile="@TOOL_OUTPUT@"~
5092 case $lt_outputfile in
5093 *.exe|*.EXE) ;;
5094 *)
5095 lt_outputfile="$lt_outputfile.exe"
5096 lt_tool_outputfile="$lt_tool_outputfile.exe"
5097 ;;
5098 esac~
5099 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5100 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5101 $RM "$lt_outputfile.manifest";
5102 fi'
5103 ;;
5104 *)
5105 # Assume MSVC wrapper
5106 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5107 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5108 # Tell ltmain to make .lib files, not .a files.
5109 libext=lib
5110 # Tell ltmain to make .dll files, not .so files.
5111 shrext_cmds=".dll"
5112 # FIXME: Setting linknames here is a bad hack.
5113 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5114 # The linker will automatically build a .lib file if we build a DLL.
5115 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5116 # FIXME: Should let the user specify the lib program.
5117 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5118 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5119 ;;
5120 esac
4715 ;; 5121 ;;
4716 5122
4717 darwin* | rhapsody*) 5123 darwin* | rhapsody*)
@@ -4749,7 +5155,7 @@ _LT_EOF
4749 5155
4750 # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 5156 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4751 freebsd* | dragonfly*) 5157 freebsd* | dragonfly*)
4752 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 5158 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4753 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5159 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4754 _LT_TAGVAR(hardcode_direct, $1)=yes 5160 _LT_TAGVAR(hardcode_direct, $1)=yes
4755 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5161 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4757,7 +5163,7 @@ _LT_EOF
4757 5163
4758 hpux9*) 5164 hpux9*)
4759 if test "$GCC" = yes; then 5165 if test "$GCC" = yes; then
4760 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 5166 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4761 else 5167 else
4762 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 5168 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4763 fi 5169 fi
@@ -4772,8 +5178,8 @@ _LT_EOF
4772 ;; 5178 ;;
4773 5179
4774 hpux10*) 5180 hpux10*)
4775 if test "$GCC" = yes -a "$with_gnu_ld" = no; then 5181 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
4776 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5182 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4777 else 5183 else
4778 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 5184 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4779 fi 5185 fi
@@ -4791,16 +5197,16 @@ _LT_EOF
4791 ;; 5197 ;;
4792 5198
4793 hpux11*) 5199 hpux11*)
4794 if test "$GCC" = yes -a "$with_gnu_ld" = no; then 5200 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
4795 case $host_cpu in 5201 case $host_cpu in
4796 hppa*64*) 5202 hppa*64*)
4797 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5203 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4798 ;; 5204 ;;
4799 ia64*) 5205 ia64*)
4800 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5206 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4801 ;; 5207 ;;
4802 *) 5208 *)
4803 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5209 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4804 ;; 5210 ;;
4805 esac 5211 esac
4806 else 5212 else
@@ -4812,7 +5218,14 @@ _LT_EOF
4812 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5218 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4813 ;; 5219 ;;
4814 *) 5220 *)
4815 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5221 m4_if($1, [], [
5222 # Older versions of the 11.00 compiler do not understand -b yet
5223 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5224 _LT_LINKER_OPTION([if $CC understands -b],
5225 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5226 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5227 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5228 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
4816 ;; 5229 ;;
4817 esac 5230 esac
4818 fi 5231 fi
@@ -4840,19 +5253,34 @@ _LT_EOF
4840 5253
4841 irix5* | irix6* | nonstopux*) 5254 irix5* | irix6* | nonstopux*)
4842 if test "$GCC" = yes; then 5255 if test "$GCC" = yes; then
4843 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 5256 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4844 # Try to use the -exported_symbol ld option, if it does not 5257 # Try to use the -exported_symbol ld option, if it does not
4845 # work, assume that -exports_file does not work either and 5258 # work, assume that -exports_file does not work either and
4846 # implicitly export all symbols. 5259 # implicitly export all symbols.
4847 save_LDFLAGS="$LDFLAGS" 5260 # This should be the same for all languages, so no per-tag cache variable.
4848 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 5261 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
4849 AC_LINK_IFELSE(int foo(void) {}, 5262 [lt_cv_irix_exported_symbol],
4850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' 5263 [save_LDFLAGS="$LDFLAGS"
4851 ) 5264 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4852 LDFLAGS="$save_LDFLAGS" 5265 AC_LINK_IFELSE(
5266 [AC_LANG_SOURCE(
5267 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5268 [C++], [[int foo (void) { return 0; }]],
5269 [Fortran 77], [[
5270 subroutine foo
5271 end]],
5272 [Fortran], [[
5273 subroutine foo
5274 end]])])],
5275 [lt_cv_irix_exported_symbol=yes],
5276 [lt_cv_irix_exported_symbol=no])
5277 LDFLAGS="$save_LDFLAGS"])
5278 if test "$lt_cv_irix_exported_symbol" = yes; then
5279 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
5280 fi
4853 else 5281 else
4854 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 5282 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
4855 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' 5283 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
4856 fi 5284 fi
4857 _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5285 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4858 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5286 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4914,17 +5342,17 @@ _LT_EOF
4914 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5342 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4915 _LT_TAGVAR(hardcode_minus_L, $1)=yes 5343 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4916 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5344 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4917 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' 5345 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
4918 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 5346 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4919 ;; 5347 ;;
4920 5348
4921 osf3*) 5349 osf3*)
4922 if test "$GCC" = yes; then 5350 if test "$GCC" = yes; then
4923 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 5351 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4924 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 5352 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4925 else 5353 else
4926 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5354 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4927 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 5355 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
4928 fi 5356 fi
4929 _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5357 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4930 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5358 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4934,13 +5362,13 @@ _LT_EOF
4934 osf4* | osf5*) # as osf3* with the addition of -msym flag 5362 osf4* | osf5*) # as osf3* with the addition of -msym flag
4935 if test "$GCC" = yes; then 5363 if test "$GCC" = yes; then
4936 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 5364 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4937 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 5365 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4938 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5366 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4939 else 5367 else
4940 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5368 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4941 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 5369 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
4942 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ 5370 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
4943 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' 5371 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
4944 5372
4945 # Both c and cxx compiler support -rpath directly 5373 # Both c and cxx compiler support -rpath directly
4946 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 5374 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -4953,9 +5381,9 @@ _LT_EOF
4953 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 5381 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4954 if test "$GCC" = yes; then 5382 if test "$GCC" = yes; then
4955 wlarc='${wl}' 5383 wlarc='${wl}'
4956 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5384 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4957 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5385 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4958 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 5386 $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4959 else 5387 else
4960 case `$CC -V 2>&1` in 5388 case `$CC -V 2>&1` in
4961 *"Compilers 5.0"*) 5389 *"Compilers 5.0"*)
@@ -5131,36 +5559,38 @@ x|xyes)
5131 # Test whether the compiler implicitly links with -lc since on some 5559 # Test whether the compiler implicitly links with -lc since on some
5132 # systems, -lgcc has to come before -lc. If gcc already passes -lc 5560 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5133 # to ld, don't add -lc before -lgcc. 5561 # to ld, don't add -lc before -lgcc.
5134 AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 5562 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5135 $RM conftest* 5563 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5136 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 5564 [$RM conftest*
5137 5565 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5138 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 5566
5139 soname=conftest 5567 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5140 lib=conftest 5568 soname=conftest
5141 libobjs=conftest.$ac_objext 5569 lib=conftest
5142 deplibs= 5570 libobjs=conftest.$ac_objext
5143 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 5571 deplibs=
5144 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 5572 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5145 compiler_flags=-v 5573 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5146 linker_flags=-v 5574 compiler_flags=-v
5147 verstring= 5575 linker_flags=-v
5148 output_objdir=. 5576 verstring=
5149 libname=conftest 5577 output_objdir=.
5150 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 5578 libname=conftest
5151 _LT_TAGVAR(allow_undefined_flag, $1)= 5579 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5152 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 5580 _LT_TAGVAR(allow_undefined_flag, $1)=
5153 then 5581 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5154 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5582 then
5155 else 5583 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5156 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5584 else
5157 fi 5585 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5158 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 5586 fi
5159 else 5587 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5160 cat conftest.err 1>&5 5588 else
5161 fi 5589 cat conftest.err 1>&5
5162 $RM conftest* 5590 fi
5163 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) 5591 $RM conftest*
5592 ])
5593 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
5164 ;; 5594 ;;
5165 esac 5595 esac
5166 fi 5596 fi
@@ -5225,8 +5655,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
5225 to runtime path list]) 5655 to runtime path list])
5226_LT_TAGDECL([], [link_all_deplibs], [0], 5656_LT_TAGDECL([], [link_all_deplibs], [0],
5227 [Whether libtool must link a program against all its dependency libraries]) 5657 [Whether libtool must link a program against all its dependency libraries])
5228_LT_TAGDECL([], [fix_srcfile_path], [1],
5229 [Fix the shell variable $srcfile for the compiler])
5230_LT_TAGDECL([], [always_export_symbols], [0], 5658_LT_TAGDECL([], [always_export_symbols], [0],
5231 [Set to "yes" if exported symbols are required]) 5659 [Set to "yes" if exported symbols are required])
5232_LT_TAGDECL([], [export_symbols_cmds], [2], 5660_LT_TAGDECL([], [export_symbols_cmds], [2],
@@ -5237,6 +5665,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
5237 [Symbols that must always be exported]) 5665 [Symbols that must always be exported])
5238_LT_TAGDECL([], [prelink_cmds], [2], 5666_LT_TAGDECL([], [prelink_cmds], [2],
5239 [Commands necessary for linking programs (against libraries) with templates]) 5667 [Commands necessary for linking programs (against libraries) with templates])
5668_LT_TAGDECL([], [postlink_cmds], [2],
5669 [Commands necessary for finishing linking programs])
5240_LT_TAGDECL([], [file_list_spec], [1], 5670_LT_TAGDECL([], [file_list_spec], [1],
5241 [Specify filename containing input files]) 5671 [Specify filename containing input files])
5242dnl FIXME: Not yet implemented 5672dnl FIXME: Not yet implemented
@@ -5330,37 +5760,22 @@ CC="$lt_save_CC"
5330])# _LT_LANG_C_CONFIG 5760])# _LT_LANG_C_CONFIG
5331 5761
5332 5762
5333# _LT_PROG_CXX
5334# ------------
5335# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5336# compiler, we have our own version here.
5337m4_defun([_LT_PROG_CXX],
5338[
5339pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5340AC_PROG_CXX
5341if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5342 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5343 (test "X$CXX" != "Xg++"))) ; then
5344 AC_PROG_CXXCPP
5345else
5346 _lt_caught_CXX_error=yes
5347fi
5348popdef([AC_MSG_ERROR])
5349])# _LT_PROG_CXX
5350
5351dnl aclocal-1.4 backwards compatibility:
5352dnl AC_DEFUN([_LT_PROG_CXX], [])
5353
5354
5355# _LT_LANG_CXX_CONFIG([TAG]) 5763# _LT_LANG_CXX_CONFIG([TAG])
5356# -------------------------- 5764# --------------------------
5357# Ensure that the configuration variables for a C++ compiler are suitably 5765# Ensure that the configuration variables for a C++ compiler are suitably
5358# defined. These variables are subsequently used by _LT_CONFIG to write 5766# defined. These variables are subsequently used by _LT_CONFIG to write
5359# the compiler configuration to `libtool'. 5767# the compiler configuration to `libtool'.
5360m4_defun([_LT_LANG_CXX_CONFIG], 5768m4_defun([_LT_LANG_CXX_CONFIG],
5361[AC_REQUIRE([_LT_PROG_CXX])dnl 5769[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5362m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5363m4_require([_LT_DECL_EGREP])dnl 5770m4_require([_LT_DECL_EGREP])dnl
5771m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5772if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5773 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5774 (test "X$CXX" != "Xg++"))) ; then
5775 AC_PROG_CXXCPP
5776else
5777 _lt_caught_CXX_error=yes
5778fi
5364 5779
5365AC_LANG_PUSH(C++) 5780AC_LANG_PUSH(C++)
5366_LT_TAGVAR(archive_cmds_need_lc, $1)=no 5781_LT_TAGVAR(archive_cmds_need_lc, $1)=no
@@ -5382,6 +5797,8 @@ _LT_TAGVAR(module_cmds, $1)=
5382_LT_TAGVAR(module_expsym_cmds, $1)= 5797_LT_TAGVAR(module_expsym_cmds, $1)=
5383_LT_TAGVAR(link_all_deplibs, $1)=unknown 5798_LT_TAGVAR(link_all_deplibs, $1)=unknown
5384_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 5799_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5800_LT_TAGVAR(reload_flag, $1)=$reload_flag
5801_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5385_LT_TAGVAR(no_undefined_flag, $1)= 5802_LT_TAGVAR(no_undefined_flag, $1)=
5386_LT_TAGVAR(whole_archive_flag_spec, $1)= 5803_LT_TAGVAR(whole_archive_flag_spec, $1)=
5387_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 5804_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -5413,6 +5830,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5413 5830
5414 # Allow CC to be a program name with arguments. 5831 # Allow CC to be a program name with arguments.
5415 lt_save_CC=$CC 5832 lt_save_CC=$CC
5833 lt_save_CFLAGS=$CFLAGS
5416 lt_save_LD=$LD 5834 lt_save_LD=$LD
5417 lt_save_GCC=$GCC 5835 lt_save_GCC=$GCC
5418 GCC=$GXX 5836 GCC=$GXX
@@ -5430,6 +5848,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5430 fi 5848 fi
5431 test -z "${LDCXX+set}" || LD=$LDCXX 5849 test -z "${LDCXX+set}" || LD=$LDCXX
5432 CC=${CXX-"c++"} 5850 CC=${CXX-"c++"}
5851 CFLAGS=$CXXFLAGS
5433 compiler=$CC 5852 compiler=$CC
5434 _LT_TAGVAR(compiler, $1)=$CC 5853 _LT_TAGVAR(compiler, $1)=$CC
5435 _LT_CC_BASENAME([$compiler]) 5854 _LT_CC_BASENAME([$compiler])
@@ -5451,8 +5870,8 @@ if test "$_lt_caught_CXX_error" != yes; then
5451 # Check if GNU C++ uses GNU ld as the underlying linker, since the 5870 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5452 # archiving commands below assume that GNU ld is being used. 5871 # archiving commands below assume that GNU ld is being used.
5453 if test "$with_gnu_ld" = yes; then 5872 if test "$with_gnu_ld" = yes; then
5454 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5873 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5455 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 5874 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5456 5875
5457 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5876 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5458 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5877 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5484,7 +5903,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5484 # Commands to make compiler produce verbose output that lists 5903 # Commands to make compiler produce verbose output that lists
5485 # what "hidden" libraries, object files and flags are used when 5904 # what "hidden" libraries, object files and flags are used when
5486 # linking a shared library. 5905 # linking a shared library.
5487 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 5906 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
5488 5907
5489 else 5908 else
5490 GXX=no 5909 GXX=no
@@ -5593,10 +6012,10 @@ if test "$_lt_caught_CXX_error" != yes; then
5593 _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 6012 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5594 # Determine the default libpath from the value encoded in an empty 6013 # Determine the default libpath from the value encoded in an empty
5595 # executable. 6014 # executable.
5596 _LT_SYS_MODULE_PATH_AIX 6015 _LT_SYS_MODULE_PATH_AIX([$1])
5597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 6016 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5598 6017
5599 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 6018 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5600 else 6019 else
5601 if test "$host_cpu" = ia64; then 6020 if test "$host_cpu" = ia64; then
5602 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 6021 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -5605,14 +6024,19 @@ if test "$_lt_caught_CXX_error" != yes; then
5605 else 6024 else
5606 # Determine the default libpath from the value encoded in an 6025 # Determine the default libpath from the value encoded in an
5607 # empty executable. 6026 # empty executable.
5608 _LT_SYS_MODULE_PATH_AIX 6027 _LT_SYS_MODULE_PATH_AIX([$1])
5609 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 6028 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5610 # Warning - without using the other run time loading flags, 6029 # Warning - without using the other run time loading flags,
5611 # -berok will link without error, but may produce a broken library. 6030 # -berok will link without error, but may produce a broken library.
5612 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 6031 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5613 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 6032 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5614 # Exported symbols can be pulled into shared objects from archives 6033 if test "$with_gnu_ld" = yes; then
5615 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 6034 # We only use this code for GNU lds that support --whole-archive.
6035 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6036 else
6037 # Exported symbols can be pulled into shared objects from archives
6038 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6039 fi
5616 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6040 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5617 # This is similar to how AIX traditionally builds its shared 6041 # This is similar to how AIX traditionally builds its shared
5618 # libraries. 6042 # libraries.
@@ -5642,28 +6066,75 @@ if test "$_lt_caught_CXX_error" != yes; then
5642 ;; 6066 ;;
5643 6067
5644 cygwin* | mingw* | pw32* | cegcc*) 6068 cygwin* | mingw* | pw32* | cegcc*)
5645 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 6069 case $GXX,$cc_basename in
5646 # as there is no search path for DLLs. 6070 ,cl* | no,cl*)
5647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6071 # Native MSVC
5648 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6072 # hardcode_libdir_flag_spec is actually meaningless, as there is
5649 _LT_TAGVAR(always_export_symbols, $1)=no 6073 # no search path for DLLs.
5650 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6074 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5651 6075 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5652 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 6076 _LT_TAGVAR(always_export_symbols, $1)=yes
5653 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 6077 _LT_TAGVAR(file_list_spec, $1)='@'
5654 # If the export-symbols file already is a .def file (1st line 6078 # Tell ltmain to make .lib files, not .a files.
5655 # is EXPORTS), use it as is; otherwise, prepend... 6079 libext=lib
5656 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 6080 # Tell ltmain to make .dll files, not .so files.
5657 cp $export_symbols $output_objdir/$soname.def; 6081 shrext_cmds=".dll"
5658 else 6082 # FIXME: Setting linknames here is a bad hack.
5659 echo EXPORTS > $output_objdir/$soname.def; 6083 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5660 cat $export_symbols >> $output_objdir/$soname.def; 6084 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5661 fi~ 6085 $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5662 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 6086 else
5663 else 6087 $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5664 _LT_TAGVAR(ld_shlibs, $1)=no 6088 fi~
5665 fi 6089 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5666 ;; 6090 linknames='
6091 # The linker will not automatically build a static lib if we build a DLL.
6092 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6093 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6094 # Don't use ranlib
6095 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6096 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6097 lt_tool_outputfile="@TOOL_OUTPUT@"~
6098 case $lt_outputfile in
6099 *.exe|*.EXE) ;;
6100 *)
6101 lt_outputfile="$lt_outputfile.exe"
6102 lt_tool_outputfile="$lt_tool_outputfile.exe"
6103 ;;
6104 esac~
6105 func_to_tool_file "$lt_outputfile"~
6106 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6107 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6108 $RM "$lt_outputfile.manifest";
6109 fi'
6110 ;;
6111 *)
6112 # g++
6113 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6114 # as there is no search path for DLLs.
6115 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6116 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6117 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6118 _LT_TAGVAR(always_export_symbols, $1)=no
6119 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6120
6121 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6122 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6123 # If the export-symbols file already is a .def file (1st line
6124 # is EXPORTS), use it as is; otherwise, prepend...
6125 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6126 cp $export_symbols $output_objdir/$soname.def;
6127 else
6128 echo EXPORTS > $output_objdir/$soname.def;
6129 cat $export_symbols >> $output_objdir/$soname.def;
6130 fi~
6131 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6132 else
6133 _LT_TAGVAR(ld_shlibs, $1)=no
6134 fi
6135 ;;
6136 esac
6137 ;;
5667 darwin* | rhapsody*) 6138 darwin* | rhapsody*)
5668 _LT_DARWIN_LINKER_FEATURES($1) 6139 _LT_DARWIN_LINKER_FEATURES($1)
5669 ;; 6140 ;;
@@ -5705,6 +6176,11 @@ if test "$_lt_caught_CXX_error" != yes; then
5705 gnu*) 6176 gnu*)
5706 ;; 6177 ;;
5707 6178
6179 haiku*)
6180 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6181 _LT_TAGVAR(link_all_deplibs, $1)=yes
6182 ;;
6183
5708 hpux9*) 6184 hpux9*)
5709 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 6185 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5710 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6186 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -5729,11 +6205,11 @@ if test "$_lt_caught_CXX_error" != yes; then
5729 # explicitly linking system object files so we need to strip them 6205 # explicitly linking system object files so we need to strip them
5730 # from the output so that they don't get included in the library 6206 # from the output so that they don't get included in the library
5731 # dependencies. 6207 # dependencies.
5732 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6208 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
5733 ;; 6209 ;;
5734 *) 6210 *)
5735 if test "$GXX" = yes; then 6211 if test "$GXX" = yes; then
5736 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 6212 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5737 else 6213 else
5738 # FIXME: insert proper C++ library support 6214 # FIXME: insert proper C++ library support
5739 _LT_TAGVAR(ld_shlibs, $1)=no 6215 _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5794,7 +6270,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5794 # explicitly linking system object files so we need to strip them 6270 # explicitly linking system object files so we need to strip them
5795 # from the output so that they don't get included in the library 6271 # from the output so that they don't get included in the library
5796 # dependencies. 6272 # dependencies.
5797 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6273 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
5798 ;; 6274 ;;
5799 *) 6275 *)
5800 if test "$GXX" = yes; then 6276 if test "$GXX" = yes; then
@@ -5804,10 +6280,10 @@ if test "$_lt_caught_CXX_error" != yes; then
5804 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6280 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5805 ;; 6281 ;;
5806 ia64*) 6282 ia64*)
5807 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6283 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5808 ;; 6284 ;;
5809 *) 6285 *)
5810 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6286 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5811 ;; 6287 ;;
5812 esac 6288 esac
5813 fi 6289 fi
@@ -5837,7 +6313,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5837 case $cc_basename in 6313 case $cc_basename in
5838 CC*) 6314 CC*)
5839 # SGI C++ 6315 # SGI C++
5840 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 6316 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
5841 6317
5842 # Archives containing C++ object files must be created using 6318 # Archives containing C++ object files must be created using
5843 # "CC -ar", where "CC" is the IRIX C++ compiler. This is 6319 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
@@ -5848,9 +6324,9 @@ if test "$_lt_caught_CXX_error" != yes; then
5848 *) 6324 *)
5849 if test "$GXX" = yes; then 6325 if test "$GXX" = yes; then
5850 if test "$with_gnu_ld" = no; then 6326 if test "$with_gnu_ld" = no; then
5851 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 6327 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5852 else 6328 else
5853 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' 6329 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
5854 fi 6330 fi
5855 fi 6331 fi
5856 _LT_TAGVAR(link_all_deplibs, $1)=yes 6332 _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -5879,7 +6355,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5879 # explicitly linking system object files so we need to strip them 6355 # explicitly linking system object files so we need to strip them
5880 # from the output so that they don't get included in the library 6356 # from the output so that they don't get included in the library
5881 # dependencies. 6357 # dependencies.
5882 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6358 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
5883 6359
5884 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6360 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5885 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6361 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5916,26 +6392,26 @@ if test "$_lt_caught_CXX_error" != yes; then
5916 pgCC* | pgcpp*) 6392 pgCC* | pgcpp*)
5917 # Portland Group C++ compiler 6393 # Portland Group C++ compiler
5918 case `$CC -V` in 6394 case `$CC -V` in
5919 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) 6395 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
5920 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 6396 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5921 rm -rf $tpldir~ 6397 rm -rf $tpldir~
5922 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 6398 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5923 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' 6399 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
5924 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 6400 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5925 rm -rf $tpldir~ 6401 rm -rf $tpldir~
5926 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 6402 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5927 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ 6403 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
5928 $RANLIB $oldlib' 6404 $RANLIB $oldlib'
5929 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 6405 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5930 rm -rf $tpldir~ 6406 rm -rf $tpldir~
5931 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 6407 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5932 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 6408 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5933 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 6409 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5934 rm -rf $tpldir~ 6410 rm -rf $tpldir~
5935 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 6411 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5936 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 6412 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5937 ;; 6413 ;;
5938 *) # Version 6 will use weak symbols 6414 *) # Version 6 and above use weak symbols
5939 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 6415 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5940 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 6416 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5941 ;; 6417 ;;
@@ -5943,7 +6419,7 @@ if test "$_lt_caught_CXX_error" != yes; then
5943 6419
5944 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 6420 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5945 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6421 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5946 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 6422 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
5947 ;; 6423 ;;
5948 cxx*) 6424 cxx*)
5949 # Compaq C++ 6425 # Compaq C++
@@ -5962,9 +6438,9 @@ if test "$_lt_caught_CXX_error" != yes; then
5962 # explicitly linking system object files so we need to strip them 6438 # explicitly linking system object files so we need to strip them
5963 # from the output so that they don't get included in the library 6439 # from the output so that they don't get included in the library
5964 # dependencies. 6440 # dependencies.
5965 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6441 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
5966 ;; 6442 ;;
5967 xl*) 6443 xl* | mpixl* | bgxl*)
5968 # IBM XL 8.0 on PPC, with GNU ld 6444 # IBM XL 8.0 on PPC, with GNU ld
5969 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6445 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5970 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 6446 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5984,13 +6460,13 @@ if test "$_lt_caught_CXX_error" != yes; then
5984 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6460 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5985 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' 6461 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
5986 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6462 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5987 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 6463 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
5988 _LT_TAGVAR(compiler_needs_object, $1)=yes 6464 _LT_TAGVAR(compiler_needs_object, $1)=yes
5989 6465
5990 # Not sure whether something based on 6466 # Not sure whether something based on
5991 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 6467 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5992 # would be better. 6468 # would be better.
5993 output_verbose_link_cmd='echo' 6469 output_verbose_link_cmd='func_echo_all'
5994 6470
5995 # Archives containing C++ object files must be created using 6471 # Archives containing C++ object files must be created using
5996 # "CC -xar", where "CC" is the Sun C++ compiler. This is 6472 # "CC -xar", where "CC" is the Sun C++ compiler. This is
@@ -6059,7 +6535,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6059 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6535 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6060 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 6536 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6061 fi 6537 fi
6062 output_verbose_link_cmd=echo 6538 output_verbose_link_cmd=func_echo_all
6063 else 6539 else
6064 _LT_TAGVAR(ld_shlibs, $1)=no 6540 _LT_TAGVAR(ld_shlibs, $1)=no
6065 fi 6541 fi
@@ -6094,15 +6570,15 @@ if test "$_lt_caught_CXX_error" != yes; then
6094 case $host in 6570 case $host in
6095 osf3*) 6571 osf3*)
6096 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6572 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6097 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 6573 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
6098 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6574 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6099 ;; 6575 ;;
6100 *) 6576 *)
6101 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6577 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6102 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 6578 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
6103 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 6579 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6104 echo "-hidden">> $lib.exp~ 6580 echo "-hidden">> $lib.exp~
6105 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ 6581 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
6106 $RM $lib.exp' 6582 $RM $lib.exp'
6107 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6583 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6108 ;; 6584 ;;
@@ -6118,17 +6594,17 @@ if test "$_lt_caught_CXX_error" != yes; then
6118 # explicitly linking system object files so we need to strip them 6594 # explicitly linking system object files so we need to strip them
6119 # from the output so that they don't get included in the library 6595 # from the output so that they don't get included in the library
6120 # dependencies. 6596 # dependencies.
6121 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6597 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6122 ;; 6598 ;;
6123 *) 6599 *)
6124 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6600 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6125 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6601 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6126 case $host in 6602 case $host in
6127 osf3*) 6603 osf3*)
6128 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 6604 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6129 ;; 6605 ;;
6130 *) 6606 *)
6131 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 6607 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6132 ;; 6608 ;;
6133 esac 6609 esac
6134 6610
@@ -6138,7 +6614,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6138 # Commands to make compiler produce verbose output that lists 6614 # Commands to make compiler produce verbose output that lists
6139 # what "hidden" libraries, object files and flags are used when 6615 # what "hidden" libraries, object files and flags are used when
6140 # linking a shared library. 6616 # linking a shared library.
6141 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6617 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6142 6618
6143 else 6619 else
6144 # FIXME: insert proper C++ library support 6620 # FIXME: insert proper C++ library support
@@ -6174,7 +6650,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6174 6650
6175 solaris*) 6651 solaris*)
6176 case $cc_basename in 6652 case $cc_basename in
6177 CC*) 6653 CC* | sunCC*)
6178 # Sun C++ 4.2, 5.x and Centerline C++ 6654 # Sun C++ 4.2, 5.x and Centerline C++
6179 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 6655 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6180 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 6656 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -6195,7 +6671,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6195 esac 6671 esac
6196 _LT_TAGVAR(link_all_deplibs, $1)=yes 6672 _LT_TAGVAR(link_all_deplibs, $1)=yes
6197 6673
6198 output_verbose_link_cmd='echo' 6674 output_verbose_link_cmd='func_echo_all'
6199 6675
6200 # Archives containing C++ object files must be created using 6676 # Archives containing C++ object files must be created using
6201 # "CC -xar", where "CC" is the Sun C++ compiler. This is 6677 # "CC -xar", where "CC" is the Sun C++ compiler. This is
@@ -6215,14 +6691,14 @@ if test "$_lt_caught_CXX_error" != yes; then
6215 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6691 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6216 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 6692 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6217 if $CC --version | $GREP -v '^2\.7' > /dev/null; then 6693 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6218 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6694 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6219 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6695 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6220 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6696 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6221 6697
6222 # Commands to make compiler produce verbose output that lists 6698 # Commands to make compiler produce verbose output that lists
6223 # what "hidden" libraries, object files and flags are used when 6699 # what "hidden" libraries, object files and flags are used when
6224 # linking a shared library. 6700 # linking a shared library.
6225 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6701 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6226 else 6702 else
6227 # g++ 2.7 appears to require `-G' NOT `-shared' on this 6703 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6228 # platform. 6704 # platform.
@@ -6233,7 +6709,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6233 # Commands to make compiler produce verbose output that lists 6709 # Commands to make compiler produce verbose output that lists
6234 # what "hidden" libraries, object files and flags are used when 6710 # what "hidden" libraries, object files and flags are used when
6235 # linking a shared library. 6711 # linking a shared library.
6236 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6712 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6237 fi 6713 fi
6238 6714
6239 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 6715 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
@@ -6287,6 +6763,10 @@ if test "$_lt_caught_CXX_error" != yes; then
6287 CC*) 6763 CC*)
6288 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6764 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6289 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6765 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6766 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6767 '"$_LT_TAGVAR(old_archive_cmds, $1)"
6768 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6769 '"$_LT_TAGVAR(reload_cmds, $1)"
6290 ;; 6770 ;;
6291 *) 6771 *)
6292 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6772 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -6342,6 +6822,7 @@ if test "$_lt_caught_CXX_error" != yes; then
6342 fi # test -n "$compiler" 6822 fi # test -n "$compiler"
6343 6823
6344 CC=$lt_save_CC 6824 CC=$lt_save_CC
6825 CFLAGS=$lt_save_CFLAGS
6345 LDCXX=$LD 6826 LDCXX=$LD
6346 LD=$lt_save_LD 6827 LD=$lt_save_LD
6347 GCC=$lt_save_GCC 6828 GCC=$lt_save_GCC
@@ -6356,6 +6837,29 @@ AC_LANG_POP
6356])# _LT_LANG_CXX_CONFIG 6837])# _LT_LANG_CXX_CONFIG
6357 6838
6358 6839
6840# _LT_FUNC_STRIPNAME_CNF
6841# ----------------------
6842# func_stripname_cnf prefix suffix name
6843# strip PREFIX and SUFFIX off of NAME.
6844# PREFIX and SUFFIX must not contain globbing or regex special
6845# characters, hashes, percent signs, but SUFFIX may contain a leading
6846# dot (in which case that matches only a dot).
6847#
6848# This function is identical to the (non-XSI) version of func_stripname,
6849# except this one can be used by m4 code that may be executed by configure,
6850# rather than the libtool script.
6851m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6852AC_REQUIRE([_LT_DECL_SED])
6853AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6854func_stripname_cnf ()
6855{
6856 case ${2} in
6857 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6858 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6859 esac
6860} # func_stripname_cnf
6861])# _LT_FUNC_STRIPNAME_CNF
6862
6359# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 6863# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6360# --------------------------------- 6864# ---------------------------------
6361# Figure out "hidden" library dependencies from verbose 6865# Figure out "hidden" library dependencies from verbose
@@ -6364,6 +6868,7 @@ AC_LANG_POP
6364# objects, libraries and library flags. 6868# objects, libraries and library flags.
6365m4_defun([_LT_SYS_HIDDEN_LIBDEPS], 6869m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6366[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6870[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6871AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6367# Dependencies to place before and after the object being linked: 6872# Dependencies to place before and after the object being linked:
6368_LT_TAGVAR(predep_objects, $1)= 6873_LT_TAGVAR(predep_objects, $1)=
6369_LT_TAGVAR(postdep_objects, $1)= 6874_LT_TAGVAR(postdep_objects, $1)=
@@ -6414,6 +6919,13 @@ public class foo {
6414}; 6919};
6415_LT_EOF 6920_LT_EOF
6416]) 6921])
6922
6923_lt_libdeps_save_CFLAGS=$CFLAGS
6924case "$CC $CFLAGS " in #(
6925*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
6926*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
6927esac
6928
6417dnl Parse the compiler output and extract the necessary 6929dnl Parse the compiler output and extract the necessary
6418dnl objects, libraries and library flags. 6930dnl objects, libraries and library flags.
6419if AC_TRY_EVAL(ac_compile); then 6931if AC_TRY_EVAL(ac_compile); then
@@ -6425,7 +6937,7 @@ if AC_TRY_EVAL(ac_compile); then
6425 pre_test_object_deps_done=no 6937 pre_test_object_deps_done=no
6426 6938
6427 for p in `eval "$output_verbose_link_cmd"`; do 6939 for p in `eval "$output_verbose_link_cmd"`; do
6428 case $p in 6940 case ${prev}${p} in
6429 6941
6430 -L* | -R* | -l*) 6942 -L* | -R* | -l*)
6431 # Some compilers place space between "-{L,R}" and the path. 6943 # Some compilers place space between "-{L,R}" and the path.
@@ -6434,13 +6946,22 @@ if AC_TRY_EVAL(ac_compile); then
6434 test $p = "-R"; then 6946 test $p = "-R"; then
6435 prev=$p 6947 prev=$p
6436 continue 6948 continue
6437 else
6438 prev=
6439 fi 6949 fi
6440 6950
6951 # Expand the sysroot to ease extracting the directories later.
6952 if test -z "$prev"; then
6953 case $p in
6954 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
6955 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
6956 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
6957 esac
6958 fi
6959 case $p in
6960 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
6961 esac
6441 if test "$pre_test_object_deps_done" = no; then 6962 if test "$pre_test_object_deps_done" = no; then
6442 case $p in 6963 case ${prev} in
6443 -L* | -R*) 6964 -L | -R)
6444 # Internal compiler library paths should come after those 6965 # Internal compiler library paths should come after those
6445 # provided the user. The postdeps already come after the 6966 # provided the user. The postdeps already come after the
6446 # user supplied libs so there is no need to process them. 6967 # user supplied libs so there is no need to process them.
@@ -6460,8 +6981,10 @@ if AC_TRY_EVAL(ac_compile); then
6460 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 6981 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6461 fi 6982 fi
6462 fi 6983 fi
6984 prev=
6463 ;; 6985 ;;
6464 6986
6987 *.lto.$objext) ;; # Ignore GCC LTO objects
6465 *.$objext) 6988 *.$objext)
6466 # This assumes that the test object file only shows up 6989 # This assumes that the test object file only shows up
6467 # once in the compiler output. 6990 # once in the compiler output.
@@ -6497,6 +7020,7 @@ else
6497fi 7020fi
6498 7021
6499$RM -f confest.$objext 7022$RM -f confest.$objext
7023CFLAGS=$_lt_libdeps_save_CFLAGS
6500 7024
6501# PORTME: override above test on systems where it is broken 7025# PORTME: override above test on systems where it is broken
6502m4_if([$1], [CXX], 7026m4_if([$1], [CXX],
@@ -6533,7 +7057,7 @@ linux*)
6533 7057
6534solaris*) 7058solaris*)
6535 case $cc_basename in 7059 case $cc_basename in
6536 CC*) 7060 CC* | sunCC*)
6537 # The more standards-conforming stlport4 library is 7061 # The more standards-conforming stlport4 library is
6538 # incompatible with the Cstd library. Avoid specifying 7062 # incompatible with the Cstd library. Avoid specifying
6539 # it if it's in CXXFLAGS. Ignore libCrun as 7063 # it if it's in CXXFLAGS. Ignore libCrun as
@@ -6577,32 +7101,16 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
6577])# _LT_SYS_HIDDEN_LIBDEPS 7101])# _LT_SYS_HIDDEN_LIBDEPS
6578 7102
6579 7103
6580# _LT_PROG_F77
6581# ------------
6582# Since AC_PROG_F77 is broken, in that it returns the empty string
6583# if there is no fortran compiler, we have our own version here.
6584m4_defun([_LT_PROG_F77],
6585[
6586pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6587AC_PROG_F77
6588if test -z "$F77" || test "X$F77" = "Xno"; then
6589 _lt_disable_F77=yes
6590fi
6591popdef([AC_MSG_ERROR])
6592])# _LT_PROG_F77
6593
6594dnl aclocal-1.4 backwards compatibility:
6595dnl AC_DEFUN([_LT_PROG_F77], [])
6596
6597
6598# _LT_LANG_F77_CONFIG([TAG]) 7104# _LT_LANG_F77_CONFIG([TAG])
6599# -------------------------- 7105# --------------------------
6600# Ensure that the configuration variables for a Fortran 77 compiler are 7106# Ensure that the configuration variables for a Fortran 77 compiler are
6601# suitably defined. These variables are subsequently used by _LT_CONFIG 7107# suitably defined. These variables are subsequently used by _LT_CONFIG
6602# to write the compiler configuration to `libtool'. 7108# to write the compiler configuration to `libtool'.
6603m4_defun([_LT_LANG_F77_CONFIG], 7109m4_defun([_LT_LANG_F77_CONFIG],
6604[AC_REQUIRE([_LT_PROG_F77])dnl 7110[AC_LANG_PUSH(Fortran 77)
6605AC_LANG_PUSH(Fortran 77) 7111if test -z "$F77" || test "X$F77" = "Xno"; then
7112 _lt_disable_F77=yes
7113fi
6606 7114
6607_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7115_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6608_LT_TAGVAR(allow_undefined_flag, $1)= 7116_LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6621,6 +7129,8 @@ _LT_TAGVAR(module_cmds, $1)=
6621_LT_TAGVAR(module_expsym_cmds, $1)= 7129_LT_TAGVAR(module_expsym_cmds, $1)=
6622_LT_TAGVAR(link_all_deplibs, $1)=unknown 7130_LT_TAGVAR(link_all_deplibs, $1)=unknown
6623_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7131_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7132_LT_TAGVAR(reload_flag, $1)=$reload_flag
7133_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6624_LT_TAGVAR(no_undefined_flag, $1)= 7134_LT_TAGVAR(no_undefined_flag, $1)=
6625_LT_TAGVAR(whole_archive_flag_spec, $1)= 7135_LT_TAGVAR(whole_archive_flag_spec, $1)=
6626_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7136_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6660,7 +7170,9 @@ if test "$_lt_disable_F77" != yes; then
6660 # Allow CC to be a program name with arguments. 7170 # Allow CC to be a program name with arguments.
6661 lt_save_CC="$CC" 7171 lt_save_CC="$CC"
6662 lt_save_GCC=$GCC 7172 lt_save_GCC=$GCC
7173 lt_save_CFLAGS=$CFLAGS
6663 CC=${F77-"f77"} 7174 CC=${F77-"f77"}
7175 CFLAGS=$FFLAGS
6664 compiler=$CC 7176 compiler=$CC
6665 _LT_TAGVAR(compiler, $1)=$CC 7177 _LT_TAGVAR(compiler, $1)=$CC
6666 _LT_CC_BASENAME([$compiler]) 7178 _LT_CC_BASENAME([$compiler])
@@ -6714,38 +7226,24 @@ if test "$_lt_disable_F77" != yes; then
6714 7226
6715 GCC=$lt_save_GCC 7227 GCC=$lt_save_GCC
6716 CC="$lt_save_CC" 7228 CC="$lt_save_CC"
7229 CFLAGS="$lt_save_CFLAGS"
6717fi # test "$_lt_disable_F77" != yes 7230fi # test "$_lt_disable_F77" != yes
6718 7231
6719AC_LANG_POP 7232AC_LANG_POP
6720])# _LT_LANG_F77_CONFIG 7233])# _LT_LANG_F77_CONFIG
6721 7234
6722 7235
6723# _LT_PROG_FC
6724# -----------
6725# Since AC_PROG_FC is broken, in that it returns the empty string
6726# if there is no fortran compiler, we have our own version here.
6727m4_defun([_LT_PROG_FC],
6728[
6729pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6730AC_PROG_FC
6731if test -z "$FC" || test "X$FC" = "Xno"; then
6732 _lt_disable_FC=yes
6733fi
6734popdef([AC_MSG_ERROR])
6735])# _LT_PROG_FC
6736
6737dnl aclocal-1.4 backwards compatibility:
6738dnl AC_DEFUN([_LT_PROG_FC], [])
6739
6740
6741# _LT_LANG_FC_CONFIG([TAG]) 7236# _LT_LANG_FC_CONFIG([TAG])
6742# ------------------------- 7237# -------------------------
6743# Ensure that the configuration variables for a Fortran compiler are 7238# Ensure that the configuration variables for a Fortran compiler are
6744# suitably defined. These variables are subsequently used by _LT_CONFIG 7239# suitably defined. These variables are subsequently used by _LT_CONFIG
6745# to write the compiler configuration to `libtool'. 7240# to write the compiler configuration to `libtool'.
6746m4_defun([_LT_LANG_FC_CONFIG], 7241m4_defun([_LT_LANG_FC_CONFIG],
6747[AC_REQUIRE([_LT_PROG_FC])dnl 7242[AC_LANG_PUSH(Fortran)
6748AC_LANG_PUSH(Fortran) 7243
7244if test -z "$FC" || test "X$FC" = "Xno"; then
7245 _lt_disable_FC=yes
7246fi
6749 7247
6750_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7248_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6751_LT_TAGVAR(allow_undefined_flag, $1)= 7249_LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6764,6 +7262,8 @@ _LT_TAGVAR(module_cmds, $1)=
6764_LT_TAGVAR(module_expsym_cmds, $1)= 7262_LT_TAGVAR(module_expsym_cmds, $1)=
6765_LT_TAGVAR(link_all_deplibs, $1)=unknown 7263_LT_TAGVAR(link_all_deplibs, $1)=unknown
6766_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7264_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7265_LT_TAGVAR(reload_flag, $1)=$reload_flag
7266_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6767_LT_TAGVAR(no_undefined_flag, $1)= 7267_LT_TAGVAR(no_undefined_flag, $1)=
6768_LT_TAGVAR(whole_archive_flag_spec, $1)= 7268_LT_TAGVAR(whole_archive_flag_spec, $1)=
6769_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7269_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6803,7 +7303,9 @@ if test "$_lt_disable_FC" != yes; then
6803 # Allow CC to be a program name with arguments. 7303 # Allow CC to be a program name with arguments.
6804 lt_save_CC="$CC" 7304 lt_save_CC="$CC"
6805 lt_save_GCC=$GCC 7305 lt_save_GCC=$GCC
7306 lt_save_CFLAGS=$CFLAGS
6806 CC=${FC-"f95"} 7307 CC=${FC-"f95"}
7308 CFLAGS=$FCFLAGS
6807 compiler=$CC 7309 compiler=$CC
6808 GCC=$ac_cv_fc_compiler_gnu 7310 GCC=$ac_cv_fc_compiler_gnu
6809 7311
@@ -6859,7 +7361,8 @@ if test "$_lt_disable_FC" != yes; then
6859 fi # test -n "$compiler" 7361 fi # test -n "$compiler"
6860 7362
6861 GCC=$lt_save_GCC 7363 GCC=$lt_save_GCC
6862 CC="$lt_save_CC" 7364 CC=$lt_save_CC
7365 CFLAGS=$lt_save_CFLAGS
6863fi # test "$_lt_disable_FC" != yes 7366fi # test "$_lt_disable_FC" != yes
6864 7367
6865AC_LANG_POP 7368AC_LANG_POP
@@ -6896,10 +7399,12 @@ _LT_COMPILER_BOILERPLATE
6896_LT_LINKER_BOILERPLATE 7399_LT_LINKER_BOILERPLATE
6897 7400
6898# Allow CC to be a program name with arguments. 7401# Allow CC to be a program name with arguments.
6899lt_save_CC="$CC" 7402lt_save_CC=$CC
7403lt_save_CFLAGS=$CFLAGS
6900lt_save_GCC=$GCC 7404lt_save_GCC=$GCC
6901GCC=yes 7405GCC=yes
6902CC=${GCJ-"gcj"} 7406CC=${GCJ-"gcj"}
7407CFLAGS=$GCJFLAGS
6903compiler=$CC 7408compiler=$CC
6904_LT_TAGVAR(compiler, $1)=$CC 7409_LT_TAGVAR(compiler, $1)=$CC
6905_LT_TAGVAR(LD, $1)="$LD" 7410_LT_TAGVAR(LD, $1)="$LD"
@@ -6909,6 +7414,8 @@ _LT_CC_BASENAME([$compiler])
6909_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7414_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6910 7415
6911_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7416_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7417_LT_TAGVAR(reload_flag, $1)=$reload_flag
7418_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6912 7419
6913## CAVEAT EMPTOR: 7420## CAVEAT EMPTOR:
6914## There is no encapsulation within the following macros, do not change 7421## There is no encapsulation within the following macros, do not change
@@ -6928,7 +7435,8 @@ fi
6928AC_LANG_RESTORE 7435AC_LANG_RESTORE
6929 7436
6930GCC=$lt_save_GCC 7437GCC=$lt_save_GCC
6931CC="$lt_save_CC" 7438CC=$lt_save_CC
7439CFLAGS=$lt_save_CFLAGS
6932])# _LT_LANG_GCJ_CONFIG 7440])# _LT_LANG_GCJ_CONFIG
6933 7441
6934 7442
@@ -6963,9 +7471,11 @@ _LT_LINKER_BOILERPLATE
6963 7471
6964# Allow CC to be a program name with arguments. 7472# Allow CC to be a program name with arguments.
6965lt_save_CC="$CC" 7473lt_save_CC="$CC"
7474lt_save_CFLAGS=$CFLAGS
6966lt_save_GCC=$GCC 7475lt_save_GCC=$GCC
6967GCC= 7476GCC=
6968CC=${RC-"windres"} 7477CC=${RC-"windres"}
7478CFLAGS=
6969compiler=$CC 7479compiler=$CC
6970_LT_TAGVAR(compiler, $1)=$CC 7480_LT_TAGVAR(compiler, $1)=$CC
6971_LT_CC_BASENAME([$compiler]) 7481_LT_CC_BASENAME([$compiler])
@@ -6978,7 +7488,8 @@ fi
6978 7488
6979GCC=$lt_save_GCC 7489GCC=$lt_save_GCC
6980AC_LANG_RESTORE 7490AC_LANG_RESTORE
6981CC="$lt_save_CC" 7491CC=$lt_save_CC
7492CFLAGS=$lt_save_CFLAGS
6982])# _LT_LANG_RC_CONFIG 7493])# _LT_LANG_RC_CONFIG
6983 7494
6984 7495
@@ -7037,6 +7548,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7037AC_SUBST([OBJDUMP]) 7548AC_SUBST([OBJDUMP])
7038]) 7549])
7039 7550
7551# _LT_DECL_DLLTOOL
7552# ----------------
7553# Ensure DLLTOOL variable is set.
7554m4_defun([_LT_DECL_DLLTOOL],
7555[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7556test -z "$DLLTOOL" && DLLTOOL=dlltool
7557_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7558AC_SUBST([DLLTOOL])
7559])
7040 7560
7041# _LT_DECL_SED 7561# _LT_DECL_SED
7042# ------------ 7562# ------------
@@ -7130,8 +7650,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
7130# Try some XSI features 7650# Try some XSI features
7131xsi_shell=no 7651xsi_shell=no
7132( _lt_dummy="a/b/c" 7652( _lt_dummy="a/b/c"
7133 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ 7653 test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7134 = c,a/b,, \ 7654 = c,a/b,b/c, \
7135 && eval 'test $(( 1 + 1 )) -eq 2 \ 7655 && eval 'test $(( 1 + 1 )) -eq 2 \
7136 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 7656 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7137 && xsi_shell=yes 7657 && xsi_shell=yes
@@ -7170,208 +7690,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7170])# _LT_CHECK_SHELL_FEATURES 7690])# _LT_CHECK_SHELL_FEATURES
7171 7691
7172 7692
7173# _LT_PROG_XSI_SHELLFNS 7693# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7174# --------------------- 7694# ------------------------------------------------------
7175# Bourne and XSI compatible variants of some useful shell functions. 7695# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7176m4_defun([_LT_PROG_XSI_SHELLFNS], 7696# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7177[case $xsi_shell in 7697m4_defun([_LT_PROG_FUNCTION_REPLACE],
7178 yes) 7698[dnl {
7179 cat << \_LT_EOF >> "$cfgfile" 7699sed -e '/^$1 ()$/,/^} # $1 /c\
7180 7700$1 ()\
7181# func_dirname file append nondir_replacement 7701{\
7182# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7702m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
7183# otherwise set result to NONDIR_REPLACEMENT. 7703} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7184func_dirname () 7704 && mv -f "$cfgfile.tmp" "$cfgfile" \
7185{ 7705 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7186 case ${1} in 7706test 0 -eq $? || _lt_function_replace_fail=:
7187 */*) func_dirname_result="${1%/*}${2}" ;; 7707])
7188 * ) func_dirname_result="${3}" ;;
7189 esac
7190}
7191
7192# func_basename file
7193func_basename ()
7194{
7195 func_basename_result="${1##*/}"
7196}
7197
7198# func_dirname_and_basename file append nondir_replacement
7199# perform func_basename and func_dirname in a single function
7200# call:
7201# dirname: Compute the dirname of FILE. If nonempty,
7202# add APPEND to the result, otherwise set result
7203# to NONDIR_REPLACEMENT.
7204# value returned in "$func_dirname_result"
7205# basename: Compute filename of FILE.
7206# value retuned in "$func_basename_result"
7207# Implementation must be kept synchronized with func_dirname
7208# and func_basename. For efficiency, we do not delegate to
7209# those functions but instead duplicate the functionality here.
7210func_dirname_and_basename ()
7211{
7212 case ${1} in
7213 */*) func_dirname_result="${1%/*}${2}" ;;
7214 * ) func_dirname_result="${3}" ;;
7215 esac
7216 func_basename_result="${1##*/}"
7217}
7218
7219# func_stripname prefix suffix name
7220# strip PREFIX and SUFFIX off of NAME.
7221# PREFIX and SUFFIX must not contain globbing or regex special
7222# characters, hashes, percent signs, but SUFFIX may contain a leading
7223# dot (in which case that matches only a dot).
7224func_stripname ()
7225{
7226 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7227 # positional parameters, so assign one to ordinary parameter first.
7228 func_stripname_result=${3}
7229 func_stripname_result=${func_stripname_result#"${1}"}
7230 func_stripname_result=${func_stripname_result%"${2}"}
7231}
7232
7233# func_opt_split
7234func_opt_split ()
7235{
7236 func_opt_split_opt=${1%%=*}
7237 func_opt_split_arg=${1#*=}
7238}
7239
7240# func_lo2o object
7241func_lo2o ()
7242{
7243 case ${1} in
7244 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7245 *) func_lo2o_result=${1} ;;
7246 esac
7247}
7248
7249# func_xform libobj-or-source
7250func_xform ()
7251{
7252 func_xform_result=${1%.*}.lo
7253}
7254
7255# func_arith arithmetic-term...
7256func_arith ()
7257{
7258 func_arith_result=$(( $[*] ))
7259}
7260
7261# func_len string
7262# STRING may not start with a hyphen.
7263func_len ()
7264{
7265 func_len_result=${#1}
7266}
7267 7708
7268_LT_EOF
7269 ;;
7270 *) # Bourne compatible functions.
7271 cat << \_LT_EOF >> "$cfgfile"
7272 7709
7273# func_dirname file append nondir_replacement 7710# _LT_PROG_REPLACE_SHELLFNS
7274# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7711# -------------------------
7275# otherwise set result to NONDIR_REPLACEMENT. 7712# Replace existing portable implementations of several shell functions with
7276func_dirname () 7713# equivalent extended shell implementations where those features are available..
7277{ 7714m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7278 # Extract subdirectory from the argument. 7715[if test x"$xsi_shell" = xyes; then
7279 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 7716 _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7280 if test "X$func_dirname_result" = "X${1}"; then 7717 case ${1} in
7281 func_dirname_result="${3}" 7718 */*) func_dirname_result="${1%/*}${2}" ;;
7282 else 7719 * ) func_dirname_result="${3}" ;;
7283 func_dirname_result="$func_dirname_result${2}" 7720 esac])
7284 fi 7721
7285} 7722 _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7723 func_basename_result="${1##*/}"])
7724
7725 _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7726 case ${1} in
7727 */*) func_dirname_result="${1%/*}${2}" ;;
7728 * ) func_dirname_result="${3}" ;;
7729 esac
7730 func_basename_result="${1##*/}"])
7286 7731
7287# func_basename file 7732 _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7288func_basename () 7733 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7289{ 7734 # positional parameters, so assign one to ordinary parameter first.
7290 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 7735 func_stripname_result=${3}
7291} 7736 func_stripname_result=${func_stripname_result#"${1}"}
7737 func_stripname_result=${func_stripname_result%"${2}"}])
7292 7738
7293dnl func_dirname_and_basename 7739 _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7294dnl A portable version of this function is already defined in general.m4sh 7740 func_split_long_opt_name=${1%%=*}
7295dnl so there is no need for it here. 7741 func_split_long_opt_arg=${1#*=}])
7296 7742
7297# func_stripname prefix suffix name 7743 _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7298# strip PREFIX and SUFFIX off of NAME. 7744 func_split_short_opt_arg=${1#??}
7299# PREFIX and SUFFIX must not contain globbing or regex special 7745 func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7300# characters, hashes, percent signs, but SUFFIX may contain a leading
7301# dot (in which case that matches only a dot).
7302# func_strip_suffix prefix name
7303func_stripname ()
7304{
7305 case ${2} in
7306 .*) func_stripname_result=`$ECHO "X${3}" \
7307 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7308 *) func_stripname_result=`$ECHO "X${3}" \
7309 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7310 esac
7311}
7312 7746
7313# sed scripts: 7747 _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7314my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' 7748 case ${1} in
7315my_sed_long_arg='1s/^-[[^=]]*=//' 7749 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7750 *) func_lo2o_result=${1} ;;
7751 esac])
7316 7752
7317# func_opt_split 7753 _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
7318func_opt_split ()
7319{
7320 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7321 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7322}
7323 7754
7324# func_lo2o object 7755 _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
7325func_lo2o ()
7326{
7327 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7328}
7329 7756
7330# func_xform libobj-or-source 7757 _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
7331func_xform () 7758fi
7332{
7333 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7334}
7335 7759
7336# func_arith arithmetic-term... 7760if test x"$lt_shell_append" = xyes; then
7337func_arith () 7761 _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
7338{
7339 func_arith_result=`expr "$[@]"`
7340}
7341 7762
7342# func_len string 7763 _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7343# STRING may not start with a hyphen. 7764 func_quote_for_eval "${2}"
7344func_len () 7765dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7345{ 7766 eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7346 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7347}
7348 7767
7349_LT_EOF 7768 # Save a `func_append' function call where possible by direct use of '+='
7350esac 7769 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7770 && mv -f "$cfgfile.tmp" "$cfgfile" \
7771 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7772 test 0 -eq $? || _lt_function_replace_fail=:
7773else
7774 # Save a `func_append' function call even when '+=' is not available
7775 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7776 && mv -f "$cfgfile.tmp" "$cfgfile" \
7777 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7778 test 0 -eq $? || _lt_function_replace_fail=:
7779fi
7351 7780
7352case $lt_shell_append in 7781if test x"$_lt_function_replace_fail" = x":"; then
7353 yes) 7782 AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7354 cat << \_LT_EOF >> "$cfgfile" 7783fi
7784])
7355 7785
7356# func_append var value 7786# _LT_PATH_CONVERSION_FUNCTIONS
7357# Append VALUE to the end of shell variable VAR. 7787# -----------------------------
7358func_append () 7788# Determine which file name conversion functions should be used by
7359{ 7789# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
7360 eval "$[1]+=\$[2]" 7790# for certain cross-compile configurations and native mingw.
7361} 7791m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7362_LT_EOF 7792[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7793AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7794AC_MSG_CHECKING([how to convert $build file names to $host format])
7795AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7796[case $host in
7797 *-*-mingw* )
7798 case $build in
7799 *-*-mingw* ) # actually msys
7800 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7801 ;;
7802 *-*-cygwin* )
7803 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7804 ;;
7805 * ) # otherwise, assume *nix
7806 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7807 ;;
7808 esac
7363 ;; 7809 ;;
7364 *) 7810 *-*-cygwin* )
7365 cat << \_LT_EOF >> "$cfgfile" 7811 case $build in
7366 7812 *-*-mingw* ) # actually msys
7367# func_append var value 7813 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7368# Append VALUE to the end of shell variable VAR. 7814 ;;
7369func_append () 7815 *-*-cygwin* )
7370{ 7816 lt_cv_to_host_file_cmd=func_convert_file_noop
7371 eval "$[1]=\$$[1]\$[2]" 7817 ;;
7372} 7818 * ) # otherwise, assume *nix
7373 7819 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7374_LT_EOF 7820 ;;
7821 esac
7375 ;; 7822 ;;
7376 esac 7823 * ) # unhandled hosts (and "normal" native builds)
7824 lt_cv_to_host_file_cmd=func_convert_file_noop
7825 ;;
7826esac
7827])
7828to_host_file_cmd=$lt_cv_to_host_file_cmd
7829AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
7830_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
7831 [0], [convert $build file names to $host format])dnl
7832
7833AC_MSG_CHECKING([how to convert $build file names to toolchain format])
7834AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
7835[#assume ordinary cross tools, or native build.
7836lt_cv_to_tool_file_cmd=func_convert_file_noop
7837case $host in
7838 *-*-mingw* )
7839 case $build in
7840 *-*-mingw* ) # actually msys
7841 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
7842 ;;
7843 esac
7844 ;;
7845esac
7377]) 7846])
7847to_tool_file_cmd=$lt_cv_to_tool_file_cmd
7848AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
7849_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
7850 [0], [convert $build files to toolchain format])dnl
7851])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 34151a3b..17cfd51c 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,13 +1,14 @@
1# Helper functions for option handling. -*- Autoconf -*- 1# Helper functions for option handling. -*- Autoconf -*-
2# 2#
3# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. 3# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
4# Inc.
4# Written by Gary V. Vaughan, 2004 5# Written by Gary V. Vaughan, 2004
5# 6#
6# This file is free software; the Free Software Foundation gives 7# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without 8# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved. 9# modifications, as long as this notice is preserved.
9 10
10# serial 6 ltoptions.m4 11# serial 7 ltoptions.m4
11 12
12# This is to help aclocal find these macros, as it can't see m4_define. 13# This is to help aclocal find these macros, as it can't see m4_define.
13AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) 14AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -125,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
125[enable_win32_dll=yes 126[enable_win32_dll=yes
126 127
127case $host in 128case $host in
128*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) 129*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
129 AC_CHECK_TOOL(AS, as, false) 130 AC_CHECK_TOOL(AS, as, false)
130 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 131 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
131 AC_CHECK_TOOL(OBJDUMP, objdump, false) 132 AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -133,13 +134,13 @@ case $host in
133esac 134esac
134 135
135test -z "$AS" && AS=as 136test -z "$AS" && AS=as
136_LT_DECL([], [AS], [0], [Assembler program])dnl 137_LT_DECL([], [AS], [1], [Assembler program])dnl
137 138
138test -z "$DLLTOOL" && DLLTOOL=dlltool 139test -z "$DLLTOOL" && DLLTOOL=dlltool
139_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl 140_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
140 141
141test -z "$OBJDUMP" && OBJDUMP=objdump 142test -z "$OBJDUMP" && OBJDUMP=objdump
142_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl 143_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
143])# win32-dll 144])# win32-dll
144 145
145AU_DEFUN([AC_LIBTOOL_WIN32_DLL], 146AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index f3c53098..9c7b5d41 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -7,17 +7,17 @@
7# unlimited permission to copy and/or distribute it, with or without 7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved. 8# modifications, as long as this notice is preserved.
9 9
10# Generated from ltversion.in. 10# @configure_input@
11 11
12# serial 3017 ltversion.m4 12# serial 3293 ltversion.m4
13# This file is part of GNU Libtool 13# This file is part of GNU Libtool
14 14
15m4_define([LT_PACKAGE_VERSION], [2.2.6b]) 15m4_define([LT_PACKAGE_VERSION], [2.4])
16m4_define([LT_PACKAGE_REVISION], [1.3017]) 16m4_define([LT_PACKAGE_REVISION], [1.3293])
17 17
18AC_DEFUN([LTVERSION_VERSION], 18AC_DEFUN([LTVERSION_VERSION],
19[macro_version='2.2.6b' 19[macro_version='2.4'
20macro_revision='1.3017' 20macro_revision='1.3293'
21_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 21_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22_LT_DECL(, macro_revision, 0) 22_LT_DECL(, macro_revision, 0)
23]) 23])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index 637bb206..c573da90 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,13 +1,13 @@
1# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- 1# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2# 2#
3# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. 3# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004. 4# Written by Scott James Remnant, 2004.
5# 5#
6# This file is free software; the Free Software Foundation gives 6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without 7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved. 8# modifications, as long as this notice is preserved.
9 9
10# serial 4 lt~obsolete.m4 10# serial 5 lt~obsolete.m4
11 11
12# These exist entirely to fool aclocal when bootstrapping libtool. 12# These exist entirely to fool aclocal when bootstrapping libtool.
13# 13#
@@ -77,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
77m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) 77m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
78m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) 78m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
79m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) 79m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
80m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
81m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) 80m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
82m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) 81m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
83m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) 82m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
@@ -90,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
90m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) 89m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
91m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) 90m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
92m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) 91m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
92m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
93m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
94m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
95m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
96m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
97m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
98m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am
index 61a02614..bdf8b7b5 100644
--- a/pixmaps/Makefile.am
+++ b/pixmaps/Makefile.am
@@ -13,7 +13,6 @@ install_icon_exec=${top_srcdir}/pixmaps/icon-theme-installer -d "x${DESTDIR}" -t
13 13
14install-data-local: 14install-data-local:
15 $(mkinstalldirs) $(DESTDIR)$(pkgpixdir) 15 $(mkinstalldirs) $(DESTDIR)$(pkgpixdir)
16 $(mkinstalldirs) $(DESTDIR)$(pkgpixdir)/flags
17 @$(NORMAL_INSTALL) 16 @$(NORMAL_INSTALL)
18 for pixmap in $(srcdir)/pixmaps/*.{png,svg}; do \ 17 for pixmap in $(srcdir)/pixmaps/*.{png,svg}; do \
19 if test -f $$pixmap; then \ 18 if test -f $$pixmap; then \
diff --git a/src/Makefile.am b/src/Makefile.am
index 990bd508..77080bff 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,2 +1 @@
1SUBDIRS = . include lib $(GNUNET_FS_APP) $(GNUNET_SETUP_APP) SUBDIRS = . include lib $(GNUNET_FS_APP) $(GNUNET_SETUP_APP) $(GNUNET_PEERINFO_APP)
2
diff --git a/src/fs/gnunet-fs-gtk-anonymity_spin_buttons.c b/src/fs/gnunet-fs-gtk-anonymity_spin_buttons.c
index 7a658f3f..69b951fa 100644
--- a/src/fs/gnunet-fs-gtk-anonymity_spin_buttons.c
+++ b/src/fs/gnunet-fs-gtk-anonymity_spin_buttons.c
@@ -36,8 +36,10 @@ GNUNET_GTK_anonymity_spin_button_value_changed_cb (GtkWidget * w, gpointer data)
36{ 36{
37 GtkSpinButton *spin; 37 GtkSpinButton *spin;
38 gint val; 38 gint val;
39#if 0
39 GdkColor bcolor; 40 GdkColor bcolor;
40 GdkColor fcolor; 41 GdkColor fcolor;
42#endif
41 43
42 spin = GTK_SPIN_BUTTON (w); 44 spin = GTK_SPIN_BUTTON (w);
43 if (spin == NULL) 45 if (spin == NULL)
@@ -48,6 +50,9 @@ GNUNET_GTK_anonymity_spin_button_value_changed_cb (GtkWidget * w, gpointer data)
48 val = gtk_spin_button_get_value_as_int (spin); 50 val = gtk_spin_button_get_value_as_int (spin);
49 if (val == 0) 51 if (val == 0)
50 { 52 {
53#if 0
54 /* FIXME: port gtk_colormap_alloc_color and gdk_colormap_get_system calls to
55 Gtk3+ */
51 if ((TRUE == gdk_color_parse ("red", &bcolor)) && 56 if ((TRUE == gdk_color_parse ("red", &bcolor)) &&
52 (TRUE == 57 (TRUE ==
53 gdk_colormap_alloc_color (gdk_colormap_get_system (), &bcolor, FALSE, 58 gdk_colormap_alloc_color (gdk_colormap_get_system (), &bcolor, FALSE,
@@ -60,6 +65,7 @@ GNUNET_GTK_anonymity_spin_button_value_changed_cb (GtkWidget * w, gpointer data)
60 gtk_widget_modify_base (w, GTK_STATE_NORMAL, &bcolor); 65 gtk_widget_modify_base (w, GTK_STATE_NORMAL, &bcolor);
61 gtk_widget_modify_text (w, GTK_STATE_NORMAL, &fcolor); 66 gtk_widget_modify_text (w, GTK_STATE_NORMAL, &fcolor);
62 } 67 }
68#endif
63 } 69 }
64 else 70 else
65 { 71 {
diff --git a/src/fs/gnunet-fs-gtk-event_handler.c b/src/fs/gnunet-fs-gtk-event_handler.c
index 3da406c9..826ff173 100644
--- a/src/fs/gnunet-fs-gtk-event_handler.c
+++ b/src/fs/gnunet-fs-gtk-event_handler.c
@@ -1076,7 +1076,7 @@ setup_search (struct GNUNET_FS_SearchContext *sc,
1076 sf = GTK_WINDOW (gtk_builder_get_object 1076 sf = GTK_WINDOW (gtk_builder_get_object
1077 (tab->builder, "_search_result_frame_window")); 1077 (tab->builder, "_search_result_frame_window"));
1078 tab->frame = gtk_bin_get_child (GTK_BIN (sf)); 1078 tab->frame = gtk_bin_get_child (GTK_BIN (sf));
1079 gtk_widget_ref (tab->frame); 1079 g_object_ref (tab->frame);
1080 gtk_container_remove (GTK_CONTAINER (sf), tab->frame); 1080 gtk_container_remove (GTK_CONTAINER (sf), tab->frame);
1081 gtk_widget_destroy (GTK_WIDGET (sf)); 1081 gtk_widget_destroy (GTK_WIDGET (sf));
1082 1082
@@ -1084,7 +1084,7 @@ setup_search (struct GNUNET_FS_SearchContext *sc,
1084 sf = GTK_WINDOW (gtk_builder_get_object 1084 sf = GTK_WINDOW (gtk_builder_get_object
1085 (tab->builder, "_search_result_label_window")); 1085 (tab->builder, "_search_result_label_window"));
1086 tab->tab_label = gtk_bin_get_child (GTK_BIN (sf)); 1086 tab->tab_label = gtk_bin_get_child (GTK_BIN (sf));
1087 gtk_widget_ref (tab->tab_label); 1087 g_object_ref (tab->tab_label);
1088 gtk_container_remove (GTK_CONTAINER (sf), tab->tab_label); 1088 gtk_container_remove (GTK_CONTAINER (sf), tab->tab_label);
1089 gtk_widget_destroy (GTK_WIDGET (sf)); 1089 gtk_widget_destroy (GTK_WIDGET (sf));
1090 1090
@@ -1556,7 +1556,7 @@ setup_publish (struct GNUNET_FS_PublishContext *pc, const char *fn,
1556 df = GTK_WINDOW (gtk_builder_get_object 1556 df = GTK_WINDOW (gtk_builder_get_object
1557 (tab->builder, "_publish_frame_window")); 1557 (tab->builder, "_publish_frame_window"));
1558 tab->frame = gtk_bin_get_child (GTK_BIN (df)); 1558 tab->frame = gtk_bin_get_child (GTK_BIN (df));
1559 gtk_widget_ref (tab->frame); 1559 g_object_ref (tab->frame);
1560 gtk_container_remove (GTK_CONTAINER (df), tab->frame); 1560 gtk_container_remove (GTK_CONTAINER (df), tab->frame);
1561 gtk_widget_destroy (GTK_WIDGET (df)); 1561 gtk_widget_destroy (GTK_WIDGET (df));
1562 1562
@@ -1564,7 +1564,7 @@ setup_publish (struct GNUNET_FS_PublishContext *pc, const char *fn,
1564 df = GTK_WINDOW (gtk_builder_get_object 1564 df = GTK_WINDOW (gtk_builder_get_object
1565 (tab->builder, "_publish_label_window")); 1565 (tab->builder, "_publish_label_window"));
1566 tab_label = gtk_bin_get_child (GTK_BIN (df)); 1566 tab_label = gtk_bin_get_child (GTK_BIN (df));
1567 gtk_widget_ref (tab_label); 1567 g_object_ref (tab_label);
1568 gtk_container_remove (GTK_CONTAINER (df), tab_label); 1568 gtk_container_remove (GTK_CONTAINER (df), tab_label);
1569 gtk_widget_destroy (GTK_WIDGET (df)); 1569 gtk_widget_destroy (GTK_WIDGET (df));
1570 1570
diff --git a/src/fs/gnunet-fs-gtk.c b/src/fs/gnunet-fs-gtk.c
index 03efafaa..fca53a6d 100644
--- a/src/fs/gnunet-fs-gtk.c
+++ b/src/fs/gnunet-fs-gtk.c
@@ -27,7 +27,7 @@
27#include "gnunet-fs-gtk-event_handler.h" 27#include "gnunet-fs-gtk-event_handler.h"
28 28
29/** 29/**
30 * Should gnunet-gtk start in tray mode? 30 * Should gnunet-fs-gtk start in tray mode?
31 */ 31 */
32static int tray_only; 32static int tray_only;
33 33
@@ -113,7 +113,7 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
113 * Callback invoked if the application is supposed to exit. 113 * Callback invoked if the application is supposed to exit.
114 */ 114 */
115void 115void
116GNUNET_GTK_quit_cb (GtkObject * object, gpointer user_data) 116GNUNET_GTK_quit_cb (GObject * object, gpointer user_data)
117{ 117{
118 GNUNET_GTK_tray_icon_destroy (); 118 GNUNET_GTK_tray_icon_destroy ();
119 GNUNET_GTK_main_loop_quit (ml); 119 GNUNET_GTK_main_loop_quit (ml);
@@ -147,7 +147,7 @@ add_new_tab ()
147 /* load frame */ 147 /* load frame */
148 sf = GTK_WINDOW (gtk_builder_get_object (builder, "_main_tab_new_frame")); 148 sf = GTK_WINDOW (gtk_builder_get_object (builder, "_main_tab_new_frame"));
149 label = gtk_bin_get_child (GTK_BIN (sf)); 149 label = gtk_bin_get_child (GTK_BIN (sf));
150 gtk_widget_ref (label); 150 g_object_ref (G_OBJECT (label));
151 gtk_container_remove (GTK_CONTAINER (sf), label); 151 gtk_container_remove (GTK_CONTAINER (sf), label);
152 gtk_widget_destroy (GTK_WIDGET (sf)); 152 gtk_widget_destroy (GTK_WIDGET (sf));
153 g_object_unref (builder); 153 g_object_unref (builder);
@@ -245,7 +245,7 @@ main (int argc, char *const *argv)
245 }; 245 };
246 246
247 if (GNUNET_OK != 247 if (GNUNET_OK !=
248 GNUNET_GTK_main_loop_start ("gnunet-gtk", "GTK GUI for GNUnet", argc, 248 GNUNET_GTK_main_loop_start ("gnunet-fs-gtk", "GTK GUI for GNUnet", argc,
249 argv, options, 249 argv, options,
250 "gnunet_fs_gtk_main_window.glade", &run)) 250 "gnunet_fs_gtk_main_window.glade", &run))
251 return 1; 251 return 1;
diff --git a/src/lib/trayicon.c b/src/lib/trayicon.c
index 899f6db0..57018abf 100644
--- a/src/lib/trayicon.c
+++ b/src/lib/trayicon.c
@@ -104,7 +104,7 @@ GNUNET_GTK_tray_icon_create (GtkWindow * main, const char *icon_name,
104 g_signal_connect (G_OBJECT (tray_icon), "button_press_event", 104 g_signal_connect (G_OBJECT (tray_icon), "button_press_event",
105 G_CALLBACK (tray_icon_on_menu), tray_icon); 105 G_CALLBACK (tray_icon_on_menu), tray_icon);
106 gtk_status_icon_set_from_icon_name (tray_icon, icon_name); 106 gtk_status_icon_set_from_icon_name (tray_icon, icon_name);
107 gtk_status_icon_set_tooltip (tray_icon, tooltip); 107 gtk_status_icon_set_tooltip_text (tray_icon, tooltip);
108 gtk_status_icon_set_visible (tray_icon, TRUE); 108 gtk_status_icon_set_visible (tray_icon, TRUE);
109} 109}
110 110
diff --git a/src/peerinfo/Makefile.am b/src/peerinfo/Makefile.am
index c5fc79de..babc92b3 100644
--- a/src/peerinfo/Makefile.am
+++ b/src/peerinfo/Makefile.am
@@ -2,15 +2,20 @@ SUBDIRS = .
2 2
3INCLUDES = \ 3INCLUDES = \
4 -I$(top_srcdir)/ \ 4 -I$(top_srcdir)/ \
5 -I$(top_srcdir)/src/include \
5 @GTK_CFLAGS@ \ 6 @GTK_CFLAGS@ \
6 @GNUNETGTK_CFLAGS@ 7 @GNUNET_CFLAGS@ \
8 @GLADE_CFLAGS@
7 9
8bin_PROGRAMS = gnunet-peerinfo-gtk 10bin_PROGRAMS = gnunet-peerinfo-gtk
9 11
10gnunet_peerinfo_gtk_SOURCES = \ 12gnunet_peerinfo_gtk_SOURCES = \
11 peerinfo.c peerinfo.h 13 gnunet-peerinfo-gtk.c \
14 gnunet-peerinfo-gtk-about.c
12gnunet_peerinfo_gtk_LDADD = \ 15gnunet_peerinfo_gtk_LDADD = \
16 $(top_builddir)/src/lib/libgnunetgtk.la \
13 @GTK_LIBS@ \ 17 @GTK_LIBS@ \
18 @GLADE_LIBS@ @GNUNET_LIBS@ \
14 -lgnunetutil -lgnunetpeerinfo \ 19 -lgnunetutil -lgnunetpeerinfo \
15 $(INTLLIBS) 20 $(INTLLIBS)
16gnunet_peerinfo_gtk_LDFLAGS = \ 21gnunet_peerinfo_gtk_LDFLAGS = \
diff --git a/src/peerinfo/peerinfo.h b/src/peerinfo/gnunet-peerinfo-gtk-about.c
index d9d81e52..244f07ec 100644
--- a/src/peerinfo/peerinfo.h
+++ b/src/peerinfo/gnunet-peerinfo-gtk-about.c
@@ -1,6 +1,6 @@
1/* 1/*
2 This file is part of GNUnet. 2 This file is part of GNUnet
3 (C) 2010 Christian Grothoff (and other contributing authors) 3 (C) 2005, 2006, 2010 Christian Grothoff (and other contributing authors)
4 4
5 GNUnet is free software; you can redistribute it and/or modify 5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published 6 it under the terms of the GNU General Public License as published
@@ -19,29 +19,25 @@
19*/ 19*/
20 20
21/** 21/**
22 * @file src/peerinfo/peerinfo.h 22 * @file src/fs/gnunet-peerinfo-gtk-about.c
23 * @brief Updates the peerinfo view
24 * @author Christian Grothoff 23 * @author Christian Grothoff
24 * @author Igor Wronsky
25 *
26 * This file contains the about dialog.
25 */ 27 */
26#ifndef PEERINFO_H
27#define PEERINFO_H
28
29#include "gnunet_gtk.h" 28#include "gnunet_gtk.h"
30#include <gnunet/gnunet_peerinfo_service.h> 29
31 30
32/** 31/**
33 * Function called for peers that we know about. 32 * This displays an about window
34 *
35 * @param cls closure
36 * @param peer id of the peer, NULL for last call
37 * @param hello hello message for the peer (can be NULL)
38 * @param err_msg NULL if successful, otherwise contains error message
39 */ 33 */
40void 34void
41GNUNET_GTK_peerinfo_processor (void *cls, 35GNUNET_GTK_main_menu_help_about_activate_cb (GtkWidget * dummy, gpointer data)
42 const struct GNUNET_PeerIdentity *peer, 36{
43 const struct GNUNET_HELLO_Message *hello, 37 // FIMXE: use different about dialog for 'peerinfo'.
44 const char *err_msg); 38 GNUNET_GTK_display_about ("gnunet_fs_gtk_about_dialog.glade",
39 "GNUNET_GKT_about_dialog");
40}
41
45 42
46/* end of peerinfo.h */ 43/* end of gnunet-peerinfo-gtk-about.c */
47#endif
diff --git a/src/peerinfo/gnunet-peerinfo-gtk.c b/src/peerinfo/gnunet-peerinfo-gtk.c
index 32b0b92c..afa27d70 100644
--- a/src/peerinfo/gnunet-peerinfo-gtk.c
+++ b/src/peerinfo/gnunet-peerinfo-gtk.c
@@ -1,11 +1,205 @@
1mc->pnc = GNUNET_PEERINFO_notify (cfg, &GNUNET_GTK_peerinfo_processor, NULL); 1/*
2if (mc->pnc == NULL) 2 This file is part of GNUnet.
3 (C) 2010 Christian Grothoff (and other contributing authors)
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 2, or (at your
8 option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/**
22 * @file src/peerinfo/gnunet-peerinfo-gtk.c
23 * @brief Main function of gnunet-peerinfo-gtk
24 * @author Christian Grothoff
25 */
26#include "gnunet_gtk.h"
27#include <gnunet/gnunet_peerinfo_service.h>
28
29/**
30 * Handle to our main loop.
31 */
32static struct GNUNET_GTK_MainLoop *ml;
33
34static struct GNUNET_PEERINFO_NotifyContext *pnc;
35
36/**
37 * Should gnunet-peerinfo-gtk start in tray mode?
38 */
39static int tray_only;
40
41
42/**
43 * Get cfg.
44 */
45static const struct GNUNET_CONFIGURATION_Handle *
46get_configuration ()
3{ 47{
4 gtk_widget_hide (GTK_WIDGET 48 return GNUNET_GTK_main_loop_get_configuration (ml);
5 (gtk_builder_get_object
6 (mc->builder, "GNUNET_GTK_main_window_peerinfo_treeview")));
7 gtk_widget_hide (GTK_WIDGET
8 (gtk_builder_get_object
9 (mc->builder, "GNUNET_GTK_main_menu_view_neighbours")));
10 /* FIXME: set warning in status bar... */
11} 49}
50
51/**
52 * Get an object from the main window.
53 *
54 * @param name name of the object
55 * @return NULL on error
56 */
57static GObject *
58get_object (const char *name)
59{
60 return GNUNET_GTK_main_loop_get_object (ml, name);
61}
62
63
64/**
65 * Task run on shutdown.
66 *
67 * @param cls unused
68 * @param tc scheduler context, unused
69 */
70static void
71shutdown_task (void *cls,
72 const struct GNUNET_SCHEDULER_TaskContext *tc)
73{
74 GNUNET_PEERINFO_notify_cancel (pnc);
75 pnc = NULL;
76}
77
78
79/**
80 * Function called for peers that we know about.
81 *
82 * @param cls closure
83 * @param peer id of the peer, NULL for last call
84 * @param hello hello message for the peer (can be NULL)
85 * @param err_msg NULL if successful, otherwise contains error message
86 */
87static void
88peerinfo_processor (void *cls,
89 const struct GNUNET_PeerIdentity *peer,
90 const struct GNUNET_HELLO_Message *hello,
91 const char *err_msg)
92{
93 GtkListStore *ls;
94 GtkTreeModel *tm;
95 GtkTreeIter iter;
96 int found;
97 gchar *pid;
98 const char *npid;
99 struct GNUNET_CRYPTO_HashAsciiEncoded enc;
100
101 GNUNET_CRYPTO_hash_to_enc (&peer->hashPubKey, &enc);
102 npid = (const char *) &enc;
103 ls = GTK_LIST_STORE (get_object ("GNUNET_GTK_peer_info_list_store"));
104 tm = GTK_TREE_MODEL (ls);
105 found = GNUNET_NO;
106 if (TRUE == gtk_tree_model_get_iter_first (tm, &iter))
107 {
108 do
109 {
110 pid = NULL;
111 gtk_tree_model_get (tm, &iter, 0, &pid, -1);
112 if (pid != NULL)
113 {
114 if (0 == strcmp (pid, npid))
115 {
116 found = GNUNET_YES;
117 g_free (pid);
118 break;
119 }
120 }
121 g_free (pid);
122 }
123 while ((found == GNUNET_NO) &&
124 (TRUE == gtk_tree_model_iter_next (tm, &iter)));
125 }
126 if (found == GNUNET_NO)
127 gtk_list_store_append (ls, &iter);
128 gtk_list_store_set (ls, &iter, 0, npid, 1, 0 /* number of known addresses */ ,
129 2, "" /* country name */ ,
130 3, NULL /* country flag */ ,
131 -1);
132}
133
134
135/**
136 * Callback invoked if the application is supposed to exit.
137 */
138void
139GNUNET_GTK_quit_cb (GObject * object, gpointer user_data)
140{
141 GNUNET_GTK_tray_icon_destroy ();
142 GNUNET_GTK_main_loop_quit (ml);
143 GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
144}
145
146
147/**
148 * Actual main function run right after GNUnet's scheduler
149 * is initialized. Initializes up GTK and Glade.
150 */
151static void
152run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
153{
154 GtkWidget *main_window;
155 ml = cls;
156
157 GNUNET_GTK_set_icon_search_path ();
158 GNUNET_GTK_setup_nls ();
159 pnc = GNUNET_PEERINFO_notify (get_configuration(),
160 &peerinfo_processor, NULL);
161 if (pnc == NULL)
162 {
163 fprintf (stderr, _("Failed to initialize communication with peerinfo service!\n"));
164 exit (1);
165 }
166
167 /* setup main window */
168 main_window =
169 GTK_WIDGET (get_object ("GNUNET_GTK_PEERINFO_main_window"));
170 gtk_window_maximize (GTK_WINDOW (main_window));
171 GNUNET_GTK_tray_icon_create (GTK_WINDOW (main_window),
172 "gnunet-gtk" /* FIXME: different icon? */ ,
173 "gnunet-peerinfo-gtk");
174
175 /* make GUI visible */
176 if (!tray_only)
177 {
178 gtk_widget_show (main_window);
179 gtk_window_present (GTK_WINDOW (main_window));
180 }
181}
182
183
184int
185main (int argc, char *const *argv)
186{
187 static struct GNUNET_GETOPT_CommandLineOption options[] = {
188 {'t', "tray", NULL,
189 gettext_noop ("start in tray mode"), 0,
190 &GNUNET_GETOPT_set_one, &tray_only},
191 GNUNET_GETOPT_OPTION_END
192 };
193
194 if (GNUNET_OK !=
195 GNUNET_GTK_main_loop_start ("gnunet-peerinfo-gtk",
196 "GTK GUI for inspecting GNUnet Peers",
197 argc,
198 argv, options,
199 "gnunet_peerinfo_gtk_main_window.glade", &run))
200 return 1;
201 return 0;
202}
203
204
205/* end of gnunet-peerinfo-gtk.c */
diff --git a/src/peerinfo/peerinfo.c b/src/peerinfo/peerinfo.c
deleted file mode 100644
index 17ef9504..00000000
--- a/src/peerinfo/peerinfo.c
+++ /dev/null
@@ -1,84 +0,0 @@
1/*
2 This file is part of GNUnet.
3 (C) 2010 Christian Grothoff (and other contributing authors)
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 2, or (at your
8 option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/**
22 * @file src/peerinfo/peerinfo.c
23 * @brief Updates the peerinfo view
24 * @author Christian Grothoff
25 */
26#include "peerinfo.h"
27
28/**
29 * Function called for peers that we know about.
30 *
31 * @param cls closure
32 * @param peer id of the peer, NULL for last call
33 * @param hello hello message for the peer (can be NULL)
34 * @param err_msg NULL if successful, otherwise contains error message
35 */
36void
37GNUNET_GTK_peerinfo_processor (void *cls,
38 const struct GNUNET_PeerIdentity *peer,
39 const struct GNUNET_HELLO_Message *hello,
40 const char *err_msg)
41{
42 GtkListStore *ls;
43 GtkTreeModel *tm;
44 GtkTreeIter iter;
45 int found;
46 gchar *pid;
47 const char *npid;
48 struct GNUNET_CRYPTO_HashAsciiEncoded enc;
49
50 GNUNET_CRYPTO_hash_to_enc (&peer->hashPubKey, &enc);
51 npid = (const char *) &enc;
52 ls = GTK_LIST_STORE (GNUNET_GTK_get_main_window_object
53 ("GNUNET_GTK_peer_info_list_store"));
54 tm = GTK_TREE_MODEL (ls);
55 found = GNUNET_NO;
56 if (TRUE == gtk_tree_model_get_iter_first (tm, &iter))
57 {
58 do
59 {
60 pid = NULL;
61 gtk_tree_model_get (tm, &iter, 0, &pid, -1);
62 if (pid != NULL)
63 {
64 if (0 == strcmp (pid, npid))
65 {
66 found = GNUNET_YES;
67 g_free (pid);
68 break;
69 }
70 }
71 g_free (pid);
72 }
73 while ((found == GNUNET_NO) &&
74 (TRUE == gtk_tree_model_iter_next (tm, &iter)));
75 }
76 if (found == GNUNET_NO)
77 gtk_list_store_append (ls, &iter);
78 gtk_list_store_set (ls, &iter, 0, npid, 1, 0 /* number of known addresses */ ,
79 2, "" /* country name */ ,
80 3, NULL /* country flag */ ,
81 -1);
82}
83
84/* end of peerinfo.c */
diff --git a/src/setup/gnunet-setup-options.c b/src/setup/gnunet-setup-options.c
index d031f46c..37d9bd3f 100644
--- a/src/setup/gnunet-setup-options.c
+++ b/src/setup/gnunet-setup-options.c
@@ -405,7 +405,7 @@ GNUNET_setup_treeview_key_press_event_cb (GtkTreeView * tv, GdkEventKey * event,
405 gboolean editable; 405 gboolean editable;
406 406
407 if ((event->type != GDK_KEY_PRESS) || (event->state != 0) || 407 if ((event->type != GDK_KEY_PRESS) || (event->state != 0) ||
408 (event->keyval != GDK_Delete)) 408 (event->keyval != GDK_KEY_Delete))
409 return FALSE; 409 return FALSE;
410 ls = GTK_LIST_STORE (gtk_tree_view_get_model (tv)); 410 ls = GTK_LIST_STORE (gtk_tree_view_get_model (tv));
411 if (ls == NULL) 411 if (ls == NULL)
diff --git a/src/setup/gnunet-setup.c b/src/setup/gnunet-setup.c
index dc8b6bcb..e83f354e 100644
--- a/src/setup/gnunet-setup.c
+++ b/src/setup/gnunet-setup.c
@@ -273,7 +273,7 @@ load_options ()
273 * Callback invoked if the application is supposed to exit. 273 * Callback invoked if the application is supposed to exit.
274 */ 274 */
275void 275void
276GNUNET_SETUP_quit_cb (GtkObject * object, gpointer user_data) 276GNUNET_SETUP_quit_cb (GObject * object, gpointer user_data)
277{ 277{
278 struct GNUNET_CONFIGURATION_Handle *cfgDefault; 278 struct GNUNET_CONFIGURATION_Handle *cfgDefault;
279 279