1.1 --- a/gst-plugins-nuvdemux/ltmain.sh Thu Oct 26 18:55:14 2006 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,6530 +0,0 @@
1.4 -# ltmain.sh - Provide generalized library-building support services.
1.5 -# NOTE: Changing this file will not affect anything until you rerun configure.
1.6 -#
1.7 -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
1.8 -# Free Software Foundation, Inc.
1.9 -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
1.10 -#
1.11 -# This program is free software; you can redistribute it and/or modify
1.12 -# it under the terms of the GNU General Public License as published by
1.13 -# the Free Software Foundation; either version 2 of the License, or
1.14 -# (at your option) any later version.
1.15 -#
1.16 -# This program is distributed in the hope that it will be useful, but
1.17 -# WITHOUT ANY WARRANTY; without even the implied warranty of
1.18 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.19 -# General Public License for more details.
1.20 -#
1.21 -# You should have received a copy of the GNU General Public License
1.22 -# along with this program; if not, write to the Free Software
1.23 -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1.24 -#
1.25 -# As a special exception to the GNU General Public License, if you
1.26 -# distribute this file as part of a program that contains a
1.27 -# configuration script generated by Autoconf, you may include it under
1.28 -# the same distribution terms that you use for the rest of that program.
1.29 -
1.30 -basename="s,^.*/,,g"
1.31 -
1.32 -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
1.33 -# is ksh but when the shell is invoked as "sh" and the current value of
1.34 -# the _XPG environment variable is not equal to 1 (one), the special
1.35 -# positional parameter $0, within a function call, is the name of the
1.36 -# function.
1.37 -progpath="$0"
1.38 -
1.39 -# The name of this program:
1.40 -progname=`echo "$progpath" | $SED $basename`
1.41 -modename="$progname"
1.42 -
1.43 -# Global variables:
1.44 -EXIT_SUCCESS=0
1.45 -EXIT_FAILURE=1
1.46 -
1.47 -PROGRAM=ltmain.sh
1.48 -PACKAGE=libtool
1.49 -VERSION=1.5.20
1.50 -TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)"
1.51 -
1.52 -# See if we are running on zsh, and set the options which allow our
1.53 -# commands through without removal of \ escapes.
1.54 -if test -n "${ZSH_VERSION+set}" ; then
1.55 - setopt NO_GLOB_SUBST
1.56 -fi
1.57 -
1.58 -# Check that we have a working $echo.
1.59 -if test "X$1" = X--no-reexec; then
1.60 - # Discard the --no-reexec flag, and continue.
1.61 - shift
1.62 -elif test "X$1" = X--fallback-echo; then
1.63 - # Avoid inline document here, it may be left over
1.64 - :
1.65 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
1.66 - # Yippee, $echo works!
1.67 - :
1.68 -else
1.69 - # Restart under the correct shell, and then maybe $echo will work.
1.70 - exec $SHELL "$progpath" --no-reexec ${1+"$@"}
1.71 -fi
1.72 -
1.73 -if test "X$1" = X--fallback-echo; then
1.74 - # used as fallback echo
1.75 - shift
1.76 - cat <<EOF
1.77 -$*
1.78 -EOF
1.79 - exit $EXIT_SUCCESS
1.80 -fi
1.81 -
1.82 -default_mode=
1.83 -help="Try \`$progname --help' for more information."
1.84 -magic="%%%MAGIC variable%%%"
1.85 -mkdir="mkdir"
1.86 -mv="mv -f"
1.87 -rm="rm -f"
1.88 -
1.89 -# Sed substitution that helps us do robust quoting. It backslashifies
1.90 -# metacharacters that are still active within double-quoted strings.
1.91 -Xsed="${SED}"' -e 1s/^X//'
1.92 -sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
1.93 -# test EBCDIC or ASCII
1.94 -case `echo X|tr X '\101'` in
1.95 - A) # ASCII based system
1.96 - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
1.97 - SP2NL='tr \040 \012'
1.98 - NL2SP='tr \015\012 \040\040'
1.99 - ;;
1.100 - *) # EBCDIC based system
1.101 - SP2NL='tr \100 \n'
1.102 - NL2SP='tr \r\n \100\100'
1.103 - ;;
1.104 -esac
1.105 -
1.106 -# NLS nuisances.
1.107 -# Only set LANG and LC_ALL to C if already set.
1.108 -# These must not be set unconditionally because not all systems understand
1.109 -# e.g. LANG=C (notably SCO).
1.110 -# We save the old values to restore during execute mode.
1.111 -if test "${LC_ALL+set}" = set; then
1.112 - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
1.113 -fi
1.114 -if test "${LANG+set}" = set; then
1.115 - save_LANG="$LANG"; LANG=C; export LANG
1.116 -fi
1.117 -
1.118 -# Make sure IFS has a sensible default
1.119 -lt_nl='
1.120 -'
1.121 -IFS=" $lt_nl"
1.122 -
1.123 -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
1.124 - $echo "$modename: not configured to build any kind of library" 1>&2
1.125 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
1.126 - exit $EXIT_FAILURE
1.127 -fi
1.128 -
1.129 -# Global variables.
1.130 -mode=$default_mode
1.131 -nonopt=
1.132 -prev=
1.133 -prevopt=
1.134 -run=
1.135 -show="$echo"
1.136 -show_help=
1.137 -execute_dlfiles=
1.138 -lo2o="s/\\.lo\$/.${objext}/"
1.139 -o2lo="s/\\.${objext}\$/.lo/"
1.140 -
1.141 -#####################################
1.142 -# Shell function definitions:
1.143 -# This seems to be the best place for them
1.144 -
1.145 -# func_win32_libid arg
1.146 -# return the library type of file 'arg'
1.147 -#
1.148 -# Need a lot of goo to handle *both* DLLs and import libs
1.149 -# Has to be a shell function in order to 'eat' the argument
1.150 -# that is supplied when $file_magic_command is called.
1.151 -func_win32_libid ()
1.152 -{
1.153 - win32_libid_type="unknown"
1.154 - win32_fileres=`file -L $1 2>/dev/null`
1.155 - case $win32_fileres in
1.156 - *ar\ archive\ import\ library*) # definitely import
1.157 - win32_libid_type="x86 archive import"
1.158 - ;;
1.159 - *ar\ archive*) # could be an import, or static
1.160 - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
1.161 - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
1.162 - win32_nmres=`eval $NM -f posix -A $1 | \
1.163 - sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
1.164 - if test "X$win32_nmres" = "Ximport" ; then
1.165 - win32_libid_type="x86 archive import"
1.166 - else
1.167 - win32_libid_type="x86 archive static"
1.168 - fi
1.169 - fi
1.170 - ;;
1.171 - *DLL*)
1.172 - win32_libid_type="x86 DLL"
1.173 - ;;
1.174 - *executable*) # but shell scripts are "executable" too...
1.175 - case $win32_fileres in
1.176 - *MS\ Windows\ PE\ Intel*)
1.177 - win32_libid_type="x86 DLL"
1.178 - ;;
1.179 - esac
1.180 - ;;
1.181 - esac
1.182 - $echo $win32_libid_type
1.183 -}
1.184 -
1.185 -
1.186 -# func_infer_tag arg
1.187 -# Infer tagged configuration to use if any are available and
1.188 -# if one wasn't chosen via the "--tag" command line option.
1.189 -# Only attempt this if the compiler in the base compile
1.190 -# command doesn't match the default compiler.
1.191 -# arg is usually of the form 'gcc ...'
1.192 -func_infer_tag ()
1.193 -{
1.194 - if test -n "$available_tags" && test -z "$tagname"; then
1.195 - CC_quoted=
1.196 - for arg in $CC; do
1.197 - case $arg in
1.198 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.199 - arg="\"$arg\""
1.200 - ;;
1.201 - esac
1.202 - CC_quoted="$CC_quoted $arg"
1.203 - done
1.204 - case $@ in
1.205 - # Blanks in the command may have been stripped by the calling shell,
1.206 - # but not from the CC environment variable when configure was run.
1.207 - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
1.208 - # Blanks at the start of $base_compile will cause this to fail
1.209 - # if we don't check for them as well.
1.210 - *)
1.211 - for z in $available_tags; do
1.212 - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1.213 - # Evaluate the configuration.
1.214 - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1.215 - CC_quoted=
1.216 - for arg in $CC; do
1.217 - # Double-quote args containing other shell metacharacters.
1.218 - case $arg in
1.219 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.220 - arg="\"$arg\""
1.221 - ;;
1.222 - esac
1.223 - CC_quoted="$CC_quoted $arg"
1.224 - done
1.225 - case "$@ " in
1.226 - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
1.227 - # The compiler in the base compile command matches
1.228 - # the one in the tagged configuration.
1.229 - # Assume this is the tagged configuration we want.
1.230 - tagname=$z
1.231 - break
1.232 - ;;
1.233 - esac
1.234 - fi
1.235 - done
1.236 - # If $tagname still isn't set, then no tagged configuration
1.237 - # was found and let the user know that the "--tag" command
1.238 - # line option must be used.
1.239 - if test -z "$tagname"; then
1.240 - $echo "$modename: unable to infer tagged configuration"
1.241 - $echo "$modename: specify a tag with \`--tag'" 1>&2
1.242 - exit $EXIT_FAILURE
1.243 -# else
1.244 -# $echo "$modename: using $tagname tagged configuration"
1.245 - fi
1.246 - ;;
1.247 - esac
1.248 - fi
1.249 -}
1.250 -
1.251 -
1.252 -# func_extract_an_archive dir oldlib
1.253 -func_extract_an_archive ()
1.254 -{
1.255 - f_ex_an_ar_dir="$1"; shift
1.256 - f_ex_an_ar_oldlib="$1"
1.257 -
1.258 - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
1.259 - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
1.260 - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
1.261 - :
1.262 - else
1.263 - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
1.264 - exit $EXIT_FAILURE
1.265 - fi
1.266 -}
1.267 -
1.268 -# func_extract_archives gentop oldlib ...
1.269 -func_extract_archives ()
1.270 -{
1.271 - my_gentop="$1"; shift
1.272 - my_oldlibs=${1+"$@"}
1.273 - my_oldobjs=""
1.274 - my_xlib=""
1.275 - my_xabs=""
1.276 - my_xdir=""
1.277 - my_status=""
1.278 -
1.279 - $show "${rm}r $my_gentop"
1.280 - $run ${rm}r "$my_gentop"
1.281 - $show "$mkdir $my_gentop"
1.282 - $run $mkdir "$my_gentop"
1.283 - my_status=$?
1.284 - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
1.285 - exit $my_status
1.286 - fi
1.287 -
1.288 - for my_xlib in $my_oldlibs; do
1.289 - # Extract the objects.
1.290 - case $my_xlib in
1.291 - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
1.292 - *) my_xabs=`pwd`"/$my_xlib" ;;
1.293 - esac
1.294 - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
1.295 - my_xdir="$my_gentop/$my_xlib"
1.296 -
1.297 - $show "${rm}r $my_xdir"
1.298 - $run ${rm}r "$my_xdir"
1.299 - $show "$mkdir $my_xdir"
1.300 - $run $mkdir "$my_xdir"
1.301 - status=$?
1.302 - if test "$status" -ne 0 && test ! -d "$my_xdir"; then
1.303 - exit $status
1.304 - fi
1.305 - case $host in
1.306 - *-darwin*)
1.307 - $show "Extracting $my_xabs"
1.308 - # Do not bother doing anything if just a dry run
1.309 - if test -z "$run"; then
1.310 - darwin_orig_dir=`pwd`
1.311 - cd $my_xdir || exit $?
1.312 - darwin_archive=$my_xabs
1.313 - darwin_curdir=`pwd`
1.314 - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
1.315 - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
1.316 - if test -n "$darwin_arches"; then
1.317 - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
1.318 - darwin_arch=
1.319 - $show "$darwin_base_archive has multiple architectures $darwin_arches"
1.320 - for darwin_arch in $darwin_arches ; do
1.321 - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
1.322 - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
1.323 - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
1.324 - func_extract_an_archive "`pwd`" "${darwin_base_archive}"
1.325 - cd "$darwin_curdir"
1.326 - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
1.327 - done # $darwin_arches
1.328 - ## Okay now we have a bunch of thin objects, gotta fatten them up :)
1.329 - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
1.330 - darwin_file=
1.331 - darwin_files=
1.332 - for darwin_file in $darwin_filelist; do
1.333 - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
1.334 - lipo -create -output "$darwin_file" $darwin_files
1.335 - done # $darwin_filelist
1.336 - ${rm}r unfat-$$
1.337 - cd "$darwin_orig_dir"
1.338 - else
1.339 - cd "$darwin_orig_dir"
1.340 - func_extract_an_archive "$my_xdir" "$my_xabs"
1.341 - fi # $darwin_arches
1.342 - fi # $run
1.343 - ;;
1.344 - *)
1.345 - func_extract_an_archive "$my_xdir" "$my_xabs"
1.346 - ;;
1.347 - esac
1.348 - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
1.349 - done
1.350 - func_extract_archives_result="$my_oldobjs"
1.351 -}
1.352 -# End of Shell function definitions
1.353 -#####################################
1.354 -
1.355 -# Darwin sucks
1.356 -eval std_shrext=\"$shrext_cmds\"
1.357 -
1.358 -# Parse our command line options once, thoroughly.
1.359 -while test "$#" -gt 0
1.360 -do
1.361 - arg="$1"
1.362 - shift
1.363 -
1.364 - case $arg in
1.365 - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
1.366 - *) optarg= ;;
1.367 - esac
1.368 -
1.369 - # If the previous option needs an argument, assign it.
1.370 - if test -n "$prev"; then
1.371 - case $prev in
1.372 - execute_dlfiles)
1.373 - execute_dlfiles="$execute_dlfiles $arg"
1.374 - ;;
1.375 - tag)
1.376 - tagname="$arg"
1.377 - preserve_args="${preserve_args}=$arg"
1.378 -
1.379 - # Check whether tagname contains only valid characters
1.380 - case $tagname in
1.381 - *[!-_A-Za-z0-9,/]*)
1.382 - $echo "$progname: invalid tag name: $tagname" 1>&2
1.383 - exit $EXIT_FAILURE
1.384 - ;;
1.385 - esac
1.386 -
1.387 - case $tagname in
1.388 - CC)
1.389 - # Don't test for the "default" C tag, as we know, it's there, but
1.390 - # not specially marked.
1.391 - ;;
1.392 - *)
1.393 - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
1.394 - taglist="$taglist $tagname"
1.395 - # Evaluate the configuration.
1.396 - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
1.397 - else
1.398 - $echo "$progname: ignoring unknown tag $tagname" 1>&2
1.399 - fi
1.400 - ;;
1.401 - esac
1.402 - ;;
1.403 - *)
1.404 - eval "$prev=\$arg"
1.405 - ;;
1.406 - esac
1.407 -
1.408 - prev=
1.409 - prevopt=
1.410 - continue
1.411 - fi
1.412 -
1.413 - # Have we seen a non-optional argument yet?
1.414 - case $arg in
1.415 - --help)
1.416 - show_help=yes
1.417 - ;;
1.418 -
1.419 - --version)
1.420 - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
1.421 - $echo
1.422 - $echo "Copyright (C) 2005 Free Software Foundation, Inc."
1.423 - $echo "This is free software; see the source for copying conditions. There is NO"
1.424 - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
1.425 - exit $?
1.426 - ;;
1.427 -
1.428 - --config)
1.429 - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
1.430 - # Now print the configurations for the tags.
1.431 - for tagname in $taglist; do
1.432 - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
1.433 - done
1.434 - exit $?
1.435 - ;;
1.436 -
1.437 - --debug)
1.438 - $echo "$progname: enabling shell trace mode"
1.439 - set -x
1.440 - preserve_args="$preserve_args $arg"
1.441 - ;;
1.442 -
1.443 - --dry-run | -n)
1.444 - run=:
1.445 - ;;
1.446 -
1.447 - --features)
1.448 - $echo "host: $host"
1.449 - if test "$build_libtool_libs" = yes; then
1.450 - $echo "enable shared libraries"
1.451 - else
1.452 - $echo "disable shared libraries"
1.453 - fi
1.454 - if test "$build_old_libs" = yes; then
1.455 - $echo "enable static libraries"
1.456 - else
1.457 - $echo "disable static libraries"
1.458 - fi
1.459 - exit $?
1.460 - ;;
1.461 -
1.462 - --finish) mode="finish" ;;
1.463 -
1.464 - --mode) prevopt="--mode" prev=mode ;;
1.465 - --mode=*) mode="$optarg" ;;
1.466 -
1.467 - --preserve-dup-deps) duplicate_deps="yes" ;;
1.468 -
1.469 - --quiet | --silent)
1.470 - show=:
1.471 - preserve_args="$preserve_args $arg"
1.472 - ;;
1.473 -
1.474 - --tag) prevopt="--tag" prev=tag ;;
1.475 - --tag=*)
1.476 - set tag "$optarg" ${1+"$@"}
1.477 - shift
1.478 - prev=tag
1.479 - preserve_args="$preserve_args --tag"
1.480 - ;;
1.481 -
1.482 - -dlopen)
1.483 - prevopt="-dlopen"
1.484 - prev=execute_dlfiles
1.485 - ;;
1.486 -
1.487 - -*)
1.488 - $echo "$modename: unrecognized option \`$arg'" 1>&2
1.489 - $echo "$help" 1>&2
1.490 - exit $EXIT_FAILURE
1.491 - ;;
1.492 -
1.493 - *)
1.494 - nonopt="$arg"
1.495 - break
1.496 - ;;
1.497 - esac
1.498 -done
1.499 -
1.500 -if test -n "$prevopt"; then
1.501 - $echo "$modename: option \`$prevopt' requires an argument" 1>&2
1.502 - $echo "$help" 1>&2
1.503 - exit $EXIT_FAILURE
1.504 -fi
1.505 -
1.506 -# If this variable is set in any of the actions, the command in it
1.507 -# will be execed at the end. This prevents here-documents from being
1.508 -# left over by shells.
1.509 -exec_cmd=
1.510 -
1.511 -if test -z "$show_help"; then
1.512 -
1.513 - # Infer the operation mode.
1.514 - if test -z "$mode"; then
1.515 - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
1.516 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
1.517 - case $nonopt in
1.518 - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
1.519 - mode=link
1.520 - for arg
1.521 - do
1.522 - case $arg in
1.523 - -c)
1.524 - mode=compile
1.525 - break
1.526 - ;;
1.527 - esac
1.528 - done
1.529 - ;;
1.530 - *db | *dbx | *strace | *truss)
1.531 - mode=execute
1.532 - ;;
1.533 - *install*|cp|mv)
1.534 - mode=install
1.535 - ;;
1.536 - *rm)
1.537 - mode=uninstall
1.538 - ;;
1.539 - *)
1.540 - # If we have no mode, but dlfiles were specified, then do execute mode.
1.541 - test -n "$execute_dlfiles" && mode=execute
1.542 -
1.543 - # Just use the default operation mode.
1.544 - if test -z "$mode"; then
1.545 - if test -n "$nonopt"; then
1.546 - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
1.547 - else
1.548 - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
1.549 - fi
1.550 - fi
1.551 - ;;
1.552 - esac
1.553 - fi
1.554 -
1.555 - # Only execute mode is allowed to have -dlopen flags.
1.556 - if test -n "$execute_dlfiles" && test "$mode" != execute; then
1.557 - $echo "$modename: unrecognized option \`-dlopen'" 1>&2
1.558 - $echo "$help" 1>&2
1.559 - exit $EXIT_FAILURE
1.560 - fi
1.561 -
1.562 - # Change the help message to a mode-specific one.
1.563 - generic_help="$help"
1.564 - help="Try \`$modename --help --mode=$mode' for more information."
1.565 -
1.566 - # These modes are in order of execution frequency so that they run quickly.
1.567 - case $mode in
1.568 - # libtool compile mode
1.569 - compile)
1.570 - modename="$modename: compile"
1.571 - # Get the compilation command and the source file.
1.572 - base_compile=
1.573 - srcfile="$nonopt" # always keep a non-empty value in "srcfile"
1.574 - suppress_opt=yes
1.575 - suppress_output=
1.576 - arg_mode=normal
1.577 - libobj=
1.578 - later=
1.579 -
1.580 - for arg
1.581 - do
1.582 - case $arg_mode in
1.583 - arg )
1.584 - # do not "continue". Instead, add this to base_compile
1.585 - lastarg="$arg"
1.586 - arg_mode=normal
1.587 - ;;
1.588 -
1.589 - target )
1.590 - libobj="$arg"
1.591 - arg_mode=normal
1.592 - continue
1.593 - ;;
1.594 -
1.595 - normal )
1.596 - # Accept any command-line options.
1.597 - case $arg in
1.598 - -o)
1.599 - if test -n "$libobj" ; then
1.600 - $echo "$modename: you cannot specify \`-o' more than once" 1>&2
1.601 - exit $EXIT_FAILURE
1.602 - fi
1.603 - arg_mode=target
1.604 - continue
1.605 - ;;
1.606 -
1.607 - -static | -prefer-pic | -prefer-non-pic)
1.608 - later="$later $arg"
1.609 - continue
1.610 - ;;
1.611 -
1.612 - -no-suppress)
1.613 - suppress_opt=no
1.614 - continue
1.615 - ;;
1.616 -
1.617 - -Xcompiler)
1.618 - arg_mode=arg # the next one goes into the "base_compile" arg list
1.619 - continue # The current "srcfile" will either be retained or
1.620 - ;; # replaced later. I would guess that would be a bug.
1.621 -
1.622 - -Wc,*)
1.623 - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
1.624 - lastarg=
1.625 - save_ifs="$IFS"; IFS=','
1.626 - for arg in $args; do
1.627 - IFS="$save_ifs"
1.628 -
1.629 - # Double-quote args containing other shell metacharacters.
1.630 - # Many Bourne shells cannot handle close brackets correctly
1.631 - # in scan sets, so we specify it separately.
1.632 - case $arg in
1.633 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.634 - arg="\"$arg\""
1.635 - ;;
1.636 - esac
1.637 - lastarg="$lastarg $arg"
1.638 - done
1.639 - IFS="$save_ifs"
1.640 - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
1.641 -
1.642 - # Add the arguments to base_compile.
1.643 - base_compile="$base_compile $lastarg"
1.644 - continue
1.645 - ;;
1.646 -
1.647 - * )
1.648 - # Accept the current argument as the source file.
1.649 - # The previous "srcfile" becomes the current argument.
1.650 - #
1.651 - lastarg="$srcfile"
1.652 - srcfile="$arg"
1.653 - ;;
1.654 - esac # case $arg
1.655 - ;;
1.656 - esac # case $arg_mode
1.657 -
1.658 - # Aesthetically quote the previous argument.
1.659 - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
1.660 -
1.661 - case $lastarg in
1.662 - # Double-quote args containing other shell metacharacters.
1.663 - # Many Bourne shells cannot handle close brackets correctly
1.664 - # in scan sets, and some SunOS ksh mistreat backslash-escaping
1.665 - # in scan sets (worked around with variable expansion),
1.666 - # and furthermore cannot handle '|' '&' '(' ')' in scan sets
1.667 - # at all, so we specify them separately.
1.668 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.669 - lastarg="\"$lastarg\""
1.670 - ;;
1.671 - esac
1.672 -
1.673 - base_compile="$base_compile $lastarg"
1.674 - done # for arg
1.675 -
1.676 - case $arg_mode in
1.677 - arg)
1.678 - $echo "$modename: you must specify an argument for -Xcompile"
1.679 - exit $EXIT_FAILURE
1.680 - ;;
1.681 - target)
1.682 - $echo "$modename: you must specify a target with \`-o'" 1>&2
1.683 - exit $EXIT_FAILURE
1.684 - ;;
1.685 - *)
1.686 - # Get the name of the library object.
1.687 - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
1.688 - ;;
1.689 - esac
1.690 -
1.691 - # Recognize several different file suffixes.
1.692 - # If the user specifies -o file.o, it is replaced with file.lo
1.693 - xform='[cCFSifmso]'
1.694 - case $libobj in
1.695 - *.ada) xform=ada ;;
1.696 - *.adb) xform=adb ;;
1.697 - *.ads) xform=ads ;;
1.698 - *.asm) xform=asm ;;
1.699 - *.c++) xform=c++ ;;
1.700 - *.cc) xform=cc ;;
1.701 - *.ii) xform=ii ;;
1.702 - *.class) xform=class ;;
1.703 - *.cpp) xform=cpp ;;
1.704 - *.cxx) xform=cxx ;;
1.705 - *.f90) xform=f90 ;;
1.706 - *.for) xform=for ;;
1.707 - *.java) xform=java ;;
1.708 - esac
1.709 -
1.710 - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
1.711 -
1.712 - case $libobj in
1.713 - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
1.714 - *)
1.715 - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
1.716 - exit $EXIT_FAILURE
1.717 - ;;
1.718 - esac
1.719 -
1.720 - func_infer_tag $base_compile
1.721 -
1.722 - for arg in $later; do
1.723 - case $arg in
1.724 - -static)
1.725 - build_old_libs=yes
1.726 - continue
1.727 - ;;
1.728 -
1.729 - -prefer-pic)
1.730 - pic_mode=yes
1.731 - continue
1.732 - ;;
1.733 -
1.734 - -prefer-non-pic)
1.735 - pic_mode=no
1.736 - continue
1.737 - ;;
1.738 - esac
1.739 - done
1.740 -
1.741 - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
1.742 - case $qlibobj in
1.743 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.744 - qlibobj="\"$qlibobj\"" ;;
1.745 - esac
1.746 - test "X$libobj" != "X$qlibobj" \
1.747 - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
1.748 - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
1.749 - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
1.750 - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
1.751 - if test "X$xdir" = "X$obj"; then
1.752 - xdir=
1.753 - else
1.754 - xdir=$xdir/
1.755 - fi
1.756 - lobj=${xdir}$objdir/$objname
1.757 -
1.758 - if test -z "$base_compile"; then
1.759 - $echo "$modename: you must specify a compilation command" 1>&2
1.760 - $echo "$help" 1>&2
1.761 - exit $EXIT_FAILURE
1.762 - fi
1.763 -
1.764 - # Delete any leftover library objects.
1.765 - if test "$build_old_libs" = yes; then
1.766 - removelist="$obj $lobj $libobj ${libobj}T"
1.767 - else
1.768 - removelist="$lobj $libobj ${libobj}T"
1.769 - fi
1.770 -
1.771 - $run $rm $removelist
1.772 - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1.773 -
1.774 - # On Cygwin there's no "real" PIC flag so we must build both object types
1.775 - case $host_os in
1.776 - cygwin* | mingw* | pw32* | os2*)
1.777 - pic_mode=default
1.778 - ;;
1.779 - esac
1.780 - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1.781 - # non-PIC code in shared libraries is not supported
1.782 - pic_mode=default
1.783 - fi
1.784 -
1.785 - # Calculate the filename of the output object if compiler does
1.786 - # not support -o with -c
1.787 - if test "$compiler_c_o" = no; then
1.788 - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1.789 - lockfile="$output_obj.lock"
1.790 - removelist="$removelist $output_obj $lockfile"
1.791 - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1.792 - else
1.793 - output_obj=
1.794 - need_locks=no
1.795 - lockfile=
1.796 - fi
1.797 -
1.798 - # Lock this critical section if it is needed
1.799 - # We use this script file to make the link, it avoids creating a new file
1.800 - if test "$need_locks" = yes; then
1.801 - until $run ln "$progpath" "$lockfile" 2>/dev/null; do
1.802 - $show "Waiting for $lockfile to be removed"
1.803 - sleep 2
1.804 - done
1.805 - elif test "$need_locks" = warn; then
1.806 - if test -f "$lockfile"; then
1.807 - $echo "\
1.808 -*** ERROR, $lockfile exists and contains:
1.809 -`cat $lockfile 2>/dev/null`
1.810 -
1.811 -This indicates that another process is trying to use the same
1.812 -temporary object file, and libtool could not work around it because
1.813 -your compiler does not support \`-c' and \`-o' together. If you
1.814 -repeat this compilation, it may succeed, by chance, but you had better
1.815 -avoid parallel builds (make -j) in this platform, or get a better
1.816 -compiler."
1.817 -
1.818 - $run $rm $removelist
1.819 - exit $EXIT_FAILURE
1.820 - fi
1.821 - $echo "$srcfile" > "$lockfile"
1.822 - fi
1.823 -
1.824 - if test -n "$fix_srcfile_path"; then
1.825 - eval srcfile=\"$fix_srcfile_path\"
1.826 - fi
1.827 - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
1.828 - case $qsrcfile in
1.829 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.830 - qsrcfile="\"$qsrcfile\"" ;;
1.831 - esac
1.832 -
1.833 - $run $rm "$libobj" "${libobj}T"
1.834 -
1.835 - # Create a libtool object file (analogous to a ".la" file),
1.836 - # but don't create it if we're doing a dry run.
1.837 - test -z "$run" && cat > ${libobj}T <<EOF
1.838 -# $libobj - a libtool object file
1.839 -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.840 -#
1.841 -# Please DO NOT delete this file!
1.842 -# It is necessary for linking the library.
1.843 -
1.844 -# Name of the PIC object.
1.845 -EOF
1.846 -
1.847 - # Only build a PIC object if we are building libtool libraries.
1.848 - if test "$build_libtool_libs" = yes; then
1.849 - # Without this assignment, base_compile gets emptied.
1.850 - fbsd_hideous_sh_bug=$base_compile
1.851 -
1.852 - if test "$pic_mode" != no; then
1.853 - command="$base_compile $qsrcfile $pic_flag"
1.854 - else
1.855 - # Don't build PIC code
1.856 - command="$base_compile $qsrcfile"
1.857 - fi
1.858 -
1.859 - if test ! -d "${xdir}$objdir"; then
1.860 - $show "$mkdir ${xdir}$objdir"
1.861 - $run $mkdir ${xdir}$objdir
1.862 - status=$?
1.863 - if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
1.864 - exit $status
1.865 - fi
1.866 - fi
1.867 -
1.868 - if test -z "$output_obj"; then
1.869 - # Place PIC objects in $objdir
1.870 - command="$command -o $lobj"
1.871 - fi
1.872 -
1.873 - $run $rm "$lobj" "$output_obj"
1.874 -
1.875 - $show "$command"
1.876 - if $run eval "$command"; then :
1.877 - else
1.878 - test -n "$output_obj" && $run $rm $removelist
1.879 - exit $EXIT_FAILURE
1.880 - fi
1.881 -
1.882 - if test "$need_locks" = warn &&
1.883 - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1.884 - $echo "\
1.885 -*** ERROR, $lockfile contains:
1.886 -`cat $lockfile 2>/dev/null`
1.887 -
1.888 -but it should contain:
1.889 -$srcfile
1.890 -
1.891 -This indicates that another process is trying to use the same
1.892 -temporary object file, and libtool could not work around it because
1.893 -your compiler does not support \`-c' and \`-o' together. If you
1.894 -repeat this compilation, it may succeed, by chance, but you had better
1.895 -avoid parallel builds (make -j) in this platform, or get a better
1.896 -compiler."
1.897 -
1.898 - $run $rm $removelist
1.899 - exit $EXIT_FAILURE
1.900 - fi
1.901 -
1.902 - # Just move the object if needed, then go on to compile the next one
1.903 - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1.904 - $show "$mv $output_obj $lobj"
1.905 - if $run $mv $output_obj $lobj; then :
1.906 - else
1.907 - error=$?
1.908 - $run $rm $removelist
1.909 - exit $error
1.910 - fi
1.911 - fi
1.912 -
1.913 - # Append the name of the PIC object to the libtool object file.
1.914 - test -z "$run" && cat >> ${libobj}T <<EOF
1.915 -pic_object='$objdir/$objname'
1.916 -
1.917 -EOF
1.918 -
1.919 - # Allow error messages only from the first compilation.
1.920 - if test "$suppress_opt" = yes; then
1.921 - suppress_output=' >/dev/null 2>&1'
1.922 - fi
1.923 - else
1.924 - # No PIC object so indicate it doesn't exist in the libtool
1.925 - # object file.
1.926 - test -z "$run" && cat >> ${libobj}T <<EOF
1.927 -pic_object=none
1.928 -
1.929 -EOF
1.930 - fi
1.931 -
1.932 - # Only build a position-dependent object if we build old libraries.
1.933 - if test "$build_old_libs" = yes; then
1.934 - if test "$pic_mode" != yes; then
1.935 - # Don't build PIC code
1.936 - command="$base_compile $qsrcfile"
1.937 - else
1.938 - command="$base_compile $qsrcfile $pic_flag"
1.939 - fi
1.940 - if test "$compiler_c_o" = yes; then
1.941 - command="$command -o $obj"
1.942 - fi
1.943 -
1.944 - # Suppress compiler output if we already did a PIC compilation.
1.945 - command="$command$suppress_output"
1.946 - $run $rm "$obj" "$output_obj"
1.947 - $show "$command"
1.948 - if $run eval "$command"; then :
1.949 - else
1.950 - $run $rm $removelist
1.951 - exit $EXIT_FAILURE
1.952 - fi
1.953 -
1.954 - if test "$need_locks" = warn &&
1.955 - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1.956 - $echo "\
1.957 -*** ERROR, $lockfile contains:
1.958 -`cat $lockfile 2>/dev/null`
1.959 -
1.960 -but it should contain:
1.961 -$srcfile
1.962 -
1.963 -This indicates that another process is trying to use the same
1.964 -temporary object file, and libtool could not work around it because
1.965 -your compiler does not support \`-c' and \`-o' together. If you
1.966 -repeat this compilation, it may succeed, by chance, but you had better
1.967 -avoid parallel builds (make -j) in this platform, or get a better
1.968 -compiler."
1.969 -
1.970 - $run $rm $removelist
1.971 - exit $EXIT_FAILURE
1.972 - fi
1.973 -
1.974 - # Just move the object if needed
1.975 - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1.976 - $show "$mv $output_obj $obj"
1.977 - if $run $mv $output_obj $obj; then :
1.978 - else
1.979 - error=$?
1.980 - $run $rm $removelist
1.981 - exit $error
1.982 - fi
1.983 - fi
1.984 -
1.985 - # Append the name of the non-PIC object the libtool object file.
1.986 - # Only append if the libtool object file exists.
1.987 - test -z "$run" && cat >> ${libobj}T <<EOF
1.988 -# Name of the non-PIC object.
1.989 -non_pic_object='$objname'
1.990 -
1.991 -EOF
1.992 - else
1.993 - # Append the name of the non-PIC object the libtool object file.
1.994 - # Only append if the libtool object file exists.
1.995 - test -z "$run" && cat >> ${libobj}T <<EOF
1.996 -# Name of the non-PIC object.
1.997 -non_pic_object=none
1.998 -
1.999 -EOF
1.1000 - fi
1.1001 -
1.1002 - $run $mv "${libobj}T" "${libobj}"
1.1003 -
1.1004 - # Unlock the critical section if it was locked
1.1005 - if test "$need_locks" != no; then
1.1006 - $run $rm "$lockfile"
1.1007 - fi
1.1008 -
1.1009 - exit $EXIT_SUCCESS
1.1010 - ;;
1.1011 -
1.1012 - # libtool link mode
1.1013 - link | relink)
1.1014 - modename="$modename: link"
1.1015 - case $host in
1.1016 - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1.1017 - # It is impossible to link a dll without this setting, and
1.1018 - # we shouldn't force the makefile maintainer to figure out
1.1019 - # which system we are compiling for in order to pass an extra
1.1020 - # flag for every libtool invocation.
1.1021 - # allow_undefined=no
1.1022 -
1.1023 - # FIXME: Unfortunately, there are problems with the above when trying
1.1024 - # to make a dll which has undefined symbols, in which case not
1.1025 - # even a static library is built. For now, we need to specify
1.1026 - # -no-undefined on the libtool link line when we can be certain
1.1027 - # that all symbols are satisfied, otherwise we get a static library.
1.1028 - allow_undefined=yes
1.1029 - ;;
1.1030 - *)
1.1031 - allow_undefined=yes
1.1032 - ;;
1.1033 - esac
1.1034 - libtool_args="$nonopt"
1.1035 - base_compile="$nonopt $@"
1.1036 - compile_command="$nonopt"
1.1037 - finalize_command="$nonopt"
1.1038 -
1.1039 - compile_rpath=
1.1040 - finalize_rpath=
1.1041 - compile_shlibpath=
1.1042 - finalize_shlibpath=
1.1043 - convenience=
1.1044 - old_convenience=
1.1045 - deplibs=
1.1046 - old_deplibs=
1.1047 - compiler_flags=
1.1048 - linker_flags=
1.1049 - dllsearchpath=
1.1050 - lib_search_path=`pwd`
1.1051 - inst_prefix_dir=
1.1052 -
1.1053 - avoid_version=no
1.1054 - dlfiles=
1.1055 - dlprefiles=
1.1056 - dlself=no
1.1057 - export_dynamic=no
1.1058 - export_symbols=
1.1059 - export_symbols_regex=
1.1060 - generated=
1.1061 - libobjs=
1.1062 - ltlibs=
1.1063 - module=no
1.1064 - no_install=no
1.1065 - objs=
1.1066 - non_pic_objects=
1.1067 - precious_files_regex=
1.1068 - prefer_static_libs=no
1.1069 - preload=no
1.1070 - prev=
1.1071 - prevarg=
1.1072 - release=
1.1073 - rpath=
1.1074 - xrpath=
1.1075 - perm_rpath=
1.1076 - temp_rpath=
1.1077 - thread_safe=no
1.1078 - vinfo=
1.1079 - vinfo_number=no
1.1080 -
1.1081 - func_infer_tag $base_compile
1.1082 -
1.1083 - # We need to know -static, to get the right output filenames.
1.1084 - for arg
1.1085 - do
1.1086 - case $arg in
1.1087 - -all-static | -static)
1.1088 - if test "X$arg" = "X-all-static"; then
1.1089 - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1.1090 - $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
1.1091 - fi
1.1092 - if test -n "$link_static_flag"; then
1.1093 - dlopen_self=$dlopen_self_static
1.1094 - fi
1.1095 - else
1.1096 - if test -z "$pic_flag" && test -n "$link_static_flag"; then
1.1097 - dlopen_self=$dlopen_self_static
1.1098 - fi
1.1099 - fi
1.1100 - build_libtool_libs=no
1.1101 - build_old_libs=yes
1.1102 - prefer_static_libs=yes
1.1103 - break
1.1104 - ;;
1.1105 - esac
1.1106 - done
1.1107 -
1.1108 - # See if our shared archives depend on static archives.
1.1109 - test -n "$old_archive_from_new_cmds" && build_old_libs=yes
1.1110 -
1.1111 - # Go through the arguments, transforming them on the way.
1.1112 - while test "$#" -gt 0; do
1.1113 - arg="$1"
1.1114 - shift
1.1115 - case $arg in
1.1116 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1117 - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
1.1118 - ;;
1.1119 - *) qarg=$arg ;;
1.1120 - esac
1.1121 - libtool_args="$libtool_args $qarg"
1.1122 -
1.1123 - # If the previous option needs an argument, assign it.
1.1124 - if test -n "$prev"; then
1.1125 - case $prev in
1.1126 - output)
1.1127 - compile_command="$compile_command @OUTPUT@"
1.1128 - finalize_command="$finalize_command @OUTPUT@"
1.1129 - ;;
1.1130 - esac
1.1131 -
1.1132 - case $prev in
1.1133 - dlfiles|dlprefiles)
1.1134 - if test "$preload" = no; then
1.1135 - # Add the symbol object into the linking commands.
1.1136 - compile_command="$compile_command @SYMFILE@"
1.1137 - finalize_command="$finalize_command @SYMFILE@"
1.1138 - preload=yes
1.1139 - fi
1.1140 - case $arg in
1.1141 - *.la | *.lo) ;; # We handle these cases below.
1.1142 - force)
1.1143 - if test "$dlself" = no; then
1.1144 - dlself=needless
1.1145 - export_dynamic=yes
1.1146 - fi
1.1147 - prev=
1.1148 - continue
1.1149 - ;;
1.1150 - self)
1.1151 - if test "$prev" = dlprefiles; then
1.1152 - dlself=yes
1.1153 - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
1.1154 - dlself=yes
1.1155 - else
1.1156 - dlself=needless
1.1157 - export_dynamic=yes
1.1158 - fi
1.1159 - prev=
1.1160 - continue
1.1161 - ;;
1.1162 - *)
1.1163 - if test "$prev" = dlfiles; then
1.1164 - dlfiles="$dlfiles $arg"
1.1165 - else
1.1166 - dlprefiles="$dlprefiles $arg"
1.1167 - fi
1.1168 - prev=
1.1169 - continue
1.1170 - ;;
1.1171 - esac
1.1172 - ;;
1.1173 - expsyms)
1.1174 - export_symbols="$arg"
1.1175 - if test ! -f "$arg"; then
1.1176 - $echo "$modename: symbol file \`$arg' does not exist"
1.1177 - exit $EXIT_FAILURE
1.1178 - fi
1.1179 - prev=
1.1180 - continue
1.1181 - ;;
1.1182 - expsyms_regex)
1.1183 - export_symbols_regex="$arg"
1.1184 - prev=
1.1185 - continue
1.1186 - ;;
1.1187 - inst_prefix)
1.1188 - inst_prefix_dir="$arg"
1.1189 - prev=
1.1190 - continue
1.1191 - ;;
1.1192 - precious_regex)
1.1193 - precious_files_regex="$arg"
1.1194 - prev=
1.1195 - continue
1.1196 - ;;
1.1197 - release)
1.1198 - release="-$arg"
1.1199 - prev=
1.1200 - continue
1.1201 - ;;
1.1202 - objectlist)
1.1203 - if test -f "$arg"; then
1.1204 - save_arg=$arg
1.1205 - moreargs=
1.1206 - for fil in `cat $save_arg`
1.1207 - do
1.1208 -# moreargs="$moreargs $fil"
1.1209 - arg=$fil
1.1210 - # A libtool-controlled object.
1.1211 -
1.1212 - # Check to see that this really is a libtool object.
1.1213 - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.1214 - pic_object=
1.1215 - non_pic_object=
1.1216 -
1.1217 - # Read the .lo file
1.1218 - # If there is no directory component, then add one.
1.1219 - case $arg in
1.1220 - */* | *\\*) . $arg ;;
1.1221 - *) . ./$arg ;;
1.1222 - esac
1.1223 -
1.1224 - if test -z "$pic_object" || \
1.1225 - test -z "$non_pic_object" ||
1.1226 - test "$pic_object" = none && \
1.1227 - test "$non_pic_object" = none; then
1.1228 - $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1.1229 - exit $EXIT_FAILURE
1.1230 - fi
1.1231 -
1.1232 - # Extract subdirectory from the argument.
1.1233 - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1.1234 - if test "X$xdir" = "X$arg"; then
1.1235 - xdir=
1.1236 - else
1.1237 - xdir="$xdir/"
1.1238 - fi
1.1239 -
1.1240 - if test "$pic_object" != none; then
1.1241 - # Prepend the subdirectory the object is found in.
1.1242 - pic_object="$xdir$pic_object"
1.1243 -
1.1244 - if test "$prev" = dlfiles; then
1.1245 - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1.1246 - dlfiles="$dlfiles $pic_object"
1.1247 - prev=
1.1248 - continue
1.1249 - else
1.1250 - # If libtool objects are unsupported, then we need to preload.
1.1251 - prev=dlprefiles
1.1252 - fi
1.1253 - fi
1.1254 -
1.1255 - # CHECK ME: I think I busted this. -Ossama
1.1256 - if test "$prev" = dlprefiles; then
1.1257 - # Preload the old-style object.
1.1258 - dlprefiles="$dlprefiles $pic_object"
1.1259 - prev=
1.1260 - fi
1.1261 -
1.1262 - # A PIC object.
1.1263 - libobjs="$libobjs $pic_object"
1.1264 - arg="$pic_object"
1.1265 - fi
1.1266 -
1.1267 - # Non-PIC object.
1.1268 - if test "$non_pic_object" != none; then
1.1269 - # Prepend the subdirectory the object is found in.
1.1270 - non_pic_object="$xdir$non_pic_object"
1.1271 -
1.1272 - # A standard non-PIC object
1.1273 - non_pic_objects="$non_pic_objects $non_pic_object"
1.1274 - if test -z "$pic_object" || test "$pic_object" = none ; then
1.1275 - arg="$non_pic_object"
1.1276 - fi
1.1277 - fi
1.1278 - else
1.1279 - # Only an error if not doing a dry-run.
1.1280 - if test -z "$run"; then
1.1281 - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1.1282 - exit $EXIT_FAILURE
1.1283 - else
1.1284 - # Dry-run case.
1.1285 -
1.1286 - # Extract subdirectory from the argument.
1.1287 - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1.1288 - if test "X$xdir" = "X$arg"; then
1.1289 - xdir=
1.1290 - else
1.1291 - xdir="$xdir/"
1.1292 - fi
1.1293 -
1.1294 - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1.1295 - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1.1296 - libobjs="$libobjs $pic_object"
1.1297 - non_pic_objects="$non_pic_objects $non_pic_object"
1.1298 - fi
1.1299 - fi
1.1300 - done
1.1301 - else
1.1302 - $echo "$modename: link input file \`$save_arg' does not exist"
1.1303 - exit $EXIT_FAILURE
1.1304 - fi
1.1305 - arg=$save_arg
1.1306 - prev=
1.1307 - continue
1.1308 - ;;
1.1309 - rpath | xrpath)
1.1310 - # We need an absolute path.
1.1311 - case $arg in
1.1312 - [\\/]* | [A-Za-z]:[\\/]*) ;;
1.1313 - *)
1.1314 - $echo "$modename: only absolute run-paths are allowed" 1>&2
1.1315 - exit $EXIT_FAILURE
1.1316 - ;;
1.1317 - esac
1.1318 - if test "$prev" = rpath; then
1.1319 - case "$rpath " in
1.1320 - *" $arg "*) ;;
1.1321 - *) rpath="$rpath $arg" ;;
1.1322 - esac
1.1323 - else
1.1324 - case "$xrpath " in
1.1325 - *" $arg "*) ;;
1.1326 - *) xrpath="$xrpath $arg" ;;
1.1327 - esac
1.1328 - fi
1.1329 - prev=
1.1330 - continue
1.1331 - ;;
1.1332 - xcompiler)
1.1333 - compiler_flags="$compiler_flags $qarg"
1.1334 - prev=
1.1335 - compile_command="$compile_command $qarg"
1.1336 - finalize_command="$finalize_command $qarg"
1.1337 - continue
1.1338 - ;;
1.1339 - xlinker)
1.1340 - linker_flags="$linker_flags $qarg"
1.1341 - compiler_flags="$compiler_flags $wl$qarg"
1.1342 - prev=
1.1343 - compile_command="$compile_command $wl$qarg"
1.1344 - finalize_command="$finalize_command $wl$qarg"
1.1345 - continue
1.1346 - ;;
1.1347 - xcclinker)
1.1348 - linker_flags="$linker_flags $qarg"
1.1349 - compiler_flags="$compiler_flags $qarg"
1.1350 - prev=
1.1351 - compile_command="$compile_command $qarg"
1.1352 - finalize_command="$finalize_command $qarg"
1.1353 - continue
1.1354 - ;;
1.1355 - shrext)
1.1356 - shrext_cmds="$arg"
1.1357 - prev=
1.1358 - continue
1.1359 - ;;
1.1360 - darwin_framework)
1.1361 - compiler_flags="$compiler_flags $arg"
1.1362 - compile_command="$compile_command $arg"
1.1363 - finalize_command="$finalize_command $arg"
1.1364 - prev=
1.1365 - continue
1.1366 - ;;
1.1367 - *)
1.1368 - eval "$prev=\"\$arg\""
1.1369 - prev=
1.1370 - continue
1.1371 - ;;
1.1372 - esac
1.1373 - fi # test -n "$prev"
1.1374 -
1.1375 - prevarg="$arg"
1.1376 -
1.1377 - case $arg in
1.1378 - -all-static)
1.1379 - if test -n "$link_static_flag"; then
1.1380 - compile_command="$compile_command $link_static_flag"
1.1381 - finalize_command="$finalize_command $link_static_flag"
1.1382 - fi
1.1383 - continue
1.1384 - ;;
1.1385 -
1.1386 - -allow-undefined)
1.1387 - # FIXME: remove this flag sometime in the future.
1.1388 - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1.1389 - continue
1.1390 - ;;
1.1391 -
1.1392 - -avoid-version)
1.1393 - avoid_version=yes
1.1394 - continue
1.1395 - ;;
1.1396 -
1.1397 - -dlopen)
1.1398 - prev=dlfiles
1.1399 - continue
1.1400 - ;;
1.1401 -
1.1402 - -dlpreopen)
1.1403 - prev=dlprefiles
1.1404 - continue
1.1405 - ;;
1.1406 -
1.1407 - -export-dynamic)
1.1408 - export_dynamic=yes
1.1409 - continue
1.1410 - ;;
1.1411 -
1.1412 - -export-symbols | -export-symbols-regex)
1.1413 - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1.1414 - $echo "$modename: more than one -exported-symbols argument is not allowed"
1.1415 - exit $EXIT_FAILURE
1.1416 - fi
1.1417 - if test "X$arg" = "X-export-symbols"; then
1.1418 - prev=expsyms
1.1419 - else
1.1420 - prev=expsyms_regex
1.1421 - fi
1.1422 - continue
1.1423 - ;;
1.1424 -
1.1425 - -framework|-arch)
1.1426 - prev=darwin_framework
1.1427 - compiler_flags="$compiler_flags $arg"
1.1428 - compile_command="$compile_command $arg"
1.1429 - finalize_command="$finalize_command $arg"
1.1430 - continue
1.1431 - ;;
1.1432 -
1.1433 - -inst-prefix-dir)
1.1434 - prev=inst_prefix
1.1435 - continue
1.1436 - ;;
1.1437 -
1.1438 - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
1.1439 - # so, if we see these flags be careful not to treat them like -L
1.1440 - -L[A-Z][A-Z]*:*)
1.1441 - case $with_gcc/$host in
1.1442 - no/*-*-irix* | /*-*-irix*)
1.1443 - compile_command="$compile_command $arg"
1.1444 - finalize_command="$finalize_command $arg"
1.1445 - ;;
1.1446 - esac
1.1447 - continue
1.1448 - ;;
1.1449 -
1.1450 - -L*)
1.1451 - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1.1452 - # We need an absolute path.
1.1453 - case $dir in
1.1454 - [\\/]* | [A-Za-z]:[\\/]*) ;;
1.1455 - *)
1.1456 - absdir=`cd "$dir" && pwd`
1.1457 - if test -z "$absdir"; then
1.1458 - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1.1459 - exit $EXIT_FAILURE
1.1460 - fi
1.1461 - dir="$absdir"
1.1462 - ;;
1.1463 - esac
1.1464 - case "$deplibs " in
1.1465 - *" -L$dir "*) ;;
1.1466 - *)
1.1467 - deplibs="$deplibs -L$dir"
1.1468 - lib_search_path="$lib_search_path $dir"
1.1469 - ;;
1.1470 - esac
1.1471 - case $host in
1.1472 - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1.1473 - case :$dllsearchpath: in
1.1474 - *":$dir:"*) ;;
1.1475 - *) dllsearchpath="$dllsearchpath:$dir";;
1.1476 - esac
1.1477 - ;;
1.1478 - esac
1.1479 - continue
1.1480 - ;;
1.1481 -
1.1482 - -l*)
1.1483 - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1.1484 - case $host in
1.1485 - *-*-cygwin* | *-*-pw32* | *-*-beos*)
1.1486 - # These systems don't actually have a C or math library (as such)
1.1487 - continue
1.1488 - ;;
1.1489 - *-*-mingw* | *-*-os2*)
1.1490 - # These systems don't actually have a C library (as such)
1.1491 - test "X$arg" = "X-lc" && continue
1.1492 - ;;
1.1493 - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1.1494 - # Do not include libc due to us having libc/libc_r.
1.1495 - test "X$arg" = "X-lc" && continue
1.1496 - ;;
1.1497 - *-*-rhapsody* | *-*-darwin1.[012])
1.1498 - # Rhapsody C and math libraries are in the System framework
1.1499 - deplibs="$deplibs -framework System"
1.1500 - continue
1.1501 - esac
1.1502 - elif test "X$arg" = "X-lc_r"; then
1.1503 - case $host in
1.1504 - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1.1505 - # Do not include libc_r directly, use -pthread flag.
1.1506 - continue
1.1507 - ;;
1.1508 - esac
1.1509 - fi
1.1510 - deplibs="$deplibs $arg"
1.1511 - continue
1.1512 - ;;
1.1513 -
1.1514 - # Tru64 UNIX uses -model [arg] to determine the layout of C++
1.1515 - # classes, name mangling, and exception handling.
1.1516 - -model)
1.1517 - compile_command="$compile_command $arg"
1.1518 - compiler_flags="$compiler_flags $arg"
1.1519 - finalize_command="$finalize_command $arg"
1.1520 - prev=xcompiler
1.1521 - continue
1.1522 - ;;
1.1523 -
1.1524 - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
1.1525 - compiler_flags="$compiler_flags $arg"
1.1526 - compile_command="$compile_command $arg"
1.1527 - finalize_command="$finalize_command $arg"
1.1528 - continue
1.1529 - ;;
1.1530 -
1.1531 - -module)
1.1532 - module=yes
1.1533 - continue
1.1534 - ;;
1.1535 -
1.1536 - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
1.1537 - # -r[0-9][0-9]* specifies the processor on the SGI compiler
1.1538 - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
1.1539 - # +DA*, +DD* enable 64-bit mode on the HP compiler
1.1540 - # -q* pass through compiler args for the IBM compiler
1.1541 - # -m* pass through architecture-specific compiler args for GCC
1.1542 - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
1.1543 -
1.1544 - # Unknown arguments in both finalize_command and compile_command need
1.1545 - # to be aesthetically quoted because they are evaled later.
1.1546 - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.1547 - case $arg in
1.1548 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1549 - arg="\"$arg\""
1.1550 - ;;
1.1551 - esac
1.1552 - compile_command="$compile_command $arg"
1.1553 - finalize_command="$finalize_command $arg"
1.1554 - if test "$with_gcc" = "yes" ; then
1.1555 - compiler_flags="$compiler_flags $arg"
1.1556 - fi
1.1557 - continue
1.1558 - ;;
1.1559 -
1.1560 - -shrext)
1.1561 - prev=shrext
1.1562 - continue
1.1563 - ;;
1.1564 -
1.1565 - -no-fast-install)
1.1566 - fast_install=no
1.1567 - continue
1.1568 - ;;
1.1569 -
1.1570 - -no-install)
1.1571 - case $host in
1.1572 - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1.1573 - # The PATH hackery in wrapper scripts is required on Windows
1.1574 - # in order for the loader to find any dlls it needs.
1.1575 - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
1.1576 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
1.1577 - fast_install=no
1.1578 - ;;
1.1579 - *) no_install=yes ;;
1.1580 - esac
1.1581 - continue
1.1582 - ;;
1.1583 -
1.1584 - -no-undefined)
1.1585 - allow_undefined=no
1.1586 - continue
1.1587 - ;;
1.1588 -
1.1589 - -objectlist)
1.1590 - prev=objectlist
1.1591 - continue
1.1592 - ;;
1.1593 -
1.1594 - -o) prev=output ;;
1.1595 -
1.1596 - -precious-files-regex)
1.1597 - prev=precious_regex
1.1598 - continue
1.1599 - ;;
1.1600 -
1.1601 - -release)
1.1602 - prev=release
1.1603 - continue
1.1604 - ;;
1.1605 -
1.1606 - -rpath)
1.1607 - prev=rpath
1.1608 - continue
1.1609 - ;;
1.1610 -
1.1611 - -R)
1.1612 - prev=xrpath
1.1613 - continue
1.1614 - ;;
1.1615 -
1.1616 - -R*)
1.1617 - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
1.1618 - # We need an absolute path.
1.1619 - case $dir in
1.1620 - [\\/]* | [A-Za-z]:[\\/]*) ;;
1.1621 - *)
1.1622 - $echo "$modename: only absolute run-paths are allowed" 1>&2
1.1623 - exit $EXIT_FAILURE
1.1624 - ;;
1.1625 - esac
1.1626 - case "$xrpath " in
1.1627 - *" $dir "*) ;;
1.1628 - *) xrpath="$xrpath $dir" ;;
1.1629 - esac
1.1630 - continue
1.1631 - ;;
1.1632 -
1.1633 - -static)
1.1634 - # The effects of -static are defined in a previous loop.
1.1635 - # We used to do the same as -all-static on platforms that
1.1636 - # didn't have a PIC flag, but the assumption that the effects
1.1637 - # would be equivalent was wrong. It would break on at least
1.1638 - # Digital Unix and AIX.
1.1639 - continue
1.1640 - ;;
1.1641 -
1.1642 - -thread-safe)
1.1643 - thread_safe=yes
1.1644 - continue
1.1645 - ;;
1.1646 -
1.1647 - -version-info)
1.1648 - prev=vinfo
1.1649 - continue
1.1650 - ;;
1.1651 - -version-number)
1.1652 - prev=vinfo
1.1653 - vinfo_number=yes
1.1654 - continue
1.1655 - ;;
1.1656 -
1.1657 - -Wc,*)
1.1658 - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
1.1659 - arg=
1.1660 - save_ifs="$IFS"; IFS=','
1.1661 - for flag in $args; do
1.1662 - IFS="$save_ifs"
1.1663 - case $flag in
1.1664 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1665 - flag="\"$flag\""
1.1666 - ;;
1.1667 - esac
1.1668 - arg="$arg $wl$flag"
1.1669 - compiler_flags="$compiler_flags $flag"
1.1670 - done
1.1671 - IFS="$save_ifs"
1.1672 - arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1.1673 - ;;
1.1674 -
1.1675 - -Wl,*)
1.1676 - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
1.1677 - arg=
1.1678 - save_ifs="$IFS"; IFS=','
1.1679 - for flag in $args; do
1.1680 - IFS="$save_ifs"
1.1681 - case $flag in
1.1682 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1683 - flag="\"$flag\""
1.1684 - ;;
1.1685 - esac
1.1686 - arg="$arg $wl$flag"
1.1687 - compiler_flags="$compiler_flags $wl$flag"
1.1688 - linker_flags="$linker_flags $flag"
1.1689 - done
1.1690 - IFS="$save_ifs"
1.1691 - arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1.1692 - ;;
1.1693 -
1.1694 - -Xcompiler)
1.1695 - prev=xcompiler
1.1696 - continue
1.1697 - ;;
1.1698 -
1.1699 - -Xlinker)
1.1700 - prev=xlinker
1.1701 - continue
1.1702 - ;;
1.1703 -
1.1704 - -XCClinker)
1.1705 - prev=xcclinker
1.1706 - continue
1.1707 - ;;
1.1708 -
1.1709 - # Some other compiler flag.
1.1710 - -* | +*)
1.1711 - # Unknown arguments in both finalize_command and compile_command need
1.1712 - # to be aesthetically quoted because they are evaled later.
1.1713 - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.1714 - case $arg in
1.1715 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1716 - arg="\"$arg\""
1.1717 - ;;
1.1718 - esac
1.1719 - ;;
1.1720 -
1.1721 - *.$objext)
1.1722 - # A standard object.
1.1723 - objs="$objs $arg"
1.1724 - ;;
1.1725 -
1.1726 - *.lo)
1.1727 - # A libtool-controlled object.
1.1728 -
1.1729 - # Check to see that this really is a libtool object.
1.1730 - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.1731 - pic_object=
1.1732 - non_pic_object=
1.1733 -
1.1734 - # Read the .lo file
1.1735 - # If there is no directory component, then add one.
1.1736 - case $arg in
1.1737 - */* | *\\*) . $arg ;;
1.1738 - *) . ./$arg ;;
1.1739 - esac
1.1740 -
1.1741 - if test -z "$pic_object" || \
1.1742 - test -z "$non_pic_object" ||
1.1743 - test "$pic_object" = none && \
1.1744 - test "$non_pic_object" = none; then
1.1745 - $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1.1746 - exit $EXIT_FAILURE
1.1747 - fi
1.1748 -
1.1749 - # Extract subdirectory from the argument.
1.1750 - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1.1751 - if test "X$xdir" = "X$arg"; then
1.1752 - xdir=
1.1753 - else
1.1754 - xdir="$xdir/"
1.1755 - fi
1.1756 -
1.1757 - if test "$pic_object" != none; then
1.1758 - # Prepend the subdirectory the object is found in.
1.1759 - pic_object="$xdir$pic_object"
1.1760 -
1.1761 - if test "$prev" = dlfiles; then
1.1762 - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1.1763 - dlfiles="$dlfiles $pic_object"
1.1764 - prev=
1.1765 - continue
1.1766 - else
1.1767 - # If libtool objects are unsupported, then we need to preload.
1.1768 - prev=dlprefiles
1.1769 - fi
1.1770 - fi
1.1771 -
1.1772 - # CHECK ME: I think I busted this. -Ossama
1.1773 - if test "$prev" = dlprefiles; then
1.1774 - # Preload the old-style object.
1.1775 - dlprefiles="$dlprefiles $pic_object"
1.1776 - prev=
1.1777 - fi
1.1778 -
1.1779 - # A PIC object.
1.1780 - libobjs="$libobjs $pic_object"
1.1781 - arg="$pic_object"
1.1782 - fi
1.1783 -
1.1784 - # Non-PIC object.
1.1785 - if test "$non_pic_object" != none; then
1.1786 - # Prepend the subdirectory the object is found in.
1.1787 - non_pic_object="$xdir$non_pic_object"
1.1788 -
1.1789 - # A standard non-PIC object
1.1790 - non_pic_objects="$non_pic_objects $non_pic_object"
1.1791 - if test -z "$pic_object" || test "$pic_object" = none ; then
1.1792 - arg="$non_pic_object"
1.1793 - fi
1.1794 - fi
1.1795 - else
1.1796 - # Only an error if not doing a dry-run.
1.1797 - if test -z "$run"; then
1.1798 - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1.1799 - exit $EXIT_FAILURE
1.1800 - else
1.1801 - # Dry-run case.
1.1802 -
1.1803 - # Extract subdirectory from the argument.
1.1804 - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1.1805 - if test "X$xdir" = "X$arg"; then
1.1806 - xdir=
1.1807 - else
1.1808 - xdir="$xdir/"
1.1809 - fi
1.1810 -
1.1811 - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1.1812 - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1.1813 - libobjs="$libobjs $pic_object"
1.1814 - non_pic_objects="$non_pic_objects $non_pic_object"
1.1815 - fi
1.1816 - fi
1.1817 - ;;
1.1818 -
1.1819 - *.$libext)
1.1820 - # An archive.
1.1821 - deplibs="$deplibs $arg"
1.1822 - old_deplibs="$old_deplibs $arg"
1.1823 - continue
1.1824 - ;;
1.1825 -
1.1826 - *.la)
1.1827 - # A libtool-controlled library.
1.1828 -
1.1829 - if test "$prev" = dlfiles; then
1.1830 - # This library was specified with -dlopen.
1.1831 - dlfiles="$dlfiles $arg"
1.1832 - prev=
1.1833 - elif test "$prev" = dlprefiles; then
1.1834 - # The library was specified with -dlpreopen.
1.1835 - dlprefiles="$dlprefiles $arg"
1.1836 - prev=
1.1837 - else
1.1838 - deplibs="$deplibs $arg"
1.1839 - fi
1.1840 - continue
1.1841 - ;;
1.1842 -
1.1843 - # Some other compiler argument.
1.1844 - *)
1.1845 - # Unknown arguments in both finalize_command and compile_command need
1.1846 - # to be aesthetically quoted because they are evaled later.
1.1847 - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.1848 - case $arg in
1.1849 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.1850 - arg="\"$arg\""
1.1851 - ;;
1.1852 - esac
1.1853 - ;;
1.1854 - esac # arg
1.1855 -
1.1856 - # Now actually substitute the argument into the commands.
1.1857 - if test -n "$arg"; then
1.1858 - compile_command="$compile_command $arg"
1.1859 - finalize_command="$finalize_command $arg"
1.1860 - fi
1.1861 - done # argument parsing loop
1.1862 -
1.1863 - if test -n "$prev"; then
1.1864 - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
1.1865 - $echo "$help" 1>&2
1.1866 - exit $EXIT_FAILURE
1.1867 - fi
1.1868 -
1.1869 - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
1.1870 - eval arg=\"$export_dynamic_flag_spec\"
1.1871 - compile_command="$compile_command $arg"
1.1872 - finalize_command="$finalize_command $arg"
1.1873 - fi
1.1874 -
1.1875 - oldlibs=
1.1876 - # calculate the name of the file, without its directory
1.1877 - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
1.1878 - libobjs_save="$libobjs"
1.1879 -
1.1880 - if test -n "$shlibpath_var"; then
1.1881 - # get the directories listed in $shlibpath_var
1.1882 - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
1.1883 - else
1.1884 - shlib_search_path=
1.1885 - fi
1.1886 - eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
1.1887 - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
1.1888 -
1.1889 - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
1.1890 - if test "X$output_objdir" = "X$output"; then
1.1891 - output_objdir="$objdir"
1.1892 - else
1.1893 - output_objdir="$output_objdir/$objdir"
1.1894 - fi
1.1895 - # Create the object directory.
1.1896 - if test ! -d "$output_objdir"; then
1.1897 - $show "$mkdir $output_objdir"
1.1898 - $run $mkdir $output_objdir
1.1899 - status=$?
1.1900 - if test "$status" -ne 0 && test ! -d "$output_objdir"; then
1.1901 - exit $status
1.1902 - fi
1.1903 - fi
1.1904 -
1.1905 - # Determine the type of output
1.1906 - case $output in
1.1907 - "")
1.1908 - $echo "$modename: you must specify an output file" 1>&2
1.1909 - $echo "$help" 1>&2
1.1910 - exit $EXIT_FAILURE
1.1911 - ;;
1.1912 - *.$libext) linkmode=oldlib ;;
1.1913 - *.lo | *.$objext) linkmode=obj ;;
1.1914 - *.la) linkmode=lib ;;
1.1915 - *) linkmode=prog ;; # Anything else should be a program.
1.1916 - esac
1.1917 -
1.1918 - case $host in
1.1919 - *cygwin* | *mingw* | *pw32*)
1.1920 - # don't eliminate duplications in $postdeps and $predeps
1.1921 - duplicate_compiler_generated_deps=yes
1.1922 - ;;
1.1923 - *)
1.1924 - duplicate_compiler_generated_deps=$duplicate_deps
1.1925 - ;;
1.1926 - esac
1.1927 - specialdeplibs=
1.1928 -
1.1929 - libs=
1.1930 - # Find all interdependent deplibs by searching for libraries
1.1931 - # that are linked more than once (e.g. -la -lb -la)
1.1932 - for deplib in $deplibs; do
1.1933 - if test "X$duplicate_deps" = "Xyes" ; then
1.1934 - case "$libs " in
1.1935 - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1.1936 - esac
1.1937 - fi
1.1938 - libs="$libs $deplib"
1.1939 - done
1.1940 -
1.1941 - if test "$linkmode" = lib; then
1.1942 - libs="$predeps $libs $compiler_lib_search_path $postdeps"
1.1943 -
1.1944 - # Compute libraries that are listed more than once in $predeps
1.1945 - # $postdeps and mark them as special (i.e., whose duplicates are
1.1946 - # not to be eliminated).
1.1947 - pre_post_deps=
1.1948 - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
1.1949 - for pre_post_dep in $predeps $postdeps; do
1.1950 - case "$pre_post_deps " in
1.1951 - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
1.1952 - esac
1.1953 - pre_post_deps="$pre_post_deps $pre_post_dep"
1.1954 - done
1.1955 - fi
1.1956 - pre_post_deps=
1.1957 - fi
1.1958 -
1.1959 - deplibs=
1.1960 - newdependency_libs=
1.1961 - newlib_search_path=
1.1962 - need_relink=no # whether we're linking any uninstalled libtool libraries
1.1963 - notinst_deplibs= # not-installed libtool libraries
1.1964 - notinst_path= # paths that contain not-installed libtool libraries
1.1965 - case $linkmode in
1.1966 - lib)
1.1967 - passes="conv link"
1.1968 - for file in $dlfiles $dlprefiles; do
1.1969 - case $file in
1.1970 - *.la) ;;
1.1971 - *)
1.1972 - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
1.1973 - exit $EXIT_FAILURE
1.1974 - ;;
1.1975 - esac
1.1976 - done
1.1977 - ;;
1.1978 - prog)
1.1979 - compile_deplibs=
1.1980 - finalize_deplibs=
1.1981 - alldeplibs=no
1.1982 - newdlfiles=
1.1983 - newdlprefiles=
1.1984 - passes="conv scan dlopen dlpreopen link"
1.1985 - ;;
1.1986 - *) passes="conv"
1.1987 - ;;
1.1988 - esac
1.1989 - for pass in $passes; do
1.1990 - if test "$linkmode,$pass" = "lib,link" ||
1.1991 - test "$linkmode,$pass" = "prog,scan"; then
1.1992 - libs="$deplibs"
1.1993 - deplibs=
1.1994 - fi
1.1995 - if test "$linkmode" = prog; then
1.1996 - case $pass in
1.1997 - dlopen) libs="$dlfiles" ;;
1.1998 - dlpreopen) libs="$dlprefiles" ;;
1.1999 - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
1.2000 - esac
1.2001 - fi
1.2002 - if test "$pass" = dlopen; then
1.2003 - # Collect dlpreopened libraries
1.2004 - save_deplibs="$deplibs"
1.2005 - deplibs=
1.2006 - fi
1.2007 - for deplib in $libs; do
1.2008 - lib=
1.2009 - found=no
1.2010 - case $deplib in
1.2011 - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
1.2012 - if test "$linkmode,$pass" = "prog,link"; then
1.2013 - compile_deplibs="$deplib $compile_deplibs"
1.2014 - finalize_deplibs="$deplib $finalize_deplibs"
1.2015 - else
1.2016 - compiler_flags="$compiler_flags $deplib"
1.2017 - fi
1.2018 - continue
1.2019 - ;;
1.2020 - -l*)
1.2021 - if test "$linkmode" != lib && test "$linkmode" != prog; then
1.2022 - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
1.2023 - continue
1.2024 - fi
1.2025 - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
1.2026 - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
1.2027 - for search_ext in .la $std_shrext .so .a; do
1.2028 - # Search the libtool library
1.2029 - lib="$searchdir/lib${name}${search_ext}"
1.2030 - if test -f "$lib"; then
1.2031 - if test "$search_ext" = ".la"; then
1.2032 - found=yes
1.2033 - else
1.2034 - found=no
1.2035 - fi
1.2036 - break 2
1.2037 - fi
1.2038 - done
1.2039 - done
1.2040 - if test "$found" != yes; then
1.2041 - # deplib doesn't seem to be a libtool library
1.2042 - if test "$linkmode,$pass" = "prog,link"; then
1.2043 - compile_deplibs="$deplib $compile_deplibs"
1.2044 - finalize_deplibs="$deplib $finalize_deplibs"
1.2045 - else
1.2046 - deplibs="$deplib $deplibs"
1.2047 - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
1.2048 - fi
1.2049 - continue
1.2050 - else # deplib is a libtool library
1.2051 - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
1.2052 - # We need to do some special things here, and not later.
1.2053 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.2054 - case " $predeps $postdeps " in
1.2055 - *" $deplib "*)
1.2056 - if (${SED} -e '2q' $lib |
1.2057 - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.2058 - library_names=
1.2059 - old_library=
1.2060 - case $lib in
1.2061 - */* | *\\*) . $lib ;;
1.2062 - *) . ./$lib ;;
1.2063 - esac
1.2064 - for l in $old_library $library_names; do
1.2065 - ll="$l"
1.2066 - done
1.2067 - if test "X$ll" = "X$old_library" ; then # only static version available
1.2068 - found=no
1.2069 - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
1.2070 - test "X$ladir" = "X$lib" && ladir="."
1.2071 - lib=$ladir/$old_library
1.2072 - if test "$linkmode,$pass" = "prog,link"; then
1.2073 - compile_deplibs="$deplib $compile_deplibs"
1.2074 - finalize_deplibs="$deplib $finalize_deplibs"
1.2075 - else
1.2076 - deplibs="$deplib $deplibs"
1.2077 - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
1.2078 - fi
1.2079 - continue
1.2080 - fi
1.2081 - fi
1.2082 - ;;
1.2083 - *) ;;
1.2084 - esac
1.2085 - fi
1.2086 - fi
1.2087 - ;; # -l
1.2088 - -L*)
1.2089 - case $linkmode in
1.2090 - lib)
1.2091 - deplibs="$deplib $deplibs"
1.2092 - test "$pass" = conv && continue
1.2093 - newdependency_libs="$deplib $newdependency_libs"
1.2094 - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1.2095 - ;;
1.2096 - prog)
1.2097 - if test "$pass" = conv; then
1.2098 - deplibs="$deplib $deplibs"
1.2099 - continue
1.2100 - fi
1.2101 - if test "$pass" = scan; then
1.2102 - deplibs="$deplib $deplibs"
1.2103 - else
1.2104 - compile_deplibs="$deplib $compile_deplibs"
1.2105 - finalize_deplibs="$deplib $finalize_deplibs"
1.2106 - fi
1.2107 - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1.2108 - ;;
1.2109 - *)
1.2110 - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
1.2111 - ;;
1.2112 - esac # linkmode
1.2113 - continue
1.2114 - ;; # -L
1.2115 - -R*)
1.2116 - if test "$pass" = link; then
1.2117 - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
1.2118 - # Make sure the xrpath contains only unique directories.
1.2119 - case "$xrpath " in
1.2120 - *" $dir "*) ;;
1.2121 - *) xrpath="$xrpath $dir" ;;
1.2122 - esac
1.2123 - fi
1.2124 - deplibs="$deplib $deplibs"
1.2125 - continue
1.2126 - ;;
1.2127 - *.la) lib="$deplib" ;;
1.2128 - *.$libext)
1.2129 - if test "$pass" = conv; then
1.2130 - deplibs="$deplib $deplibs"
1.2131 - continue
1.2132 - fi
1.2133 - case $linkmode in
1.2134 - lib)
1.2135 - valid_a_lib=no
1.2136 - case $deplibs_check_method in
1.2137 - match_pattern*)
1.2138 - set dummy $deplibs_check_method
1.2139 - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
1.2140 - if eval $echo \"$deplib\" 2>/dev/null \
1.2141 - | $SED 10q \
1.2142 - | $EGREP "$match_pattern_regex" > /dev/null; then
1.2143 - valid_a_lib=yes
1.2144 - fi
1.2145 - ;;
1.2146 - pass_all)
1.2147 - valid_a_lib=yes
1.2148 - ;;
1.2149 - esac
1.2150 - if test "$valid_a_lib" != yes; then
1.2151 - $echo
1.2152 - $echo "*** Warning: Trying to link with static lib archive $deplib."
1.2153 - $echo "*** I have the capability to make that library automatically link in when"
1.2154 - $echo "*** you link to this library. But I can only do this if you have a"
1.2155 - $echo "*** shared version of the library, which you do not appear to have"
1.2156 - $echo "*** because the file extensions .$libext of this argument makes me believe"
1.2157 - $echo "*** that it is just a static archive that I should not used here."
1.2158 - else
1.2159 - $echo
1.2160 - $echo "*** Warning: Linking the shared library $output against the"
1.2161 - $echo "*** static library $deplib is not portable!"
1.2162 - deplibs="$deplib $deplibs"
1.2163 - fi
1.2164 - continue
1.2165 - ;;
1.2166 - prog)
1.2167 - if test "$pass" != link; then
1.2168 - deplibs="$deplib $deplibs"
1.2169 - else
1.2170 - compile_deplibs="$deplib $compile_deplibs"
1.2171 - finalize_deplibs="$deplib $finalize_deplibs"
1.2172 - fi
1.2173 - continue
1.2174 - ;;
1.2175 - esac # linkmode
1.2176 - ;; # *.$libext
1.2177 - *.lo | *.$objext)
1.2178 - if test "$pass" = conv; then
1.2179 - deplibs="$deplib $deplibs"
1.2180 - elif test "$linkmode" = prog; then
1.2181 - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
1.2182 - # If there is no dlopen support or we're linking statically,
1.2183 - # we need to preload.
1.2184 - newdlprefiles="$newdlprefiles $deplib"
1.2185 - compile_deplibs="$deplib $compile_deplibs"
1.2186 - finalize_deplibs="$deplib $finalize_deplibs"
1.2187 - else
1.2188 - newdlfiles="$newdlfiles $deplib"
1.2189 - fi
1.2190 - fi
1.2191 - continue
1.2192 - ;;
1.2193 - %DEPLIBS%)
1.2194 - alldeplibs=yes
1.2195 - continue
1.2196 - ;;
1.2197 - esac # case $deplib
1.2198 - if test "$found" = yes || test -f "$lib"; then :
1.2199 - else
1.2200 - $echo "$modename: cannot find the library \`$lib'" 1>&2
1.2201 - exit $EXIT_FAILURE
1.2202 - fi
1.2203 -
1.2204 - # Check to see that this really is a libtool archive.
1.2205 - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.2206 - else
1.2207 - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.2208 - exit $EXIT_FAILURE
1.2209 - fi
1.2210 -
1.2211 - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
1.2212 - test "X$ladir" = "X$lib" && ladir="."
1.2213 -
1.2214 - dlname=
1.2215 - dlopen=
1.2216 - dlpreopen=
1.2217 - libdir=
1.2218 - library_names=
1.2219 - old_library=
1.2220 - # If the library was installed with an old release of libtool,
1.2221 - # it will not redefine variables installed, or shouldnotlink
1.2222 - installed=yes
1.2223 - shouldnotlink=no
1.2224 - avoidtemprpath=
1.2225 -
1.2226 -
1.2227 - # Read the .la file
1.2228 - case $lib in
1.2229 - */* | *\\*) . $lib ;;
1.2230 - *) . ./$lib ;;
1.2231 - esac
1.2232 -
1.2233 - if test "$linkmode,$pass" = "lib,link" ||
1.2234 - test "$linkmode,$pass" = "prog,scan" ||
1.2235 - { test "$linkmode" != prog && test "$linkmode" != lib; }; then
1.2236 - test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
1.2237 - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
1.2238 - fi
1.2239 -
1.2240 - if test "$pass" = conv; then
1.2241 - # Only check for convenience libraries
1.2242 - deplibs="$lib $deplibs"
1.2243 - if test -z "$libdir"; then
1.2244 - if test -z "$old_library"; then
1.2245 - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1.2246 - exit $EXIT_FAILURE
1.2247 - fi
1.2248 - # It is a libtool convenience library, so add in its objects.
1.2249 - convenience="$convenience $ladir/$objdir/$old_library"
1.2250 - old_convenience="$old_convenience $ladir/$objdir/$old_library"
1.2251 - tmp_libs=
1.2252 - for deplib in $dependency_libs; do
1.2253 - deplibs="$deplib $deplibs"
1.2254 - if test "X$duplicate_deps" = "Xyes" ; then
1.2255 - case "$tmp_libs " in
1.2256 - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1.2257 - esac
1.2258 - fi
1.2259 - tmp_libs="$tmp_libs $deplib"
1.2260 - done
1.2261 - elif test "$linkmode" != prog && test "$linkmode" != lib; then
1.2262 - $echo "$modename: \`$lib' is not a convenience library" 1>&2
1.2263 - exit $EXIT_FAILURE
1.2264 - fi
1.2265 - continue
1.2266 - fi # $pass = conv
1.2267 -
1.2268 -
1.2269 - # Get the name of the library we link against.
1.2270 - linklib=
1.2271 - for l in $old_library $library_names; do
1.2272 - linklib="$l"
1.2273 - done
1.2274 - if test -z "$linklib"; then
1.2275 - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1.2276 - exit $EXIT_FAILURE
1.2277 - fi
1.2278 -
1.2279 - # This library was specified with -dlopen.
1.2280 - if test "$pass" = dlopen; then
1.2281 - if test -z "$libdir"; then
1.2282 - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
1.2283 - exit $EXIT_FAILURE
1.2284 - fi
1.2285 - if test -z "$dlname" ||
1.2286 - test "$dlopen_support" != yes ||
1.2287 - test "$build_libtool_libs" = no; then
1.2288 - # If there is no dlname, no dlopen support or we're linking
1.2289 - # statically, we need to preload. We also need to preload any
1.2290 - # dependent libraries so libltdl's deplib preloader doesn't
1.2291 - # bomb out in the load deplibs phase.
1.2292 - dlprefiles="$dlprefiles $lib $dependency_libs"
1.2293 - else
1.2294 - newdlfiles="$newdlfiles $lib"
1.2295 - fi
1.2296 - continue
1.2297 - fi # $pass = dlopen
1.2298 -
1.2299 - # We need an absolute path.
1.2300 - case $ladir in
1.2301 - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
1.2302 - *)
1.2303 - abs_ladir=`cd "$ladir" && pwd`
1.2304 - if test -z "$abs_ladir"; then
1.2305 - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
1.2306 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
1.2307 - abs_ladir="$ladir"
1.2308 - fi
1.2309 - ;;
1.2310 - esac
1.2311 - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1.2312 -
1.2313 - # Find the relevant object directory and library name.
1.2314 - if test "X$installed" = Xyes; then
1.2315 - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
1.2316 - $echo "$modename: warning: library \`$lib' was moved." 1>&2
1.2317 - dir="$ladir"
1.2318 - absdir="$abs_ladir"
1.2319 - libdir="$abs_ladir"
1.2320 - else
1.2321 - dir="$libdir"
1.2322 - absdir="$libdir"
1.2323 - fi
1.2324 - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
1.2325 - else
1.2326 - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
1.2327 - dir="$ladir"
1.2328 - absdir="$abs_ladir"
1.2329 - # Remove this search path later
1.2330 - notinst_path="$notinst_path $abs_ladir"
1.2331 - else
1.2332 - dir="$ladir/$objdir"
1.2333 - absdir="$abs_ladir/$objdir"
1.2334 - # Remove this search path later
1.2335 - notinst_path="$notinst_path $abs_ladir"
1.2336 - fi
1.2337 - fi # $installed = yes
1.2338 - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1.2339 -
1.2340 - # This library was specified with -dlpreopen.
1.2341 - if test "$pass" = dlpreopen; then
1.2342 - if test -z "$libdir"; then
1.2343 - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
1.2344 - exit $EXIT_FAILURE
1.2345 - fi
1.2346 - # Prefer using a static library (so that no silly _DYNAMIC symbols
1.2347 - # are required to link).
1.2348 - if test -n "$old_library"; then
1.2349 - newdlprefiles="$newdlprefiles $dir/$old_library"
1.2350 - # Otherwise, use the dlname, so that lt_dlopen finds it.
1.2351 - elif test -n "$dlname"; then
1.2352 - newdlprefiles="$newdlprefiles $dir/$dlname"
1.2353 - else
1.2354 - newdlprefiles="$newdlprefiles $dir/$linklib"
1.2355 - fi
1.2356 - fi # $pass = dlpreopen
1.2357 -
1.2358 - if test -z "$libdir"; then
1.2359 - # Link the convenience library
1.2360 - if test "$linkmode" = lib; then
1.2361 - deplibs="$dir/$old_library $deplibs"
1.2362 - elif test "$linkmode,$pass" = "prog,link"; then
1.2363 - compile_deplibs="$dir/$old_library $compile_deplibs"
1.2364 - finalize_deplibs="$dir/$old_library $finalize_deplibs"
1.2365 - else
1.2366 - deplibs="$lib $deplibs" # used for prog,scan pass
1.2367 - fi
1.2368 - continue
1.2369 - fi
1.2370 -
1.2371 -
1.2372 - if test "$linkmode" = prog && test "$pass" != link; then
1.2373 - newlib_search_path="$newlib_search_path $ladir"
1.2374 - deplibs="$lib $deplibs"
1.2375 -
1.2376 - linkalldeplibs=no
1.2377 - if test "$link_all_deplibs" != no || test -z "$library_names" ||
1.2378 - test "$build_libtool_libs" = no; then
1.2379 - linkalldeplibs=yes
1.2380 - fi
1.2381 -
1.2382 - tmp_libs=
1.2383 - for deplib in $dependency_libs; do
1.2384 - case $deplib in
1.2385 - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
1.2386 - esac
1.2387 - # Need to link against all dependency_libs?
1.2388 - if test "$linkalldeplibs" = yes; then
1.2389 - deplibs="$deplib $deplibs"
1.2390 - else
1.2391 - # Need to hardcode shared library paths
1.2392 - # or/and link against static libraries
1.2393 - newdependency_libs="$deplib $newdependency_libs"
1.2394 - fi
1.2395 - if test "X$duplicate_deps" = "Xyes" ; then
1.2396 - case "$tmp_libs " in
1.2397 - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1.2398 - esac
1.2399 - fi
1.2400 - tmp_libs="$tmp_libs $deplib"
1.2401 - done # for deplib
1.2402 - continue
1.2403 - fi # $linkmode = prog...
1.2404 -
1.2405 - if test "$linkmode,$pass" = "prog,link"; then
1.2406 - if test -n "$library_names" &&
1.2407 - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
1.2408 - # We need to hardcode the library path
1.2409 - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
1.2410 - # Make sure the rpath contains only unique directories.
1.2411 - case "$temp_rpath " in
1.2412 - *" $dir "*) ;;
1.2413 - *" $absdir "*) ;;
1.2414 - *) temp_rpath="$temp_rpath $absdir" ;;
1.2415 - esac
1.2416 - fi
1.2417 -
1.2418 - # Hardcode the library path.
1.2419 - # Skip directories that are in the system default run-time
1.2420 - # search path.
1.2421 - case " $sys_lib_dlsearch_path " in
1.2422 - *" $absdir "*) ;;
1.2423 - *)
1.2424 - case "$compile_rpath " in
1.2425 - *" $absdir "*) ;;
1.2426 - *) compile_rpath="$compile_rpath $absdir"
1.2427 - esac
1.2428 - ;;
1.2429 - esac
1.2430 - case " $sys_lib_dlsearch_path " in
1.2431 - *" $libdir "*) ;;
1.2432 - *)
1.2433 - case "$finalize_rpath " in
1.2434 - *" $libdir "*) ;;
1.2435 - *) finalize_rpath="$finalize_rpath $libdir"
1.2436 - esac
1.2437 - ;;
1.2438 - esac
1.2439 - fi # $linkmode,$pass = prog,link...
1.2440 -
1.2441 - if test "$alldeplibs" = yes &&
1.2442 - { test "$deplibs_check_method" = pass_all ||
1.2443 - { test "$build_libtool_libs" = yes &&
1.2444 - test -n "$library_names"; }; }; then
1.2445 - # We only need to search for static libraries
1.2446 - continue
1.2447 - fi
1.2448 - fi
1.2449 -
1.2450 - link_static=no # Whether the deplib will be linked statically
1.2451 - if test -n "$library_names" &&
1.2452 - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
1.2453 - if test "$installed" = no; then
1.2454 - notinst_deplibs="$notinst_deplibs $lib"
1.2455 - need_relink=yes
1.2456 - fi
1.2457 - # This is a shared library
1.2458 -
1.2459 - # Warn about portability, can't link against -module's on
1.2460 - # some systems (darwin)
1.2461 - if test "$shouldnotlink" = yes && test "$pass" = link ; then
1.2462 - $echo
1.2463 - if test "$linkmode" = prog; then
1.2464 - $echo "*** Warning: Linking the executable $output against the loadable module"
1.2465 - else
1.2466 - $echo "*** Warning: Linking the shared library $output against the loadable module"
1.2467 - fi
1.2468 - $echo "*** $linklib is not portable!"
1.2469 - fi
1.2470 - if test "$linkmode" = lib &&
1.2471 - test "$hardcode_into_libs" = yes; then
1.2472 - # Hardcode the library path.
1.2473 - # Skip directories that are in the system default run-time
1.2474 - # search path.
1.2475 - case " $sys_lib_dlsearch_path " in
1.2476 - *" $absdir "*) ;;
1.2477 - *)
1.2478 - case "$compile_rpath " in
1.2479 - *" $absdir "*) ;;
1.2480 - *) compile_rpath="$compile_rpath $absdir"
1.2481 - esac
1.2482 - ;;
1.2483 - esac
1.2484 - case " $sys_lib_dlsearch_path " in
1.2485 - *" $libdir "*) ;;
1.2486 - *)
1.2487 - case "$finalize_rpath " in
1.2488 - *" $libdir "*) ;;
1.2489 - *) finalize_rpath="$finalize_rpath $libdir"
1.2490 - esac
1.2491 - ;;
1.2492 - esac
1.2493 - fi
1.2494 -
1.2495 - if test -n "$old_archive_from_expsyms_cmds"; then
1.2496 - # figure out the soname
1.2497 - set dummy $library_names
1.2498 - realname="$2"
1.2499 - shift; shift
1.2500 - libname=`eval \\$echo \"$libname_spec\"`
1.2501 - # use dlname if we got it. it's perfectly good, no?
1.2502 - if test -n "$dlname"; then
1.2503 - soname="$dlname"
1.2504 - elif test -n "$soname_spec"; then
1.2505 - # bleh windows
1.2506 - case $host in
1.2507 - *cygwin* | mingw*)
1.2508 - major=`expr $current - $age`
1.2509 - versuffix="-$major"
1.2510 - ;;
1.2511 - esac
1.2512 - eval soname=\"$soname_spec\"
1.2513 - else
1.2514 - soname="$realname"
1.2515 - fi
1.2516 -
1.2517 - # Make a new name for the extract_expsyms_cmds to use
1.2518 - soroot="$soname"
1.2519 - soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
1.2520 - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
1.2521 -
1.2522 - # If the library has no export list, then create one now
1.2523 - if test -f "$output_objdir/$soname-def"; then :
1.2524 - else
1.2525 - $show "extracting exported symbol list from \`$soname'"
1.2526 - save_ifs="$IFS"; IFS='~'
1.2527 - cmds=$extract_expsyms_cmds
1.2528 - for cmd in $cmds; do
1.2529 - IFS="$save_ifs"
1.2530 - eval cmd=\"$cmd\"
1.2531 - $show "$cmd"
1.2532 - $run eval "$cmd" || exit $?
1.2533 - done
1.2534 - IFS="$save_ifs"
1.2535 - fi
1.2536 -
1.2537 - # Create $newlib
1.2538 - if test -f "$output_objdir/$newlib"; then :; else
1.2539 - $show "generating import library for \`$soname'"
1.2540 - save_ifs="$IFS"; IFS='~'
1.2541 - cmds=$old_archive_from_expsyms_cmds
1.2542 - for cmd in $cmds; do
1.2543 - IFS="$save_ifs"
1.2544 - eval cmd=\"$cmd\"
1.2545 - $show "$cmd"
1.2546 - $run eval "$cmd" || exit $?
1.2547 - done
1.2548 - IFS="$save_ifs"
1.2549 - fi
1.2550 - # make sure the library variables are pointing to the new library
1.2551 - dir=$output_objdir
1.2552 - linklib=$newlib
1.2553 - fi # test -n "$old_archive_from_expsyms_cmds"
1.2554 -
1.2555 - if test "$linkmode" = prog || test "$mode" != relink; then
1.2556 - add_shlibpath=
1.2557 - add_dir=
1.2558 - add=
1.2559 - lib_linked=yes
1.2560 - case $hardcode_action in
1.2561 - immediate | unsupported)
1.2562 - if test "$hardcode_direct" = no; then
1.2563 - add="$dir/$linklib"
1.2564 - case $host in
1.2565 - *-*-sco3.2v5* ) add_dir="-L$dir" ;;
1.2566 - *-*-darwin* )
1.2567 - # if the lib is a module then we can not link against
1.2568 - # it, someone is ignoring the new warnings I added
1.2569 - if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
1.2570 - $echo "** Warning, lib $linklib is a module, not a shared library"
1.2571 - if test -z "$old_library" ; then
1.2572 - $echo
1.2573 - $echo "** And there doesn't seem to be a static archive available"
1.2574 - $echo "** The link will probably fail, sorry"
1.2575 - else
1.2576 - add="$dir/$old_library"
1.2577 - fi
1.2578 - fi
1.2579 - esac
1.2580 - elif test "$hardcode_minus_L" = no; then
1.2581 - case $host in
1.2582 - *-*-sunos*) add_shlibpath="$dir" ;;
1.2583 - esac
1.2584 - add_dir="-L$dir"
1.2585 - add="-l$name"
1.2586 - elif test "$hardcode_shlibpath_var" = no; then
1.2587 - add_shlibpath="$dir"
1.2588 - add="-l$name"
1.2589 - else
1.2590 - lib_linked=no
1.2591 - fi
1.2592 - ;;
1.2593 - relink)
1.2594 - if test "$hardcode_direct" = yes; then
1.2595 - add="$dir/$linklib"
1.2596 - elif test "$hardcode_minus_L" = yes; then
1.2597 - add_dir="-L$dir"
1.2598 - # Try looking first in the location we're being installed to.
1.2599 - if test -n "$inst_prefix_dir"; then
1.2600 - case $libdir in
1.2601 - [\\/]*)
1.2602 - add_dir="$add_dir -L$inst_prefix_dir$libdir"
1.2603 - ;;
1.2604 - esac
1.2605 - fi
1.2606 - add="-l$name"
1.2607 - elif test "$hardcode_shlibpath_var" = yes; then
1.2608 - add_shlibpath="$dir"
1.2609 - add="-l$name"
1.2610 - else
1.2611 - lib_linked=no
1.2612 - fi
1.2613 - ;;
1.2614 - *) lib_linked=no ;;
1.2615 - esac
1.2616 -
1.2617 - if test "$lib_linked" != yes; then
1.2618 - $echo "$modename: configuration error: unsupported hardcode properties"
1.2619 - exit $EXIT_FAILURE
1.2620 - fi
1.2621 -
1.2622 - if test -n "$add_shlibpath"; then
1.2623 - case :$compile_shlibpath: in
1.2624 - *":$add_shlibpath:"*) ;;
1.2625 - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
1.2626 - esac
1.2627 - fi
1.2628 - if test "$linkmode" = prog; then
1.2629 - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
1.2630 - test -n "$add" && compile_deplibs="$add $compile_deplibs"
1.2631 - else
1.2632 - test -n "$add_dir" && deplibs="$add_dir $deplibs"
1.2633 - test -n "$add" && deplibs="$add $deplibs"
1.2634 - if test "$hardcode_direct" != yes && \
1.2635 - test "$hardcode_minus_L" != yes && \
1.2636 - test "$hardcode_shlibpath_var" = yes; then
1.2637 - case :$finalize_shlibpath: in
1.2638 - *":$libdir:"*) ;;
1.2639 - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1.2640 - esac
1.2641 - fi
1.2642 - fi
1.2643 - fi
1.2644 -
1.2645 - if test "$linkmode" = prog || test "$mode" = relink; then
1.2646 - add_shlibpath=
1.2647 - add_dir=
1.2648 - add=
1.2649 - # Finalize command for both is simple: just hardcode it.
1.2650 - if test "$hardcode_direct" = yes; then
1.2651 - add="$libdir/$linklib"
1.2652 - elif test "$hardcode_minus_L" = yes; then
1.2653 - add_dir="-L$libdir"
1.2654 - add="-l$name"
1.2655 - elif test "$hardcode_shlibpath_var" = yes; then
1.2656 - case :$finalize_shlibpath: in
1.2657 - *":$libdir:"*) ;;
1.2658 - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1.2659 - esac
1.2660 - add="-l$name"
1.2661 - elif test "$hardcode_automatic" = yes; then
1.2662 - if test -n "$inst_prefix_dir" &&
1.2663 - test -f "$inst_prefix_dir$libdir/$linklib" ; then
1.2664 - add="$inst_prefix_dir$libdir/$linklib"
1.2665 - else
1.2666 - add="$libdir/$linklib"
1.2667 - fi
1.2668 - else
1.2669 - # We cannot seem to hardcode it, guess we'll fake it.
1.2670 - add_dir="-L$libdir"
1.2671 - # Try looking first in the location we're being installed to.
1.2672 - if test -n "$inst_prefix_dir"; then
1.2673 - case $libdir in
1.2674 - [\\/]*)
1.2675 - add_dir="$add_dir -L$inst_prefix_dir$libdir"
1.2676 - ;;
1.2677 - esac
1.2678 - fi
1.2679 - add="-l$name"
1.2680 - fi
1.2681 -
1.2682 - if test "$linkmode" = prog; then
1.2683 - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
1.2684 - test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
1.2685 - else
1.2686 - test -n "$add_dir" && deplibs="$add_dir $deplibs"
1.2687 - test -n "$add" && deplibs="$add $deplibs"
1.2688 - fi
1.2689 - fi
1.2690 - elif test "$linkmode" = prog; then
1.2691 - # Here we assume that one of hardcode_direct or hardcode_minus_L
1.2692 - # is not unsupported. This is valid on all known static and
1.2693 - # shared platforms.
1.2694 - if test "$hardcode_direct" != unsupported; then
1.2695 - test -n "$old_library" && linklib="$old_library"
1.2696 - compile_deplibs="$dir/$linklib $compile_deplibs"
1.2697 - finalize_deplibs="$dir/$linklib $finalize_deplibs"
1.2698 - else
1.2699 - compile_deplibs="-l$name -L$dir $compile_deplibs"
1.2700 - finalize_deplibs="-l$name -L$dir $finalize_deplibs"
1.2701 - fi
1.2702 - elif test "$build_libtool_libs" = yes; then
1.2703 - # Not a shared library
1.2704 - if test "$deplibs_check_method" != pass_all; then
1.2705 - # We're trying link a shared library against a static one
1.2706 - # but the system doesn't support it.
1.2707 -
1.2708 - # Just print a warning and add the library to dependency_libs so
1.2709 - # that the program can be linked against the static library.
1.2710 - $echo
1.2711 - $echo "*** Warning: This system can not link to static lib archive $lib."
1.2712 - $echo "*** I have the capability to make that library automatically link in when"
1.2713 - $echo "*** you link to this library. But I can only do this if you have a"
1.2714 - $echo "*** shared version of the library, which you do not appear to have."
1.2715 - if test "$module" = yes; then
1.2716 - $echo "*** But as you try to build a module library, libtool will still create "
1.2717 - $echo "*** a static module, that should work as long as the dlopening application"
1.2718 - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
1.2719 - if test -z "$global_symbol_pipe"; then
1.2720 - $echo
1.2721 - $echo "*** However, this would only work if libtool was able to extract symbol"
1.2722 - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
1.2723 - $echo "*** not find such a program. So, this module is probably useless."
1.2724 - $echo "*** \`nm' from GNU binutils and a full rebuild may help."
1.2725 - fi
1.2726 - if test "$build_old_libs" = no; then
1.2727 - build_libtool_libs=module
1.2728 - build_old_libs=yes
1.2729 - else
1.2730 - build_libtool_libs=no
1.2731 - fi
1.2732 - fi
1.2733 - else
1.2734 - deplibs="$dir/$old_library $deplibs"
1.2735 - link_static=yes
1.2736 - fi
1.2737 - fi # link shared/static library?
1.2738 -
1.2739 - if test "$linkmode" = lib; then
1.2740 - if test -n "$dependency_libs" &&
1.2741 - { test "$hardcode_into_libs" != yes ||
1.2742 - test "$build_old_libs" = yes ||
1.2743 - test "$link_static" = yes; }; then
1.2744 - # Extract -R from dependency_libs
1.2745 - temp_deplibs=
1.2746 - for libdir in $dependency_libs; do
1.2747 - case $libdir in
1.2748 - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
1.2749 - case " $xrpath " in
1.2750 - *" $temp_xrpath "*) ;;
1.2751 - *) xrpath="$xrpath $temp_xrpath";;
1.2752 - esac;;
1.2753 - *) temp_deplibs="$temp_deplibs $libdir";;
1.2754 - esac
1.2755 - done
1.2756 - dependency_libs="$temp_deplibs"
1.2757 - fi
1.2758 -
1.2759 - newlib_search_path="$newlib_search_path $absdir"
1.2760 - # Link against this library
1.2761 - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
1.2762 - # ... and its dependency_libs
1.2763 - tmp_libs=
1.2764 - for deplib in $dependency_libs; do
1.2765 - newdependency_libs="$deplib $newdependency_libs"
1.2766 - if test "X$duplicate_deps" = "Xyes" ; then
1.2767 - case "$tmp_libs " in
1.2768 - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1.2769 - esac
1.2770 - fi
1.2771 - tmp_libs="$tmp_libs $deplib"
1.2772 - done
1.2773 -
1.2774 - if test "$link_all_deplibs" != no; then
1.2775 - # Add the search paths of all dependency libraries
1.2776 - for deplib in $dependency_libs; do
1.2777 - case $deplib in
1.2778 - -L*) path="$deplib" ;;
1.2779 - *.la)
1.2780 - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
1.2781 - test "X$dir" = "X$deplib" && dir="."
1.2782 - # We need an absolute path.
1.2783 - case $dir in
1.2784 - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
1.2785 - *)
1.2786 - absdir=`cd "$dir" && pwd`
1.2787 - if test -z "$absdir"; then
1.2788 - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
1.2789 - absdir="$dir"
1.2790 - fi
1.2791 - ;;
1.2792 - esac
1.2793 - if grep "^installed=no" $deplib > /dev/null; then
1.2794 - path="$absdir/$objdir"
1.2795 - else
1.2796 - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
1.2797 - if test -z "$libdir"; then
1.2798 - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
1.2799 - exit $EXIT_FAILURE
1.2800 - fi
1.2801 - if test "$absdir" != "$libdir"; then
1.2802 - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
1.2803 - fi
1.2804 - path="$absdir"
1.2805 - fi
1.2806 - depdepl=
1.2807 - case $host in
1.2808 - *-*-darwin*)
1.2809 - # we do not want to link against static libs,
1.2810 - # but need to link against shared
1.2811 - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
1.2812 - if test -n "$deplibrary_names" ; then
1.2813 - for tmp in $deplibrary_names ; do
1.2814 - depdepl=$tmp
1.2815 - done
1.2816 - if test -f "$path/$depdepl" ; then
1.2817 - depdepl="$path/$depdepl"
1.2818 - fi
1.2819 - # do not add paths which are already there
1.2820 - case " $newlib_search_path " in
1.2821 - *" $path "*) ;;
1.2822 - *) newlib_search_path="$newlib_search_path $path";;
1.2823 - esac
1.2824 - fi
1.2825 - path=""
1.2826 - ;;
1.2827 - *)
1.2828 - path="-L$path"
1.2829 - ;;
1.2830 - esac
1.2831 - ;;
1.2832 - -l*)
1.2833 - case $host in
1.2834 - *-*-darwin*)
1.2835 - # Again, we only want to link against shared libraries
1.2836 - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
1.2837 - for tmp in $newlib_search_path ; do
1.2838 - if test -f "$tmp/lib$tmp_libs.dylib" ; then
1.2839 - eval depdepl="$tmp/lib$tmp_libs.dylib"
1.2840 - break
1.2841 - fi
1.2842 - done
1.2843 - path=""
1.2844 - ;;
1.2845 - *) continue ;;
1.2846 - esac
1.2847 - ;;
1.2848 - *) continue ;;
1.2849 - esac
1.2850 - case " $deplibs " in
1.2851 - *" $path "*) ;;
1.2852 - *) deplibs="$path $deplibs" ;;
1.2853 - esac
1.2854 - case " $deplibs " in
1.2855 - *" $depdepl "*) ;;
1.2856 - *) deplibs="$depdepl $deplibs" ;;
1.2857 - esac
1.2858 - done
1.2859 - fi # link_all_deplibs != no
1.2860 - fi # linkmode = lib
1.2861 - done # for deplib in $libs
1.2862 - dependency_libs="$newdependency_libs"
1.2863 - if test "$pass" = dlpreopen; then
1.2864 - # Link the dlpreopened libraries before other libraries
1.2865 - for deplib in $save_deplibs; do
1.2866 - deplibs="$deplib $deplibs"
1.2867 - done
1.2868 - fi
1.2869 - if test "$pass" != dlopen; then
1.2870 - if test "$pass" != conv; then
1.2871 - # Make sure lib_search_path contains only unique directories.
1.2872 - lib_search_path=
1.2873 - for dir in $newlib_search_path; do
1.2874 - case "$lib_search_path " in
1.2875 - *" $dir "*) ;;
1.2876 - *) lib_search_path="$lib_search_path $dir" ;;
1.2877 - esac
1.2878 - done
1.2879 - newlib_search_path=
1.2880 - fi
1.2881 -
1.2882 - if test "$linkmode,$pass" != "prog,link"; then
1.2883 - vars="deplibs"
1.2884 - else
1.2885 - vars="compile_deplibs finalize_deplibs"
1.2886 - fi
1.2887 - for var in $vars dependency_libs; do
1.2888 - # Add libraries to $var in reverse order
1.2889 - eval tmp_libs=\"\$$var\"
1.2890 - new_libs=
1.2891 - for deplib in $tmp_libs; do
1.2892 - # FIXME: Pedantically, this is the right thing to do, so
1.2893 - # that some nasty dependency loop isn't accidentally
1.2894 - # broken:
1.2895 - #new_libs="$deplib $new_libs"
1.2896 - # Pragmatically, this seems to cause very few problems in
1.2897 - # practice:
1.2898 - case $deplib in
1.2899 - -L*) new_libs="$deplib $new_libs" ;;
1.2900 - -R*) ;;
1.2901 - *)
1.2902 - # And here is the reason: when a library appears more
1.2903 - # than once as an explicit dependence of a library, or
1.2904 - # is implicitly linked in more than once by the
1.2905 - # compiler, it is considered special, and multiple
1.2906 - # occurrences thereof are not removed. Compare this
1.2907 - # with having the same library being listed as a
1.2908 - # dependency of multiple other libraries: in this case,
1.2909 - # we know (pedantically, we assume) the library does not
1.2910 - # need to be listed more than once, so we keep only the
1.2911 - # last copy. This is not always right, but it is rare
1.2912 - # enough that we require users that really mean to play
1.2913 - # such unportable linking tricks to link the library
1.2914 - # using -Wl,-lname, so that libtool does not consider it
1.2915 - # for duplicate removal.
1.2916 - case " $specialdeplibs " in
1.2917 - *" $deplib "*) new_libs="$deplib $new_libs" ;;
1.2918 - *)
1.2919 - case " $new_libs " in
1.2920 - *" $deplib "*) ;;
1.2921 - *) new_libs="$deplib $new_libs" ;;
1.2922 - esac
1.2923 - ;;
1.2924 - esac
1.2925 - ;;
1.2926 - esac
1.2927 - done
1.2928 - tmp_libs=
1.2929 - for deplib in $new_libs; do
1.2930 - case $deplib in
1.2931 - -L*)
1.2932 - case " $tmp_libs " in
1.2933 - *" $deplib "*) ;;
1.2934 - *) tmp_libs="$tmp_libs $deplib" ;;
1.2935 - esac
1.2936 - ;;
1.2937 - *) tmp_libs="$tmp_libs $deplib" ;;
1.2938 - esac
1.2939 - done
1.2940 - eval $var=\"$tmp_libs\"
1.2941 - done # for var
1.2942 - fi
1.2943 - # Last step: remove runtime libs from dependency_libs
1.2944 - # (they stay in deplibs)
1.2945 - tmp_libs=
1.2946 - for i in $dependency_libs ; do
1.2947 - case " $predeps $postdeps $compiler_lib_search_path " in
1.2948 - *" $i "*)
1.2949 - i=""
1.2950 - ;;
1.2951 - esac
1.2952 - if test -n "$i" ; then
1.2953 - tmp_libs="$tmp_libs $i"
1.2954 - fi
1.2955 - done
1.2956 - dependency_libs=$tmp_libs
1.2957 - done # for pass
1.2958 - if test "$linkmode" = prog; then
1.2959 - dlfiles="$newdlfiles"
1.2960 - dlprefiles="$newdlprefiles"
1.2961 - fi
1.2962 -
1.2963 - case $linkmode in
1.2964 - oldlib)
1.2965 - if test -n "$deplibs"; then
1.2966 - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
1.2967 - fi
1.2968 -
1.2969 - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.2970 - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
1.2971 - fi
1.2972 -
1.2973 - if test -n "$rpath"; then
1.2974 - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
1.2975 - fi
1.2976 -
1.2977 - if test -n "$xrpath"; then
1.2978 - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
1.2979 - fi
1.2980 -
1.2981 - if test -n "$vinfo"; then
1.2982 - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
1.2983 - fi
1.2984 -
1.2985 - if test -n "$release"; then
1.2986 - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
1.2987 - fi
1.2988 -
1.2989 - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1.2990 - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
1.2991 - fi
1.2992 -
1.2993 - # Now set the variables for building old libraries.
1.2994 - build_libtool_libs=no
1.2995 - oldlibs="$output"
1.2996 - objs="$objs$old_deplibs"
1.2997 - ;;
1.2998 -
1.2999 - lib)
1.3000 - # Make sure we only generate libraries of the form `libNAME.la'.
1.3001 - case $outputname in
1.3002 - lib*)
1.3003 - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1.3004 - eval shared_ext=\"$shrext_cmds\"
1.3005 - eval libname=\"$libname_spec\"
1.3006 - ;;
1.3007 - *)
1.3008 - if test "$module" = no; then
1.3009 - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
1.3010 - $echo "$help" 1>&2
1.3011 - exit $EXIT_FAILURE
1.3012 - fi
1.3013 - if test "$need_lib_prefix" != no; then
1.3014 - # Add the "lib" prefix for modules if required
1.3015 - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
1.3016 - eval shared_ext=\"$shrext_cmds\"
1.3017 - eval libname=\"$libname_spec\"
1.3018 - else
1.3019 - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
1.3020 - fi
1.3021 - ;;
1.3022 - esac
1.3023 -
1.3024 - if test -n "$objs"; then
1.3025 - if test "$deplibs_check_method" != pass_all; then
1.3026 - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
1.3027 - exit $EXIT_FAILURE
1.3028 - else
1.3029 - $echo
1.3030 - $echo "*** Warning: Linking the shared library $output against the non-libtool"
1.3031 - $echo "*** objects $objs is not portable!"
1.3032 - libobjs="$libobjs $objs"
1.3033 - fi
1.3034 - fi
1.3035 -
1.3036 - if test "$dlself" != no; then
1.3037 - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
1.3038 - fi
1.3039 -
1.3040 - set dummy $rpath
1.3041 - if test "$#" -gt 2; then
1.3042 - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
1.3043 - fi
1.3044 - install_libdir="$2"
1.3045 -
1.3046 - oldlibs=
1.3047 - if test -z "$rpath"; then
1.3048 - if test "$build_libtool_libs" = yes; then
1.3049 - # Building a libtool convenience library.
1.3050 - # Some compilers have problems with a `.al' extension so
1.3051 - # convenience libraries should have the same extension an
1.3052 - # archive normally would.
1.3053 - oldlibs="$output_objdir/$libname.$libext $oldlibs"
1.3054 - build_libtool_libs=convenience
1.3055 - build_old_libs=yes
1.3056 - fi
1.3057 -
1.3058 - if test -n "$vinfo"; then
1.3059 - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
1.3060 - fi
1.3061 -
1.3062 - if test -n "$release"; then
1.3063 - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
1.3064 - fi
1.3065 - else
1.3066 -
1.3067 - # Parse the version information argument.
1.3068 - save_ifs="$IFS"; IFS=':'
1.3069 - set dummy $vinfo 0 0 0
1.3070 - IFS="$save_ifs"
1.3071 -
1.3072 - if test -n "$8"; then
1.3073 - $echo "$modename: too many parameters to \`-version-info'" 1>&2
1.3074 - $echo "$help" 1>&2
1.3075 - exit $EXIT_FAILURE
1.3076 - fi
1.3077 -
1.3078 - # convert absolute version numbers to libtool ages
1.3079 - # this retains compatibility with .la files and attempts
1.3080 - # to make the code below a bit more comprehensible
1.3081 -
1.3082 - case $vinfo_number in
1.3083 - yes)
1.3084 - number_major="$2"
1.3085 - number_minor="$3"
1.3086 - number_revision="$4"
1.3087 - #
1.3088 - # There are really only two kinds -- those that
1.3089 - # use the current revision as the major version
1.3090 - # and those that subtract age and use age as
1.3091 - # a minor version. But, then there is irix
1.3092 - # which has an extra 1 added just for fun
1.3093 - #
1.3094 - case $version_type in
1.3095 - darwin|linux|osf|windows)
1.3096 - current=`expr $number_major + $number_minor`
1.3097 - age="$number_minor"
1.3098 - revision="$number_revision"
1.3099 - ;;
1.3100 - freebsd-aout|freebsd-elf|sunos)
1.3101 - current="$number_major"
1.3102 - revision="$number_minor"
1.3103 - age="0"
1.3104 - ;;
1.3105 - irix|nonstopux)
1.3106 - current=`expr $number_major + $number_minor - 1`
1.3107 - age="$number_minor"
1.3108 - revision="$number_minor"
1.3109 - ;;
1.3110 - esac
1.3111 - ;;
1.3112 - no)
1.3113 - current="$2"
1.3114 - revision="$3"
1.3115 - age="$4"
1.3116 - ;;
1.3117 - esac
1.3118 -
1.3119 - # Check that each of the things are valid numbers.
1.3120 - case $current in
1.3121 - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
1.3122 - *)
1.3123 - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
1.3124 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.3125 - exit $EXIT_FAILURE
1.3126 - ;;
1.3127 - esac
1.3128 -
1.3129 - case $revision in
1.3130 - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
1.3131 - *)
1.3132 - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
1.3133 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.3134 - exit $EXIT_FAILURE
1.3135 - ;;
1.3136 - esac
1.3137 -
1.3138 - case $age in
1.3139 - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
1.3140 - *)
1.3141 - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
1.3142 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.3143 - exit $EXIT_FAILURE
1.3144 - ;;
1.3145 - esac
1.3146 -
1.3147 - if test "$age" -gt "$current"; then
1.3148 - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
1.3149 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1.3150 - exit $EXIT_FAILURE
1.3151 - fi
1.3152 -
1.3153 - # Calculate the version variables.
1.3154 - major=
1.3155 - versuffix=
1.3156 - verstring=
1.3157 - case $version_type in
1.3158 - none) ;;
1.3159 -
1.3160 - darwin)
1.3161 - # Like Linux, but with the current version available in
1.3162 - # verstring for coding it into the library header
1.3163 - major=.`expr $current - $age`
1.3164 - versuffix="$major.$age.$revision"
1.3165 - # Darwin ld doesn't like 0 for these options...
1.3166 - minor_current=`expr $current + 1`
1.3167 - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
1.3168 - ;;
1.3169 -
1.3170 - freebsd-aout)
1.3171 - major=".$current"
1.3172 - versuffix=".$current.$revision";
1.3173 - ;;
1.3174 -
1.3175 - freebsd-elf)
1.3176 - major=".$current"
1.3177 - versuffix=".$current";
1.3178 - ;;
1.3179 -
1.3180 - irix | nonstopux)
1.3181 - major=`expr $current - $age + 1`
1.3182 -
1.3183 - case $version_type in
1.3184 - nonstopux) verstring_prefix=nonstopux ;;
1.3185 - *) verstring_prefix=sgi ;;
1.3186 - esac
1.3187 - verstring="$verstring_prefix$major.$revision"
1.3188 -
1.3189 - # Add in all the interfaces that we are compatible with.
1.3190 - loop=$revision
1.3191 - while test "$loop" -ne 0; do
1.3192 - iface=`expr $revision - $loop`
1.3193 - loop=`expr $loop - 1`
1.3194 - verstring="$verstring_prefix$major.$iface:$verstring"
1.3195 - done
1.3196 -
1.3197 - # Before this point, $major must not contain `.'.
1.3198 - major=.$major
1.3199 - versuffix="$major.$revision"
1.3200 - ;;
1.3201 -
1.3202 - linux)
1.3203 - major=.`expr $current - $age`
1.3204 - versuffix="$major.$age.$revision"
1.3205 - ;;
1.3206 -
1.3207 - osf)
1.3208 - major=.`expr $current - $age`
1.3209 - versuffix=".$current.$age.$revision"
1.3210 - verstring="$current.$age.$revision"
1.3211 -
1.3212 - # Add in all the interfaces that we are compatible with.
1.3213 - loop=$age
1.3214 - while test "$loop" -ne 0; do
1.3215 - iface=`expr $current - $loop`
1.3216 - loop=`expr $loop - 1`
1.3217 - verstring="$verstring:${iface}.0"
1.3218 - done
1.3219 -
1.3220 - # Make executables depend on our current version.
1.3221 - verstring="$verstring:${current}.0"
1.3222 - ;;
1.3223 -
1.3224 - sunos)
1.3225 - major=".$current"
1.3226 - versuffix=".$current.$revision"
1.3227 - ;;
1.3228 -
1.3229 - windows)
1.3230 - # Use '-' rather than '.', since we only want one
1.3231 - # extension on DOS 8.3 filesystems.
1.3232 - major=`expr $current - $age`
1.3233 - versuffix="-$major"
1.3234 - ;;
1.3235 -
1.3236 - *)
1.3237 - $echo "$modename: unknown library version type \`$version_type'" 1>&2
1.3238 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
1.3239 - exit $EXIT_FAILURE
1.3240 - ;;
1.3241 - esac
1.3242 -
1.3243 - # Clear the version info if we defaulted, and they specified a release.
1.3244 - if test -z "$vinfo" && test -n "$release"; then
1.3245 - major=
1.3246 - case $version_type in
1.3247 - darwin)
1.3248 - # we can't check for "0.0" in archive_cmds due to quoting
1.3249 - # problems, so we reset it completely
1.3250 - verstring=
1.3251 - ;;
1.3252 - *)
1.3253 - verstring="0.0"
1.3254 - ;;
1.3255 - esac
1.3256 - if test "$need_version" = no; then
1.3257 - versuffix=
1.3258 - else
1.3259 - versuffix=".0.0"
1.3260 - fi
1.3261 - fi
1.3262 -
1.3263 - # Remove version info from name if versioning should be avoided
1.3264 - if test "$avoid_version" = yes && test "$need_version" = no; then
1.3265 - major=
1.3266 - versuffix=
1.3267 - verstring=""
1.3268 - fi
1.3269 -
1.3270 - # Check to see if the archive will have undefined symbols.
1.3271 - if test "$allow_undefined" = yes; then
1.3272 - if test "$allow_undefined_flag" = unsupported; then
1.3273 - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
1.3274 - build_libtool_libs=no
1.3275 - build_old_libs=yes
1.3276 - fi
1.3277 - else
1.3278 - # Don't allow undefined symbols.
1.3279 - allow_undefined_flag="$no_undefined_flag"
1.3280 - fi
1.3281 - fi
1.3282 -
1.3283 - if test "$mode" != relink; then
1.3284 - # Remove our outputs, but don't remove object files since they
1.3285 - # may have been created when compiling PIC objects.
1.3286 - removelist=
1.3287 - tempremovelist=`$echo "$output_objdir/*"`
1.3288 - for p in $tempremovelist; do
1.3289 - case $p in
1.3290 - *.$objext)
1.3291 - ;;
1.3292 - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
1.3293 - if test "X$precious_files_regex" != "X"; then
1.3294 - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
1.3295 - then
1.3296 - continue
1.3297 - fi
1.3298 - fi
1.3299 - removelist="$removelist $p"
1.3300 - ;;
1.3301 - *) ;;
1.3302 - esac
1.3303 - done
1.3304 - if test -n "$removelist"; then
1.3305 - $show "${rm}r $removelist"
1.3306 - $run ${rm}r $removelist
1.3307 - fi
1.3308 - fi
1.3309 -
1.3310 - # Now set the variables for building old libraries.
1.3311 - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
1.3312 - oldlibs="$oldlibs $output_objdir/$libname.$libext"
1.3313 -
1.3314 - # Transform .lo files to .o files.
1.3315 - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
1.3316 - fi
1.3317 -
1.3318 - # Eliminate all temporary directories.
1.3319 - for path in $notinst_path; do
1.3320 - lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
1.3321 - deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
1.3322 - dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
1.3323 - done
1.3324 -
1.3325 - if test -n "$xrpath"; then
1.3326 - # If the user specified any rpath flags, then add them.
1.3327 - temp_xrpath=
1.3328 - for libdir in $xrpath; do
1.3329 - temp_xrpath="$temp_xrpath -R$libdir"
1.3330 - case "$finalize_rpath " in
1.3331 - *" $libdir "*) ;;
1.3332 - *) finalize_rpath="$finalize_rpath $libdir" ;;
1.3333 - esac
1.3334 - done
1.3335 - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
1.3336 - dependency_libs="$temp_xrpath $dependency_libs"
1.3337 - fi
1.3338 - fi
1.3339 -
1.3340 - # Make sure dlfiles contains only unique files that won't be dlpreopened
1.3341 - old_dlfiles="$dlfiles"
1.3342 - dlfiles=
1.3343 - for lib in $old_dlfiles; do
1.3344 - case " $dlprefiles $dlfiles " in
1.3345 - *" $lib "*) ;;
1.3346 - *) dlfiles="$dlfiles $lib" ;;
1.3347 - esac
1.3348 - done
1.3349 -
1.3350 - # Make sure dlprefiles contains only unique files
1.3351 - old_dlprefiles="$dlprefiles"
1.3352 - dlprefiles=
1.3353 - for lib in $old_dlprefiles; do
1.3354 - case "$dlprefiles " in
1.3355 - *" $lib "*) ;;
1.3356 - *) dlprefiles="$dlprefiles $lib" ;;
1.3357 - esac
1.3358 - done
1.3359 -
1.3360 - if test "$build_libtool_libs" = yes; then
1.3361 - if test -n "$rpath"; then
1.3362 - case $host in
1.3363 - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
1.3364 - # these systems don't actually have a c library (as such)!
1.3365 - ;;
1.3366 - *-*-rhapsody* | *-*-darwin1.[012])
1.3367 - # Rhapsody C library is in the System framework
1.3368 - deplibs="$deplibs -framework System"
1.3369 - ;;
1.3370 - *-*-netbsd*)
1.3371 - # Don't link with libc until the a.out ld.so is fixed.
1.3372 - ;;
1.3373 - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1.3374 - # Do not include libc due to us having libc/libc_r.
1.3375 - test "X$arg" = "X-lc" && continue
1.3376 - ;;
1.3377 - *)
1.3378 - # Add libc to deplibs on all other systems if necessary.
1.3379 - if test "$build_libtool_need_lc" = "yes"; then
1.3380 - deplibs="$deplibs -lc"
1.3381 - fi
1.3382 - ;;
1.3383 - esac
1.3384 - fi
1.3385 -
1.3386 - # Transform deplibs into only deplibs that can be linked in shared.
1.3387 - name_save=$name
1.3388 - libname_save=$libname
1.3389 - release_save=$release
1.3390 - versuffix_save=$versuffix
1.3391 - major_save=$major
1.3392 - # I'm not sure if I'm treating the release correctly. I think
1.3393 - # release should show up in the -l (ie -lgmp5) so we don't want to
1.3394 - # add it in twice. Is that correct?
1.3395 - release=""
1.3396 - versuffix=""
1.3397 - major=""
1.3398 - newdeplibs=
1.3399 - droppeddeps=no
1.3400 - case $deplibs_check_method in
1.3401 - pass_all)
1.3402 - # Don't check for shared/static. Everything works.
1.3403 - # This might be a little naive. We might want to check
1.3404 - # whether the library exists or not. But this is on
1.3405 - # osf3 & osf4 and I'm not really sure... Just
1.3406 - # implementing what was already the behavior.
1.3407 - newdeplibs=$deplibs
1.3408 - ;;
1.3409 - test_compile)
1.3410 - # This code stresses the "libraries are programs" paradigm to its
1.3411 - # limits. Maybe even breaks it. We compile a program, linking it
1.3412 - # against the deplibs as a proxy for the library. Then we can check
1.3413 - # whether they linked in statically or dynamically with ldd.
1.3414 - $rm conftest.c
1.3415 - cat > conftest.c <<EOF
1.3416 - int main() { return 0; }
1.3417 -EOF
1.3418 - $rm conftest
1.3419 - $LTCC -o conftest conftest.c $deplibs
1.3420 - if test "$?" -eq 0 ; then
1.3421 - ldd_output=`ldd conftest`
1.3422 - for i in $deplibs; do
1.3423 - name=`expr $i : '-l\(.*\)'`
1.3424 - # If $name is empty we are operating on a -L argument.
1.3425 - if test "$name" != "" && test "$name" -ne "0"; then
1.3426 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.3427 - case " $predeps $postdeps " in
1.3428 - *" $i "*)
1.3429 - newdeplibs="$newdeplibs $i"
1.3430 - i=""
1.3431 - ;;
1.3432 - esac
1.3433 - fi
1.3434 - if test -n "$i" ; then
1.3435 - libname=`eval \\$echo \"$libname_spec\"`
1.3436 - deplib_matches=`eval \\$echo \"$library_names_spec\"`
1.3437 - set dummy $deplib_matches
1.3438 - deplib_match=$2
1.3439 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
1.3440 - newdeplibs="$newdeplibs $i"
1.3441 - else
1.3442 - droppeddeps=yes
1.3443 - $echo
1.3444 - $echo "*** Warning: dynamic linker does not accept needed library $i."
1.3445 - $echo "*** I have the capability to make that library automatically link in when"
1.3446 - $echo "*** you link to this library. But I can only do this if you have a"
1.3447 - $echo "*** shared version of the library, which I believe you do not have"
1.3448 - $echo "*** because a test_compile did reveal that the linker did not use it for"
1.3449 - $echo "*** its dynamic dependency list that programs get resolved with at runtime."
1.3450 - fi
1.3451 - fi
1.3452 - else
1.3453 - newdeplibs="$newdeplibs $i"
1.3454 - fi
1.3455 - done
1.3456 - else
1.3457 - # Error occurred in the first compile. Let's try to salvage
1.3458 - # the situation: Compile a separate program for each library.
1.3459 - for i in $deplibs; do
1.3460 - name=`expr $i : '-l\(.*\)'`
1.3461 - # If $name is empty we are operating on a -L argument.
1.3462 - if test "$name" != "" && test "$name" != "0"; then
1.3463 - $rm conftest
1.3464 - $LTCC -o conftest conftest.c $i
1.3465 - # Did it work?
1.3466 - if test "$?" -eq 0 ; then
1.3467 - ldd_output=`ldd conftest`
1.3468 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.3469 - case " $predeps $postdeps " in
1.3470 - *" $i "*)
1.3471 - newdeplibs="$newdeplibs $i"
1.3472 - i=""
1.3473 - ;;
1.3474 - esac
1.3475 - fi
1.3476 - if test -n "$i" ; then
1.3477 - libname=`eval \\$echo \"$libname_spec\"`
1.3478 - deplib_matches=`eval \\$echo \"$library_names_spec\"`
1.3479 - set dummy $deplib_matches
1.3480 - deplib_match=$2
1.3481 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
1.3482 - newdeplibs="$newdeplibs $i"
1.3483 - else
1.3484 - droppeddeps=yes
1.3485 - $echo
1.3486 - $echo "*** Warning: dynamic linker does not accept needed library $i."
1.3487 - $echo "*** I have the capability to make that library automatically link in when"
1.3488 - $echo "*** you link to this library. But I can only do this if you have a"
1.3489 - $echo "*** shared version of the library, which you do not appear to have"
1.3490 - $echo "*** because a test_compile did reveal that the linker did not use this one"
1.3491 - $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
1.3492 - fi
1.3493 - fi
1.3494 - else
1.3495 - droppeddeps=yes
1.3496 - $echo
1.3497 - $echo "*** Warning! Library $i is needed by this library but I was not able to"
1.3498 - $echo "*** make it link in! You will probably need to install it or some"
1.3499 - $echo "*** library that it depends on before this library will be fully"
1.3500 - $echo "*** functional. Installing it before continuing would be even better."
1.3501 - fi
1.3502 - else
1.3503 - newdeplibs="$newdeplibs $i"
1.3504 - fi
1.3505 - done
1.3506 - fi
1.3507 - ;;
1.3508 - file_magic*)
1.3509 - set dummy $deplibs_check_method
1.3510 - file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
1.3511 - for a_deplib in $deplibs; do
1.3512 - name=`expr $a_deplib : '-l\(.*\)'`
1.3513 - # If $name is empty we are operating on a -L argument.
1.3514 - if test "$name" != "" && test "$name" != "0"; then
1.3515 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.3516 - case " $predeps $postdeps " in
1.3517 - *" $a_deplib "*)
1.3518 - newdeplibs="$newdeplibs $a_deplib"
1.3519 - a_deplib=""
1.3520 - ;;
1.3521 - esac
1.3522 - fi
1.3523 - if test -n "$a_deplib" ; then
1.3524 - libname=`eval \\$echo \"$libname_spec\"`
1.3525 - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
1.3526 - potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
1.3527 - for potent_lib in $potential_libs; do
1.3528 - # Follow soft links.
1.3529 - if ls -lLd "$potent_lib" 2>/dev/null \
1.3530 - | grep " -> " >/dev/null; then
1.3531 - continue
1.3532 - fi
1.3533 - # The statement above tries to avoid entering an
1.3534 - # endless loop below, in case of cyclic links.
1.3535 - # We might still enter an endless loop, since a link
1.3536 - # loop can be closed while we follow links,
1.3537 - # but so what?
1.3538 - potlib="$potent_lib"
1.3539 - while test -h "$potlib" 2>/dev/null; do
1.3540 - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
1.3541 - case $potliblink in
1.3542 - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
1.3543 - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
1.3544 - esac
1.3545 - done
1.3546 - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
1.3547 - | ${SED} 10q \
1.3548 - | $EGREP "$file_magic_regex" > /dev/null; then
1.3549 - newdeplibs="$newdeplibs $a_deplib"
1.3550 - a_deplib=""
1.3551 - break 2
1.3552 - fi
1.3553 - done
1.3554 - done
1.3555 - fi
1.3556 - if test -n "$a_deplib" ; then
1.3557 - droppeddeps=yes
1.3558 - $echo
1.3559 - $echo "*** Warning: linker path does not have real file for library $a_deplib."
1.3560 - $echo "*** I have the capability to make that library automatically link in when"
1.3561 - $echo "*** you link to this library. But I can only do this if you have a"
1.3562 - $echo "*** shared version of the library, which you do not appear to have"
1.3563 - $echo "*** because I did check the linker path looking for a file starting"
1.3564 - if test -z "$potlib" ; then
1.3565 - $echo "*** with $libname but no candidates were found. (...for file magic test)"
1.3566 - else
1.3567 - $echo "*** with $libname and none of the candidates passed a file format test"
1.3568 - $echo "*** using a file magic. Last file checked: $potlib"
1.3569 - fi
1.3570 - fi
1.3571 - else
1.3572 - # Add a -L argument.
1.3573 - newdeplibs="$newdeplibs $a_deplib"
1.3574 - fi
1.3575 - done # Gone through all deplibs.
1.3576 - ;;
1.3577 - match_pattern*)
1.3578 - set dummy $deplibs_check_method
1.3579 - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
1.3580 - for a_deplib in $deplibs; do
1.3581 - name=`expr $a_deplib : '-l\(.*\)'`
1.3582 - # If $name is empty we are operating on a -L argument.
1.3583 - if test -n "$name" && test "$name" != "0"; then
1.3584 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.3585 - case " $predeps $postdeps " in
1.3586 - *" $a_deplib "*)
1.3587 - newdeplibs="$newdeplibs $a_deplib"
1.3588 - a_deplib=""
1.3589 - ;;
1.3590 - esac
1.3591 - fi
1.3592 - if test -n "$a_deplib" ; then
1.3593 - libname=`eval \\$echo \"$libname_spec\"`
1.3594 - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
1.3595 - potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
1.3596 - for potent_lib in $potential_libs; do
1.3597 - potlib="$potent_lib" # see symlink-check above in file_magic test
1.3598 - if eval $echo \"$potent_lib\" 2>/dev/null \
1.3599 - | ${SED} 10q \
1.3600 - | $EGREP "$match_pattern_regex" > /dev/null; then
1.3601 - newdeplibs="$newdeplibs $a_deplib"
1.3602 - a_deplib=""
1.3603 - break 2
1.3604 - fi
1.3605 - done
1.3606 - done
1.3607 - fi
1.3608 - if test -n "$a_deplib" ; then
1.3609 - droppeddeps=yes
1.3610 - $echo
1.3611 - $echo "*** Warning: linker path does not have real file for library $a_deplib."
1.3612 - $echo "*** I have the capability to make that library automatically link in when"
1.3613 - $echo "*** you link to this library. But I can only do this if you have a"
1.3614 - $echo "*** shared version of the library, which you do not appear to have"
1.3615 - $echo "*** because I did check the linker path looking for a file starting"
1.3616 - if test -z "$potlib" ; then
1.3617 - $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
1.3618 - else
1.3619 - $echo "*** with $libname and none of the candidates passed a file format test"
1.3620 - $echo "*** using a regex pattern. Last file checked: $potlib"
1.3621 - fi
1.3622 - fi
1.3623 - else
1.3624 - # Add a -L argument.
1.3625 - newdeplibs="$newdeplibs $a_deplib"
1.3626 - fi
1.3627 - done # Gone through all deplibs.
1.3628 - ;;
1.3629 - none | unknown | *)
1.3630 - newdeplibs=""
1.3631 - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
1.3632 - -e 's/ -[LR][^ ]*//g'`
1.3633 - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
1.3634 - for i in $predeps $postdeps ; do
1.3635 - # can't use Xsed below, because $i might contain '/'
1.3636 - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
1.3637 - done
1.3638 - fi
1.3639 - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
1.3640 - | grep . >/dev/null; then
1.3641 - $echo
1.3642 - if test "X$deplibs_check_method" = "Xnone"; then
1.3643 - $echo "*** Warning: inter-library dependencies are not supported in this platform."
1.3644 - else
1.3645 - $echo "*** Warning: inter-library dependencies are not known to be supported."
1.3646 - fi
1.3647 - $echo "*** All declared inter-library dependencies are being dropped."
1.3648 - droppeddeps=yes
1.3649 - fi
1.3650 - ;;
1.3651 - esac
1.3652 - versuffix=$versuffix_save
1.3653 - major=$major_save
1.3654 - release=$release_save
1.3655 - libname=$libname_save
1.3656 - name=$name_save
1.3657 -
1.3658 - case $host in
1.3659 - *-*-rhapsody* | *-*-darwin1.[012])
1.3660 - # On Rhapsody replace the C library is the System framework
1.3661 - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
1.3662 - ;;
1.3663 - esac
1.3664 -
1.3665 - if test "$droppeddeps" = yes; then
1.3666 - if test "$module" = yes; then
1.3667 - $echo
1.3668 - $echo "*** Warning: libtool could not satisfy all declared inter-library"
1.3669 - $echo "*** dependencies of module $libname. Therefore, libtool will create"
1.3670 - $echo "*** a static module, that should work as long as the dlopening"
1.3671 - $echo "*** application is linked with the -dlopen flag."
1.3672 - if test -z "$global_symbol_pipe"; then
1.3673 - $echo
1.3674 - $echo "*** However, this would only work if libtool was able to extract symbol"
1.3675 - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
1.3676 - $echo "*** not find such a program. So, this module is probably useless."
1.3677 - $echo "*** \`nm' from GNU binutils and a full rebuild may help."
1.3678 - fi
1.3679 - if test "$build_old_libs" = no; then
1.3680 - oldlibs="$output_objdir/$libname.$libext"
1.3681 - build_libtool_libs=module
1.3682 - build_old_libs=yes
1.3683 - else
1.3684 - build_libtool_libs=no
1.3685 - fi
1.3686 - else
1.3687 - $echo "*** The inter-library dependencies that have been dropped here will be"
1.3688 - $echo "*** automatically added whenever a program is linked with this library"
1.3689 - $echo "*** or is declared to -dlopen it."
1.3690 -
1.3691 - if test "$allow_undefined" = no; then
1.3692 - $echo
1.3693 - $echo "*** Since this library must not contain undefined symbols,"
1.3694 - $echo "*** because either the platform does not support them or"
1.3695 - $echo "*** it was explicitly requested with -no-undefined,"
1.3696 - $echo "*** libtool will only create a static version of it."
1.3697 - if test "$build_old_libs" = no; then
1.3698 - oldlibs="$output_objdir/$libname.$libext"
1.3699 - build_libtool_libs=module
1.3700 - build_old_libs=yes
1.3701 - else
1.3702 - build_libtool_libs=no
1.3703 - fi
1.3704 - fi
1.3705 - fi
1.3706 - fi
1.3707 - # Done checking deplibs!
1.3708 - deplibs=$newdeplibs
1.3709 - fi
1.3710 -
1.3711 - # All the library-specific variables (install_libdir is set above).
1.3712 - library_names=
1.3713 - old_library=
1.3714 - dlname=
1.3715 -
1.3716 - # Test again, we may have decided not to build it any more
1.3717 - if test "$build_libtool_libs" = yes; then
1.3718 - if test "$hardcode_into_libs" = yes; then
1.3719 - # Hardcode the library paths
1.3720 - hardcode_libdirs=
1.3721 - dep_rpath=
1.3722 - rpath="$finalize_rpath"
1.3723 - test "$mode" != relink && rpath="$compile_rpath$rpath"
1.3724 - for libdir in $rpath; do
1.3725 - if test -n "$hardcode_libdir_flag_spec"; then
1.3726 - if test -n "$hardcode_libdir_separator"; then
1.3727 - if test -z "$hardcode_libdirs"; then
1.3728 - hardcode_libdirs="$libdir"
1.3729 - else
1.3730 - # Just accumulate the unique libdirs.
1.3731 - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
1.3732 - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1.3733 - ;;
1.3734 - *)
1.3735 - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1.3736 - ;;
1.3737 - esac
1.3738 - fi
1.3739 - else
1.3740 - eval flag=\"$hardcode_libdir_flag_spec\"
1.3741 - dep_rpath="$dep_rpath $flag"
1.3742 - fi
1.3743 - elif test -n "$runpath_var"; then
1.3744 - case "$perm_rpath " in
1.3745 - *" $libdir "*) ;;
1.3746 - *) perm_rpath="$perm_rpath $libdir" ;;
1.3747 - esac
1.3748 - fi
1.3749 - done
1.3750 - # Substitute the hardcoded libdirs into the rpath.
1.3751 - if test -n "$hardcode_libdir_separator" &&
1.3752 - test -n "$hardcode_libdirs"; then
1.3753 - libdir="$hardcode_libdirs"
1.3754 - if test -n "$hardcode_libdir_flag_spec_ld"; then
1.3755 - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
1.3756 - else
1.3757 - eval dep_rpath=\"$hardcode_libdir_flag_spec\"
1.3758 - fi
1.3759 - fi
1.3760 - if test -n "$runpath_var" && test -n "$perm_rpath"; then
1.3761 - # We should set the runpath_var.
1.3762 - rpath=
1.3763 - for dir in $perm_rpath; do
1.3764 - rpath="$rpath$dir:"
1.3765 - done
1.3766 - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
1.3767 - fi
1.3768 - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
1.3769 - fi
1.3770 -
1.3771 - shlibpath="$finalize_shlibpath"
1.3772 - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
1.3773 - if test -n "$shlibpath"; then
1.3774 - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
1.3775 - fi
1.3776 -
1.3777 - # Get the real and link names of the library.
1.3778 - eval shared_ext=\"$shrext_cmds\"
1.3779 - eval library_names=\"$library_names_spec\"
1.3780 - set dummy $library_names
1.3781 - realname="$2"
1.3782 - shift; shift
1.3783 -
1.3784 - if test -n "$soname_spec"; then
1.3785 - eval soname=\"$soname_spec\"
1.3786 - else
1.3787 - soname="$realname"
1.3788 - fi
1.3789 - if test -z "$dlname"; then
1.3790 - dlname=$soname
1.3791 - fi
1.3792 -
1.3793 - lib="$output_objdir/$realname"
1.3794 - for link
1.3795 - do
1.3796 - linknames="$linknames $link"
1.3797 - done
1.3798 -
1.3799 - # Use standard objects if they are pic
1.3800 - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.3801 -
1.3802 - # Prepare the list of exported symbols
1.3803 - if test -z "$export_symbols"; then
1.3804 - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
1.3805 - $show "generating symbol list for \`$libname.la'"
1.3806 - export_symbols="$output_objdir/$libname.exp"
1.3807 - $run $rm $export_symbols
1.3808 - cmds=$export_symbols_cmds
1.3809 - save_ifs="$IFS"; IFS='~'
1.3810 - for cmd in $cmds; do
1.3811 - IFS="$save_ifs"
1.3812 - eval cmd=\"$cmd\"
1.3813 - if len=`expr "X$cmd" : ".*"` &&
1.3814 - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
1.3815 - $show "$cmd"
1.3816 - $run eval "$cmd" || exit $?
1.3817 - skipped_export=false
1.3818 - else
1.3819 - # The command line is too long to execute in one step.
1.3820 - $show "using reloadable object file for export list..."
1.3821 - skipped_export=:
1.3822 - # Break out early, otherwise skipped_export may be
1.3823 - # set to false by a later but shorter cmd.
1.3824 - break
1.3825 - fi
1.3826 - done
1.3827 - IFS="$save_ifs"
1.3828 - if test -n "$export_symbols_regex"; then
1.3829 - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
1.3830 - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
1.3831 - $show "$mv \"${export_symbols}T\" \"$export_symbols\""
1.3832 - $run eval '$mv "${export_symbols}T" "$export_symbols"'
1.3833 - fi
1.3834 - fi
1.3835 - fi
1.3836 -
1.3837 - if test -n "$export_symbols" && test -n "$include_expsyms"; then
1.3838 - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
1.3839 - fi
1.3840 -
1.3841 - tmp_deplibs=
1.3842 - for test_deplib in $deplibs; do
1.3843 - case " $convenience " in
1.3844 - *" $test_deplib "*) ;;
1.3845 - *)
1.3846 - tmp_deplibs="$tmp_deplibs $test_deplib"
1.3847 - ;;
1.3848 - esac
1.3849 - done
1.3850 - deplibs="$tmp_deplibs"
1.3851 -
1.3852 - if test -n "$convenience"; then
1.3853 - if test -n "$whole_archive_flag_spec"; then
1.3854 - save_libobjs=$libobjs
1.3855 - eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
1.3856 - else
1.3857 - gentop="$output_objdir/${outputname}x"
1.3858 - generated="$generated $gentop"
1.3859 -
1.3860 - func_extract_archives $gentop $convenience
1.3861 - libobjs="$libobjs $func_extract_archives_result"
1.3862 - fi
1.3863 - fi
1.3864 -
1.3865 - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
1.3866 - eval flag=\"$thread_safe_flag_spec\"
1.3867 - linker_flags="$linker_flags $flag"
1.3868 - fi
1.3869 -
1.3870 - # Make a backup of the uninstalled library when relinking
1.3871 - if test "$mode" = relink; then
1.3872 - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
1.3873 - fi
1.3874 -
1.3875 - # Do each of the archive commands.
1.3876 - if test "$module" = yes && test -n "$module_cmds" ; then
1.3877 - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
1.3878 - eval test_cmds=\"$module_expsym_cmds\"
1.3879 - cmds=$module_expsym_cmds
1.3880 - else
1.3881 - eval test_cmds=\"$module_cmds\"
1.3882 - cmds=$module_cmds
1.3883 - fi
1.3884 - else
1.3885 - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
1.3886 - eval test_cmds=\"$archive_expsym_cmds\"
1.3887 - cmds=$archive_expsym_cmds
1.3888 - else
1.3889 - eval test_cmds=\"$archive_cmds\"
1.3890 - cmds=$archive_cmds
1.3891 - fi
1.3892 - fi
1.3893 -
1.3894 - if test "X$skipped_export" != "X:" &&
1.3895 - len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
1.3896 - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
1.3897 - :
1.3898 - else
1.3899 - # The command line is too long to link in one step, link piecewise.
1.3900 - $echo "creating reloadable object files..."
1.3901 -
1.3902 - # Save the value of $output and $libobjs because we want to
1.3903 - # use them later. If we have whole_archive_flag_spec, we
1.3904 - # want to use save_libobjs as it was before
1.3905 - # whole_archive_flag_spec was expanded, because we can't
1.3906 - # assume the linker understands whole_archive_flag_spec.
1.3907 - # This may have to be revisited, in case too many
1.3908 - # convenience libraries get linked in and end up exceeding
1.3909 - # the spec.
1.3910 - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
1.3911 - save_libobjs=$libobjs
1.3912 - fi
1.3913 - save_output=$output
1.3914 - output_la=`$echo "X$output" | $Xsed -e "$basename"`
1.3915 -
1.3916 - # Clear the reloadable object creation command queue and
1.3917 - # initialize k to one.
1.3918 - test_cmds=
1.3919 - concat_cmds=
1.3920 - objlist=
1.3921 - delfiles=
1.3922 - last_robj=
1.3923 - k=1
1.3924 - output=$output_objdir/$output_la-${k}.$objext
1.3925 - # Loop over the list of objects to be linked.
1.3926 - for obj in $save_libobjs
1.3927 - do
1.3928 - eval test_cmds=\"$reload_cmds $objlist $last_robj\"
1.3929 - if test "X$objlist" = X ||
1.3930 - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
1.3931 - test "$len" -le "$max_cmd_len"; }; then
1.3932 - objlist="$objlist $obj"
1.3933 - else
1.3934 - # The command $test_cmds is almost too long, add a
1.3935 - # command to the queue.
1.3936 - if test "$k" -eq 1 ; then
1.3937 - # The first file doesn't have a previous command to add.
1.3938 - eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
1.3939 - else
1.3940 - # All subsequent reloadable object files will link in
1.3941 - # the last one created.
1.3942 - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
1.3943 - fi
1.3944 - last_robj=$output_objdir/$output_la-${k}.$objext
1.3945 - k=`expr $k + 1`
1.3946 - output=$output_objdir/$output_la-${k}.$objext
1.3947 - objlist=$obj
1.3948 - len=1
1.3949 - fi
1.3950 - done
1.3951 - # Handle the remaining objects by creating one last
1.3952 - # reloadable object file. All subsequent reloadable object
1.3953 - # files will link in the last one created.
1.3954 - test -z "$concat_cmds" || concat_cmds=$concat_cmds~
1.3955 - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
1.3956 -
1.3957 - if ${skipped_export-false}; then
1.3958 - $show "generating symbol list for \`$libname.la'"
1.3959 - export_symbols="$output_objdir/$libname.exp"
1.3960 - $run $rm $export_symbols
1.3961 - libobjs=$output
1.3962 - # Append the command to create the export file.
1.3963 - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
1.3964 - fi
1.3965 -
1.3966 - # Set up a command to remove the reloadable object files
1.3967 - # after they are used.
1.3968 - i=0
1.3969 - while test "$i" -lt "$k"
1.3970 - do
1.3971 - i=`expr $i + 1`
1.3972 - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
1.3973 - done
1.3974 -
1.3975 - $echo "creating a temporary reloadable object file: $output"
1.3976 -
1.3977 - # Loop through the commands generated above and execute them.
1.3978 - save_ifs="$IFS"; IFS='~'
1.3979 - for cmd in $concat_cmds; do
1.3980 - IFS="$save_ifs"
1.3981 - $show "$cmd"
1.3982 - $run eval "$cmd" || exit $?
1.3983 - done
1.3984 - IFS="$save_ifs"
1.3985 -
1.3986 - libobjs=$output
1.3987 - # Restore the value of output.
1.3988 - output=$save_output
1.3989 -
1.3990 - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
1.3991 - eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
1.3992 - fi
1.3993 - # Expand the library linking commands again to reset the
1.3994 - # value of $libobjs for piecewise linking.
1.3995 -
1.3996 - # Do each of the archive commands.
1.3997 - if test "$module" = yes && test -n "$module_cmds" ; then
1.3998 - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
1.3999 - cmds=$module_expsym_cmds
1.4000 - else
1.4001 - cmds=$module_cmds
1.4002 - fi
1.4003 - else
1.4004 - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
1.4005 - cmds=$archive_expsym_cmds
1.4006 - else
1.4007 - cmds=$archive_cmds
1.4008 - fi
1.4009 - fi
1.4010 -
1.4011 - # Append the command to remove the reloadable object files
1.4012 - # to the just-reset $cmds.
1.4013 - eval cmds=\"\$cmds~\$rm $delfiles\"
1.4014 - fi
1.4015 - save_ifs="$IFS"; IFS='~'
1.4016 - for cmd in $cmds; do
1.4017 - IFS="$save_ifs"
1.4018 - eval cmd=\"$cmd\"
1.4019 - $show "$cmd"
1.4020 - $run eval "$cmd" || {
1.4021 - lt_exit=$?
1.4022 -
1.4023 - # Restore the uninstalled library and exit
1.4024 - if test "$mode" = relink; then
1.4025 - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
1.4026 - fi
1.4027 -
1.4028 - exit $lt_exit
1.4029 - }
1.4030 - done
1.4031 - IFS="$save_ifs"
1.4032 -
1.4033 - # Restore the uninstalled library and exit
1.4034 - if test "$mode" = relink; then
1.4035 - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
1.4036 -
1.4037 - if test -n "$convenience"; then
1.4038 - if test -z "$whole_archive_flag_spec"; then
1.4039 - $show "${rm}r $gentop"
1.4040 - $run ${rm}r "$gentop"
1.4041 - fi
1.4042 - fi
1.4043 -
1.4044 - exit $EXIT_SUCCESS
1.4045 - fi
1.4046 -
1.4047 - # Create links to the real library.
1.4048 - for linkname in $linknames; do
1.4049 - if test "$realname" != "$linkname"; then
1.4050 - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
1.4051 - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
1.4052 - fi
1.4053 - done
1.4054 -
1.4055 - # If -module or -export-dynamic was specified, set the dlname.
1.4056 - if test "$module" = yes || test "$export_dynamic" = yes; then
1.4057 - # On all known operating systems, these are identical.
1.4058 - dlname="$soname"
1.4059 - fi
1.4060 - fi
1.4061 - ;;
1.4062 -
1.4063 - obj)
1.4064 - if test -n "$deplibs"; then
1.4065 - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
1.4066 - fi
1.4067 -
1.4068 - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.4069 - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
1.4070 - fi
1.4071 -
1.4072 - if test -n "$rpath"; then
1.4073 - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
1.4074 - fi
1.4075 -
1.4076 - if test -n "$xrpath"; then
1.4077 - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
1.4078 - fi
1.4079 -
1.4080 - if test -n "$vinfo"; then
1.4081 - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
1.4082 - fi
1.4083 -
1.4084 - if test -n "$release"; then
1.4085 - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
1.4086 - fi
1.4087 -
1.4088 - case $output in
1.4089 - *.lo)
1.4090 - if test -n "$objs$old_deplibs"; then
1.4091 - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
1.4092 - exit $EXIT_FAILURE
1.4093 - fi
1.4094 - libobj="$output"
1.4095 - obj=`$echo "X$output" | $Xsed -e "$lo2o"`
1.4096 - ;;
1.4097 - *)
1.4098 - libobj=
1.4099 - obj="$output"
1.4100 - ;;
1.4101 - esac
1.4102 -
1.4103 - # Delete the old objects.
1.4104 - $run $rm $obj $libobj
1.4105 -
1.4106 - # Objects from convenience libraries. This assumes
1.4107 - # single-version convenience libraries. Whenever we create
1.4108 - # different ones for PIC/non-PIC, this we'll have to duplicate
1.4109 - # the extraction.
1.4110 - reload_conv_objs=
1.4111 - gentop=
1.4112 - # reload_cmds runs $LD directly, so let us get rid of
1.4113 - # -Wl from whole_archive_flag_spec
1.4114 - wl=
1.4115 -
1.4116 - if test -n "$convenience"; then
1.4117 - if test -n "$whole_archive_flag_spec"; then
1.4118 - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
1.4119 - else
1.4120 - gentop="$output_objdir/${obj}x"
1.4121 - generated="$generated $gentop"
1.4122 -
1.4123 - func_extract_archives $gentop $convenience
1.4124 - reload_conv_objs="$reload_objs $func_extract_archives_result"
1.4125 - fi
1.4126 - fi
1.4127 -
1.4128 - # Create the old-style object.
1.4129 - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
1.4130 -
1.4131 - output="$obj"
1.4132 - cmds=$reload_cmds
1.4133 - save_ifs="$IFS"; IFS='~'
1.4134 - for cmd in $cmds; do
1.4135 - IFS="$save_ifs"
1.4136 - eval cmd=\"$cmd\"
1.4137 - $show "$cmd"
1.4138 - $run eval "$cmd" || exit $?
1.4139 - done
1.4140 - IFS="$save_ifs"
1.4141 -
1.4142 - # Exit if we aren't doing a library object file.
1.4143 - if test -z "$libobj"; then
1.4144 - if test -n "$gentop"; then
1.4145 - $show "${rm}r $gentop"
1.4146 - $run ${rm}r $gentop
1.4147 - fi
1.4148 -
1.4149 - exit $EXIT_SUCCESS
1.4150 - fi
1.4151 -
1.4152 - if test "$build_libtool_libs" != yes; then
1.4153 - if test -n "$gentop"; then
1.4154 - $show "${rm}r $gentop"
1.4155 - $run ${rm}r $gentop
1.4156 - fi
1.4157 -
1.4158 - # Create an invalid libtool object if no PIC, so that we don't
1.4159 - # accidentally link it into a program.
1.4160 - # $show "echo timestamp > $libobj"
1.4161 - # $run eval "echo timestamp > $libobj" || exit $?
1.4162 - exit $EXIT_SUCCESS
1.4163 - fi
1.4164 -
1.4165 - if test -n "$pic_flag" || test "$pic_mode" != default; then
1.4166 - # Only do commands if we really have different PIC objects.
1.4167 - reload_objs="$libobjs $reload_conv_objs"
1.4168 - output="$libobj"
1.4169 - cmds=$reload_cmds
1.4170 - save_ifs="$IFS"; IFS='~'
1.4171 - for cmd in $cmds; do
1.4172 - IFS="$save_ifs"
1.4173 - eval cmd=\"$cmd\"
1.4174 - $show "$cmd"
1.4175 - $run eval "$cmd" || exit $?
1.4176 - done
1.4177 - IFS="$save_ifs"
1.4178 - fi
1.4179 -
1.4180 - if test -n "$gentop"; then
1.4181 - $show "${rm}r $gentop"
1.4182 - $run ${rm}r $gentop
1.4183 - fi
1.4184 -
1.4185 - exit $EXIT_SUCCESS
1.4186 - ;;
1.4187 -
1.4188 - prog)
1.4189 - case $host in
1.4190 - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
1.4191 - esac
1.4192 - if test -n "$vinfo"; then
1.4193 - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
1.4194 - fi
1.4195 -
1.4196 - if test -n "$release"; then
1.4197 - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
1.4198 - fi
1.4199 -
1.4200 - if test "$preload" = yes; then
1.4201 - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
1.4202 - test "$dlopen_self_static" = unknown; then
1.4203 - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
1.4204 - fi
1.4205 - fi
1.4206 -
1.4207 - case $host in
1.4208 - *-*-rhapsody* | *-*-darwin1.[012])
1.4209 - # On Rhapsody replace the C library is the System framework
1.4210 - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
1.4211 - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
1.4212 - ;;
1.4213 - esac
1.4214 -
1.4215 - case $host in
1.4216 - *darwin*)
1.4217 - # Don't allow lazy linking, it breaks C++ global constructors
1.4218 - if test "$tagname" = CXX ; then
1.4219 - compile_command="$compile_command ${wl}-bind_at_load"
1.4220 - finalize_command="$finalize_command ${wl}-bind_at_load"
1.4221 - fi
1.4222 - ;;
1.4223 - esac
1.4224 -
1.4225 - compile_command="$compile_command $compile_deplibs"
1.4226 - finalize_command="$finalize_command $finalize_deplibs"
1.4227 -
1.4228 - if test -n "$rpath$xrpath"; then
1.4229 - # If the user specified any rpath flags, then add them.
1.4230 - for libdir in $rpath $xrpath; do
1.4231 - # This is the magic to use -rpath.
1.4232 - case "$finalize_rpath " in
1.4233 - *" $libdir "*) ;;
1.4234 - *) finalize_rpath="$finalize_rpath $libdir" ;;
1.4235 - esac
1.4236 - done
1.4237 - fi
1.4238 -
1.4239 - # Now hardcode the library paths
1.4240 - rpath=
1.4241 - hardcode_libdirs=
1.4242 - for libdir in $compile_rpath $finalize_rpath; do
1.4243 - if test -n "$hardcode_libdir_flag_spec"; then
1.4244 - if test -n "$hardcode_libdir_separator"; then
1.4245 - if test -z "$hardcode_libdirs"; then
1.4246 - hardcode_libdirs="$libdir"
1.4247 - else
1.4248 - # Just accumulate the unique libdirs.
1.4249 - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
1.4250 - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1.4251 - ;;
1.4252 - *)
1.4253 - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1.4254 - ;;
1.4255 - esac
1.4256 - fi
1.4257 - else
1.4258 - eval flag=\"$hardcode_libdir_flag_spec\"
1.4259 - rpath="$rpath $flag"
1.4260 - fi
1.4261 - elif test -n "$runpath_var"; then
1.4262 - case "$perm_rpath " in
1.4263 - *" $libdir "*) ;;
1.4264 - *) perm_rpath="$perm_rpath $libdir" ;;
1.4265 - esac
1.4266 - fi
1.4267 - case $host in
1.4268 - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1.4269 - case :$dllsearchpath: in
1.4270 - *":$libdir:"*) ;;
1.4271 - *) dllsearchpath="$dllsearchpath:$libdir";;
1.4272 - esac
1.4273 - ;;
1.4274 - esac
1.4275 - done
1.4276 - # Substitute the hardcoded libdirs into the rpath.
1.4277 - if test -n "$hardcode_libdir_separator" &&
1.4278 - test -n "$hardcode_libdirs"; then
1.4279 - libdir="$hardcode_libdirs"
1.4280 - eval rpath=\" $hardcode_libdir_flag_spec\"
1.4281 - fi
1.4282 - compile_rpath="$rpath"
1.4283 -
1.4284 - rpath=
1.4285 - hardcode_libdirs=
1.4286 - for libdir in $finalize_rpath; do
1.4287 - if test -n "$hardcode_libdir_flag_spec"; then
1.4288 - if test -n "$hardcode_libdir_separator"; then
1.4289 - if test -z "$hardcode_libdirs"; then
1.4290 - hardcode_libdirs="$libdir"
1.4291 - else
1.4292 - # Just accumulate the unique libdirs.
1.4293 - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
1.4294 - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1.4295 - ;;
1.4296 - *)
1.4297 - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1.4298 - ;;
1.4299 - esac
1.4300 - fi
1.4301 - else
1.4302 - eval flag=\"$hardcode_libdir_flag_spec\"
1.4303 - rpath="$rpath $flag"
1.4304 - fi
1.4305 - elif test -n "$runpath_var"; then
1.4306 - case "$finalize_perm_rpath " in
1.4307 - *" $libdir "*) ;;
1.4308 - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
1.4309 - esac
1.4310 - fi
1.4311 - done
1.4312 - # Substitute the hardcoded libdirs into the rpath.
1.4313 - if test -n "$hardcode_libdir_separator" &&
1.4314 - test -n "$hardcode_libdirs"; then
1.4315 - libdir="$hardcode_libdirs"
1.4316 - eval rpath=\" $hardcode_libdir_flag_spec\"
1.4317 - fi
1.4318 - finalize_rpath="$rpath"
1.4319 -
1.4320 - if test -n "$libobjs" && test "$build_old_libs" = yes; then
1.4321 - # Transform all the library objects into standard objects.
1.4322 - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.4323 - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.4324 - fi
1.4325 -
1.4326 - dlsyms=
1.4327 - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
1.4328 - if test -n "$NM" && test -n "$global_symbol_pipe"; then
1.4329 - dlsyms="${outputname}S.c"
1.4330 - else
1.4331 - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
1.4332 - fi
1.4333 - fi
1.4334 -
1.4335 - if test -n "$dlsyms"; then
1.4336 - case $dlsyms in
1.4337 - "") ;;
1.4338 - *.c)
1.4339 - # Discover the nlist of each of the dlfiles.
1.4340 - nlist="$output_objdir/${outputname}.nm"
1.4341 -
1.4342 - $show "$rm $nlist ${nlist}S ${nlist}T"
1.4343 - $run $rm "$nlist" "${nlist}S" "${nlist}T"
1.4344 -
1.4345 - # Parse the name list into a source file.
1.4346 - $show "creating $output_objdir/$dlsyms"
1.4347 -
1.4348 - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
1.4349 -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
1.4350 -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
1.4351 -
1.4352 -#ifdef __cplusplus
1.4353 -extern \"C\" {
1.4354 -#endif
1.4355 -
1.4356 -/* Prevent the only kind of declaration conflicts we can make. */
1.4357 -#define lt_preloaded_symbols some_other_symbol
1.4358 -
1.4359 -/* External symbol declarations for the compiler. */\
1.4360 -"
1.4361 -
1.4362 - if test "$dlself" = yes; then
1.4363 - $show "generating symbol list for \`$output'"
1.4364 -
1.4365 - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
1.4366 -
1.4367 - # Add our own program objects to the symbol list.
1.4368 - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
1.4369 - for arg in $progfiles; do
1.4370 - $show "extracting global C symbols from \`$arg'"
1.4371 - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
1.4372 - done
1.4373 -
1.4374 - if test -n "$exclude_expsyms"; then
1.4375 - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
1.4376 - $run eval '$mv "$nlist"T "$nlist"'
1.4377 - fi
1.4378 -
1.4379 - if test -n "$export_symbols_regex"; then
1.4380 - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
1.4381 - $run eval '$mv "$nlist"T "$nlist"'
1.4382 - fi
1.4383 -
1.4384 - # Prepare the list of exported symbols
1.4385 - if test -z "$export_symbols"; then
1.4386 - export_symbols="$output_objdir/$outputname.exp"
1.4387 - $run $rm $export_symbols
1.4388 - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
1.4389 - else
1.4390 - $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
1.4391 - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
1.4392 - $run eval 'mv "$nlist"T "$nlist"'
1.4393 - fi
1.4394 - fi
1.4395 -
1.4396 - for arg in $dlprefiles; do
1.4397 - $show "extracting global C symbols from \`$arg'"
1.4398 - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
1.4399 - $run eval '$echo ": $name " >> "$nlist"'
1.4400 - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
1.4401 - done
1.4402 -
1.4403 - if test -z "$run"; then
1.4404 - # Make sure we have at least an empty file.
1.4405 - test -f "$nlist" || : > "$nlist"
1.4406 -
1.4407 - if test -n "$exclude_expsyms"; then
1.4408 - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
1.4409 - $mv "$nlist"T "$nlist"
1.4410 - fi
1.4411 -
1.4412 - # Try sorting and uniquifying the output.
1.4413 - if grep -v "^: " < "$nlist" |
1.4414 - if sort -k 3 </dev/null >/dev/null 2>&1; then
1.4415 - sort -k 3
1.4416 - else
1.4417 - sort +2
1.4418 - fi |
1.4419 - uniq > "$nlist"S; then
1.4420 - :
1.4421 - else
1.4422 - grep -v "^: " < "$nlist" > "$nlist"S
1.4423 - fi
1.4424 -
1.4425 - if test -f "$nlist"S; then
1.4426 - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
1.4427 - else
1.4428 - $echo '/* NONE */' >> "$output_objdir/$dlsyms"
1.4429 - fi
1.4430 -
1.4431 - $echo >> "$output_objdir/$dlsyms" "\
1.4432 -
1.4433 -#undef lt_preloaded_symbols
1.4434 -
1.4435 -#if defined (__STDC__) && __STDC__
1.4436 -# define lt_ptr void *
1.4437 -#else
1.4438 -# define lt_ptr char *
1.4439 -# define const
1.4440 -#endif
1.4441 -
1.4442 -/* The mapping between symbol names and symbols. */
1.4443 -"
1.4444 -
1.4445 - case $host in
1.4446 - *cygwin* | *mingw* )
1.4447 - $echo >> "$output_objdir/$dlsyms" "\
1.4448 -/* DATA imports from DLLs on WIN32 can't be const, because
1.4449 - runtime relocations are performed -- see ld's documentation
1.4450 - on pseudo-relocs */
1.4451 -struct {
1.4452 -"
1.4453 - ;;
1.4454 - * )
1.4455 - $echo >> "$output_objdir/$dlsyms" "\
1.4456 -const struct {
1.4457 -"
1.4458 - ;;
1.4459 - esac
1.4460 -
1.4461 -
1.4462 - $echo >> "$output_objdir/$dlsyms" "\
1.4463 - const char *name;
1.4464 - lt_ptr address;
1.4465 -}
1.4466 -lt_preloaded_symbols[] =
1.4467 -{\
1.4468 -"
1.4469 -
1.4470 - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
1.4471 -
1.4472 - $echo >> "$output_objdir/$dlsyms" "\
1.4473 - {0, (lt_ptr) 0}
1.4474 -};
1.4475 -
1.4476 -/* This works around a problem in FreeBSD linker */
1.4477 -#ifdef FREEBSD_WORKAROUND
1.4478 -static const void *lt_preloaded_setup() {
1.4479 - return lt_preloaded_symbols;
1.4480 -}
1.4481 -#endif
1.4482 -
1.4483 -#ifdef __cplusplus
1.4484 -}
1.4485 -#endif\
1.4486 -"
1.4487 - fi
1.4488 -
1.4489 - pic_flag_for_symtable=
1.4490 - case $host in
1.4491 - # compiling the symbol table file with pic_flag works around
1.4492 - # a FreeBSD bug that causes programs to crash when -lm is
1.4493 - # linked before any other PIC object. But we must not use
1.4494 - # pic_flag when linking with -static. The problem exists in
1.4495 - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
1.4496 - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
1.4497 - case "$compile_command " in
1.4498 - *" -static "*) ;;
1.4499 - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
1.4500 - esac;;
1.4501 - *-*-hpux*)
1.4502 - case "$compile_command " in
1.4503 - *" -static "*) ;;
1.4504 - *) pic_flag_for_symtable=" $pic_flag";;
1.4505 - esac
1.4506 - esac
1.4507 -
1.4508 - # Now compile the dynamic symbol file.
1.4509 - $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
1.4510 - $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
1.4511 -
1.4512 - # Clean up the generated files.
1.4513 - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
1.4514 - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
1.4515 -
1.4516 - # Transform the symbol file into the correct name.
1.4517 - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
1.4518 - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
1.4519 - ;;
1.4520 - *)
1.4521 - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
1.4522 - exit $EXIT_FAILURE
1.4523 - ;;
1.4524 - esac
1.4525 - else
1.4526 - # We keep going just in case the user didn't refer to
1.4527 - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
1.4528 - # really was required.
1.4529 -
1.4530 - # Nullify the symbol file.
1.4531 - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1.4532 - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1.4533 - fi
1.4534 -
1.4535 - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
1.4536 - # Replace the output file specification.
1.4537 - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1.4538 - link_command="$compile_command$compile_rpath"
1.4539 -
1.4540 - # We have no uninstalled library dependencies, so finalize right now.
1.4541 - $show "$link_command"
1.4542 - $run eval "$link_command"
1.4543 - status=$?
1.4544 -
1.4545 - # Delete the generated files.
1.4546 - if test -n "$dlsyms"; then
1.4547 - $show "$rm $output_objdir/${outputname}S.${objext}"
1.4548 - $run $rm "$output_objdir/${outputname}S.${objext}"
1.4549 - fi
1.4550 -
1.4551 - exit $status
1.4552 - fi
1.4553 -
1.4554 - if test -n "$shlibpath_var"; then
1.4555 - # We should set the shlibpath_var
1.4556 - rpath=
1.4557 - for dir in $temp_rpath; do
1.4558 - case $dir in
1.4559 - [\\/]* | [A-Za-z]:[\\/]*)
1.4560 - # Absolute path.
1.4561 - rpath="$rpath$dir:"
1.4562 - ;;
1.4563 - *)
1.4564 - # Relative path: add a thisdir entry.
1.4565 - rpath="$rpath\$thisdir/$dir:"
1.4566 - ;;
1.4567 - esac
1.4568 - done
1.4569 - temp_rpath="$rpath"
1.4570 - fi
1.4571 -
1.4572 - if test -n "$compile_shlibpath$finalize_shlibpath"; then
1.4573 - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
1.4574 - fi
1.4575 - if test -n "$finalize_shlibpath"; then
1.4576 - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
1.4577 - fi
1.4578 -
1.4579 - compile_var=
1.4580 - finalize_var=
1.4581 - if test -n "$runpath_var"; then
1.4582 - if test -n "$perm_rpath"; then
1.4583 - # We should set the runpath_var.
1.4584 - rpath=
1.4585 - for dir in $perm_rpath; do
1.4586 - rpath="$rpath$dir:"
1.4587 - done
1.4588 - compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
1.4589 - fi
1.4590 - if test -n "$finalize_perm_rpath"; then
1.4591 - # We should set the runpath_var.
1.4592 - rpath=
1.4593 - for dir in $finalize_perm_rpath; do
1.4594 - rpath="$rpath$dir:"
1.4595 - done
1.4596 - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
1.4597 - fi
1.4598 - fi
1.4599 -
1.4600 - if test "$no_install" = yes; then
1.4601 - # We don't need to create a wrapper script.
1.4602 - link_command="$compile_var$compile_command$compile_rpath"
1.4603 - # Replace the output file specification.
1.4604 - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1.4605 - # Delete the old output file.
1.4606 - $run $rm $output
1.4607 - # Link the executable and exit
1.4608 - $show "$link_command"
1.4609 - $run eval "$link_command" || exit $?
1.4610 - exit $EXIT_SUCCESS
1.4611 - fi
1.4612 -
1.4613 - if test "$hardcode_action" = relink; then
1.4614 - # Fast installation is not supported
1.4615 - link_command="$compile_var$compile_command$compile_rpath"
1.4616 - relink_command="$finalize_var$finalize_command$finalize_rpath"
1.4617 -
1.4618 - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
1.4619 - $echo "$modename: \`$output' will be relinked during installation" 1>&2
1.4620 - else
1.4621 - if test "$fast_install" != no; then
1.4622 - link_command="$finalize_var$compile_command$finalize_rpath"
1.4623 - if test "$fast_install" = yes; then
1.4624 - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
1.4625 - else
1.4626 - # fast_install is set to needless
1.4627 - relink_command=
1.4628 - fi
1.4629 - else
1.4630 - link_command="$compile_var$compile_command$compile_rpath"
1.4631 - relink_command="$finalize_var$finalize_command$finalize_rpath"
1.4632 - fi
1.4633 - fi
1.4634 -
1.4635 - # Replace the output file specification.
1.4636 - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
1.4637 -
1.4638 - # Delete the old output files.
1.4639 - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
1.4640 -
1.4641 - $show "$link_command"
1.4642 - $run eval "$link_command" || exit $?
1.4643 -
1.4644 - # Now create the wrapper script.
1.4645 - $show "creating $output"
1.4646 -
1.4647 - # Quote the relink command for shipping.
1.4648 - if test -n "$relink_command"; then
1.4649 - # Preserve any variables that may affect compiler behavior
1.4650 - for var in $variables_saved_for_relink; do
1.4651 - if eval test -z \"\${$var+set}\"; then
1.4652 - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
1.4653 - elif eval var_value=\$$var; test -z "$var_value"; then
1.4654 - relink_command="$var=; export $var; $relink_command"
1.4655 - else
1.4656 - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
1.4657 - relink_command="$var=\"$var_value\"; export $var; $relink_command"
1.4658 - fi
1.4659 - done
1.4660 - relink_command="(cd `pwd`; $relink_command)"
1.4661 - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
1.4662 - fi
1.4663 -
1.4664 - # Quote $echo for shipping.
1.4665 - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
1.4666 - case $progpath in
1.4667 - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
1.4668 - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
1.4669 - esac
1.4670 - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
1.4671 - else
1.4672 - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
1.4673 - fi
1.4674 -
1.4675 - # Only actually do things if our run command is non-null.
1.4676 - if test -z "$run"; then
1.4677 - # win32 will think the script is a binary if it has
1.4678 - # a .exe suffix, so we strip it off here.
1.4679 - case $output in
1.4680 - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
1.4681 - esac
1.4682 - # test for cygwin because mv fails w/o .exe extensions
1.4683 - case $host in
1.4684 - *cygwin*)
1.4685 - exeext=.exe
1.4686 - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
1.4687 - *) exeext= ;;
1.4688 - esac
1.4689 - case $host in
1.4690 - *cygwin* | *mingw* )
1.4691 - cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
1.4692 - cwrapper=`$echo ${output}.exe`
1.4693 - $rm $cwrappersource $cwrapper
1.4694 - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
1.4695 -
1.4696 - cat > $cwrappersource <<EOF
1.4697 -
1.4698 -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
1.4699 - Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.4700 -
1.4701 - The $output program cannot be directly executed until all the libtool
1.4702 - libraries that it depends on are installed.
1.4703 -
1.4704 - This wrapper executable should never be moved out of the build directory.
1.4705 - If it is, it will not operate correctly.
1.4706 -
1.4707 - Currently, it simply execs the wrapper *script* "/bin/sh $output",
1.4708 - but could eventually absorb all of the scripts functionality and
1.4709 - exec $objdir/$outputname directly.
1.4710 -*/
1.4711 -EOF
1.4712 - cat >> $cwrappersource<<"EOF"
1.4713 -#include <stdio.h>
1.4714 -#include <stdlib.h>
1.4715 -#include <unistd.h>
1.4716 -#include <malloc.h>
1.4717 -#include <stdarg.h>
1.4718 -#include <assert.h>
1.4719 -
1.4720 -#if defined(PATH_MAX)
1.4721 -# define LT_PATHMAX PATH_MAX
1.4722 -#elif defined(MAXPATHLEN)
1.4723 -# define LT_PATHMAX MAXPATHLEN
1.4724 -#else
1.4725 -# define LT_PATHMAX 1024
1.4726 -#endif
1.4727 -
1.4728 -#ifndef DIR_SEPARATOR
1.4729 -#define DIR_SEPARATOR '/'
1.4730 -#endif
1.4731 -
1.4732 -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
1.4733 - defined (__OS2__)
1.4734 -#define HAVE_DOS_BASED_FILE_SYSTEM
1.4735 -#ifndef DIR_SEPARATOR_2
1.4736 -#define DIR_SEPARATOR_2 '\\'
1.4737 -#endif
1.4738 -#endif
1.4739 -
1.4740 -#ifndef DIR_SEPARATOR_2
1.4741 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
1.4742 -#else /* DIR_SEPARATOR_2 */
1.4743 -# define IS_DIR_SEPARATOR(ch) \
1.4744 - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
1.4745 -#endif /* DIR_SEPARATOR_2 */
1.4746 -
1.4747 -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
1.4748 -#define XFREE(stale) do { \
1.4749 - if (stale) { free ((void *) stale); stale = 0; } \
1.4750 -} while (0)
1.4751 -
1.4752 -const char *program_name = NULL;
1.4753 -
1.4754 -void * xmalloc (size_t num);
1.4755 -char * xstrdup (const char *string);
1.4756 -char * basename (const char *name);
1.4757 -char * fnqualify(const char *path);
1.4758 -char * strendzap(char *str, const char *pat);
1.4759 -void lt_fatal (const char *message, ...);
1.4760 -
1.4761 -int
1.4762 -main (int argc, char *argv[])
1.4763 -{
1.4764 - char **newargz;
1.4765 - int i;
1.4766 -
1.4767 - program_name = (char *) xstrdup ((char *) basename (argv[0]));
1.4768 - newargz = XMALLOC(char *, argc+2);
1.4769 -EOF
1.4770 -
1.4771 - cat >> $cwrappersource <<EOF
1.4772 - newargz[0] = "$SHELL";
1.4773 -EOF
1.4774 -
1.4775 - cat >> $cwrappersource <<"EOF"
1.4776 - newargz[1] = fnqualify(argv[0]);
1.4777 - /* we know the script has the same name, without the .exe */
1.4778 - /* so make sure newargz[1] doesn't end in .exe */
1.4779 - strendzap(newargz[1],".exe");
1.4780 - for (i = 1; i < argc; i++)
1.4781 - newargz[i+1] = xstrdup(argv[i]);
1.4782 - newargz[argc+1] = NULL;
1.4783 -EOF
1.4784 -
1.4785 - cat >> $cwrappersource <<EOF
1.4786 - execv("$SHELL",newargz);
1.4787 -EOF
1.4788 -
1.4789 - cat >> $cwrappersource <<"EOF"
1.4790 - return 127;
1.4791 -}
1.4792 -
1.4793 -void *
1.4794 -xmalloc (size_t num)
1.4795 -{
1.4796 - void * p = (void *) malloc (num);
1.4797 - if (!p)
1.4798 - lt_fatal ("Memory exhausted");
1.4799 -
1.4800 - return p;
1.4801 -}
1.4802 -
1.4803 -char *
1.4804 -xstrdup (const char *string)
1.4805 -{
1.4806 - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
1.4807 -;
1.4808 -}
1.4809 -
1.4810 -char *
1.4811 -basename (const char *name)
1.4812 -{
1.4813 - const char *base;
1.4814 -
1.4815 -#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
1.4816 - /* Skip over the disk name in MSDOS pathnames. */
1.4817 - if (isalpha (name[0]) && name[1] == ':')
1.4818 - name += 2;
1.4819 -#endif
1.4820 -
1.4821 - for (base = name; *name; name++)
1.4822 - if (IS_DIR_SEPARATOR (*name))
1.4823 - base = name + 1;
1.4824 - return (char *) base;
1.4825 -}
1.4826 -
1.4827 -char *
1.4828 -fnqualify(const char *path)
1.4829 -{
1.4830 - size_t size;
1.4831 - char *p;
1.4832 - char tmp[LT_PATHMAX + 1];
1.4833 -
1.4834 - assert(path != NULL);
1.4835 -
1.4836 - /* Is it qualified already? */
1.4837 -#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
1.4838 - if (isalpha (path[0]) && path[1] == ':')
1.4839 - return xstrdup (path);
1.4840 -#endif
1.4841 - if (IS_DIR_SEPARATOR (path[0]))
1.4842 - return xstrdup (path);
1.4843 -
1.4844 - /* prepend the current directory */
1.4845 - /* doesn't handle '~' */
1.4846 - if (getcwd (tmp, LT_PATHMAX) == NULL)
1.4847 - lt_fatal ("getcwd failed");
1.4848 - size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
1.4849 - p = XMALLOC(char, size);
1.4850 - sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
1.4851 - return p;
1.4852 -}
1.4853 -
1.4854 -char *
1.4855 -strendzap(char *str, const char *pat)
1.4856 -{
1.4857 - size_t len, patlen;
1.4858 -
1.4859 - assert(str != NULL);
1.4860 - assert(pat != NULL);
1.4861 -
1.4862 - len = strlen(str);
1.4863 - patlen = strlen(pat);
1.4864 -
1.4865 - if (patlen <= len)
1.4866 - {
1.4867 - str += len - patlen;
1.4868 - if (strcmp(str, pat) == 0)
1.4869 - *str = '\0';
1.4870 - }
1.4871 - return str;
1.4872 -}
1.4873 -
1.4874 -static void
1.4875 -lt_error_core (int exit_status, const char * mode,
1.4876 - const char * message, va_list ap)
1.4877 -{
1.4878 - fprintf (stderr, "%s: %s: ", program_name, mode);
1.4879 - vfprintf (stderr, message, ap);
1.4880 - fprintf (stderr, ".\n");
1.4881 -
1.4882 - if (exit_status >= 0)
1.4883 - exit (exit_status);
1.4884 -}
1.4885 -
1.4886 -void
1.4887 -lt_fatal (const char *message, ...)
1.4888 -{
1.4889 - va_list ap;
1.4890 - va_start (ap, message);
1.4891 - lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
1.4892 - va_end (ap);
1.4893 -}
1.4894 -EOF
1.4895 - # we should really use a build-platform specific compiler
1.4896 - # here, but OTOH, the wrappers (shell script and this C one)
1.4897 - # are only useful if you want to execute the "real" binary.
1.4898 - # Since the "real" binary is built for $host, then this
1.4899 - # wrapper might as well be built for $host, too.
1.4900 - $run $LTCC -s -o $cwrapper $cwrappersource
1.4901 - ;;
1.4902 - esac
1.4903 - $rm $output
1.4904 - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
1.4905 -
1.4906 - $echo > $output "\
1.4907 -#! $SHELL
1.4908 -
1.4909 -# $output - temporary wrapper script for $objdir/$outputname
1.4910 -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.4911 -#
1.4912 -# The $output program cannot be directly executed until all the libtool
1.4913 -# libraries that it depends on are installed.
1.4914 -#
1.4915 -# This wrapper script should never be moved out of the build directory.
1.4916 -# If it is, it will not operate correctly.
1.4917 -
1.4918 -# Sed substitution that helps us do robust quoting. It backslashifies
1.4919 -# metacharacters that are still active within double-quoted strings.
1.4920 -Xsed='${SED} -e 1s/^X//'
1.4921 -sed_quote_subst='$sed_quote_subst'
1.4922 -
1.4923 -# The HP-UX ksh and POSIX shell print the target directory to stdout
1.4924 -# if CDPATH is set.
1.4925 -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1.4926 -
1.4927 -relink_command=\"$relink_command\"
1.4928 -
1.4929 -# This environment variable determines our operation mode.
1.4930 -if test \"\$libtool_install_magic\" = \"$magic\"; then
1.4931 - # install mode needs the following variable:
1.4932 - notinst_deplibs='$notinst_deplibs'
1.4933 -else
1.4934 - # When we are sourced in execute mode, \$file and \$echo are already set.
1.4935 - if test \"\$libtool_execute_magic\" != \"$magic\"; then
1.4936 - echo=\"$qecho\"
1.4937 - file=\"\$0\"
1.4938 - # Make sure echo works.
1.4939 - if test \"X\$1\" = X--no-reexec; then
1.4940 - # Discard the --no-reexec flag, and continue.
1.4941 - shift
1.4942 - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
1.4943 - # Yippee, \$echo works!
1.4944 - :
1.4945 - else
1.4946 - # Restart under the correct shell, and then maybe \$echo will work.
1.4947 - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
1.4948 - fi
1.4949 - fi\
1.4950 -"
1.4951 - $echo >> $output "\
1.4952 -
1.4953 - # Find the directory that this script lives in.
1.4954 - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
1.4955 - test \"x\$thisdir\" = \"x\$file\" && thisdir=.
1.4956 -
1.4957 - # Follow symbolic links until we get to the real thisdir.
1.4958 - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
1.4959 - while test -n \"\$file\"; do
1.4960 - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
1.4961 -
1.4962 - # If there was a directory component, then change thisdir.
1.4963 - if test \"x\$destdir\" != \"x\$file\"; then
1.4964 - case \"\$destdir\" in
1.4965 - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
1.4966 - *) thisdir=\"\$thisdir/\$destdir\" ;;
1.4967 - esac
1.4968 - fi
1.4969 -
1.4970 - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
1.4971 - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
1.4972 - done
1.4973 -
1.4974 - # Try to get the absolute directory name.
1.4975 - absdir=\`cd \"\$thisdir\" && pwd\`
1.4976 - test -n \"\$absdir\" && thisdir=\"\$absdir\"
1.4977 -"
1.4978 -
1.4979 - if test "$fast_install" = yes; then
1.4980 - $echo >> $output "\
1.4981 - program=lt-'$outputname'$exeext
1.4982 - progdir=\"\$thisdir/$objdir\"
1.4983 -
1.4984 - if test ! -f \"\$progdir/\$program\" || \\
1.4985 - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
1.4986 - test \"X\$file\" != \"X\$progdir/\$program\"; }; then
1.4987 -
1.4988 - file=\"\$\$-\$program\"
1.4989 -
1.4990 - if test ! -d \"\$progdir\"; then
1.4991 - $mkdir \"\$progdir\"
1.4992 - else
1.4993 - $rm \"\$progdir/\$file\"
1.4994 - fi"
1.4995 -
1.4996 - $echo >> $output "\
1.4997 -
1.4998 - # relink executable if necessary
1.4999 - if test -n \"\$relink_command\"; then
1.5000 - if relink_command_output=\`eval \$relink_command 2>&1\`; then :
1.5001 - else
1.5002 - $echo \"\$relink_command_output\" >&2
1.5003 - $rm \"\$progdir/\$file\"
1.5004 - exit $EXIT_FAILURE
1.5005 - fi
1.5006 - fi
1.5007 -
1.5008 - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
1.5009 - { $rm \"\$progdir/\$program\";
1.5010 - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
1.5011 - $rm \"\$progdir/\$file\"
1.5012 - fi"
1.5013 - else
1.5014 - $echo >> $output "\
1.5015 - program='$outputname'
1.5016 - progdir=\"\$thisdir/$objdir\"
1.5017 -"
1.5018 - fi
1.5019 -
1.5020 - $echo >> $output "\
1.5021 -
1.5022 - if test -f \"\$progdir/\$program\"; then"
1.5023 -
1.5024 - # Export our shlibpath_var if we have one.
1.5025 - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
1.5026 - $echo >> $output "\
1.5027 - # Add our own library path to $shlibpath_var
1.5028 - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
1.5029 -
1.5030 - # Some systems cannot cope with colon-terminated $shlibpath_var
1.5031 - # The second colon is a workaround for a bug in BeOS R4 sed
1.5032 - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
1.5033 -
1.5034 - export $shlibpath_var
1.5035 -"
1.5036 - fi
1.5037 -
1.5038 - # fixup the dll searchpath if we need to.
1.5039 - if test -n "$dllsearchpath"; then
1.5040 - $echo >> $output "\
1.5041 - # Add the dll search path components to the executable PATH
1.5042 - PATH=$dllsearchpath:\$PATH
1.5043 -"
1.5044 - fi
1.5045 -
1.5046 - $echo >> $output "\
1.5047 - if test \"\$libtool_execute_magic\" != \"$magic\"; then
1.5048 - # Run the actual program with our arguments.
1.5049 -"
1.5050 - case $host in
1.5051 - # Backslashes separate directories on plain windows
1.5052 - *-*-mingw | *-*-os2*)
1.5053 - $echo >> $output "\
1.5054 - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
1.5055 -"
1.5056 - ;;
1.5057 -
1.5058 - *)
1.5059 - $echo >> $output "\
1.5060 - exec \"\$progdir/\$program\" \${1+\"\$@\"}
1.5061 -"
1.5062 - ;;
1.5063 - esac
1.5064 - $echo >> $output "\
1.5065 - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
1.5066 - exit $EXIT_FAILURE
1.5067 - fi
1.5068 - else
1.5069 - # The program doesn't exist.
1.5070 - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
1.5071 - \$echo \"This script is just a wrapper for \$program.\" 1>&2
1.5072 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2
1.5073 - exit $EXIT_FAILURE
1.5074 - fi
1.5075 -fi\
1.5076 -"
1.5077 - chmod +x $output
1.5078 - fi
1.5079 - exit $EXIT_SUCCESS
1.5080 - ;;
1.5081 - esac
1.5082 -
1.5083 - # See if we need to build an old-fashioned archive.
1.5084 - for oldlib in $oldlibs; do
1.5085 -
1.5086 - if test "$build_libtool_libs" = convenience; then
1.5087 - oldobjs="$libobjs_save"
1.5088 - addlibs="$convenience"
1.5089 - build_libtool_libs=no
1.5090 - else
1.5091 - if test "$build_libtool_libs" = module; then
1.5092 - oldobjs="$libobjs_save"
1.5093 - build_libtool_libs=no
1.5094 - else
1.5095 - oldobjs="$old_deplibs $non_pic_objects"
1.5096 - fi
1.5097 - addlibs="$old_convenience"
1.5098 - fi
1.5099 -
1.5100 - if test -n "$addlibs"; then
1.5101 - gentop="$output_objdir/${outputname}x"
1.5102 - generated="$generated $gentop"
1.5103 -
1.5104 - func_extract_archives $gentop $addlibs
1.5105 - oldobjs="$oldobjs $func_extract_archives_result"
1.5106 - fi
1.5107 -
1.5108 - # Do each command in the archive commands.
1.5109 - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
1.5110 - cmds=$old_archive_from_new_cmds
1.5111 - else
1.5112 - # POSIX demands no paths to be encoded in archives. We have
1.5113 - # to avoid creating archives with duplicate basenames if we
1.5114 - # might have to extract them afterwards, e.g., when creating a
1.5115 - # static archive out of a convenience library, or when linking
1.5116 - # the entirety of a libtool archive into another (currently
1.5117 - # not supported by libtool).
1.5118 - if (for obj in $oldobjs
1.5119 - do
1.5120 - $echo "X$obj" | $Xsed -e 's%^.*/%%'
1.5121 - done | sort | sort -uc >/dev/null 2>&1); then
1.5122 - :
1.5123 - else
1.5124 - $echo "copying selected object files to avoid basename conflicts..."
1.5125 -
1.5126 - if test -z "$gentop"; then
1.5127 - gentop="$output_objdir/${outputname}x"
1.5128 - generated="$generated $gentop"
1.5129 -
1.5130 - $show "${rm}r $gentop"
1.5131 - $run ${rm}r "$gentop"
1.5132 - $show "$mkdir $gentop"
1.5133 - $run $mkdir "$gentop"
1.5134 - status=$?
1.5135 - if test "$status" -ne 0 && test ! -d "$gentop"; then
1.5136 - exit $status
1.5137 - fi
1.5138 - fi
1.5139 -
1.5140 - save_oldobjs=$oldobjs
1.5141 - oldobjs=
1.5142 - counter=1
1.5143 - for obj in $save_oldobjs
1.5144 - do
1.5145 - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
1.5146 - case " $oldobjs " in
1.5147 - " ") oldobjs=$obj ;;
1.5148 - *[\ /]"$objbase "*)
1.5149 - while :; do
1.5150 - # Make sure we don't pick an alternate name that also
1.5151 - # overlaps.
1.5152 - newobj=lt$counter-$objbase
1.5153 - counter=`expr $counter + 1`
1.5154 - case " $oldobjs " in
1.5155 - *[\ /]"$newobj "*) ;;
1.5156 - *) if test ! -f "$gentop/$newobj"; then break; fi ;;
1.5157 - esac
1.5158 - done
1.5159 - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
1.5160 - $run ln "$obj" "$gentop/$newobj" ||
1.5161 - $run cp "$obj" "$gentop/$newobj"
1.5162 - oldobjs="$oldobjs $gentop/$newobj"
1.5163 - ;;
1.5164 - *) oldobjs="$oldobjs $obj" ;;
1.5165 - esac
1.5166 - done
1.5167 - fi
1.5168 -
1.5169 - eval cmds=\"$old_archive_cmds\"
1.5170 -
1.5171 - if len=`expr "X$cmds" : ".*"` &&
1.5172 - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
1.5173 - cmds=$old_archive_cmds
1.5174 - else
1.5175 - # the command line is too long to link in one step, link in parts
1.5176 - $echo "using piecewise archive linking..."
1.5177 - save_RANLIB=$RANLIB
1.5178 - RANLIB=:
1.5179 - objlist=
1.5180 - concat_cmds=
1.5181 - save_oldobjs=$oldobjs
1.5182 -
1.5183 - # Is there a better way of finding the last object in the list?
1.5184 - for obj in $save_oldobjs
1.5185 - do
1.5186 - last_oldobj=$obj
1.5187 - done
1.5188 - for obj in $save_oldobjs
1.5189 - do
1.5190 - oldobjs="$objlist $obj"
1.5191 - objlist="$objlist $obj"
1.5192 - eval test_cmds=\"$old_archive_cmds\"
1.5193 - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
1.5194 - test "$len" -le "$max_cmd_len"; then
1.5195 - :
1.5196 - else
1.5197 - # the above command should be used before it gets too long
1.5198 - oldobjs=$objlist
1.5199 - if test "$obj" = "$last_oldobj" ; then
1.5200 - RANLIB=$save_RANLIB
1.5201 - fi
1.5202 - test -z "$concat_cmds" || concat_cmds=$concat_cmds~
1.5203 - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
1.5204 - objlist=
1.5205 - fi
1.5206 - done
1.5207 - RANLIB=$save_RANLIB
1.5208 - oldobjs=$objlist
1.5209 - if test "X$oldobjs" = "X" ; then
1.5210 - eval cmds=\"\$concat_cmds\"
1.5211 - else
1.5212 - eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
1.5213 - fi
1.5214 - fi
1.5215 - fi
1.5216 - save_ifs="$IFS"; IFS='~'
1.5217 - for cmd in $cmds; do
1.5218 - eval cmd=\"$cmd\"
1.5219 - IFS="$save_ifs"
1.5220 - $show "$cmd"
1.5221 - $run eval "$cmd" || exit $?
1.5222 - done
1.5223 - IFS="$save_ifs"
1.5224 - done
1.5225 -
1.5226 - if test -n "$generated"; then
1.5227 - $show "${rm}r$generated"
1.5228 - $run ${rm}r$generated
1.5229 - fi
1.5230 -
1.5231 - # Now create the libtool archive.
1.5232 - case $output in
1.5233 - *.la)
1.5234 - old_library=
1.5235 - test "$build_old_libs" = yes && old_library="$libname.$libext"
1.5236 - $show "creating $output"
1.5237 -
1.5238 - # Preserve any variables that may affect compiler behavior
1.5239 - for var in $variables_saved_for_relink; do
1.5240 - if eval test -z \"\${$var+set}\"; then
1.5241 - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
1.5242 - elif eval var_value=\$$var; test -z "$var_value"; then
1.5243 - relink_command="$var=; export $var; $relink_command"
1.5244 - else
1.5245 - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
1.5246 - relink_command="$var=\"$var_value\"; export $var; $relink_command"
1.5247 - fi
1.5248 - done
1.5249 - # Quote the link command for shipping.
1.5250 - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
1.5251 - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
1.5252 - if test "$hardcode_automatic" = yes ; then
1.5253 - relink_command=
1.5254 - fi
1.5255 -
1.5256 -
1.5257 - # Only create the output if not a dry run.
1.5258 - if test -z "$run"; then
1.5259 - for installed in no yes; do
1.5260 - if test "$installed" = yes; then
1.5261 - if test -z "$install_libdir"; then
1.5262 - break
1.5263 - fi
1.5264 - output="$output_objdir/$outputname"i
1.5265 - # Replace all uninstalled libtool libraries with the installed ones
1.5266 - newdependency_libs=
1.5267 - for deplib in $dependency_libs; do
1.5268 - case $deplib in
1.5269 - *.la)
1.5270 - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
1.5271 - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
1.5272 - if test -z "$libdir"; then
1.5273 - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
1.5274 - exit $EXIT_FAILURE
1.5275 - fi
1.5276 - newdependency_libs="$newdependency_libs $libdir/$name"
1.5277 - ;;
1.5278 - *) newdependency_libs="$newdependency_libs $deplib" ;;
1.5279 - esac
1.5280 - done
1.5281 - dependency_libs="$newdependency_libs"
1.5282 - newdlfiles=
1.5283 - for lib in $dlfiles; do
1.5284 - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1.5285 - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
1.5286 - if test -z "$libdir"; then
1.5287 - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.5288 - exit $EXIT_FAILURE
1.5289 - fi
1.5290 - newdlfiles="$newdlfiles $libdir/$name"
1.5291 - done
1.5292 - dlfiles="$newdlfiles"
1.5293 - newdlprefiles=
1.5294 - for lib in $dlprefiles; do
1.5295 - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1.5296 - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
1.5297 - if test -z "$libdir"; then
1.5298 - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.5299 - exit $EXIT_FAILURE
1.5300 - fi
1.5301 - newdlprefiles="$newdlprefiles $libdir/$name"
1.5302 - done
1.5303 - dlprefiles="$newdlprefiles"
1.5304 - else
1.5305 - newdlfiles=
1.5306 - for lib in $dlfiles; do
1.5307 - case $lib in
1.5308 - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
1.5309 - *) abs=`pwd`"/$lib" ;;
1.5310 - esac
1.5311 - newdlfiles="$newdlfiles $abs"
1.5312 - done
1.5313 - dlfiles="$newdlfiles"
1.5314 - newdlprefiles=
1.5315 - for lib in $dlprefiles; do
1.5316 - case $lib in
1.5317 - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
1.5318 - *) abs=`pwd`"/$lib" ;;
1.5319 - esac
1.5320 - newdlprefiles="$newdlprefiles $abs"
1.5321 - done
1.5322 - dlprefiles="$newdlprefiles"
1.5323 - fi
1.5324 - $rm $output
1.5325 - # place dlname in correct position for cygwin
1.5326 - tdlname=$dlname
1.5327 - case $host,$output,$installed,$module,$dlname in
1.5328 - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
1.5329 - esac
1.5330 - $echo > $output "\
1.5331 -# $outputname - a libtool library file
1.5332 -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1.5333 -#
1.5334 -# Please DO NOT delete this file!
1.5335 -# It is necessary for linking the library.
1.5336 -
1.5337 -# The name that we can dlopen(3).
1.5338 -dlname='$tdlname'
1.5339 -
1.5340 -# Names of this library.
1.5341 -library_names='$library_names'
1.5342 -
1.5343 -# The name of the static archive.
1.5344 -old_library='$old_library'
1.5345 -
1.5346 -# Libraries that this one depends upon.
1.5347 -dependency_libs='$dependency_libs'
1.5348 -
1.5349 -# Version information for $libname.
1.5350 -current=$current
1.5351 -age=$age
1.5352 -revision=$revision
1.5353 -
1.5354 -# Is this an already installed library?
1.5355 -installed=$installed
1.5356 -
1.5357 -# Should we warn about portability when linking against -modules?
1.5358 -shouldnotlink=$module
1.5359 -
1.5360 -# Files to dlopen/dlpreopen
1.5361 -dlopen='$dlfiles'
1.5362 -dlpreopen='$dlprefiles'
1.5363 -
1.5364 -# Directory that this library needs to be installed in:
1.5365 -libdir='$install_libdir'"
1.5366 - if test "$installed" = no && test "$need_relink" = yes; then
1.5367 - $echo >> $output "\
1.5368 -relink_command=\"$relink_command\""
1.5369 - fi
1.5370 - done
1.5371 - fi
1.5372 -
1.5373 - # Do a symbolic link so that the libtool archive can be found in
1.5374 - # LD_LIBRARY_PATH before the program is installed.
1.5375 - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
1.5376 - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
1.5377 - ;;
1.5378 - esac
1.5379 - exit $EXIT_SUCCESS
1.5380 - ;;
1.5381 -
1.5382 - # libtool install mode
1.5383 - install)
1.5384 - modename="$modename: install"
1.5385 -
1.5386 - # There may be an optional sh(1) argument at the beginning of
1.5387 - # install_prog (especially on Windows NT).
1.5388 - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1.5389 - # Allow the use of GNU shtool's install command.
1.5390 - $echo "X$nonopt" | grep shtool > /dev/null; then
1.5391 - # Aesthetically quote it.
1.5392 - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
1.5393 - case $arg in
1.5394 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.5395 - arg="\"$arg\""
1.5396 - ;;
1.5397 - esac
1.5398 - install_prog="$arg "
1.5399 - arg="$1"
1.5400 - shift
1.5401 - else
1.5402 - install_prog=
1.5403 - arg=$nonopt
1.5404 - fi
1.5405 -
1.5406 - # The real first argument should be the name of the installation program.
1.5407 - # Aesthetically quote it.
1.5408 - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.5409 - case $arg in
1.5410 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.5411 - arg="\"$arg\""
1.5412 - ;;
1.5413 - esac
1.5414 - install_prog="$install_prog$arg"
1.5415 -
1.5416 - # We need to accept at least all the BSD install flags.
1.5417 - dest=
1.5418 - files=
1.5419 - opts=
1.5420 - prev=
1.5421 - install_type=
1.5422 - isdir=no
1.5423 - stripme=
1.5424 - for arg
1.5425 - do
1.5426 - if test -n "$dest"; then
1.5427 - files="$files $dest"
1.5428 - dest=$arg
1.5429 - continue
1.5430 - fi
1.5431 -
1.5432 - case $arg in
1.5433 - -d) isdir=yes ;;
1.5434 - -f)
1.5435 - case " $install_prog " in
1.5436 - *[\\\ /]cp\ *) ;;
1.5437 - *) prev=$arg ;;
1.5438 - esac
1.5439 - ;;
1.5440 - -g | -m | -o) prev=$arg ;;
1.5441 - -s)
1.5442 - stripme=" -s"
1.5443 - continue
1.5444 - ;;
1.5445 - -*)
1.5446 - ;;
1.5447 - *)
1.5448 - # If the previous option needed an argument, then skip it.
1.5449 - if test -n "$prev"; then
1.5450 - prev=
1.5451 - else
1.5452 - dest=$arg
1.5453 - continue
1.5454 - fi
1.5455 - ;;
1.5456 - esac
1.5457 -
1.5458 - # Aesthetically quote the argument.
1.5459 - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1.5460 - case $arg in
1.5461 - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1.5462 - arg="\"$arg\""
1.5463 - ;;
1.5464 - esac
1.5465 - install_prog="$install_prog $arg"
1.5466 - done
1.5467 -
1.5468 - if test -z "$install_prog"; then
1.5469 - $echo "$modename: you must specify an install program" 1>&2
1.5470 - $echo "$help" 1>&2
1.5471 - exit $EXIT_FAILURE
1.5472 - fi
1.5473 -
1.5474 - if test -n "$prev"; then
1.5475 - $echo "$modename: the \`$prev' option requires an argument" 1>&2
1.5476 - $echo "$help" 1>&2
1.5477 - exit $EXIT_FAILURE
1.5478 - fi
1.5479 -
1.5480 - if test -z "$files"; then
1.5481 - if test -z "$dest"; then
1.5482 - $echo "$modename: no file or destination specified" 1>&2
1.5483 - else
1.5484 - $echo "$modename: you must specify a destination" 1>&2
1.5485 - fi
1.5486 - $echo "$help" 1>&2
1.5487 - exit $EXIT_FAILURE
1.5488 - fi
1.5489 -
1.5490 - # Strip any trailing slash from the destination.
1.5491 - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
1.5492 -
1.5493 - # Check to see that the destination is a directory.
1.5494 - test -d "$dest" && isdir=yes
1.5495 - if test "$isdir" = yes; then
1.5496 - destdir="$dest"
1.5497 - destname=
1.5498 - else
1.5499 - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
1.5500 - test "X$destdir" = "X$dest" && destdir=.
1.5501 - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
1.5502 -
1.5503 - # Not a directory, so check to see that there is only one file specified.
1.5504 - set dummy $files
1.5505 - if test "$#" -gt 2; then
1.5506 - $echo "$modename: \`$dest' is not a directory" 1>&2
1.5507 - $echo "$help" 1>&2
1.5508 - exit $EXIT_FAILURE
1.5509 - fi
1.5510 - fi
1.5511 - case $destdir in
1.5512 - [\\/]* | [A-Za-z]:[\\/]*) ;;
1.5513 - *)
1.5514 - for file in $files; do
1.5515 - case $file in
1.5516 - *.lo) ;;
1.5517 - *)
1.5518 - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
1.5519 - $echo "$help" 1>&2
1.5520 - exit $EXIT_FAILURE
1.5521 - ;;
1.5522 - esac
1.5523 - done
1.5524 - ;;
1.5525 - esac
1.5526 -
1.5527 - # This variable tells wrapper scripts just to set variables rather
1.5528 - # than running their programs.
1.5529 - libtool_install_magic="$magic"
1.5530 -
1.5531 - staticlibs=
1.5532 - future_libdirs=
1.5533 - current_libdirs=
1.5534 - for file in $files; do
1.5535 -
1.5536 - # Do each installation.
1.5537 - case $file in
1.5538 - *.$libext)
1.5539 - # Do the static libraries later.
1.5540 - staticlibs="$staticlibs $file"
1.5541 - ;;
1.5542 -
1.5543 - *.la)
1.5544 - # Check to see that this really is a libtool archive.
1.5545 - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.5546 - else
1.5547 - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
1.5548 - $echo "$help" 1>&2
1.5549 - exit $EXIT_FAILURE
1.5550 - fi
1.5551 -
1.5552 - library_names=
1.5553 - old_library=
1.5554 - relink_command=
1.5555 - # If there is no directory component, then add one.
1.5556 - case $file in
1.5557 - */* | *\\*) . $file ;;
1.5558 - *) . ./$file ;;
1.5559 - esac
1.5560 -
1.5561 - # Add the libdir to current_libdirs if it is the destination.
1.5562 - if test "X$destdir" = "X$libdir"; then
1.5563 - case "$current_libdirs " in
1.5564 - *" $libdir "*) ;;
1.5565 - *) current_libdirs="$current_libdirs $libdir" ;;
1.5566 - esac
1.5567 - else
1.5568 - # Note the libdir as a future libdir.
1.5569 - case "$future_libdirs " in
1.5570 - *" $libdir "*) ;;
1.5571 - *) future_libdirs="$future_libdirs $libdir" ;;
1.5572 - esac
1.5573 - fi
1.5574 -
1.5575 - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
1.5576 - test "X$dir" = "X$file/" && dir=
1.5577 - dir="$dir$objdir"
1.5578 -
1.5579 - if test -n "$relink_command"; then
1.5580 - # Determine the prefix the user has applied to our future dir.
1.5581 - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
1.5582 -
1.5583 - # Don't allow the user to place us outside of our expected
1.5584 - # location b/c this prevents finding dependent libraries that
1.5585 - # are installed to the same prefix.
1.5586 - # At present, this check doesn't affect windows .dll's that
1.5587 - # are installed into $libdir/../bin (currently, that works fine)
1.5588 - # but it's something to keep an eye on.
1.5589 - if test "$inst_prefix_dir" = "$destdir"; then
1.5590 - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
1.5591 - exit $EXIT_FAILURE
1.5592 - fi
1.5593 -
1.5594 - if test -n "$inst_prefix_dir"; then
1.5595 - # Stick the inst_prefix_dir data into the link command.
1.5596 - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
1.5597 - else
1.5598 - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
1.5599 - fi
1.5600 -
1.5601 - $echo "$modename: warning: relinking \`$file'" 1>&2
1.5602 - $show "$relink_command"
1.5603 - if $run eval "$relink_command"; then :
1.5604 - else
1.5605 - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1.5606 - exit $EXIT_FAILURE
1.5607 - fi
1.5608 - fi
1.5609 -
1.5610 - # See the names of the shared library.
1.5611 - set dummy $library_names
1.5612 - if test -n "$2"; then
1.5613 - realname="$2"
1.5614 - shift
1.5615 - shift
1.5616 -
1.5617 - srcname="$realname"
1.5618 - test -n "$relink_command" && srcname="$realname"T
1.5619 -
1.5620 - # Install the shared library and build the symlinks.
1.5621 - $show "$install_prog $dir/$srcname $destdir/$realname"
1.5622 - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
1.5623 - if test -n "$stripme" && test -n "$striplib"; then
1.5624 - $show "$striplib $destdir/$realname"
1.5625 - $run eval "$striplib $destdir/$realname" || exit $?
1.5626 - fi
1.5627 -
1.5628 - if test "$#" -gt 0; then
1.5629 - # Delete the old symlinks, and create new ones.
1.5630 - # Try `ln -sf' first, because the `ln' binary might depend on
1.5631 - # the symlink we replace! Solaris /bin/ln does not understand -f,
1.5632 - # so we also need to try rm && ln -s.
1.5633 - for linkname
1.5634 - do
1.5635 - if test "$linkname" != "$realname"; then
1.5636 - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
1.5637 - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
1.5638 - fi
1.5639 - done
1.5640 - fi
1.5641 -
1.5642 - # Do each command in the postinstall commands.
1.5643 - lib="$destdir/$realname"
1.5644 - cmds=$postinstall_cmds
1.5645 - save_ifs="$IFS"; IFS='~'
1.5646 - for cmd in $cmds; do
1.5647 - IFS="$save_ifs"
1.5648 - eval cmd=\"$cmd\"
1.5649 - $show "$cmd"
1.5650 - $run eval "$cmd" || {
1.5651 - lt_exit=$?
1.5652 -
1.5653 - # Restore the uninstalled library and exit
1.5654 - if test "$mode" = relink; then
1.5655 - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
1.5656 - fi
1.5657 -
1.5658 - exit $lt_exit
1.5659 - }
1.5660 - done
1.5661 - IFS="$save_ifs"
1.5662 - fi
1.5663 -
1.5664 - # Install the pseudo-library for information purposes.
1.5665 - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.5666 - instname="$dir/$name"i
1.5667 - $show "$install_prog $instname $destdir/$name"
1.5668 - $run eval "$install_prog $instname $destdir/$name" || exit $?
1.5669 -
1.5670 - # Maybe install the static library, too.
1.5671 - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
1.5672 - ;;
1.5673 -
1.5674 - *.lo)
1.5675 - # Install (i.e. copy) a libtool object.
1.5676 -
1.5677 - # Figure out destination file name, if it wasn't already specified.
1.5678 - if test -n "$destname"; then
1.5679 - destfile="$destdir/$destname"
1.5680 - else
1.5681 - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.5682 - destfile="$destdir/$destfile"
1.5683 - fi
1.5684 -
1.5685 - # Deduce the name of the destination old-style object file.
1.5686 - case $destfile in
1.5687 - *.lo)
1.5688 - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
1.5689 - ;;
1.5690 - *.$objext)
1.5691 - staticdest="$destfile"
1.5692 - destfile=
1.5693 - ;;
1.5694 - *)
1.5695 - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
1.5696 - $echo "$help" 1>&2
1.5697 - exit $EXIT_FAILURE
1.5698 - ;;
1.5699 - esac
1.5700 -
1.5701 - # Install the libtool object if requested.
1.5702 - if test -n "$destfile"; then
1.5703 - $show "$install_prog $file $destfile"
1.5704 - $run eval "$install_prog $file $destfile" || exit $?
1.5705 - fi
1.5706 -
1.5707 - # Install the old object if enabled.
1.5708 - if test "$build_old_libs" = yes; then
1.5709 - # Deduce the name of the old-style object file.
1.5710 - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
1.5711 -
1.5712 - $show "$install_prog $staticobj $staticdest"
1.5713 - $run eval "$install_prog \$staticobj \$staticdest" || exit $?
1.5714 - fi
1.5715 - exit $EXIT_SUCCESS
1.5716 - ;;
1.5717 -
1.5718 - *)
1.5719 - # Figure out destination file name, if it wasn't already specified.
1.5720 - if test -n "$destname"; then
1.5721 - destfile="$destdir/$destname"
1.5722 - else
1.5723 - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.5724 - destfile="$destdir/$destfile"
1.5725 - fi
1.5726 -
1.5727 - # If the file is missing, and there is a .exe on the end, strip it
1.5728 - # because it is most likely a libtool script we actually want to
1.5729 - # install
1.5730 - stripped_ext=""
1.5731 - case $file in
1.5732 - *.exe)
1.5733 - if test ! -f "$file"; then
1.5734 - file=`$echo $file|${SED} 's,.exe$,,'`
1.5735 - stripped_ext=".exe"
1.5736 - fi
1.5737 - ;;
1.5738 - esac
1.5739 -
1.5740 - # Do a test to see if this is really a libtool program.
1.5741 - case $host in
1.5742 - *cygwin*|*mingw*)
1.5743 - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
1.5744 - ;;
1.5745 - *)
1.5746 - wrapper=$file
1.5747 - ;;
1.5748 - esac
1.5749 - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
1.5750 - notinst_deplibs=
1.5751 - relink_command=
1.5752 -
1.5753 - # Note that it is not necessary on cygwin/mingw to append a dot to
1.5754 - # foo even if both foo and FILE.exe exist: automatic-append-.exe
1.5755 - # behavior happens only for exec(3), not for open(2)! Also, sourcing
1.5756 - # `FILE.' does not work on cygwin managed mounts.
1.5757 - #
1.5758 - # If there is no directory component, then add one.
1.5759 - case $wrapper in
1.5760 - */* | *\\*) . ${wrapper} ;;
1.5761 - *) . ./${wrapper} ;;
1.5762 - esac
1.5763 -
1.5764 - # Check the variables that should have been set.
1.5765 - if test -z "$notinst_deplibs"; then
1.5766 - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
1.5767 - exit $EXIT_FAILURE
1.5768 - fi
1.5769 -
1.5770 - finalize=yes
1.5771 - for lib in $notinst_deplibs; do
1.5772 - # Check to see that each library is installed.
1.5773 - libdir=
1.5774 - if test -f "$lib"; then
1.5775 - # If there is no directory component, then add one.
1.5776 - case $lib in
1.5777 - */* | *\\*) . $lib ;;
1.5778 - *) . ./$lib ;;
1.5779 - esac
1.5780 - fi
1.5781 - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
1.5782 - if test -n "$libdir" && test ! -f "$libfile"; then
1.5783 - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
1.5784 - finalize=no
1.5785 - fi
1.5786 - done
1.5787 -
1.5788 - relink_command=
1.5789 - # Note that it is not necessary on cygwin/mingw to append a dot to
1.5790 - # foo even if both foo and FILE.exe exist: automatic-append-.exe
1.5791 - # behavior happens only for exec(3), not for open(2)! Also, sourcing
1.5792 - # `FILE.' does not work on cygwin managed mounts.
1.5793 - #
1.5794 - # If there is no directory component, then add one.
1.5795 - case $wrapper in
1.5796 - */* | *\\*) . ${wrapper} ;;
1.5797 - *) . ./${wrapper} ;;
1.5798 - esac
1.5799 -
1.5800 - outputname=
1.5801 - if test "$fast_install" = no && test -n "$relink_command"; then
1.5802 - if test "$finalize" = yes && test -z "$run"; then
1.5803 - tmpdir="/tmp"
1.5804 - test -n "$TMPDIR" && tmpdir="$TMPDIR"
1.5805 - tmpdir="$tmpdir/libtool-$$"
1.5806 - save_umask=`umask`
1.5807 - umask 0077
1.5808 - if $mkdir "$tmpdir"; then
1.5809 - umask $save_umask
1.5810 - else
1.5811 - umask $save_umask
1.5812 - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
1.5813 - continue
1.5814 - fi
1.5815 - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
1.5816 - outputname="$tmpdir/$file"
1.5817 - # Replace the output file specification.
1.5818 - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
1.5819 -
1.5820 - $show "$relink_command"
1.5821 - if $run eval "$relink_command"; then :
1.5822 - else
1.5823 - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1.5824 - ${rm}r "$tmpdir"
1.5825 - continue
1.5826 - fi
1.5827 - file="$outputname"
1.5828 - else
1.5829 - $echo "$modename: warning: cannot relink \`$file'" 1>&2
1.5830 - fi
1.5831 - else
1.5832 - # Install the binary that we compiled earlier.
1.5833 - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
1.5834 - fi
1.5835 - fi
1.5836 -
1.5837 - # remove .exe since cygwin /usr/bin/install will append another
1.5838 - # one anyway
1.5839 - case $install_prog,$host in
1.5840 - */usr/bin/install*,*cygwin*)
1.5841 - case $file:$destfile in
1.5842 - *.exe:*.exe)
1.5843 - # this is ok
1.5844 - ;;
1.5845 - *.exe:*)
1.5846 - destfile=$destfile.exe
1.5847 - ;;
1.5848 - *:*.exe)
1.5849 - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
1.5850 - ;;
1.5851 - esac
1.5852 - ;;
1.5853 - esac
1.5854 - $show "$install_prog$stripme $file $destfile"
1.5855 - $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
1.5856 - test -n "$outputname" && ${rm}r "$tmpdir"
1.5857 - ;;
1.5858 - esac
1.5859 - done
1.5860 -
1.5861 - for file in $staticlibs; do
1.5862 - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.5863 -
1.5864 - # Set up the ranlib parameters.
1.5865 - oldlib="$destdir/$name"
1.5866 -
1.5867 - $show "$install_prog $file $oldlib"
1.5868 - $run eval "$install_prog \$file \$oldlib" || exit $?
1.5869 -
1.5870 - if test -n "$stripme" && test -n "$old_striplib"; then
1.5871 - $show "$old_striplib $oldlib"
1.5872 - $run eval "$old_striplib $oldlib" || exit $?
1.5873 - fi
1.5874 -
1.5875 - # Do each command in the postinstall commands.
1.5876 - cmds=$old_postinstall_cmds
1.5877 - save_ifs="$IFS"; IFS='~'
1.5878 - for cmd in $cmds; do
1.5879 - IFS="$save_ifs"
1.5880 - eval cmd=\"$cmd\"
1.5881 - $show "$cmd"
1.5882 - $run eval "$cmd" || exit $?
1.5883 - done
1.5884 - IFS="$save_ifs"
1.5885 - done
1.5886 -
1.5887 - if test -n "$future_libdirs"; then
1.5888 - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
1.5889 - fi
1.5890 -
1.5891 - if test -n "$current_libdirs"; then
1.5892 - # Maybe just do a dry run.
1.5893 - test -n "$run" && current_libdirs=" -n$current_libdirs"
1.5894 - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
1.5895 - else
1.5896 - exit $EXIT_SUCCESS
1.5897 - fi
1.5898 - ;;
1.5899 -
1.5900 - # libtool finish mode
1.5901 - finish)
1.5902 - modename="$modename: finish"
1.5903 - libdirs="$nonopt"
1.5904 - admincmds=
1.5905 -
1.5906 - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1.5907 - for dir
1.5908 - do
1.5909 - libdirs="$libdirs $dir"
1.5910 - done
1.5911 -
1.5912 - for libdir in $libdirs; do
1.5913 - if test -n "$finish_cmds"; then
1.5914 - # Do each command in the finish commands.
1.5915 - cmds=$finish_cmds
1.5916 - save_ifs="$IFS"; IFS='~'
1.5917 - for cmd in $cmds; do
1.5918 - IFS="$save_ifs"
1.5919 - eval cmd=\"$cmd\"
1.5920 - $show "$cmd"
1.5921 - $run eval "$cmd" || admincmds="$admincmds
1.5922 - $cmd"
1.5923 - done
1.5924 - IFS="$save_ifs"
1.5925 - fi
1.5926 - if test -n "$finish_eval"; then
1.5927 - # Do the single finish_eval.
1.5928 - eval cmds=\"$finish_eval\"
1.5929 - $run eval "$cmds" || admincmds="$admincmds
1.5930 - $cmds"
1.5931 - fi
1.5932 - done
1.5933 - fi
1.5934 -
1.5935 - # Exit here if they wanted silent mode.
1.5936 - test "$show" = : && exit $EXIT_SUCCESS
1.5937 -
1.5938 - $echo "----------------------------------------------------------------------"
1.5939 - $echo "Libraries have been installed in:"
1.5940 - for libdir in $libdirs; do
1.5941 - $echo " $libdir"
1.5942 - done
1.5943 - $echo
1.5944 - $echo "If you ever happen to want to link against installed libraries"
1.5945 - $echo "in a given directory, LIBDIR, you must either use libtool, and"
1.5946 - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
1.5947 - $echo "flag during linking and do at least one of the following:"
1.5948 - if test -n "$shlibpath_var"; then
1.5949 - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
1.5950 - $echo " during execution"
1.5951 - fi
1.5952 - if test -n "$runpath_var"; then
1.5953 - $echo " - add LIBDIR to the \`$runpath_var' environment variable"
1.5954 - $echo " during linking"
1.5955 - fi
1.5956 - if test -n "$hardcode_libdir_flag_spec"; then
1.5957 - libdir=LIBDIR
1.5958 - eval flag=\"$hardcode_libdir_flag_spec\"
1.5959 -
1.5960 - $echo " - use the \`$flag' linker flag"
1.5961 - fi
1.5962 - if test -n "$admincmds"; then
1.5963 - $echo " - have your system administrator run these commands:$admincmds"
1.5964 - fi
1.5965 - if test -f /etc/ld.so.conf; then
1.5966 - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1.5967 - fi
1.5968 - $echo
1.5969 - $echo "See any operating system documentation about shared libraries for"
1.5970 - $echo "more information, such as the ld(1) and ld.so(8) manual pages."
1.5971 - $echo "----------------------------------------------------------------------"
1.5972 - exit $EXIT_SUCCESS
1.5973 - ;;
1.5974 -
1.5975 - # libtool execute mode
1.5976 - execute)
1.5977 - modename="$modename: execute"
1.5978 -
1.5979 - # The first argument is the command name.
1.5980 - cmd="$nonopt"
1.5981 - if test -z "$cmd"; then
1.5982 - $echo "$modename: you must specify a COMMAND" 1>&2
1.5983 - $echo "$help"
1.5984 - exit $EXIT_FAILURE
1.5985 - fi
1.5986 -
1.5987 - # Handle -dlopen flags immediately.
1.5988 - for file in $execute_dlfiles; do
1.5989 - if test ! -f "$file"; then
1.5990 - $echo "$modename: \`$file' is not a file" 1>&2
1.5991 - $echo "$help" 1>&2
1.5992 - exit $EXIT_FAILURE
1.5993 - fi
1.5994 -
1.5995 - dir=
1.5996 - case $file in
1.5997 - *.la)
1.5998 - # Check to see that this really is a libtool archive.
1.5999 - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1.6000 - else
1.6001 - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1.6002 - $echo "$help" 1>&2
1.6003 - exit $EXIT_FAILURE
1.6004 - fi
1.6005 -
1.6006 - # Read the libtool library.
1.6007 - dlname=
1.6008 - library_names=
1.6009 -
1.6010 - # If there is no directory component, then add one.
1.6011 - case $file in
1.6012 - */* | *\\*) . $file ;;
1.6013 - *) . ./$file ;;
1.6014 - esac
1.6015 -
1.6016 - # Skip this library if it cannot be dlopened.
1.6017 - if test -z "$dlname"; then
1.6018 - # Warn if it was a shared library.
1.6019 - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
1.6020 - continue
1.6021 - fi
1.6022 -
1.6023 - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
1.6024 - test "X$dir" = "X$file" && dir=.
1.6025 -
1.6026 - if test -f "$dir/$objdir/$dlname"; then
1.6027 - dir="$dir/$objdir"
1.6028 - else
1.6029 - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
1.6030 - exit $EXIT_FAILURE
1.6031 - fi
1.6032 - ;;
1.6033 -
1.6034 - *.lo)
1.6035 - # Just add the directory containing the .lo file.
1.6036 - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
1.6037 - test "X$dir" = "X$file" && dir=.
1.6038 - ;;
1.6039 -
1.6040 - *)
1.6041 - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
1.6042 - continue
1.6043 - ;;
1.6044 - esac
1.6045 -
1.6046 - # Get the absolute pathname.
1.6047 - absdir=`cd "$dir" && pwd`
1.6048 - test -n "$absdir" && dir="$absdir"
1.6049 -
1.6050 - # Now add the directory to shlibpath_var.
1.6051 - if eval "test -z \"\$$shlibpath_var\""; then
1.6052 - eval "$shlibpath_var=\"\$dir\""
1.6053 - else
1.6054 - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
1.6055 - fi
1.6056 - done
1.6057 -
1.6058 - # This variable tells wrapper scripts just to set shlibpath_var
1.6059 - # rather than running their programs.
1.6060 - libtool_execute_magic="$magic"
1.6061 -
1.6062 - # Check if any of the arguments is a wrapper script.
1.6063 - args=
1.6064 - for file
1.6065 - do
1.6066 - case $file in
1.6067 - -*) ;;
1.6068 - *)
1.6069 - # Do a test to see if this is really a libtool program.
1.6070 - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.6071 - # If there is no directory component, then add one.
1.6072 - case $file in
1.6073 - */* | *\\*) . $file ;;
1.6074 - *) . ./$file ;;
1.6075 - esac
1.6076 -
1.6077 - # Transform arg to wrapped name.
1.6078 - file="$progdir/$program"
1.6079 - fi
1.6080 - ;;
1.6081 - esac
1.6082 - # Quote arguments (to preserve shell metacharacters).
1.6083 - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
1.6084 - args="$args \"$file\""
1.6085 - done
1.6086 -
1.6087 - if test -z "$run"; then
1.6088 - if test -n "$shlibpath_var"; then
1.6089 - # Export the shlibpath_var.
1.6090 - eval "export $shlibpath_var"
1.6091 - fi
1.6092 -
1.6093 - # Restore saved environment variables
1.6094 - if test "${save_LC_ALL+set}" = set; then
1.6095 - LC_ALL="$save_LC_ALL"; export LC_ALL
1.6096 - fi
1.6097 - if test "${save_LANG+set}" = set; then
1.6098 - LANG="$save_LANG"; export LANG
1.6099 - fi
1.6100 -
1.6101 - # Now prepare to actually exec the command.
1.6102 - exec_cmd="\$cmd$args"
1.6103 - else
1.6104 - # Display what would be done.
1.6105 - if test -n "$shlibpath_var"; then
1.6106 - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
1.6107 - $echo "export $shlibpath_var"
1.6108 - fi
1.6109 - $echo "$cmd$args"
1.6110 - exit $EXIT_SUCCESS
1.6111 - fi
1.6112 - ;;
1.6113 -
1.6114 - # libtool clean and uninstall mode
1.6115 - clean | uninstall)
1.6116 - modename="$modename: $mode"
1.6117 - rm="$nonopt"
1.6118 - files=
1.6119 - rmforce=
1.6120 - exit_status=0
1.6121 -
1.6122 - # This variable tells wrapper scripts just to set variables rather
1.6123 - # than running their programs.
1.6124 - libtool_install_magic="$magic"
1.6125 -
1.6126 - for arg
1.6127 - do
1.6128 - case $arg in
1.6129 - -f) rm="$rm $arg"; rmforce=yes ;;
1.6130 - -*) rm="$rm $arg" ;;
1.6131 - *) files="$files $arg" ;;
1.6132 - esac
1.6133 - done
1.6134 -
1.6135 - if test -z "$rm"; then
1.6136 - $echo "$modename: you must specify an RM program" 1>&2
1.6137 - $echo "$help" 1>&2
1.6138 - exit $EXIT_FAILURE
1.6139 - fi
1.6140 -
1.6141 - rmdirs=
1.6142 -
1.6143 - origobjdir="$objdir"
1.6144 - for file in $files; do
1.6145 - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
1.6146 - if test "X$dir" = "X$file"; then
1.6147 - dir=.
1.6148 - objdir="$origobjdir"
1.6149 - else
1.6150 - objdir="$dir/$origobjdir"
1.6151 - fi
1.6152 - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1.6153 - test "$mode" = uninstall && objdir="$dir"
1.6154 -
1.6155 - # Remember objdir for removal later, being careful to avoid duplicates
1.6156 - if test "$mode" = clean; then
1.6157 - case " $rmdirs " in
1.6158 - *" $objdir "*) ;;
1.6159 - *) rmdirs="$rmdirs $objdir" ;;
1.6160 - esac
1.6161 - fi
1.6162 -
1.6163 - # Don't error if the file doesn't exist and rm -f was used.
1.6164 - if (test -L "$file") >/dev/null 2>&1 \
1.6165 - || (test -h "$file") >/dev/null 2>&1 \
1.6166 - || test -f "$file"; then
1.6167 - :
1.6168 - elif test -d "$file"; then
1.6169 - exit_status=1
1.6170 - continue
1.6171 - elif test "$rmforce" = yes; then
1.6172 - continue
1.6173 - fi
1.6174 -
1.6175 - rmfiles="$file"
1.6176 -
1.6177 - case $name in
1.6178 - *.la)
1.6179 - # Possibly a libtool archive, so verify it.
1.6180 - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.6181 - . $dir/$name
1.6182 -
1.6183 - # Delete the libtool libraries and symlinks.
1.6184 - for n in $library_names; do
1.6185 - rmfiles="$rmfiles $objdir/$n"
1.6186 - done
1.6187 - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
1.6188 - test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
1.6189 -
1.6190 - if test "$mode" = uninstall; then
1.6191 - if test -n "$library_names"; then
1.6192 - # Do each command in the postuninstall commands.
1.6193 - cmds=$postuninstall_cmds
1.6194 - save_ifs="$IFS"; IFS='~'
1.6195 - for cmd in $cmds; do
1.6196 - IFS="$save_ifs"
1.6197 - eval cmd=\"$cmd\"
1.6198 - $show "$cmd"
1.6199 - $run eval "$cmd"
1.6200 - if test "$?" -ne 0 && test "$rmforce" != yes; then
1.6201 - exit_status=1
1.6202 - fi
1.6203 - done
1.6204 - IFS="$save_ifs"
1.6205 - fi
1.6206 -
1.6207 - if test -n "$old_library"; then
1.6208 - # Do each command in the old_postuninstall commands.
1.6209 - cmds=$old_postuninstall_cmds
1.6210 - save_ifs="$IFS"; IFS='~'
1.6211 - for cmd in $cmds; do
1.6212 - IFS="$save_ifs"
1.6213 - eval cmd=\"$cmd\"
1.6214 - $show "$cmd"
1.6215 - $run eval "$cmd"
1.6216 - if test "$?" -ne 0 && test "$rmforce" != yes; then
1.6217 - exit_status=1
1.6218 - fi
1.6219 - done
1.6220 - IFS="$save_ifs"
1.6221 - fi
1.6222 - # FIXME: should reinstall the best remaining shared library.
1.6223 - fi
1.6224 - fi
1.6225 - ;;
1.6226 -
1.6227 - *.lo)
1.6228 - # Possibly a libtool object, so verify it.
1.6229 - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.6230 -
1.6231 - # Read the .lo file
1.6232 - . $dir/$name
1.6233 -
1.6234 - # Add PIC object to the list of files to remove.
1.6235 - if test -n "$pic_object" \
1.6236 - && test "$pic_object" != none; then
1.6237 - rmfiles="$rmfiles $dir/$pic_object"
1.6238 - fi
1.6239 -
1.6240 - # Add non-PIC object to the list of files to remove.
1.6241 - if test -n "$non_pic_object" \
1.6242 - && test "$non_pic_object" != none; then
1.6243 - rmfiles="$rmfiles $dir/$non_pic_object"
1.6244 - fi
1.6245 - fi
1.6246 - ;;
1.6247 -
1.6248 - *)
1.6249 - if test "$mode" = clean ; then
1.6250 - noexename=$name
1.6251 - case $file in
1.6252 - *.exe)
1.6253 - file=`$echo $file|${SED} 's,.exe$,,'`
1.6254 - noexename=`$echo $name|${SED} 's,.exe$,,'`
1.6255 - # $file with .exe has already been added to rmfiles,
1.6256 - # add $file without .exe
1.6257 - rmfiles="$rmfiles $file"
1.6258 - ;;
1.6259 - esac
1.6260 - # Do a test to see if this is a libtool program.
1.6261 - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1.6262 - relink_command=
1.6263 - . $dir/$noexename
1.6264 -
1.6265 - # note $name still contains .exe if it was in $file originally
1.6266 - # as does the version of $file that was added into $rmfiles
1.6267 - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
1.6268 - if test "$fast_install" = yes && test -n "$relink_command"; then
1.6269 - rmfiles="$rmfiles $objdir/lt-$name"
1.6270 - fi
1.6271 - if test "X$noexename" != "X$name" ; then
1.6272 - rmfiles="$rmfiles $objdir/lt-${noexename}.c"
1.6273 - fi
1.6274 - fi
1.6275 - fi
1.6276 - ;;
1.6277 - esac
1.6278 - $show "$rm $rmfiles"
1.6279 - $run $rm $rmfiles || exit_status=1
1.6280 - done
1.6281 - objdir="$origobjdir"
1.6282 -
1.6283 - # Try to remove the ${objdir}s in the directories where we deleted files
1.6284 - for dir in $rmdirs; do
1.6285 - if test -d "$dir"; then
1.6286 - $show "rmdir $dir"
1.6287 - $run rmdir $dir >/dev/null 2>&1
1.6288 - fi
1.6289 - done
1.6290 -
1.6291 - exit $exit_status
1.6292 - ;;
1.6293 -
1.6294 - "")
1.6295 - $echo "$modename: you must specify a MODE" 1>&2
1.6296 - $echo "$generic_help" 1>&2
1.6297 - exit $EXIT_FAILURE
1.6298 - ;;
1.6299 - esac
1.6300 -
1.6301 - if test -z "$exec_cmd"; then
1.6302 - $echo "$modename: invalid operation mode \`$mode'" 1>&2
1.6303 - $echo "$generic_help" 1>&2
1.6304 - exit $EXIT_FAILURE
1.6305 - fi
1.6306 -fi # test -z "$show_help"
1.6307 -
1.6308 -if test -n "$exec_cmd"; then
1.6309 - eval exec $exec_cmd
1.6310 - exit $EXIT_FAILURE
1.6311 -fi
1.6312 -
1.6313 -# We need to display help for each of the modes.
1.6314 -case $mode in
1.6315 -"") $echo \
1.6316 -"Usage: $modename [OPTION]... [MODE-ARG]...
1.6317 -
1.6318 -Provide generalized library-building support services.
1.6319 -
1.6320 - --config show all configuration variables
1.6321 - --debug enable verbose shell tracing
1.6322 --n, --dry-run display commands without modifying any files
1.6323 - --features display basic configuration information and exit
1.6324 - --finish same as \`--mode=finish'
1.6325 - --help display this help message and exit
1.6326 - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
1.6327 - --quiet same as \`--silent'
1.6328 - --silent don't print informational messages
1.6329 - --tag=TAG use configuration variables from tag TAG
1.6330 - --version print version information
1.6331 -
1.6332 -MODE must be one of the following:
1.6333 -
1.6334 - clean remove files from the build directory
1.6335 - compile compile a source file into a libtool object
1.6336 - execute automatically set library path, then run a program
1.6337 - finish complete the installation of libtool libraries
1.6338 - install install libraries or executables
1.6339 - link create a library or an executable
1.6340 - uninstall remove libraries from an installed directory
1.6341 -
1.6342 -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
1.6343 -a more detailed description of MODE.
1.6344 -
1.6345 -Report bugs to <bug-libtool@gnu.org>."
1.6346 - exit $EXIT_SUCCESS
1.6347 - ;;
1.6348 -
1.6349 -clean)
1.6350 - $echo \
1.6351 -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
1.6352 -
1.6353 -Remove files from the build directory.
1.6354 -
1.6355 -RM is the name of the program to use to delete files associated with each FILE
1.6356 -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1.6357 -to RM.
1.6358 -
1.6359 -If FILE is a libtool library, object or program, all the files associated
1.6360 -with it are deleted. Otherwise, only FILE itself is deleted using RM."
1.6361 - ;;
1.6362 -
1.6363 -compile)
1.6364 - $echo \
1.6365 -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1.6366 -
1.6367 -Compile a source file into a libtool library object.
1.6368 -
1.6369 -This mode accepts the following additional options:
1.6370 -
1.6371 - -o OUTPUT-FILE set the output file name to OUTPUT-FILE
1.6372 - -prefer-pic try to building PIC objects only
1.6373 - -prefer-non-pic try to building non-PIC objects only
1.6374 - -static always build a \`.o' file suitable for static linking
1.6375 -
1.6376 -COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1.6377 -from the given SOURCEFILE.
1.6378 -
1.6379 -The output file name is determined by removing the directory component from
1.6380 -SOURCEFILE, then substituting the C source code suffix \`.c' with the
1.6381 -library object suffix, \`.lo'."
1.6382 - ;;
1.6383 -
1.6384 -execute)
1.6385 - $echo \
1.6386 -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
1.6387 -
1.6388 -Automatically set library path, then run a program.
1.6389 -
1.6390 -This mode accepts the following additional options:
1.6391 -
1.6392 - -dlopen FILE add the directory containing FILE to the library path
1.6393 -
1.6394 -This mode sets the library path environment variable according to \`-dlopen'
1.6395 -flags.
1.6396 -
1.6397 -If any of the ARGS are libtool executable wrappers, then they are translated
1.6398 -into their corresponding uninstalled binary, and any of their required library
1.6399 -directories are added to the library path.
1.6400 -
1.6401 -Then, COMMAND is executed, with ARGS as arguments."
1.6402 - ;;
1.6403 -
1.6404 -finish)
1.6405 - $echo \
1.6406 -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
1.6407 -
1.6408 -Complete the installation of libtool libraries.
1.6409 -
1.6410 -Each LIBDIR is a directory that contains libtool libraries.
1.6411 -
1.6412 -The commands that this mode executes may require superuser privileges. Use
1.6413 -the \`--dry-run' option if you just want to see what would be executed."
1.6414 - ;;
1.6415 -
1.6416 -install)
1.6417 - $echo \
1.6418 -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
1.6419 -
1.6420 -Install executables or libraries.
1.6421 -
1.6422 -INSTALL-COMMAND is the installation command. The first component should be
1.6423 -either the \`install' or \`cp' program.
1.6424 -
1.6425 -The rest of the components are interpreted as arguments to that command (only
1.6426 -BSD-compatible install options are recognized)."
1.6427 - ;;
1.6428 -
1.6429 -link)
1.6430 - $echo \
1.6431 -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
1.6432 -
1.6433 -Link object files or libraries together to form another library, or to
1.6434 -create an executable program.
1.6435 -
1.6436 -LINK-COMMAND is a command using the C compiler that you would use to create
1.6437 -a program from several object files.
1.6438 -
1.6439 -The following components of LINK-COMMAND are treated specially:
1.6440 -
1.6441 - -all-static do not do any dynamic linking at all
1.6442 - -avoid-version do not add a version suffix if possible
1.6443 - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
1.6444 - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
1.6445 - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1.6446 - -export-symbols SYMFILE
1.6447 - try to export only the symbols listed in SYMFILE
1.6448 - -export-symbols-regex REGEX
1.6449 - try to export only the symbols matching REGEX
1.6450 - -LLIBDIR search LIBDIR for required installed libraries
1.6451 - -lNAME OUTPUT-FILE requires the installed library libNAME
1.6452 - -module build a library that can dlopened
1.6453 - -no-fast-install disable the fast-install mode
1.6454 - -no-install link a not-installable executable
1.6455 - -no-undefined declare that a library does not refer to external symbols
1.6456 - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
1.6457 - -objectlist FILE Use a list of object files found in FILE to specify objects
1.6458 - -precious-files-regex REGEX
1.6459 - don't remove output files matching REGEX
1.6460 - -release RELEASE specify package release information
1.6461 - -rpath LIBDIR the created library will eventually be installed in LIBDIR
1.6462 - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
1.6463 - -static do not do any dynamic linking of libtool libraries
1.6464 - -version-info CURRENT[:REVISION[:AGE]]
1.6465 - specify library version info [each variable defaults to 0]
1.6466 -
1.6467 -All other options (arguments beginning with \`-') are ignored.
1.6468 -
1.6469 -Every other argument is treated as a filename. Files ending in \`.la' are
1.6470 -treated as uninstalled libtool libraries, other files are standard or library
1.6471 -object files.
1.6472 -
1.6473 -If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
1.6474 -only library objects (\`.lo' files) may be specified, and \`-rpath' is
1.6475 -required, except when creating a convenience library.
1.6476 -
1.6477 -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
1.6478 -using \`ar' and \`ranlib', or on Windows using \`lib'.
1.6479 -
1.6480 -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
1.6481 -is created, otherwise an executable program is created."
1.6482 - ;;
1.6483 -
1.6484 -uninstall)
1.6485 - $echo \
1.6486 -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1.6487 -
1.6488 -Remove libraries from an installation directory.
1.6489 -
1.6490 -RM is the name of the program to use to delete files associated with each FILE
1.6491 -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1.6492 -to RM.
1.6493 -
1.6494 -If FILE is a libtool library, all the files associated with it are deleted.
1.6495 -Otherwise, only FILE itself is deleted using RM."
1.6496 - ;;
1.6497 -
1.6498 -*)
1.6499 - $echo "$modename: invalid operation mode \`$mode'" 1>&2
1.6500 - $echo "$help" 1>&2
1.6501 - exit $EXIT_FAILURE
1.6502 - ;;
1.6503 -esac
1.6504 -
1.6505 -$echo
1.6506 -$echo "Try \`$modename --help' for more information about other modes."
1.6507 -
1.6508 -exit $?
1.6509 -
1.6510 -# The TAGs below are defined such that we never get into a situation
1.6511 -# in which we disable both kinds of libraries. Given conflicting
1.6512 -# choices, we go for a static library, that is the most portable,
1.6513 -# since we can't tell whether shared libraries were disabled because
1.6514 -# the user asked for that or because the platform doesn't support
1.6515 -# them. This is particularly important on AIX, because we don't
1.6516 -# support having both static and shared libraries enabled at the same
1.6517 -# time on that platform, so we default to a shared-only configuration.
1.6518 -# If a disable-shared tag is given, we'll fallback to a static-only
1.6519 -# configuration. But we'll never go from static-only to shared-only.
1.6520 -
1.6521 -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
1.6522 -build_libtool_libs=no
1.6523 -build_old_libs=yes
1.6524 -# ### END LIBTOOL TAG CONFIG: disable-shared
1.6525 -
1.6526 -# ### BEGIN LIBTOOL TAG CONFIG: disable-static
1.6527 -build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
1.6528 -# ### END LIBTOOL TAG CONFIG: disable-static
1.6529 -
1.6530 -# Local Variables:
1.6531 -# mode:shell-script
1.6532 -# sh-indentation:2
1.6533 -# End: