summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch19317
1 files changed, 19317 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch b/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
new file mode 100644
index 0000000..2e621f1
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
@@ -0,0 +1,19317 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Index: binutils-2.24/libtool.m4
4===================================================================
5--- binutils-2.24.orig/libtool.m4 2013-11-04 07:33:40.000000000 -0800
6+++ binutils-2.24/libtool.m4 2013-12-15 11:10:23.863785363 -0800
7@@ -1,7 +1,8 @@
8 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
9 #
10 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
11-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
12+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
13+# Inc.
14 # Written by Gordon Matzigkeit, 1996
15 #
16 # This file is free software; the Free Software Foundation gives
17@@ -10,7 +11,8 @@
18
19 m4_define([_LT_COPYING], [dnl
20 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
21-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
22+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
23+# Inc.
24 # Written by Gordon Matzigkeit, 1996
25 #
26 # This file is part of GNU Libtool.
27@@ -37,7 +39,7 @@
28 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29 ])
30
31-# serial 56 LT_INIT
32+# serial 57 LT_INIT
33
34
35 # LT_PREREQ(VERSION)
36@@ -92,7 +94,8 @@
37 LIBTOOL_DEPS="$ltmain"
38
39 # Always use our own libtool.
40-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
41+LIBTOOL='$(SHELL) $(top_builddir)'
42+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
43 AC_SUBST(LIBTOOL)dnl
44
45 _LT_SETUP
46@@ -166,10 +169,13 @@
47 dnl
48 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
49 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
50+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
51 m4_require([_LT_CMD_RELOAD])dnl
52 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
53+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
54 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
55 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
56+m4_require([_LT_WITH_SYSROOT])dnl
57
58 _LT_CONFIG_LIBTOOL_INIT([
59 # See if we are running on zsh, and set the options which allow our
60@@ -199,7 +205,7 @@
61 esac
62
63 # Global variables:
64-ofile=libtool
65+ofile=${host_alias}-libtool
66 can_build_shared=yes
67
68 # All known linkers require a `.a' archive for static linking (except MSVC,
69@@ -632,7 +638,7 @@
70 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
71 configured by $[0], generated by m4_PACKAGE_STRING.
72
73-Copyright (C) 2009 Free Software Foundation, Inc.
74+Copyright (C) 2010 Free Software Foundation, Inc.
75 This config.lt script is free software; the Free Software Foundation
76 gives unlimited permision to copy, distribute and modify it."
77
78@@ -746,15 +752,12 @@
79 # if finds mixed CR/LF and LF-only lines. Since sed operates in
80 # text mode, it properly converts lines to CR/LF. This bash problem
81 # is reportedly fixed, but why not run on old versions too?
82- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
83- || (rm -f "$cfgfile"; exit 1)
84+ sed '$q' "$ltmain" >> "$cfgfile" \
85+ || (rm -f "$cfgfile"; exit 1)
86
87- _LT_PROG_XSI_SHELLFNS
88+ _LT_PROG_REPLACE_SHELLFNS
89
90- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
91- || (rm -f "$cfgfile"; exit 1)
92-
93- mv -f "$cfgfile" "$ofile" ||
94+ mv -f "$cfgfile" "$ofile" ||
95 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
96 chmod +x "$ofile"
97 ],
98@@ -980,6 +983,8 @@
99 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
100 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
101 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
102+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
103+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
104 cat > conftest.c << _LT_EOF
105 int main() { return 0;}
106 _LT_EOF
107@@ -1069,30 +1074,41 @@
108 fi
109 ])
110
111-# _LT_SYS_MODULE_PATH_AIX
112-# -----------------------
113+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
114+# ----------------------------------
115 # Links a minimal program and checks the executable
116 # for the system default hardcoded library path. In most cases,
117 # this is /usr/lib:/lib, but when the MPI compilers are used
118 # the location of the communication and MPI libs are included too.
119 # If we don't find anything, use the default library path according
120 # to the aix ld manual.
121+# Store the results from the different compilers for each TAGNAME.
122+# Allow to override them for all tags through lt_cv_aix_libpath.
123 m4_defun([_LT_SYS_MODULE_PATH_AIX],
124 [m4_require([_LT_DECL_SED])dnl
125-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
126-lt_aix_libpath_sed='
127- /Import File Strings/,/^$/ {
128- /^0/ {
129- s/^0 *\(.*\)$/\1/
130- p
131- }
132- }'
133-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
134-# Check for a 64-bit object if we didn't find anything.
135-if test -z "$aix_libpath"; then
136- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
137-fi],[])
138-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
139+if test "${lt_cv_aix_libpath+set}" = set; then
140+ aix_libpath=$lt_cv_aix_libpath
141+else
142+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
143+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
144+ lt_aix_libpath_sed='[
145+ /Import File Strings/,/^$/ {
146+ /^0/ {
147+ s/^0 *\([^ ]*\) *$/\1/
148+ p
149+ }
150+ }]'
151+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
152+ # Check for a 64-bit object if we didn't find anything.
153+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
154+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
155+ fi],[])
156+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
157+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
158+ fi
159+ ])
160+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
161+fi
162 ])# _LT_SYS_MODULE_PATH_AIX
163
164
165@@ -1117,7 +1133,7 @@
166
167 AC_MSG_CHECKING([how to print strings])
168 # Test print first, because it will be a builtin if present.
169-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
170+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
171 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
172 ECHO='print -r --'
173 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
174@@ -1161,6 +1177,39 @@
175 ])# _LT_PROG_ECHO_BACKSLASH
176
177
178+# _LT_WITH_SYSROOT
179+# ----------------
180+AC_DEFUN([_LT_WITH_SYSROOT],
181+[AC_MSG_CHECKING([for sysroot])
182+AC_ARG_WITH([libtool-sysroot],
183+[ --with-libtool-sysroot[=DIR] Search for dependent libraries within DIR
184+ (or the compiler's sysroot if not specified).],
185+[], [with_libtool_sysroot=no])
186+
187+dnl lt_sysroot will always be passed unquoted. We quote it here
188+dnl in case the user passed a directory name.
189+lt_sysroot=
190+case ${with_libtool_sysroot} in #(
191+ yes)
192+ if test "$GCC" = yes; then
193+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
194+ fi
195+ ;; #(
196+ /*)
197+ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
198+ ;; #(
199+ no|'')
200+ ;; #(
201+ *)
202+ AC_MSG_RESULT([${with_libtool_sysroot}])
203+ AC_MSG_ERROR([The sysroot must be an absolute path.])
204+ ;;
205+esac
206+
207+ AC_MSG_RESULT([${lt_sysroot:-no}])
208+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
209+[dependent libraries, and in which our libraries should be installed.])])
210+
211 # _LT_ENABLE_LOCK
212 # ---------------
213 m4_defun([_LT_ENABLE_LOCK],
214@@ -1320,14 +1369,47 @@
215 ])# _LT_ENABLE_LOCK
216
217
218+# _LT_PROG_AR
219+# -----------
220+m4_defun([_LT_PROG_AR],
221+[AC_CHECK_TOOLS(AR, [ar], false)
222+: ${AR=ar}
223+: ${AR_FLAGS=cru}
224+_LT_DECL([], [AR], [1], [The archiver])
225+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
226+
227+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
228+ [lt_cv_ar_at_file=no
229+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
230+ [echo conftest.$ac_objext > conftest.lst
231+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
232+ AC_TRY_EVAL([lt_ar_try])
233+ if test "$ac_status" -eq 0; then
234+ # Ensure the archiver fails upon bogus file names.
235+ rm -f conftest.$ac_objext libconftest.a
236+ AC_TRY_EVAL([lt_ar_try])
237+ if test "$ac_status" -ne 0; then
238+ lt_cv_ar_at_file=@
239+ fi
240+ fi
241+ rm -f conftest.* libconftest.a
242+ ])
243+ ])
244+
245+if test "x$lt_cv_ar_at_file" = xno; then
246+ archiver_list_spec=
247+else
248+ archiver_list_spec=$lt_cv_ar_at_file
249+fi
250+_LT_DECL([], [archiver_list_spec], [1],
251+ [How to feed a file listing to the archiver])
252+])# _LT_PROG_AR
253+
254+
255 # _LT_CMD_OLD_ARCHIVE
256 # -------------------
257 m4_defun([_LT_CMD_OLD_ARCHIVE],
258-[AC_CHECK_TOOL(AR, ar, false)
259-test -z "$AR" && AR=ar
260-test -z "$AR_FLAGS" && AR_FLAGS=cru
261-_LT_DECL([], [AR], [1], [The archiver])
262-_LT_DECL([], [AR_FLAGS], [1])
263+[_LT_PROG_AR
264
265 AC_CHECK_TOOL(STRIP, strip, :)
266 test -z "$STRIP" && STRIP=:
267@@ -1623,7 +1705,7 @@
268 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
269 lt_status=$lt_dlunknown
270 cat > conftest.$ac_ext <<_LT_EOF
271-[#line __oline__ "configure"
272+[#line $LINENO "configure"
273 #include "confdefs.h"
274
275 #if HAVE_DLFCN_H
276@@ -1667,10 +1749,10 @@
277 /* When -fvisbility=hidden is used, assume the code has been annotated
278 correspondingly for the symbols needed. */
279 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
280-void fnord () __attribute__((visibility("default")));
281+int fnord () __attribute__((visibility("default")));
282 #endif
283
284-void fnord () { int i=42; }
285+int fnord () { return 42; }
286 int main ()
287 {
288 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
289@@ -2210,8 +2292,9 @@
290 need_version=no
291 need_lib_prefix=no
292
293- case $GCC,$host_os in
294- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
295+ case $GCC,$cc_basename in
296+ yes,*)
297+ # gcc
298 library_names_spec='$libname.dll.a'
299 # DLL is installed to $(libdir)/../bin by postinstall_cmds
300 postinstall_cmds='base_file=`basename \${file}`~
301@@ -2244,13 +2327,71 @@
302 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
303 ;;
304 esac
305+ dynamic_linker='Win32 ld.exe'
306+ ;;
307+
308+ *,cl*)
309+ # Native MSVC
310+ libname_spec='$name'
311+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
312+ library_names_spec='${libname}.dll.lib'
313+
314+ case $build_os in
315+ mingw*)
316+ sys_lib_search_path_spec=
317+ lt_save_ifs=$IFS
318+ IFS=';'
319+ for lt_path in $LIB
320+ do
321+ IFS=$lt_save_ifs
322+ # Let DOS variable expansion print the short 8.3 style file name.
323+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
324+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
325+ done
326+ IFS=$lt_save_ifs
327+ # Convert to MSYS style.
328+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
329+ ;;
330+ cygwin*)
331+ # Convert to unix form, then to dos form, then back to unix form
332+ # but this time dos style (no spaces!) so that the unix form looks
333+ # like /cygdrive/c/PROGRA~1:/cygdr...
334+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
335+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
336+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
337+ ;;
338+ *)
339+ sys_lib_search_path_spec="$LIB"
340+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
341+ # It is most probably a Windows format PATH.
342+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
343+ else
344+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
345+ fi
346+ # FIXME: find the short name or the path components, as spaces are
347+ # common. (e.g. "Program Files" -> "PROGRA~1")
348+ ;;
349+ esac
350+
351+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
352+ postinstall_cmds='base_file=`basename \${file}`~
353+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
354+ dldir=$destdir/`dirname \$dlpath`~
355+ test -d \$dldir || mkdir -p \$dldir~
356+ $install_prog $dir/$dlname \$dldir/$dlname'
357+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
358+ dlpath=$dir/\$dldll~
359+ $RM \$dlpath'
360+ shlibpath_overrides_runpath=yes
361+ dynamic_linker='Win32 link.exe'
362 ;;
363
364 *)
365+ # Assume MSVC wrapper
366 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
367+ dynamic_linker='Win32 ld.exe'
368 ;;
369 esac
370- dynamic_linker='Win32 ld.exe'
371 # FIXME: first we should search . and the directory the executable is in
372 shlibpath_var=PATH
373 ;;
374@@ -2342,7 +2483,7 @@
375 soname_spec='${libname}${release}${shared_ext}$major'
376 shlibpath_var=LIBRARY_PATH
377 shlibpath_overrides_runpath=yes
378- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
379+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
380 hardcode_into_libs=yes
381 ;;
382
383@@ -2950,6 +3091,11 @@
384 esac
385 reload_cmds='$LD$reload_flag -o $output$reload_objs'
386 case $host_os in
387+ cygwin* | mingw* | pw32* | cegcc*)
388+ if test "$GCC" != yes; then
389+ reload_cmds=false
390+ fi
391+ ;;
392 darwin*)
393 if test "$GCC" = yes; then
394 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
395@@ -3016,7 +3162,8 @@
396 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
397 lt_cv_file_magic_cmd='func_win32_libid'
398 else
399- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
400+ # Keep this pattern in sync with the one in func_win32_libid.
401+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
402 lt_cv_file_magic_cmd='$OBJDUMP -f'
403 fi
404 ;;
405@@ -3167,6 +3314,21 @@
406 ;;
407 esac
408 ])
409+
410+file_magic_glob=
411+want_nocaseglob=no
412+if test "$build" = "$host"; then
413+ case $host_os in
414+ mingw* | pw32*)
415+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
416+ want_nocaseglob=yes
417+ else
418+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
419+ fi
420+ ;;
421+ esac
422+fi
423+
424 file_magic_cmd=$lt_cv_file_magic_cmd
425 deplibs_check_method=$lt_cv_deplibs_check_method
426 test -z "$deplibs_check_method" && deplibs_check_method=unknown
427@@ -3174,7 +3336,11 @@
428 _LT_DECL([], [deplibs_check_method], [1],
429 [Method to check whether dependent libraries are shared objects])
430 _LT_DECL([], [file_magic_cmd], [1],
431- [Command to use when deplibs_check_method == "file_magic"])
432+ [Command to use when deplibs_check_method = "file_magic"])
433+_LT_DECL([], [file_magic_glob], [1],
434+ [How to find potential files when deplibs_check_method = "file_magic"])
435+_LT_DECL([], [want_nocaseglob], [1],
436+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
437 ])# _LT_CHECK_MAGIC_METHOD
438
439
440@@ -3277,6 +3443,67 @@
441 dnl AC_DEFUN([AM_PROG_NM], [])
442 dnl AC_DEFUN([AC_PROG_NM], [])
443
444+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
445+# --------------------------------
446+# how to determine the name of the shared library
447+# associated with a specific link library.
448+# -- PORTME fill in with the dynamic library characteristics
449+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
450+[m4_require([_LT_DECL_EGREP])
451+m4_require([_LT_DECL_OBJDUMP])
452+m4_require([_LT_DECL_DLLTOOL])
453+AC_CACHE_CHECK([how to associate runtime and link libraries],
454+lt_cv_sharedlib_from_linklib_cmd,
455+[lt_cv_sharedlib_from_linklib_cmd='unknown'
456+
457+case $host_os in
458+cygwin* | mingw* | pw32* | cegcc*)
459+ # two different shell functions defined in ltmain.sh
460+ # decide which to use based on capabilities of $DLLTOOL
461+ case `$DLLTOOL --help 2>&1` in
462+ *--identify-strict*)
463+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
464+ ;;
465+ *)
466+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
467+ ;;
468+ esac
469+ ;;
470+*)
471+ # fallback: assume linklib IS sharedlib
472+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
473+ ;;
474+esac
475+])
476+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
477+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
478+
479+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
480+ [Command to associate shared and link libraries])
481+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
482+
483+
484+# _LT_PATH_MANIFEST_TOOL
485+# ----------------------
486+# locate the manifest tool
487+m4_defun([_LT_PATH_MANIFEST_TOOL],
488+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
489+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
490+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
491+ [lt_cv_path_mainfest_tool=no
492+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
493+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
494+ cat conftest.err >&AS_MESSAGE_LOG_FD
495+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
496+ lt_cv_path_mainfest_tool=yes
497+ fi
498+ rm -f conftest*])
499+if test "x$lt_cv_path_mainfest_tool" != xyes; then
500+ MANIFEST_TOOL=:
501+fi
502+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
503+])# _LT_PATH_MANIFEST_TOOL
504+
505
506 # LT_LIB_M
507 # --------
508@@ -3403,8 +3630,8 @@
509 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
510
511 # Transform an extracted symbol line into symbol name and symbol address
512-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
513-lt_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'"
514+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
515+lt_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'"
516
517 # Handle CRLF in mingw tool chain
518 opt_cr=
519@@ -3440,6 +3667,7 @@
520 else
521 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
522 fi
523+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
524
525 # Check to see that the pipe works correctly.
526 pipe_works=no
527@@ -3473,6 +3701,18 @@
528 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
529 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
530 cat <<_LT_EOF > conftest.$ac_ext
531+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
532+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
533+/* DATA imports from DLLs on WIN32 con't be const, because runtime
534+ relocations are performed -- see ld's documentation on pseudo-relocs. */
535+# define LT@&t@_DLSYM_CONST
536+#elif defined(__osf__)
537+/* This system does not cope well with relocations in const data. */
538+# define LT@&t@_DLSYM_CONST
539+#else
540+# define LT@&t@_DLSYM_CONST const
541+#endif
542+
543 #ifdef __cplusplus
544 extern "C" {
545 #endif
546@@ -3484,7 +3724,7 @@
547 cat <<_LT_EOF >> conftest.$ac_ext
548
549 /* The mapping between symbol names and symbols. */
550-const struct {
551+LT@&t@_DLSYM_CONST struct {
552 const char *name;
553 void *address;
554 }
555@@ -3510,15 +3750,15 @@
556 _LT_EOF
557 # Now try linking the two files.
558 mv conftest.$ac_objext conftstm.$ac_objext
559- lt_save_LIBS="$LIBS"
560- lt_save_CFLAGS="$CFLAGS"
561+ lt_globsym_save_LIBS=$LIBS
562+ lt_globsym_save_CFLAGS=$CFLAGS
563 LIBS="conftstm.$ac_objext"
564 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
565 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
566 pipe_works=yes
567 fi
568- LIBS="$lt_save_LIBS"
569- CFLAGS="$lt_save_CFLAGS"
570+ LIBS=$lt_globsym_save_LIBS
571+ CFLAGS=$lt_globsym_save_CFLAGS
572 else
573 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
574 fi
575@@ -3551,6 +3791,13 @@
576 AC_MSG_RESULT(ok)
577 fi
578
579+# Response file support.
580+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
581+ nm_file_list_spec='@'
582+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
583+ nm_file_list_spec='@'
584+fi
585+
586 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
587 [Take the output of nm and produce a listing of raw symbols and C names])
588 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
589@@ -3561,6 +3808,8 @@
590 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
591 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
592 [Transform the output of nm in a C name address pair when lib prefix is needed])
593+_LT_DECL([], [nm_file_list_spec], [1],
594+ [Specify filename containing input files for $NM])
595 ]) # _LT_CMD_GLOBAL_SYMBOLS
596
597
598@@ -3572,7 +3821,6 @@
599 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
600 _LT_TAGVAR(lt_prog_compiler_static, $1)=
601
602-AC_MSG_CHECKING([for $compiler option to produce PIC])
603 m4_if([$1], [CXX], [
604 # C++ specific cases for pic, static, wl, etc.
605 if test "$GXX" = yes; then
606@@ -3678,6 +3926,12 @@
607 ;;
608 esac
609 ;;
610+ mingw* | cygwin* | os2* | pw32* | cegcc*)
611+ # This hack is so that the source file can tell whether it is being
612+ # built for inclusion in a dll (and should export symbols for example).
613+ m4_if([$1], [GCJ], [],
614+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
615+ ;;
616 dgux*)
617 case $cc_basename in
618 ec++*)
619@@ -3830,7 +4084,7 @@
620 ;;
621 solaris*)
622 case $cc_basename in
623- CC*)
624+ CC* | sunCC*)
625 # Sun C++ 4.2, 5.x and Centerline C++
626 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
627 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
628@@ -4053,6 +4307,12 @@
629 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
630 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
631 ;;
632+ nagfor*)
633+ # NAG Fortran compiler
634+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
635+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
636+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
637+ ;;
638 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
639 # Portland Group compilers (*not* the Pentium gcc compiler,
640 # which looks to be a dead project)
641@@ -4115,7 +4375,7 @@
642 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
643 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
644 case $cc_basename in
645- f77* | f90* | f95*)
646+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
647 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
648 *)
649 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
650@@ -4172,9 +4432,11 @@
651 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
652 ;;
653 esac
654-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
655-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
656- [How to pass a linker flag through the compiler])
657+
658+AC_CACHE_CHECK([for $compiler option to produce PIC],
659+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
660+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
661+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
662
663 #
664 # Check to make sure the PIC flag actually works.
665@@ -4193,6 +4455,8 @@
666 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
667 [Additional compiler flags for building library objects])
668
669+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
670+ [How to pass a linker flag through the compiler])
671 #
672 # Check to make sure the static flag actually works.
673 #
674@@ -4213,6 +4477,7 @@
675 m4_defun([_LT_LINKER_SHLIBS],
676 [AC_REQUIRE([LT_PATH_LD])dnl
677 AC_REQUIRE([LT_PATH_NM])dnl
678+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
679 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
680 m4_require([_LT_DECL_EGREP])dnl
681 m4_require([_LT_DECL_SED])dnl
682@@ -4221,6 +4486,7 @@
683 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
684 m4_if([$1], [CXX], [
685 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
686+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
687 case $host_os in
688 aix[[4-9]]*)
689 # If we're using GNU nm, then we don't want the "-C" option.
690@@ -4235,15 +4501,20 @@
691 ;;
692 pw32*)
693 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
694- ;;
695+ ;;
696 cygwin* | mingw* | cegcc*)
697- _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'
698- ;;
699+ case $cc_basename in
700+ cl*) ;;
701+ *)
702+ _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'
703+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
704+ ;;
705+ esac
706+ ;;
707 *)
708 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
709- ;;
710+ ;;
711 esac
712- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
713 ], [
714 runpath_var=
715 _LT_TAGVAR(allow_undefined_flag, $1)=
716@@ -4411,7 +4682,8 @@
717 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
718 _LT_TAGVAR(always_export_symbols, $1)=no
719 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
720- _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'
721+ _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'
722+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
723
724 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
725 _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'
726@@ -4459,7 +4731,7 @@
727 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
728 && test "$tmp_diet" = no
729 then
730- tmp_addflag=
731+ tmp_addflag=' $pic_flag'
732 tmp_sharedflag='-shared'
733 case $cc_basename,$host_cpu in
734 pgcc*) # Portland Group C compiler
735@@ -4510,12 +4782,12 @@
736 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
737 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
738 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
739- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
740+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
741 if test "x$supports_anon_versioning" = xyes; then
742 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
743 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
744 echo "local: *; };" >> $output_objdir/$libname.ver~
745- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
746+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
747 fi
748 ;;
749 esac
750@@ -4529,8 +4801,8 @@
751 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
752 wlarc=
753 else
754- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
755- _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'
756+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
757+ _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'
758 fi
759 ;;
760
761@@ -4548,8 +4820,8 @@
762
763 _LT_EOF
764 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
765- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
766- _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'
767+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
768+ _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'
769 else
770 _LT_TAGVAR(ld_shlibs, $1)=no
771 fi
772@@ -4595,8 +4867,8 @@
773
774 *)
775 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
776- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
777- _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'
778+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
779+ _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'
780 else
781 _LT_TAGVAR(ld_shlibs, $1)=no
782 fi
783@@ -4726,7 +4998,7 @@
784 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
785 # Determine the default libpath from the value encoded in an
786 # empty executable.
787- _LT_SYS_MODULE_PATH_AIX
788+ _LT_SYS_MODULE_PATH_AIX([$1])
789 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
790 _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"
791 else
792@@ -4737,7 +5009,7 @@
793 else
794 # Determine the default libpath from the value encoded in an
795 # empty executable.
796- _LT_SYS_MODULE_PATH_AIX
797+ _LT_SYS_MODULE_PATH_AIX([$1])
798 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
799 # Warning - without using the other run time loading flags,
800 # -berok will link without error, but may produce a broken library.
801@@ -4781,20 +5053,63 @@
802 # Microsoft Visual C++.
803 # hardcode_libdir_flag_spec is actually meaningless, as there is
804 # no search path for DLLs.
805- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
806- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
807- # Tell ltmain to make .lib files, not .a files.
808- libext=lib
809- # Tell ltmain to make .dll files, not .so files.
810- shrext_cmds=".dll"
811- # FIXME: Setting linknames here is a bad hack.
812- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
813- # The linker will automatically build a .lib file if we build a DLL.
814- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
815- # FIXME: Should let the user specify the lib program.
816- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
817- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
818- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
819+ case $cc_basename in
820+ cl*)
821+ # Native MSVC
822+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
823+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
824+ _LT_TAGVAR(always_export_symbols, $1)=yes
825+ _LT_TAGVAR(file_list_spec, $1)='@'
826+ # Tell ltmain to make .lib files, not .a files.
827+ libext=lib
828+ # Tell ltmain to make .dll files, not .so files.
829+ shrext_cmds=".dll"
830+ # FIXME: Setting linknames here is a bad hack.
831+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
832+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
833+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
834+ else
835+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
836+ fi~
837+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
838+ linknames='
839+ # The linker will not automatically build a static lib if we build a DLL.
840+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
841+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
842+ _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'
843+ # Don't use ranlib
844+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
845+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
846+ lt_tool_outputfile="@TOOL_OUTPUT@"~
847+ case $lt_outputfile in
848+ *.exe|*.EXE) ;;
849+ *)
850+ lt_outputfile="$lt_outputfile.exe"
851+ lt_tool_outputfile="$lt_tool_outputfile.exe"
852+ ;;
853+ esac~
854+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
855+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
856+ $RM "$lt_outputfile.manifest";
857+ fi'
858+ ;;
859+ *)
860+ # Assume MSVC wrapper
861+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
862+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
863+ # Tell ltmain to make .lib files, not .a files.
864+ libext=lib
865+ # Tell ltmain to make .dll files, not .so files.
866+ shrext_cmds=".dll"
867+ # FIXME: Setting linknames here is a bad hack.
868+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
869+ # The linker will automatically build a .lib file if we build a DLL.
870+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
871+ # FIXME: Should let the user specify the lib program.
872+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
873+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
874+ ;;
875+ esac
876 ;;
877
878 darwin* | rhapsody*)
879@@ -4828,7 +5143,7 @@
880
881 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
882 freebsd* | dragonfly*)
883- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
884+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
885 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
886 _LT_TAGVAR(hardcode_direct, $1)=yes
887 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
888@@ -4836,7 +5151,7 @@
889
890 hpux9*)
891 if test "$GCC" = yes; then
892- _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'
893+ _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'
894 else
895 _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'
896 fi
897@@ -4852,7 +5167,7 @@
898
899 hpux10*)
900 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
901- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
902+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
903 else
904 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
905 fi
906@@ -4876,10 +5191,10 @@
907 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
908 ;;
909 ia64*)
910- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
911+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
912 ;;
913 *)
914- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
915+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
916 ;;
917 esac
918 else
919@@ -4926,16 +5241,31 @@
920
921 irix5* | irix6* | nonstopux*)
922 if test "$GCC" = yes; then
923- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $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'
924+ _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'
925 # Try to use the -exported_symbol ld option, if it does not
926 # work, assume that -exports_file does not work either and
927 # implicitly export all symbols.
928- save_LDFLAGS="$LDFLAGS"
929- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
930- AC_LINK_IFELSE(int foo(void) {},
931- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $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'
932- )
933- LDFLAGS="$save_LDFLAGS"
934+ # This should be the same for all languages, so no per-tag cache variable.
935+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
936+ [lt_cv_irix_exported_symbol],
937+ [save_LDFLAGS="$LDFLAGS"
938+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
939+ AC_LINK_IFELSE(
940+ [AC_LANG_SOURCE(
941+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
942+ [C++], [[int foo (void) { return 0; }]],
943+ [Fortran 77], [[
944+ subroutine foo
945+ end]],
946+ [Fortran], [[
947+ subroutine foo
948+ end]])])],
949+ [lt_cv_irix_exported_symbol=yes],
950+ [lt_cv_irix_exported_symbol=no])
951+ LDFLAGS="$save_LDFLAGS"])
952+ if test "$lt_cv_irix_exported_symbol" = yes; then
953+ _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'
954+ fi
955 else
956 _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'
957 _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'
958@@ -5020,7 +5350,7 @@
959 osf4* | osf5*) # as osf3* with the addition of -msym flag
960 if test "$GCC" = yes; then
961 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
962- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_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'
963+ _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'
964 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
965 else
966 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
967@@ -5039,9 +5369,9 @@
968 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
969 if test "$GCC" = yes; then
970 wlarc='${wl}'
971- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
972+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
973 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
974- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
975+ $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'
976 else
977 case `$CC -V 2>&1` in
978 *"Compilers 5.0"*)
979@@ -5313,8 +5643,6 @@
980 to runtime path list])
981 _LT_TAGDECL([], [link_all_deplibs], [0],
982 [Whether libtool must link a program against all its dependency libraries])
983-_LT_TAGDECL([], [fix_srcfile_path], [1],
984- [Fix the shell variable $srcfile for the compiler])
985 _LT_TAGDECL([], [always_export_symbols], [0],
986 [Set to "yes" if exported symbols are required])
987 _LT_TAGDECL([], [export_symbols_cmds], [2],
988@@ -5325,6 +5653,8 @@
989 [Symbols that must always be exported])
990 _LT_TAGDECL([], [prelink_cmds], [2],
991 [Commands necessary for linking programs (against libraries) with templates])
992+_LT_TAGDECL([], [postlink_cmds], [2],
993+ [Commands necessary for finishing linking programs])
994 _LT_TAGDECL([], [file_list_spec], [1],
995 [Specify filename containing input files])
996 dnl FIXME: Not yet implemented
997@@ -5426,6 +5756,7 @@
998 m4_defun([_LT_LANG_CXX_CONFIG],
999 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1000 m4_require([_LT_DECL_EGREP])dnl
1001+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
1002 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
1003 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
1004 (test "X$CXX" != "Xg++"))) ; then
1005@@ -5487,6 +5818,7 @@
1006
1007 # Allow CC to be a program name with arguments.
1008 lt_save_CC=$CC
1009+ lt_save_CFLAGS=$CFLAGS
1010 lt_save_LD=$LD
1011 lt_save_GCC=$GCC
1012 GCC=$GXX
1013@@ -5504,6 +5836,7 @@
1014 fi
1015 test -z "${LDCXX+set}" || LD=$LDCXX
1016 CC=${CXX-"c++"}
1017+ CFLAGS=$CXXFLAGS
1018 compiler=$CC
1019 _LT_TAGVAR(compiler, $1)=$CC
1020 _LT_CC_BASENAME([$compiler])
1021@@ -5525,8 +5858,8 @@
1022 # Check if GNU C++ uses GNU ld as the underlying linker, since the
1023 # archiving commands below assume that GNU ld is being used.
1024 if test "$with_gnu_ld" = yes; then
1025- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
1026- _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'
1027+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
1028+ _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'
1029
1030 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
1031 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
1032@@ -5667,7 +6000,7 @@
1033 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
1034 # Determine the default libpath from the value encoded in an empty
1035 # executable.
1036- _LT_SYS_MODULE_PATH_AIX
1037+ _LT_SYS_MODULE_PATH_AIX([$1])
1038 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
1039
1040 _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"
1041@@ -5679,7 +6012,7 @@
1042 else
1043 # Determine the default libpath from the value encoded in an
1044 # empty executable.
1045- _LT_SYS_MODULE_PATH_AIX
1046+ _LT_SYS_MODULE_PATH_AIX([$1])
1047 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
1048 # Warning - without using the other run time loading flags,
1049 # -berok will link without error, but may produce a broken library.
1050@@ -5721,29 +6054,75 @@
1051 ;;
1052
1053 cygwin* | mingw* | pw32* | cegcc*)
1054- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
1055- # as there is no search path for DLLs.
1056- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
1057- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
1058- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
1059- _LT_TAGVAR(always_export_symbols, $1)=no
1060- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
1061-
1062- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
1063- _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'
1064- # If the export-symbols file already is a .def file (1st line
1065- # is EXPORTS), use it as is; otherwise, prepend...
1066- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
1067- cp $export_symbols $output_objdir/$soname.def;
1068- else
1069- echo EXPORTS > $output_objdir/$soname.def;
1070- cat $export_symbols >> $output_objdir/$soname.def;
1071- fi~
1072- $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'
1073- else
1074- _LT_TAGVAR(ld_shlibs, $1)=no
1075- fi
1076- ;;
1077+ case $GXX,$cc_basename in
1078+ ,cl* | no,cl*)
1079+ # Native MSVC
1080+ # hardcode_libdir_flag_spec is actually meaningless, as there is
1081+ # no search path for DLLs.
1082+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
1083+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
1084+ _LT_TAGVAR(always_export_symbols, $1)=yes
1085+ _LT_TAGVAR(file_list_spec, $1)='@'
1086+ # Tell ltmain to make .lib files, not .a files.
1087+ libext=lib
1088+ # Tell ltmain to make .dll files, not .so files.
1089+ shrext_cmds=".dll"
1090+ # FIXME: Setting linknames here is a bad hack.
1091+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
1092+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
1093+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
1094+ else
1095+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
1096+ fi~
1097+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
1098+ linknames='
1099+ # The linker will not automatically build a static lib if we build a DLL.
1100+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
1101+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
1102+ # Don't use ranlib
1103+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
1104+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
1105+ lt_tool_outputfile="@TOOL_OUTPUT@"~
1106+ case $lt_outputfile in
1107+ *.exe|*.EXE) ;;
1108+ *)
1109+ lt_outputfile="$lt_outputfile.exe"
1110+ lt_tool_outputfile="$lt_tool_outputfile.exe"
1111+ ;;
1112+ esac~
1113+ func_to_tool_file "$lt_outputfile"~
1114+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
1115+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
1116+ $RM "$lt_outputfile.manifest";
1117+ fi'
1118+ ;;
1119+ *)
1120+ # g++
1121+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
1122+ # as there is no search path for DLLs.
1123+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
1124+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
1125+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
1126+ _LT_TAGVAR(always_export_symbols, $1)=no
1127+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
1128+
1129+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
1130+ _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'
1131+ # If the export-symbols file already is a .def file (1st line
1132+ # is EXPORTS), use it as is; otherwise, prepend...
1133+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
1134+ cp $export_symbols $output_objdir/$soname.def;
1135+ else
1136+ echo EXPORTS > $output_objdir/$soname.def;
1137+ cat $export_symbols >> $output_objdir/$soname.def;
1138+ fi~
1139+ $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'
1140+ else
1141+ _LT_TAGVAR(ld_shlibs, $1)=no
1142+ fi
1143+ ;;
1144+ esac
1145+ ;;
1146 darwin* | rhapsody*)
1147 _LT_DARWIN_LINKER_FEATURES($1)
1148 ;;
1149@@ -5818,7 +6197,7 @@
1150 ;;
1151 *)
1152 if test "$GXX" = yes; then
1153- _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'
1154+ _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'
1155 else
1156 # FIXME: insert proper C++ library support
1157 _LT_TAGVAR(ld_shlibs, $1)=no
1158@@ -5889,10 +6268,10 @@
1159 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
1160 ;;
1161 ia64*)
1162- _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'
1163+ _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'
1164 ;;
1165 *)
1166- _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'
1167+ _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'
1168 ;;
1169 esac
1170 fi
1171@@ -5933,9 +6312,9 @@
1172 *)
1173 if test "$GXX" = yes; then
1174 if test "$with_gnu_ld" = no; then
1175- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -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'
1176+ _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'
1177 else
1178- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -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'
1179+ _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'
1180 fi
1181 fi
1182 _LT_TAGVAR(link_all_deplibs, $1)=yes
1183@@ -6005,20 +6384,20 @@
1184 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
1185 rm -rf $tpldir~
1186 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
1187- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
1188+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
1189 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
1190 rm -rf $tpldir~
1191 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
1192- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
1193+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
1194 $RANLIB $oldlib'
1195 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
1196 rm -rf $tpldir~
1197 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
1198- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
1199+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
1200 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
1201 rm -rf $tpldir~
1202 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
1203- $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'
1204+ $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'
1205 ;;
1206 *) # Version 6 and above use weak symbols
1207 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
1208@@ -6213,7 +6592,7 @@
1209 _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'
1210 ;;
1211 *)
1212- _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" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
1213+ _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'
1214 ;;
1215 esac
1216
1217@@ -6259,7 +6638,7 @@
1218
1219 solaris*)
1220 case $cc_basename in
1221- CC*)
1222+ CC* | sunCC*)
1223 # Sun C++ 4.2, 5.x and Centerline C++
1224 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
1225 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
1226@@ -6300,9 +6679,9 @@
1227 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
1228 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
1229 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
1230- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
1231+ _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'
1232 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
1233- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
1234+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
1235
1236 # Commands to make compiler produce verbose output that lists
1237 # what "hidden" libraries, object files and flags are used when
1238@@ -6431,6 +6810,7 @@
1239 fi # test -n "$compiler"
1240
1241 CC=$lt_save_CC
1242+ CFLAGS=$lt_save_CFLAGS
1243 LDCXX=$LD
1244 LD=$lt_save_LD
1245 GCC=$lt_save_GCC
1246@@ -6445,6 +6825,29 @@
1247 ])# _LT_LANG_CXX_CONFIG
1248
1249
1250+# _LT_FUNC_STRIPNAME_CNF
1251+# ----------------------
1252+# func_stripname_cnf prefix suffix name
1253+# strip PREFIX and SUFFIX off of NAME.
1254+# PREFIX and SUFFIX must not contain globbing or regex special
1255+# characters, hashes, percent signs, but SUFFIX may contain a leading
1256+# dot (in which case that matches only a dot).
1257+#
1258+# This function is identical to the (non-XSI) version of func_stripname,
1259+# except this one can be used by m4 code that may be executed by configure,
1260+# rather than the libtool script.
1261+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
1262+AC_REQUIRE([_LT_DECL_SED])
1263+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
1264+func_stripname_cnf ()
1265+{
1266+ case ${2} in
1267+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
1268+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
1269+ esac
1270+} # func_stripname_cnf
1271+])# _LT_FUNC_STRIPNAME_CNF
1272+
1273 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
1274 # ---------------------------------
1275 # Figure out "hidden" library dependencies from verbose
1276@@ -6453,6 +6856,7 @@
1277 # objects, libraries and library flags.
1278 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
1279 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1280+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
1281 # Dependencies to place before and after the object being linked:
1282 _LT_TAGVAR(predep_objects, $1)=
1283 _LT_TAGVAR(postdep_objects, $1)=
1284@@ -6503,6 +6907,13 @@
1285 };
1286 _LT_EOF
1287 ])
1288+
1289+_lt_libdeps_save_CFLAGS=$CFLAGS
1290+case "$CC $CFLAGS " in #(
1291+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
1292+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
1293+esac
1294+
1295 dnl Parse the compiler output and extract the necessary
1296 dnl objects, libraries and library flags.
1297 if AC_TRY_EVAL(ac_compile); then
1298@@ -6514,7 +6925,7 @@
1299 pre_test_object_deps_done=no
1300
1301 for p in `eval "$output_verbose_link_cmd"`; do
1302- case $p in
1303+ case ${prev}${p} in
1304
1305 -L* | -R* | -l*)
1306 # Some compilers place space between "-{L,R}" and the path.
1307@@ -6523,13 +6934,22 @@
1308 test $p = "-R"; then
1309 prev=$p
1310 continue
1311- else
1312- prev=
1313 fi
1314
1315+ # Expand the sysroot to ease extracting the directories later.
1316+ if test -z "$prev"; then
1317+ case $p in
1318+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
1319+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
1320+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
1321+ esac
1322+ fi
1323+ case $p in
1324+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
1325+ esac
1326 if test "$pre_test_object_deps_done" = no; then
1327- case $p in
1328- -L* | -R*)
1329+ case ${prev} in
1330+ -L | -R)
1331 # Internal compiler library paths should come after those
1332 # provided the user. The postdeps already come after the
1333 # user supplied libs so there is no need to process them.
1334@@ -6549,8 +6969,10 @@
1335 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
1336 fi
1337 fi
1338+ prev=
1339 ;;
1340
1341+ *.lto.$objext) ;; # Ignore GCC LTO objects
1342 *.$objext)
1343 # This assumes that the test object file only shows up
1344 # once in the compiler output.
1345@@ -6586,6 +7008,7 @@
1346 fi
1347
1348 $RM -f confest.$objext
1349+CFLAGS=$_lt_libdeps_save_CFLAGS
1350
1351 # PORTME: override above test on systems where it is broken
1352 m4_if([$1], [CXX],
1353@@ -6622,7 +7045,7 @@
1354
1355 solaris*)
1356 case $cc_basename in
1357- CC*)
1358+ CC* | sunCC*)
1359 # The more standards-conforming stlport4 library is
1360 # incompatible with the Cstd library. Avoid specifying
1361 # it if it's in CXXFLAGS. Ignore libCrun as
1362@@ -6735,7 +7158,9 @@
1363 # Allow CC to be a program name with arguments.
1364 lt_save_CC="$CC"
1365 lt_save_GCC=$GCC
1366+ lt_save_CFLAGS=$CFLAGS
1367 CC=${F77-"f77"}
1368+ CFLAGS=$FFLAGS
1369 compiler=$CC
1370 _LT_TAGVAR(compiler, $1)=$CC
1371 _LT_CC_BASENAME([$compiler])
1372@@ -6789,6 +7214,7 @@
1373
1374 GCC=$lt_save_GCC
1375 CC="$lt_save_CC"
1376+ CFLAGS="$lt_save_CFLAGS"
1377 fi # test "$_lt_disable_F77" != yes
1378
1379 AC_LANG_POP
1380@@ -6865,7 +7291,9 @@
1381 # Allow CC to be a program name with arguments.
1382 lt_save_CC="$CC"
1383 lt_save_GCC=$GCC
1384+ lt_save_CFLAGS=$CFLAGS
1385 CC=${FC-"f95"}
1386+ CFLAGS=$FCFLAGS
1387 compiler=$CC
1388 GCC=$ac_cv_fc_compiler_gnu
1389
1390@@ -6921,7 +7349,8 @@
1391 fi # test -n "$compiler"
1392
1393 GCC=$lt_save_GCC
1394- CC="$lt_save_CC"
1395+ CC=$lt_save_CC
1396+ CFLAGS=$lt_save_CFLAGS
1397 fi # test "$_lt_disable_FC" != yes
1398
1399 AC_LANG_POP
1400@@ -6958,10 +7387,12 @@
1401 _LT_LINKER_BOILERPLATE
1402
1403 # Allow CC to be a program name with arguments.
1404-lt_save_CC="$CC"
1405+lt_save_CC=$CC
1406+lt_save_CFLAGS=$CFLAGS
1407 lt_save_GCC=$GCC
1408 GCC=yes
1409 CC=${GCJ-"gcj"}
1410+CFLAGS=$GCJFLAGS
1411 compiler=$CC
1412 _LT_TAGVAR(compiler, $1)=$CC
1413 _LT_TAGVAR(LD, $1)="$LD"
1414@@ -6992,7 +7423,8 @@
1415 AC_LANG_RESTORE
1416
1417 GCC=$lt_save_GCC
1418-CC="$lt_save_CC"
1419+CC=$lt_save_CC
1420+CFLAGS=$lt_save_CFLAGS
1421 ])# _LT_LANG_GCJ_CONFIG
1422
1423
1424@@ -7027,9 +7459,11 @@
1425
1426 # Allow CC to be a program name with arguments.
1427 lt_save_CC="$CC"
1428+lt_save_CFLAGS=$CFLAGS
1429 lt_save_GCC=$GCC
1430 GCC=
1431 CC=${RC-"windres"}
1432+CFLAGS=
1433 compiler=$CC
1434 _LT_TAGVAR(compiler, $1)=$CC
1435 _LT_CC_BASENAME([$compiler])
1436@@ -7042,7 +7476,8 @@
1437
1438 GCC=$lt_save_GCC
1439 AC_LANG_RESTORE
1440-CC="$lt_save_CC"
1441+CC=$lt_save_CC
1442+CFLAGS=$lt_save_CFLAGS
1443 ])# _LT_LANG_RC_CONFIG
1444
1445
1446@@ -7101,6 +7536,15 @@
1447 AC_SUBST([OBJDUMP])
1448 ])
1449
1450+# _LT_DECL_DLLTOOL
1451+# ----------------
1452+# Ensure DLLTOOL variable is set.
1453+m4_defun([_LT_DECL_DLLTOOL],
1454+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1455+test -z "$DLLTOOL" && DLLTOOL=dlltool
1456+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
1457+AC_SUBST([DLLTOOL])
1458+])
1459
1460 # _LT_DECL_SED
1461 # ------------
1462@@ -7194,8 +7638,8 @@
1463 # Try some XSI features
1464 xsi_shell=no
1465 ( _lt_dummy="a/b/c"
1466- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
1467- = c,a/b,, \
1468+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
1469+ = c,a/b,b/c, \
1470 && eval 'test $(( 1 + 1 )) -eq 2 \
1471 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
1472 && xsi_shell=yes
1473@@ -7234,206 +7678,162 @@
1474 ])# _LT_CHECK_SHELL_FEATURES
1475
1476
1477-# _LT_PROG_XSI_SHELLFNS
1478-# ---------------------
1479-# Bourne and XSI compatible variants of some useful shell functions.
1480-m4_defun([_LT_PROG_XSI_SHELLFNS],
1481-[case $xsi_shell in
1482- yes)
1483- cat << \_LT_EOF >> "$cfgfile"
1484-
1485-# func_dirname file append nondir_replacement
1486-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
1487-# otherwise set result to NONDIR_REPLACEMENT.
1488-func_dirname ()
1489-{
1490- case ${1} in
1491- */*) func_dirname_result="${1%/*}${2}" ;;
1492- * ) func_dirname_result="${3}" ;;
1493- esac
1494-}
1495-
1496-# func_basename file
1497-func_basename ()
1498-{
1499- func_basename_result="${1##*/}"
1500-}
1501-
1502-# func_dirname_and_basename file append nondir_replacement
1503-# perform func_basename and func_dirname in a single function
1504-# call:
1505-# dirname: Compute the dirname of FILE. If nonempty,
1506-# add APPEND to the result, otherwise set result
1507-# to NONDIR_REPLACEMENT.
1508-# value returned in "$func_dirname_result"
1509-# basename: Compute filename of FILE.
1510-# value retuned in "$func_basename_result"
1511-# Implementation must be kept synchronized with func_dirname
1512-# and func_basename. For efficiency, we do not delegate to
1513-# those functions but instead duplicate the functionality here.
1514-func_dirname_and_basename ()
1515-{
1516- case ${1} in
1517- */*) func_dirname_result="${1%/*}${2}" ;;
1518- * ) func_dirname_result="${3}" ;;
1519- esac
1520- func_basename_result="${1##*/}"
1521-}
1522-
1523-# func_stripname prefix suffix name
1524-# strip PREFIX and SUFFIX off of NAME.
1525-# PREFIX and SUFFIX must not contain globbing or regex special
1526-# characters, hashes, percent signs, but SUFFIX may contain a leading
1527-# dot (in which case that matches only a dot).
1528-func_stripname ()
1529-{
1530- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
1531- # positional parameters, so assign one to ordinary parameter first.
1532- func_stripname_result=${3}
1533- func_stripname_result=${func_stripname_result#"${1}"}
1534- func_stripname_result=${func_stripname_result%"${2}"}
1535-}
1536-
1537-# func_opt_split
1538-func_opt_split ()
1539-{
1540- func_opt_split_opt=${1%%=*}
1541- func_opt_split_arg=${1#*=}
1542-}
1543-
1544-# func_lo2o object
1545-func_lo2o ()
1546-{
1547- case ${1} in
1548- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
1549- *) func_lo2o_result=${1} ;;
1550- esac
1551-}
1552-
1553-# func_xform libobj-or-source
1554-func_xform ()
1555-{
1556- func_xform_result=${1%.*}.lo
1557-}
1558-
1559-# func_arith arithmetic-term...
1560-func_arith ()
1561-{
1562- func_arith_result=$(( $[*] ))
1563-}
1564-
1565-# func_len string
1566-# STRING may not start with a hyphen.
1567-func_len ()
1568-{
1569- func_len_result=${#1}
1570-}
1571-
1572-_LT_EOF
1573- ;;
1574- *) # Bourne compatible functions.
1575- cat << \_LT_EOF >> "$cfgfile"
1576-
1577-# func_dirname file append nondir_replacement
1578-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
1579-# otherwise set result to NONDIR_REPLACEMENT.
1580-func_dirname ()
1581-{
1582- # Extract subdirectory from the argument.
1583- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
1584- if test "X$func_dirname_result" = "X${1}"; then
1585- func_dirname_result="${3}"
1586- else
1587- func_dirname_result="$func_dirname_result${2}"
1588- fi
1589-}
1590-
1591-# func_basename file
1592-func_basename ()
1593-{
1594- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
1595-}
1596+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
1597+# ------------------------------------------------------
1598+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
1599+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
1600+m4_defun([_LT_PROG_FUNCTION_REPLACE],
1601+[dnl {
1602+sed -e '/^$1 ()$/,/^} # $1 /c\
1603+$1 ()\
1604+{\
1605+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
1606+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
1607+ && mv -f "$cfgfile.tmp" "$cfgfile" \
1608+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
1609+test 0 -eq $? || _lt_function_replace_fail=:
1610+])
1611
1612-dnl func_dirname_and_basename
1613-dnl A portable version of this function is already defined in general.m4sh
1614-dnl so there is no need for it here.
1615
1616-# func_stripname prefix suffix name
1617-# strip PREFIX and SUFFIX off of NAME.
1618-# PREFIX and SUFFIX must not contain globbing or regex special
1619-# characters, hashes, percent signs, but SUFFIX may contain a leading
1620-# dot (in which case that matches only a dot).
1621-# func_strip_suffix prefix name
1622-func_stripname ()
1623-{
1624- case ${2} in
1625- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
1626- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
1627- esac
1628-}
1629+# _LT_PROG_REPLACE_SHELLFNS
1630+# -------------------------
1631+# Replace existing portable implementations of several shell functions with
1632+# equivalent extended shell implementations where those features are available..
1633+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
1634+[if test x"$xsi_shell" = xyes; then
1635+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
1636+ case ${1} in
1637+ */*) func_dirname_result="${1%/*}${2}" ;;
1638+ * ) func_dirname_result="${3}" ;;
1639+ esac])
1640+
1641+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
1642+ func_basename_result="${1##*/}"])
1643+
1644+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
1645+ case ${1} in
1646+ */*) func_dirname_result="${1%/*}${2}" ;;
1647+ * ) func_dirname_result="${3}" ;;
1648+ esac
1649+ func_basename_result="${1##*/}"])
1650
1651-# sed scripts:
1652-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
1653-my_sed_long_arg='1s/^-[[^=]]*=//'
1654+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
1655+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
1656+ # positional parameters, so assign one to ordinary parameter first.
1657+ func_stripname_result=${3}
1658+ func_stripname_result=${func_stripname_result#"${1}"}
1659+ func_stripname_result=${func_stripname_result%"${2}"}])
1660+
1661+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
1662+ func_split_long_opt_name=${1%%=*}
1663+ func_split_long_opt_arg=${1#*=}])
1664+
1665+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
1666+ func_split_short_opt_arg=${1#??}
1667+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
1668+
1669+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
1670+ case ${1} in
1671+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
1672+ *) func_lo2o_result=${1} ;;
1673+ esac])
1674
1675-# func_opt_split
1676-func_opt_split ()
1677-{
1678- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
1679- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
1680-}
1681+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
1682
1683-# func_lo2o object
1684-func_lo2o ()
1685-{
1686- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
1687-}
1688+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
1689
1690-# func_xform libobj-or-source
1691-func_xform ()
1692-{
1693- func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
1694-}
1695+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
1696+fi
1697
1698-# func_arith arithmetic-term...
1699-func_arith ()
1700-{
1701- func_arith_result=`expr "$[@]"`
1702-}
1703+if test x"$lt_shell_append" = xyes; then
1704+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
1705
1706-# func_len string
1707-# STRING may not start with a hyphen.
1708-func_len ()
1709-{
1710- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
1711-}
1712+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
1713+ func_quote_for_eval "${2}"
1714+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
1715+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
1716+
1717+ # Save a `func_append' function call where possible by direct use of '+='
1718+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
1719+ && mv -f "$cfgfile.tmp" "$cfgfile" \
1720+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
1721+ test 0 -eq $? || _lt_function_replace_fail=:
1722+else
1723+ # Save a `func_append' function call even when '+=' is not available
1724+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
1725+ && mv -f "$cfgfile.tmp" "$cfgfile" \
1726+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
1727+ test 0 -eq $? || _lt_function_replace_fail=:
1728+fi
1729
1730-_LT_EOF
1731-esac
1732+if test x"$_lt_function_replace_fail" = x":"; then
1733+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
1734+fi
1735+])
1736
1737-case $lt_shell_append in
1738- yes)
1739- cat << \_LT_EOF >> "$cfgfile"
1740-
1741-# func_append var value
1742-# Append VALUE to the end of shell variable VAR.
1743-func_append ()
1744-{
1745- eval "$[1]+=\$[2]"
1746-}
1747-_LT_EOF
1748+# _LT_PATH_CONVERSION_FUNCTIONS
1749+# -----------------------------
1750+# Determine which file name conversion functions should be used by
1751+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
1752+# for certain cross-compile configurations and native mingw.
1753+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
1754+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1755+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1756+AC_MSG_CHECKING([how to convert $build file names to $host format])
1757+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
1758+[case $host in
1759+ *-*-mingw* )
1760+ case $build in
1761+ *-*-mingw* ) # actually msys
1762+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
1763+ ;;
1764+ *-*-cygwin* )
1765+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
1766+ ;;
1767+ * ) # otherwise, assume *nix
1768+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
1769+ ;;
1770+ esac
1771 ;;
1772- *)
1773- cat << \_LT_EOF >> "$cfgfile"
1774-
1775-# func_append var value
1776-# Append VALUE to the end of shell variable VAR.
1777-func_append ()
1778-{
1779- eval "$[1]=\$$[1]\$[2]"
1780-}
1781-
1782-_LT_EOF
1783+ *-*-cygwin* )
1784+ case $build in
1785+ *-*-mingw* ) # actually msys
1786+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
1787+ ;;
1788+ *-*-cygwin* )
1789+ lt_cv_to_host_file_cmd=func_convert_file_noop
1790+ ;;
1791+ * ) # otherwise, assume *nix
1792+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
1793+ ;;
1794+ esac
1795 ;;
1796- esac
1797+ * ) # unhandled hosts (and "normal" native builds)
1798+ lt_cv_to_host_file_cmd=func_convert_file_noop
1799+ ;;
1800+esac
1801+])
1802+to_host_file_cmd=$lt_cv_to_host_file_cmd
1803+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
1804+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
1805+ [0], [convert $build file names to $host format])dnl
1806+
1807+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
1808+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
1809+[#assume ordinary cross tools, or native build.
1810+lt_cv_to_tool_file_cmd=func_convert_file_noop
1811+case $host in
1812+ *-*-mingw* )
1813+ case $build in
1814+ *-*-mingw* ) # actually msys
1815+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
1816+ ;;
1817+ esac
1818+ ;;
1819+esac
1820 ])
1821+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
1822+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
1823+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
1824+ [0], [convert $build files to toolchain format])dnl
1825+])# _LT_PATH_CONVERSION_FUNCTIONS
1826Index: binutils-2.24/ltmain.sh
1827===================================================================
1828--- binutils-2.24.orig/ltmain.sh 2013-11-04 07:33:40.000000000 -0800
1829+++ binutils-2.24/ltmain.sh 2013-12-15 11:10:23.867118697 -0800
1830@@ -1,10 +1,9 @@
1831-# Generated from ltmain.m4sh.
1832
1833-# libtool (GNU libtool 1.3134 2009-11-29) 2.2.7a
1834+# libtool (GNU libtool) 2.4
1835 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
1836
1837 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
1838-# 2007, 2008, 2009 Free Software Foundation, Inc.
1839+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
1840 # This is free software; see the source for copying conditions. There is NO
1841 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1842
1843@@ -38,7 +37,6 @@
1844 # -n, --dry-run display commands without modifying any files
1845 # --features display basic configuration information and exit
1846 # --mode=MODE use operation mode MODE
1847-# --no-finish let install mode avoid finish commands
1848 # --preserve-dup-deps don't remove duplicate dependency libraries
1849 # --quiet, --silent don't print informational messages
1850 # --no-quiet, --no-silent
1851@@ -71,17 +69,19 @@
1852 # compiler: $LTCC
1853 # compiler flags: $LTCFLAGS
1854 # linker: $LD (gnu? $with_gnu_ld)
1855-# $progname: (GNU libtool 1.3134 2009-11-29) 2.2.7a
1856+# $progname: (GNU libtool) 2.4
1857 # automake: $automake_version
1858 # autoconf: $autoconf_version
1859 #
1860 # Report bugs to <bug-libtool@gnu.org>.
1861+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
1862+# General help using GNU software: <http://www.gnu.org/gethelp/>.
1863
1864 PROGRAM=libtool
1865 PACKAGE=libtool
1866-VERSION=2.2.7a
1867-TIMESTAMP=" 1.3134 2009-11-29"
1868-package_revision=1.3134
1869+VERSION=2.4
1870+TIMESTAMP=""
1871+package_revision=1.3293
1872
1873 # Be Bourne compatible
1874 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
1875@@ -106,9 +106,6 @@
1876 }
1877
1878 # NLS nuisances: We save the old values to restore during execute mode.
1879-# Only set LANG and LC_ALL to C if already set.
1880-# These must not be set unconditionally because not all systems understand
1881-# e.g. LANG=C (notably SCO).
1882 lt_user_locale=
1883 lt_safe_locale=
1884 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
1885@@ -121,15 +118,13 @@
1886 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
1887 fi"
1888 done
1889+LC_ALL=C
1890+LANGUAGE=C
1891+export LANGUAGE LC_ALL
1892
1893 $lt_unset CDPATH
1894
1895
1896-
1897-
1898-
1899-
1900-
1901 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
1902 # is ksh but when the shell is invoked as "sh" and the current value of
1903 # the _XPG environment variable is not equal to 1 (one), the special
1904@@ -140,7 +135,7 @@
1905
1906
1907 : ${CP="cp -f"}
1908-: ${ECHO=$as_echo}
1909+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
1910 : ${EGREP="/bin/grep -E"}
1911 : ${FGREP="/bin/grep -F"}
1912 : ${GREP="/bin/grep"}
1913@@ -149,7 +144,7 @@
1914 : ${MKDIR="mkdir"}
1915 : ${MV="mv -f"}
1916 : ${RM="rm -f"}
1917-: ${SED="/mount/endor/wildenhu/local-x86_64/bin/sed"}
1918+: ${SED="/bin/sed"}
1919 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
1920 : ${Xsed="$SED -e 1s/^X//"}
1921
1922@@ -169,6 +164,27 @@
1923 dirname="s,/[^/]*$,,"
1924 basename="s,^.*/,,"
1925
1926+# func_dirname file append nondir_replacement
1927+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
1928+# otherwise set result to NONDIR_REPLACEMENT.
1929+func_dirname ()
1930+{
1931+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
1932+ if test "X$func_dirname_result" = "X${1}"; then
1933+ func_dirname_result="${3}"
1934+ else
1935+ func_dirname_result="$func_dirname_result${2}"
1936+ fi
1937+} # func_dirname may be replaced by extended shell implementation
1938+
1939+
1940+# func_basename file
1941+func_basename ()
1942+{
1943+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
1944+} # func_basename may be replaced by extended shell implementation
1945+
1946+
1947 # func_dirname_and_basename file append nondir_replacement
1948 # perform func_basename and func_dirname in a single function
1949 # call:
1950@@ -183,17 +199,31 @@
1951 # those functions but instead duplicate the functionality here.
1952 func_dirname_and_basename ()
1953 {
1954- # Extract subdirectory from the argument.
1955- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
1956- if test "X$func_dirname_result" = "X${1}"; then
1957- func_dirname_result="${3}"
1958- else
1959- func_dirname_result="$func_dirname_result${2}"
1960- fi
1961- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
1962-}
1963+ # Extract subdirectory from the argument.
1964+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
1965+ if test "X$func_dirname_result" = "X${1}"; then
1966+ func_dirname_result="${3}"
1967+ else
1968+ func_dirname_result="$func_dirname_result${2}"
1969+ fi
1970+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
1971+} # func_dirname_and_basename may be replaced by extended shell implementation
1972+
1973+
1974+# func_stripname prefix suffix name
1975+# strip PREFIX and SUFFIX off of NAME.
1976+# PREFIX and SUFFIX must not contain globbing or regex special
1977+# characters, hashes, percent signs, but SUFFIX may contain a leading
1978+# dot (in which case that matches only a dot).
1979+# func_strip_suffix prefix name
1980+func_stripname ()
1981+{
1982+ case ${2} in
1983+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
1984+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
1985+ esac
1986+} # func_stripname may be replaced by extended shell implementation
1987
1988-# Generated shell functions inserted here.
1989
1990 # These SED scripts presuppose an absolute path with a trailing slash.
1991 pathcar='s,^/\([^/]*\).*$,\1,'
1992@@ -376,6 +406,15 @@
1993 # Same as above, but do not quote variable references.
1994 double_quote_subst='s/\(["`\\]\)/\\\1/g'
1995
1996+# Sed substitution that turns a string into a regex matching for the
1997+# string literally.
1998+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
1999+
2000+# Sed substitution that converts a w32 file name or path
2001+# which contains forward slashes, into one that contains
2002+# (escaped) backslashes. A very naive implementation.
2003+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2004+
2005 # Re-`\' parameter expansions in output of double_quote_subst that were
2006 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
2007 # in input to double_quote_subst, that '$' was protected from expansion.
2008@@ -404,7 +443,7 @@
2009 # name if it has been set yet.
2010 func_echo ()
2011 {
2012- $ECHO "$progname${mode+: }$mode: $*"
2013+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
2014 }
2015
2016 # func_verbose arg...
2017@@ -430,14 +469,14 @@
2018 # Echo program name prefixed message to standard error.
2019 func_error ()
2020 {
2021- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
2022+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
2023 }
2024
2025 # func_warning arg...
2026 # Echo program name prefixed warning message to standard error.
2027 func_warning ()
2028 {
2029- $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
2030+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
2031
2032 # bash bug again:
2033 :
2034@@ -656,19 +695,35 @@
2035 fi
2036 }
2037
2038-
2039-
2040+# func_tr_sh
2041+# Turn $1 into a string suitable for a shell variable name.
2042+# Result is stored in $func_tr_sh_result. All characters
2043+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
2044+# if $1 begins with a digit, a '_' is prepended as well.
2045+func_tr_sh ()
2046+{
2047+ case $1 in
2048+ [0-9]* | *[!a-zA-Z0-9_]*)
2049+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
2050+ ;;
2051+ * )
2052+ func_tr_sh_result=$1
2053+ ;;
2054+ esac
2055+}
2056
2057
2058 # func_version
2059 # Echo version message to standard output and exit.
2060 func_version ()
2061 {
2062+ $opt_debug
2063+
2064 $SED -n '/(C)/!b go
2065 :more
2066 /\./!{
2067 N
2068- s/\n# //
2069+ s/\n# / /
2070 b more
2071 }
2072 :go
2073@@ -685,7 +740,9 @@
2074 # Echo short help message to standard output and exit.
2075 func_usage ()
2076 {
2077- $SED -n '/^# Usage:/,/^# *-h/ {
2078+ $opt_debug
2079+
2080+ $SED -n '/^# Usage:/,/^# *.*--help/ {
2081 s/^# //
2082 s/^# *$//
2083 s/\$progname/'$progname'/
2084@@ -701,7 +758,10 @@
2085 # unless 'noexit' is passed as argument.
2086 func_help ()
2087 {
2088+ $opt_debug
2089+
2090 $SED -n '/^# Usage:/,/# Report bugs to/ {
2091+ :print
2092 s/^# //
2093 s/^# *$//
2094 s*\$progname*'$progname'*
2095@@ -714,7 +774,11 @@
2096 s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
2097 s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
2098 p
2099- }' < "$progpath"
2100+ d
2101+ }
2102+ /^# .* home page:/b print
2103+ /^# General help using/b print
2104+ ' < "$progpath"
2105 ret=$?
2106 if test -z "$1"; then
2107 exit $ret
2108@@ -726,12 +790,39 @@
2109 # exit_cmd.
2110 func_missing_arg ()
2111 {
2112- func_error "missing argument for $1"
2113+ $opt_debug
2114+
2115+ func_error "missing argument for $1."
2116 exit_cmd=exit
2117 }
2118
2119-exit_cmd=:
2120
2121+# func_split_short_opt shortopt
2122+# Set func_split_short_opt_name and func_split_short_opt_arg shell
2123+# variables after splitting SHORTOPT after the 2nd character.
2124+func_split_short_opt ()
2125+{
2126+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
2127+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
2128+
2129+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
2130+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
2131+} # func_split_short_opt may be replaced by extended shell implementation
2132+
2133+
2134+# func_split_long_opt longopt
2135+# Set func_split_long_opt_name and func_split_long_opt_arg shell
2136+# variables after splitting LONGOPT at the `=' sign.
2137+func_split_long_opt ()
2138+{
2139+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
2140+ my_sed_long_arg='1s/^--[^=]*=//'
2141+
2142+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
2143+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
2144+} # func_split_long_opt may be replaced by extended shell implementation
2145+
2146+exit_cmd=:
2147
2148
2149
2150@@ -741,26 +832,64 @@
2151 magic_exe="%%%MAGIC EXE variable%%%"
2152
2153 # Global variables.
2154-# $mode is unset
2155 nonopt=
2156-execute_dlfiles=
2157 preserve_args=
2158 lo2o="s/\\.lo\$/.${objext}/"
2159 o2lo="s/\\.${objext}\$/.lo/"
2160 extracted_archives=
2161 extracted_serial=0
2162
2163-opt_dry_run=false
2164-opt_finish=:
2165-opt_duplicate_deps=false
2166-opt_silent=false
2167-opt_debug=:
2168-
2169 # If this variable is set in any of the actions, the command in it
2170 # will be execed at the end. This prevents here-documents from being
2171 # left over by shells.
2172 exec_cmd=
2173
2174+# func_append var value
2175+# Append VALUE to the end of shell variable VAR.
2176+func_append ()
2177+{
2178+ eval "${1}=\$${1}\${2}"
2179+} # func_append may be replaced by extended shell implementation
2180+
2181+# func_append_quoted var value
2182+# Quote VALUE and append to the end of shell variable VAR, separated
2183+# by a space.
2184+func_append_quoted ()
2185+{
2186+ func_quote_for_eval "${2}"
2187+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
2188+} # func_append_quoted may be replaced by extended shell implementation
2189+
2190+
2191+# func_arith arithmetic-term...
2192+func_arith ()
2193+{
2194+ func_arith_result=`expr "${@}"`
2195+} # func_arith may be replaced by extended shell implementation
2196+
2197+
2198+# func_len string
2199+# STRING may not start with a hyphen.
2200+func_len ()
2201+{
2202+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
2203+} # func_len may be replaced by extended shell implementation
2204+
2205+
2206+# func_lo2o object
2207+func_lo2o ()
2208+{
2209+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
2210+} # func_lo2o may be replaced by extended shell implementation
2211+
2212+
2213+# func_xform libobj-or-source
2214+func_xform ()
2215+{
2216+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
2217+} # func_xform may be replaced by extended shell implementation
2218+
2219+
2220 # func_fatal_configuration arg...
2221 # Echo program name prefixed message to standard error, followed by
2222 # a configuration failure hint, and exit.
2223@@ -850,130 +979,204 @@
2224 esac
2225 }
2226
2227-# Parse options once, thoroughly. This comes as soon as possible in
2228-# the script to make things like `libtool --version' happen quickly.
2229+# func_check_version_match
2230+# Ensure that we are using m4 macros, and libtool script from the same
2231+# release of libtool.
2232+func_check_version_match ()
2233 {
2234+ if test "$package_revision" != "$macro_revision"; then
2235+ if test "$VERSION" != "$macro_version"; then
2236+ if test -z "$macro_version"; then
2237+ cat >&2 <<_LT_EOF
2238+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2239+$progname: definition of this LT_INIT comes from an older release.
2240+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2241+$progname: and run autoconf again.
2242+_LT_EOF
2243+ else
2244+ cat >&2 <<_LT_EOF
2245+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2246+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
2247+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2248+$progname: and run autoconf again.
2249+_LT_EOF
2250+ fi
2251+ else
2252+ cat >&2 <<_LT_EOF
2253+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
2254+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
2255+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
2256+$progname: of $PACKAGE $VERSION and run autoconf again.
2257+_LT_EOF
2258+ fi
2259+
2260+ exit $EXIT_MISMATCH
2261+ fi
2262+}
2263+
2264+
2265+# Shorthand for --mode=foo, only valid as the first argument
2266+case $1 in
2267+clean|clea|cle|cl)
2268+ shift; set dummy --mode clean ${1+"$@"}; shift
2269+ ;;
2270+compile|compil|compi|comp|com|co|c)
2271+ shift; set dummy --mode compile ${1+"$@"}; shift
2272+ ;;
2273+execute|execut|execu|exec|exe|ex|e)
2274+ shift; set dummy --mode execute ${1+"$@"}; shift
2275+ ;;
2276+finish|finis|fini|fin|fi|f)
2277+ shift; set dummy --mode finish ${1+"$@"}; shift
2278+ ;;
2279+install|instal|insta|inst|ins|in|i)
2280+ shift; set dummy --mode install ${1+"$@"}; shift
2281+ ;;
2282+link|lin|li|l)
2283+ shift; set dummy --mode link ${1+"$@"}; shift
2284+ ;;
2285+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
2286+ shift; set dummy --mode uninstall ${1+"$@"}; shift
2287+ ;;
2288+esac
2289
2290- # Shorthand for --mode=foo, only valid as the first argument
2291- case $1 in
2292- clean|clea|cle|cl)
2293- shift; set dummy --mode clean ${1+"$@"}; shift
2294- ;;
2295- compile|compil|compi|comp|com|co|c)
2296- shift; set dummy --mode compile ${1+"$@"}; shift
2297- ;;
2298- execute|execut|execu|exec|exe|ex|e)
2299- shift; set dummy --mode execute ${1+"$@"}; shift
2300- ;;
2301- finish|finis|fini|fin|fi|f)
2302- shift; set dummy --mode finish ${1+"$@"}; shift
2303- ;;
2304- install|instal|insta|inst|ins|in|i)
2305- shift; set dummy --mode install ${1+"$@"}; shift
2306- ;;
2307- link|lin|li|l)
2308- shift; set dummy --mode link ${1+"$@"}; shift
2309- ;;
2310- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
2311- shift; set dummy --mode uninstall ${1+"$@"}; shift
2312- ;;
2313- esac
2314
2315- # Parse non-mode specific arguments:
2316- while test "$#" -gt 0; do
2317+
2318+# Option defaults:
2319+opt_debug=:
2320+opt_dry_run=false
2321+opt_config=false
2322+opt_preserve_dup_deps=false
2323+opt_features=false
2324+opt_finish=false
2325+opt_help=false
2326+opt_help_all=false
2327+opt_silent=:
2328+opt_verbose=:
2329+opt_silent=false
2330+opt_verbose=false
2331+
2332+
2333+# Parse options once, thoroughly. This comes as soon as possible in the
2334+# script to make things like `--version' happen as quickly as we can.
2335+{
2336+ # this just eases exit handling
2337+ while test $# -gt 0; do
2338 opt="$1"
2339 shift
2340-
2341 case $opt in
2342- --config) func_config ;;
2343-
2344- --debug) preserve_args="$preserve_args $opt"
2345+ --debug|-x) opt_debug='set -x'
2346 func_echo "enabling shell trace mode"
2347- opt_debug='set -x'
2348 $opt_debug
2349 ;;
2350-
2351- -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
2352- execute_dlfiles="$execute_dlfiles $1"
2353- shift
2354+ --dry-run|--dryrun|-n)
2355+ opt_dry_run=:
2356 ;;
2357-
2358- --dry-run | -n) opt_dry_run=: ;;
2359- --features) func_features ;;
2360- --finish) mode="finish" ;;
2361- --no-finish) opt_finish=false ;;
2362-
2363- --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
2364- case $1 in
2365- # Valid mode arguments:
2366- clean) ;;
2367- compile) ;;
2368- execute) ;;
2369- finish) ;;
2370- install) ;;
2371- link) ;;
2372- relink) ;;
2373- uninstall) ;;
2374-
2375- # Catch anything else as an error
2376- *) func_error "invalid argument for $opt"
2377- exit_cmd=exit
2378- break
2379- ;;
2380- esac
2381-
2382- mode="$1"
2383+ --config)
2384+ opt_config=:
2385+func_config
2386+ ;;
2387+ --dlopen|-dlopen)
2388+ optarg="$1"
2389+ opt_dlopen="${opt_dlopen+$opt_dlopen
2390+}$optarg"
2391 shift
2392 ;;
2393-
2394 --preserve-dup-deps)
2395- opt_duplicate_deps=: ;;
2396-
2397- --quiet|--silent) preserve_args="$preserve_args $opt"
2398- opt_silent=:
2399- opt_verbose=false
2400+ opt_preserve_dup_deps=:
2401 ;;
2402-
2403- --no-quiet|--no-silent)
2404- preserve_args="$preserve_args $opt"
2405- opt_silent=false
2406+ --features)
2407+ opt_features=:
2408+func_features
2409 ;;
2410-
2411- --verbose| -v) preserve_args="$preserve_args $opt"
2412+ --finish)
2413+ opt_finish=:
2414+set dummy --mode finish ${1+"$@"}; shift
2415+ ;;
2416+ --help)
2417+ opt_help=:
2418+ ;;
2419+ --help-all)
2420+ opt_help_all=:
2421+opt_help=': help-all'
2422+ ;;
2423+ --mode)
2424+ test $# = 0 && func_missing_arg $opt && break
2425+ optarg="$1"
2426+ opt_mode="$optarg"
2427+case $optarg in
2428+ # Valid mode arguments:
2429+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
2430+
2431+ # Catch anything else as an error
2432+ *) func_error "invalid argument for $opt"
2433+ exit_cmd=exit
2434+ break
2435+ ;;
2436+esac
2437+ shift
2438+ ;;
2439+ --no-silent|--no-quiet)
2440 opt_silent=false
2441- opt_verbose=:
2442+func_append preserve_args " $opt"
2443 ;;
2444-
2445- --no-verbose) preserve_args="$preserve_args $opt"
2446+ --no-verbose)
2447 opt_verbose=false
2448+func_append preserve_args " $opt"
2449 ;;
2450-
2451- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
2452- preserve_args="$preserve_args $opt $1"
2453- func_enable_tag "$1" # tagname is set here
2454+ --silent|--quiet)
2455+ opt_silent=:
2456+func_append preserve_args " $opt"
2457+ opt_verbose=false
2458+ ;;
2459+ --verbose|-v)
2460+ opt_verbose=:
2461+func_append preserve_args " $opt"
2462+opt_silent=false
2463+ ;;
2464+ --tag)
2465+ test $# = 0 && func_missing_arg $opt && break
2466+ optarg="$1"
2467+ opt_tag="$optarg"
2468+func_append preserve_args " $opt $optarg"
2469+func_enable_tag "$optarg"
2470 shift
2471 ;;
2472
2473+ -\?|-h) func_usage ;;
2474+ --help) func_help ;;
2475+ --version) func_version ;;
2476+
2477 # Separate optargs to long options:
2478- -dlopen=*|--mode=*|--tag=*)
2479- func_opt_split "$opt"
2480- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
2481+ --*=*)
2482+ func_split_long_opt "$opt"
2483+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
2484 shift
2485 ;;
2486
2487- -\?|-h) func_usage ;;
2488- --help) opt_help=: ;;
2489- --help-all) opt_help=': help-all' ;;
2490- --version) func_version ;;
2491-
2492- -*) func_fatal_help "unrecognized option \`$opt'" ;;
2493-
2494- *) nonopt="$opt"
2495- break
2496+ # Separate non-argument short options:
2497+ -\?*|-h*|-n*|-v*)
2498+ func_split_short_opt "$opt"
2499+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
2500+ shift
2501 ;;
2502+
2503+ --) break ;;
2504+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
2505+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
2506 esac
2507 done
2508
2509+ # Validate options:
2510+
2511+ # save first non-option argument
2512+ if test "$#" -gt 0; then
2513+ nonopt="$opt"
2514+ shift
2515+ fi
2516+
2517+ # preserve --debug
2518+ test "$opt_debug" = : || func_append preserve_args " --debug"
2519
2520 case $host in
2521 *cygwin* | *mingw* | *pw32* | *cegcc*)
2522@@ -981,82 +1184,44 @@
2523 opt_duplicate_compiler_generated_deps=:
2524 ;;
2525 *)
2526- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
2527+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
2528 ;;
2529 esac
2530
2531- # Having warned about all mis-specified options, bail out if
2532- # anything was wrong.
2533- $exit_cmd $EXIT_FAILURE
2534-}
2535+ $opt_help || {
2536+ # Sanity checks first:
2537+ func_check_version_match
2538
2539-# func_check_version_match
2540-# Ensure that we are using m4 macros, and libtool script from the same
2541-# release of libtool.
2542-func_check_version_match ()
2543-{
2544- if test "$package_revision" != "$macro_revision"; then
2545- if test "$VERSION" != "$macro_version"; then
2546- if test -z "$macro_version"; then
2547- cat >&2 <<_LT_EOF
2548-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2549-$progname: definition of this LT_INIT comes from an older release.
2550-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2551-$progname: and run autoconf again.
2552-_LT_EOF
2553- else
2554- cat >&2 <<_LT_EOF
2555-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2556-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
2557-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2558-$progname: and run autoconf again.
2559-_LT_EOF
2560- fi
2561- else
2562- cat >&2 <<_LT_EOF
2563-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
2564-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
2565-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
2566-$progname: of $PACKAGE $VERSION and run autoconf again.
2567-_LT_EOF
2568+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
2569+ func_fatal_configuration "not configured to build any kind of library"
2570 fi
2571
2572- exit $EXIT_MISMATCH
2573- fi
2574-}
2575-
2576+ # Darwin sucks
2577+ eval std_shrext=\"$shrext_cmds\"
2578
2579-## ----------- ##
2580-## Main. ##
2581-## ----------- ##
2582-
2583-$opt_help || {
2584- # Sanity checks first:
2585- func_check_version_match
2586-
2587- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
2588- func_fatal_configuration "not configured to build any kind of library"
2589- fi
2590+ # Only execute mode is allowed to have -dlopen flags.
2591+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
2592+ func_error "unrecognized option \`-dlopen'"
2593+ $ECHO "$help" 1>&2
2594+ exit $EXIT_FAILURE
2595+ fi
2596
2597- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
2598+ # Change the help message to a mode-specific one.
2599+ generic_help="$help"
2600+ help="Try \`$progname --help --mode=$opt_mode' for more information."
2601+ }
2602
2603
2604- # Darwin sucks
2605- eval "std_shrext=\"$shrext_cmds\""
2606+ # Bail if the options were screwed
2607+ $exit_cmd $EXIT_FAILURE
2608+}
2609
2610
2611- # Only execute mode is allowed to have -dlopen flags.
2612- if test -n "$execute_dlfiles" && test "$mode" != execute; then
2613- func_error "unrecognized option \`-dlopen'"
2614- $ECHO "$help" 1>&2
2615- exit $EXIT_FAILURE
2616- fi
2617
2618- # Change the help message to a mode-specific one.
2619- generic_help="$help"
2620- help="Try \`$progname --help --mode=$mode' for more information."
2621-}
2622
2623+## ----------- ##
2624+## Main. ##
2625+## ----------- ##
2626
2627 # func_lalib_p file
2628 # True iff FILE is a libtool `.la' library or `.lo' object file.
2629@@ -1121,12 +1286,9 @@
2630 # temporary ltwrapper_script.
2631 func_ltwrapper_scriptname ()
2632 {
2633- func_ltwrapper_scriptname_result=""
2634- if func_ltwrapper_executable_p "$1"; then
2635- func_dirname_and_basename "$1" "" "."
2636- func_stripname '' '.exe' "$func_basename_result"
2637- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
2638- fi
2639+ func_dirname_and_basename "$1" "" "."
2640+ func_stripname '' '.exe' "$func_basename_result"
2641+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
2642 }
2643
2644 # func_ltwrapper_p file
2645@@ -1149,7 +1311,7 @@
2646 save_ifs=$IFS; IFS='~'
2647 for cmd in $1; do
2648 IFS=$save_ifs
2649- eval "cmd=\"$cmd\""
2650+ eval cmd=\"$cmd\"
2651 func_show_eval "$cmd" "${2-:}"
2652 done
2653 IFS=$save_ifs
2654@@ -1172,6 +1334,37 @@
2655 }
2656
2657
2658+# func_resolve_sysroot PATH
2659+# Replace a leading = in PATH with a sysroot. Store the result into
2660+# func_resolve_sysroot_result
2661+func_resolve_sysroot ()
2662+{
2663+ func_resolve_sysroot_result=$1
2664+ case $func_resolve_sysroot_result in
2665+ =*)
2666+ func_stripname '=' '' "$func_resolve_sysroot_result"
2667+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
2668+ ;;
2669+ esac
2670+}
2671+
2672+# func_replace_sysroot PATH
2673+# If PATH begins with the sysroot, replace it with = and
2674+# store the result into func_replace_sysroot_result.
2675+func_replace_sysroot ()
2676+{
2677+ case "$lt_sysroot:$1" in
2678+ ?*:"$lt_sysroot"*)
2679+ func_stripname "$lt_sysroot" '' "$1"
2680+ func_replace_sysroot_result="=$func_stripname_result"
2681+ ;;
2682+ *)
2683+ # Including no sysroot.
2684+ func_replace_sysroot_result=$1
2685+ ;;
2686+ esac
2687+}
2688+
2689 # func_infer_tag arg
2690 # Infer tagged configuration to use if any are available and
2691 # if one wasn't chosen via the "--tag" command line option.
2692@@ -1184,8 +1377,7 @@
2693 if test -n "$available_tags" && test -z "$tagname"; then
2694 CC_quoted=
2695 for arg in $CC; do
2696- func_quote_for_eval "$arg"
2697- CC_quoted="$CC_quoted $func_quote_for_eval_result"
2698+ func_append_quoted CC_quoted "$arg"
2699 done
2700 CC_expanded=`func_echo_all $CC`
2701 CC_quoted_expanded=`func_echo_all $CC_quoted`
2702@@ -1204,8 +1396,7 @@
2703 CC_quoted=
2704 for arg in $CC; do
2705 # Double-quote args containing other shell metacharacters.
2706- func_quote_for_eval "$arg"
2707- CC_quoted="$CC_quoted $func_quote_for_eval_result"
2708+ func_append_quoted CC_quoted "$arg"
2709 done
2710 CC_expanded=`func_echo_all $CC`
2711 CC_quoted_expanded=`func_echo_all $CC_quoted`
2712@@ -1274,6 +1465,486 @@
2713 }
2714 }
2715
2716+
2717+##################################################
2718+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
2719+##################################################
2720+
2721+# func_convert_core_file_wine_to_w32 ARG
2722+# Helper function used by file name conversion functions when $build is *nix,
2723+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
2724+# correctly configured wine environment available, with the winepath program
2725+# in $build's $PATH.
2726+#
2727+# ARG is the $build file name to be converted to w32 format.
2728+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
2729+# be empty on error (or when ARG is empty)
2730+func_convert_core_file_wine_to_w32 ()
2731+{
2732+ $opt_debug
2733+ func_convert_core_file_wine_to_w32_result="$1"
2734+ if test -n "$1"; then
2735+ # Unfortunately, winepath does not exit with a non-zero error code, so we
2736+ # are forced to check the contents of stdout. On the other hand, if the
2737+ # command is not found, the shell will set an exit code of 127 and print
2738+ # *an error message* to stdout. So we must check for both error code of
2739+ # zero AND non-empty stdout, which explains the odd construction:
2740+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
2741+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
2742+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
2743+ $SED -e "$lt_sed_naive_backslashify"`
2744+ else
2745+ func_convert_core_file_wine_to_w32_result=
2746+ fi
2747+ fi
2748+}
2749+# end: func_convert_core_file_wine_to_w32
2750+
2751+
2752+# func_convert_core_path_wine_to_w32 ARG
2753+# Helper function used by path conversion functions when $build is *nix, and
2754+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
2755+# configured wine environment available, with the winepath program in $build's
2756+# $PATH. Assumes ARG has no leading or trailing path separator characters.
2757+#
2758+# ARG is path to be converted from $build format to win32.
2759+# Result is available in $func_convert_core_path_wine_to_w32_result.
2760+# Unconvertible file (directory) names in ARG are skipped; if no directory names
2761+# are convertible, then the result may be empty.
2762+func_convert_core_path_wine_to_w32 ()
2763+{
2764+ $opt_debug
2765+ # unfortunately, winepath doesn't convert paths, only file names
2766+ func_convert_core_path_wine_to_w32_result=""
2767+ if test -n "$1"; then
2768+ oldIFS=$IFS
2769+ IFS=:
2770+ for func_convert_core_path_wine_to_w32_f in $1; do
2771+ IFS=$oldIFS
2772+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
2773+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
2774+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
2775+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
2776+ else
2777+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
2778+ fi
2779+ fi
2780+ done
2781+ IFS=$oldIFS
2782+ fi
2783+}
2784+# end: func_convert_core_path_wine_to_w32
2785+
2786+
2787+# func_cygpath ARGS...
2788+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
2789+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
2790+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
2791+# (2), returns the Cygwin file name or path in func_cygpath_result (input
2792+# file name or path is assumed to be in w32 format, as previously converted
2793+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
2794+# or path in func_cygpath_result (input file name or path is assumed to be in
2795+# Cygwin format). Returns an empty string on error.
2796+#
2797+# ARGS are passed to cygpath, with the last one being the file name or path to
2798+# be converted.
2799+#
2800+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
2801+# environment variable; do not put it in $PATH.
2802+func_cygpath ()
2803+{
2804+ $opt_debug
2805+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
2806+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
2807+ if test "$?" -ne 0; then
2808+ # on failure, ensure result is empty
2809+ func_cygpath_result=
2810+ fi
2811+ else
2812+ func_cygpath_result=
2813+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
2814+ fi
2815+}
2816+#end: func_cygpath
2817+
2818+
2819+# func_convert_core_msys_to_w32 ARG
2820+# Convert file name or path ARG from MSYS format to w32 format. Return
2821+# result in func_convert_core_msys_to_w32_result.
2822+func_convert_core_msys_to_w32 ()
2823+{
2824+ $opt_debug
2825+ # awkward: cmd appends spaces to result
2826+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
2827+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
2828+}
2829+#end: func_convert_core_msys_to_w32
2830+
2831+
2832+# func_convert_file_check ARG1 ARG2
2833+# Verify that ARG1 (a file name in $build format) was converted to $host
2834+# format in ARG2. Otherwise, emit an error message, but continue (resetting
2835+# func_to_host_file_result to ARG1).
2836+func_convert_file_check ()
2837+{
2838+ $opt_debug
2839+ if test -z "$2" && test -n "$1" ; then
2840+ func_error "Could not determine host file name corresponding to"
2841+ func_error " \`$1'"
2842+ func_error "Continuing, but uninstalled executables may not work."
2843+ # Fallback:
2844+ func_to_host_file_result="$1"
2845+ fi
2846+}
2847+# end func_convert_file_check
2848+
2849+
2850+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
2851+# Verify that FROM_PATH (a path in $build format) was converted to $host
2852+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
2853+# func_to_host_file_result to a simplistic fallback value (see below).
2854+func_convert_path_check ()
2855+{
2856+ $opt_debug
2857+ if test -z "$4" && test -n "$3"; then
2858+ func_error "Could not determine the host path corresponding to"
2859+ func_error " \`$3'"
2860+ func_error "Continuing, but uninstalled executables may not work."
2861+ # Fallback. This is a deliberately simplistic "conversion" and
2862+ # should not be "improved". See libtool.info.
2863+ if test "x$1" != "x$2"; then
2864+ lt_replace_pathsep_chars="s|$1|$2|g"
2865+ func_to_host_path_result=`echo "$3" |
2866+ $SED -e "$lt_replace_pathsep_chars"`
2867+ else
2868+ func_to_host_path_result="$3"
2869+ fi
2870+ fi
2871+}
2872+# end func_convert_path_check
2873+
2874+
2875+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
2876+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
2877+# and appending REPL if ORIG matches BACKPAT.
2878+func_convert_path_front_back_pathsep ()
2879+{
2880+ $opt_debug
2881+ case $4 in
2882+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
2883+ ;;
2884+ esac
2885+ case $4 in
2886+ $2 ) func_append func_to_host_path_result "$3"
2887+ ;;
2888+ esac
2889+}
2890+# end func_convert_path_front_back_pathsep
2891+
2892+
2893+##################################################
2894+# $build to $host FILE NAME CONVERSION FUNCTIONS #
2895+##################################################
2896+# invoked via `$to_host_file_cmd ARG'
2897+#
2898+# In each case, ARG is the path to be converted from $build to $host format.
2899+# Result will be available in $func_to_host_file_result.
2900+
2901+
2902+# func_to_host_file ARG
2903+# Converts the file name ARG from $build format to $host format. Return result
2904+# in func_to_host_file_result.
2905+func_to_host_file ()
2906+{
2907+ $opt_debug
2908+ $to_host_file_cmd "$1"
2909+}
2910+# end func_to_host_file
2911+
2912+
2913+# func_to_tool_file ARG LAZY
2914+# converts the file name ARG from $build format to toolchain format. Return
2915+# result in func_to_tool_file_result. If the conversion in use is listed
2916+# in (the comma separated) LAZY, no conversion takes place.
2917+func_to_tool_file ()
2918+{
2919+ $opt_debug
2920+ case ,$2, in
2921+ *,"$to_tool_file_cmd",*)
2922+ func_to_tool_file_result=$1
2923+ ;;
2924+ *)
2925+ $to_tool_file_cmd "$1"
2926+ func_to_tool_file_result=$func_to_host_file_result
2927+ ;;
2928+ esac
2929+}
2930+# end func_to_tool_file
2931+
2932+
2933+# func_convert_file_noop ARG
2934+# Copy ARG to func_to_host_file_result.
2935+func_convert_file_noop ()
2936+{
2937+ func_to_host_file_result="$1"
2938+}
2939+# end func_convert_file_noop
2940+
2941+
2942+# func_convert_file_msys_to_w32 ARG
2943+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
2944+# conversion to w32 is not available inside the cwrapper. Returns result in
2945+# func_to_host_file_result.
2946+func_convert_file_msys_to_w32 ()
2947+{
2948+ $opt_debug
2949+ func_to_host_file_result="$1"
2950+ if test -n "$1"; then
2951+ func_convert_core_msys_to_w32 "$1"
2952+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
2953+ fi
2954+ func_convert_file_check "$1" "$func_to_host_file_result"
2955+}
2956+# end func_convert_file_msys_to_w32
2957+
2958+
2959+# func_convert_file_cygwin_to_w32 ARG
2960+# Convert file name ARG from Cygwin to w32 format. Returns result in
2961+# func_to_host_file_result.
2962+func_convert_file_cygwin_to_w32 ()
2963+{
2964+ $opt_debug
2965+ func_to_host_file_result="$1"
2966+ if test -n "$1"; then
2967+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
2968+ # LT_CYGPATH in this case.
2969+ func_to_host_file_result=`cygpath -m "$1"`
2970+ fi
2971+ func_convert_file_check "$1" "$func_to_host_file_result"
2972+}
2973+# end func_convert_file_cygwin_to_w32
2974+
2975+
2976+# func_convert_file_nix_to_w32 ARG
2977+# Convert file name ARG from *nix to w32 format. Requires a wine environment
2978+# and a working winepath. Returns result in func_to_host_file_result.
2979+func_convert_file_nix_to_w32 ()
2980+{
2981+ $opt_debug
2982+ func_to_host_file_result="$1"
2983+ if test -n "$1"; then
2984+ func_convert_core_file_wine_to_w32 "$1"
2985+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
2986+ fi
2987+ func_convert_file_check "$1" "$func_to_host_file_result"
2988+}
2989+# end func_convert_file_nix_to_w32
2990+
2991+
2992+# func_convert_file_msys_to_cygwin ARG
2993+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
2994+# Returns result in func_to_host_file_result.
2995+func_convert_file_msys_to_cygwin ()
2996+{
2997+ $opt_debug
2998+ func_to_host_file_result="$1"
2999+ if test -n "$1"; then
3000+ func_convert_core_msys_to_w32 "$1"
3001+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
3002+ func_to_host_file_result="$func_cygpath_result"
3003+ fi
3004+ func_convert_file_check "$1" "$func_to_host_file_result"
3005+}
3006+# end func_convert_file_msys_to_cygwin
3007+
3008+
3009+# func_convert_file_nix_to_cygwin ARG
3010+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
3011+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
3012+# in func_to_host_file_result.
3013+func_convert_file_nix_to_cygwin ()
3014+{
3015+ $opt_debug
3016+ func_to_host_file_result="$1"
3017+ if test -n "$1"; then
3018+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
3019+ func_convert_core_file_wine_to_w32 "$1"
3020+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
3021+ func_to_host_file_result="$func_cygpath_result"
3022+ fi
3023+ func_convert_file_check "$1" "$func_to_host_file_result"
3024+}
3025+# end func_convert_file_nix_to_cygwin
3026+
3027+
3028+#############################################
3029+# $build to $host PATH CONVERSION FUNCTIONS #
3030+#############################################
3031+# invoked via `$to_host_path_cmd ARG'
3032+#
3033+# In each case, ARG is the path to be converted from $build to $host format.
3034+# The result will be available in $func_to_host_path_result.
3035+#
3036+# Path separators are also converted from $build format to $host format. If
3037+# ARG begins or ends with a path separator character, it is preserved (but
3038+# converted to $host format) on output.
3039+#
3040+# All path conversion functions are named using the following convention:
3041+# file name conversion function : func_convert_file_X_to_Y ()
3042+# path conversion function : func_convert_path_X_to_Y ()
3043+# where, for any given $build/$host combination the 'X_to_Y' value is the
3044+# same. If conversion functions are added for new $build/$host combinations,
3045+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
3046+# will break.
3047+
3048+
3049+# func_init_to_host_path_cmd
3050+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
3051+# appropriate value, based on the value of $to_host_file_cmd.
3052+to_host_path_cmd=
3053+func_init_to_host_path_cmd ()
3054+{
3055+ $opt_debug
3056+ if test -z "$to_host_path_cmd"; then
3057+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
3058+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
3059+ fi
3060+}
3061+
3062+
3063+# func_to_host_path ARG
3064+# Converts the path ARG from $build format to $host format. Return result
3065+# in func_to_host_path_result.
3066+func_to_host_path ()
3067+{
3068+ $opt_debug
3069+ func_init_to_host_path_cmd
3070+ $to_host_path_cmd "$1"
3071+}
3072+# end func_to_host_path
3073+
3074+
3075+# func_convert_path_noop ARG
3076+# Copy ARG to func_to_host_path_result.
3077+func_convert_path_noop ()
3078+{
3079+ func_to_host_path_result="$1"
3080+}
3081+# end func_convert_path_noop
3082+
3083+
3084+# func_convert_path_msys_to_w32 ARG
3085+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
3086+# conversion to w32 is not available inside the cwrapper. Returns result in
3087+# func_to_host_path_result.
3088+func_convert_path_msys_to_w32 ()
3089+{
3090+ $opt_debug
3091+ func_to_host_path_result="$1"
3092+ if test -n "$1"; then
3093+ # Remove leading and trailing path separator characters from ARG. MSYS
3094+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
3095+ # and winepath ignores them completely.
3096+ func_stripname : : "$1"
3097+ func_to_host_path_tmp1=$func_stripname_result
3098+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
3099+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
3100+ func_convert_path_check : ";" \
3101+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
3102+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3103+ fi
3104+}
3105+# end func_convert_path_msys_to_w32
3106+
3107+
3108+# func_convert_path_cygwin_to_w32 ARG
3109+# Convert path ARG from Cygwin to w32 format. Returns result in
3110+# func_to_host_file_result.
3111+func_convert_path_cygwin_to_w32 ()
3112+{
3113+ $opt_debug
3114+ func_to_host_path_result="$1"
3115+ if test -n "$1"; then
3116+ # See func_convert_path_msys_to_w32:
3117+ func_stripname : : "$1"
3118+ func_to_host_path_tmp1=$func_stripname_result
3119+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
3120+ func_convert_path_check : ";" \
3121+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
3122+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3123+ fi
3124+}
3125+# end func_convert_path_cygwin_to_w32
3126+
3127+
3128+# func_convert_path_nix_to_w32 ARG
3129+# Convert path ARG from *nix to w32 format. Requires a wine environment and
3130+# a working winepath. Returns result in func_to_host_file_result.
3131+func_convert_path_nix_to_w32 ()
3132+{
3133+ $opt_debug
3134+ func_to_host_path_result="$1"
3135+ if test -n "$1"; then
3136+ # See func_convert_path_msys_to_w32:
3137+ func_stripname : : "$1"
3138+ func_to_host_path_tmp1=$func_stripname_result
3139+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
3140+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
3141+ func_convert_path_check : ";" \
3142+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
3143+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3144+ fi
3145+}
3146+# end func_convert_path_nix_to_w32
3147+
3148+
3149+# func_convert_path_msys_to_cygwin ARG
3150+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
3151+# Returns result in func_to_host_file_result.
3152+func_convert_path_msys_to_cygwin ()
3153+{
3154+ $opt_debug
3155+ func_to_host_path_result="$1"
3156+ if test -n "$1"; then
3157+ # See func_convert_path_msys_to_w32:
3158+ func_stripname : : "$1"
3159+ func_to_host_path_tmp1=$func_stripname_result
3160+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
3161+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
3162+ func_to_host_path_result="$func_cygpath_result"
3163+ func_convert_path_check : : \
3164+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
3165+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
3166+ fi
3167+}
3168+# end func_convert_path_msys_to_cygwin
3169+
3170+
3171+# func_convert_path_nix_to_cygwin ARG
3172+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
3173+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
3174+# func_to_host_file_result.
3175+func_convert_path_nix_to_cygwin ()
3176+{
3177+ $opt_debug
3178+ func_to_host_path_result="$1"
3179+ if test -n "$1"; then
3180+ # Remove leading and trailing path separator characters from
3181+ # ARG. msys behavior is inconsistent here, cygpath turns them
3182+ # into '.;' and ';.', and winepath ignores them completely.
3183+ func_stripname : : "$1"
3184+ func_to_host_path_tmp1=$func_stripname_result
3185+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
3186+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
3187+ func_to_host_path_result="$func_cygpath_result"
3188+ func_convert_path_check : : \
3189+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
3190+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
3191+ fi
3192+}
3193+# end func_convert_path_nix_to_cygwin
3194+
3195+
3196 # func_mode_compile arg...
3197 func_mode_compile ()
3198 {
3199@@ -1314,12 +1985,12 @@
3200 ;;
3201
3202 -pie | -fpie | -fPIE)
3203- pie_flag="$pie_flag $arg"
3204+ func_append pie_flag " $arg"
3205 continue
3206 ;;
3207
3208 -shared | -static | -prefer-pic | -prefer-non-pic)
3209- later="$later $arg"
3210+ func_append later " $arg"
3211 continue
3212 ;;
3213
3214@@ -1340,15 +2011,14 @@
3215 save_ifs="$IFS"; IFS=','
3216 for arg in $args; do
3217 IFS="$save_ifs"
3218- func_quote_for_eval "$arg"
3219- lastarg="$lastarg $func_quote_for_eval_result"
3220+ func_append_quoted lastarg "$arg"
3221 done
3222 IFS="$save_ifs"
3223 func_stripname ' ' '' "$lastarg"
3224 lastarg=$func_stripname_result
3225
3226 # Add the arguments to base_compile.
3227- base_compile="$base_compile $lastarg"
3228+ func_append base_compile " $lastarg"
3229 continue
3230 ;;
3231
3232@@ -1364,8 +2034,7 @@
3233 esac # case $arg_mode
3234
3235 # Aesthetically quote the previous argument.
3236- func_quote_for_eval "$lastarg"
3237- base_compile="$base_compile $func_quote_for_eval_result"
3238+ func_append_quoted base_compile "$lastarg"
3239 done # for arg
3240
3241 case $arg_mode in
3242@@ -1496,17 +2165,16 @@
3243 $opt_dry_run || $RM $removelist
3244 exit $EXIT_FAILURE
3245 fi
3246- removelist="$removelist $output_obj"
3247+ func_append removelist " $output_obj"
3248 $ECHO "$srcfile" > "$lockfile"
3249 fi
3250
3251 $opt_dry_run || $RM $removelist
3252- removelist="$removelist $lockfile"
3253+ func_append removelist " $lockfile"
3254 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
3255
3256- if test -n "$fix_srcfile_path"; then
3257- eval "srcfile=\"$fix_srcfile_path\""
3258- fi
3259+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
3260+ srcfile=$func_to_tool_file_result
3261 func_quote_for_eval "$srcfile"
3262 qsrcfile=$func_quote_for_eval_result
3263
3264@@ -1526,7 +2194,7 @@
3265
3266 if test -z "$output_obj"; then
3267 # Place PIC objects in $objdir
3268- command="$command -o $lobj"
3269+ func_append command " -o $lobj"
3270 fi
3271
3272 func_show_eval_locale "$command" \
3273@@ -1573,11 +2241,11 @@
3274 command="$base_compile $qsrcfile $pic_flag"
3275 fi
3276 if test "$compiler_c_o" = yes; then
3277- command="$command -o $obj"
3278+ func_append command " -o $obj"
3279 fi
3280
3281 # Suppress compiler output if we already did a PIC compilation.
3282- command="$command$suppress_output"
3283+ func_append command "$suppress_output"
3284 func_show_eval_locale "$command" \
3285 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
3286
3287@@ -1622,13 +2290,13 @@
3288 }
3289
3290 $opt_help || {
3291- test "$mode" = compile && func_mode_compile ${1+"$@"}
3292+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
3293 }
3294
3295 func_mode_help ()
3296 {
3297 # We need to display help for each of the modes.
3298- case $mode in
3299+ case $opt_mode in
3300 "")
3301 # Generic help is extracted from the usage comments
3302 # at the start of this file.
3303@@ -1659,8 +2327,8 @@
3304
3305 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
3306 -no-suppress do not suppress compiler output for multiple passes
3307- -prefer-pic try to building PIC objects only
3308- -prefer-non-pic try to building non-PIC objects only
3309+ -prefer-pic try to build PIC objects only
3310+ -prefer-non-pic try to build non-PIC objects only
3311 -shared do not build a \`.o' file suitable for static linking
3312 -static only build a \`.o' file suitable for static linking
3313 -Wc,FLAG pass FLAG directly to the compiler
3314@@ -1804,7 +2472,7 @@
3315 ;;
3316
3317 *)
3318- func_fatal_help "invalid operation mode \`$mode'"
3319+ func_fatal_help "invalid operation mode \`$opt_mode'"
3320 ;;
3321 esac
3322
3323@@ -1819,13 +2487,13 @@
3324 else
3325 {
3326 func_help noexit