1997-09-15 20:31:09 +08:00
|
|
|
|
# ltmain.sh - Provide generalized library-building support services.
|
1998-03-09 13:34:02 +08:00
|
|
|
|
# NOTE: Changing this file will not affect anything until you rerun ltconfig.
|
|
|
|
|
#
|
1998-12-31 19:25:57 +08:00
|
|
|
|
# Copyright (C) 1996-1999 Free Software Foundation, Inc.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
|
|
|
|
#
|
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
|
|
|
# (at your option) any later version.
|
|
|
|
|
#
|
|
|
|
|
# This program is distributed in the hope that it will be useful, but
|
|
|
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
# General Public License for more details.
|
|
|
|
|
#
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
#
|
|
|
|
|
# As a special exception to the GNU General Public License, if you
|
|
|
|
|
# distribute this file as part of a program that contains a
|
|
|
|
|
# configuration script generated by Autoconf, you may include it under
|
|
|
|
|
# the same distribution terms that you use for the rest of that program.
|
|
|
|
|
|
1998-04-27 23:10:35 +08:00
|
|
|
|
# Check that we have a working $echo.
|
1998-05-18 19:03:32 +08:00
|
|
|
|
if test "X$1" = X--no-reexec; then
|
1998-04-27 23:10:35 +08:00
|
|
|
|
# Discard the --no-reexec flag, and continue.
|
|
|
|
|
shift
|
1998-11-07 15:04:04 +08:00
|
|
|
|
elif test "X$1" = X--fallback-echo; then
|
|
|
|
|
# used as fallback echo
|
|
|
|
|
shift
|
|
|
|
|
cat <<EOF
|
|
|
|
|
$*
|
|
|
|
|
EOF
|
|
|
|
|
exit 0
|
1998-04-27 23:10:35 +08:00
|
|
|
|
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
|
|
|
|
|
# Yippee, $echo works!
|
|
|
|
|
:
|
|
|
|
|
else
|
|
|
|
|
# Restart under the correct shell, and then maybe $echo will work.
|
1998-05-18 19:03:32 +08:00
|
|
|
|
exec $SHELL "$0" --no-reexec ${1+"$@"}
|
1998-04-27 23:10:35 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# The name of this program.
|
|
|
|
|
progname=`$echo "$0" | sed 's%^.*/%%'`
|
1997-11-29 01:23:28 +08:00
|
|
|
|
modename="$progname"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# Constants.
|
|
|
|
|
PROGRAM=ltmain.sh
|
|
|
|
|
PACKAGE=@PACKAGE@
|
|
|
|
|
VERSION=@VERSION@
|
|
|
|
|
|
|
|
|
|
default_mode=
|
|
|
|
|
help="Try \`$progname --help' for more information."
|
|
|
|
|
magic="%%%MAGIC variable%%%"
|
|
|
|
|
mkdir="mkdir"
|
|
|
|
|
mv="mv -f"
|
|
|
|
|
rm="rm -f"
|
|
|
|
|
|
|
|
|
|
# Sed substitution that helps us do robust quoting. It backslashifies
|
|
|
|
|
# metacharacters that are still active within double-quoted strings.
|
1998-12-24 03:40:56 +08:00
|
|
|
|
Xsed='sed -e 1s/^X//'
|
1997-11-15 02:04:44 +08:00
|
|
|
|
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
|
1998-12-24 03:40:56 +08:00
|
|
|
|
SP2NL='tr \040 \012'
|
|
|
|
|
NL2SP='tr \012 \040'
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# NLS nuisances.
|
|
|
|
|
# Only set LANG and LC_ALL to C if already set.
|
|
|
|
|
# These must not be set unconditionally because not all systems understand
|
|
|
|
|
# e.g. LANG=C (notably SCO).
|
1998-05-18 19:03:32 +08:00
|
|
|
|
# We save the old values to restore during execute mode.
|
|
|
|
|
if test "${LC_ALL+set}" = set; then
|
|
|
|
|
save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
|
|
|
|
|
fi
|
|
|
|
|
if test "${LANG+set}" = set; then
|
|
|
|
|
save_LANG="$LANG"; LANG=C; export LANG
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
if test "$LTCONFIG_VERSION" != "$VERSION"; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
|
1997-11-28 00:57:00 +08:00
|
|
|
|
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
echo "$modename: not configured to build any kind of library" 1>&2
|
1997-11-28 00:57:00 +08:00
|
|
|
|
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Global variables.
|
|
|
|
|
mode=$default_mode
|
|
|
|
|
nonopt=
|
|
|
|
|
prev=
|
|
|
|
|
prevopt=
|
|
|
|
|
run=
|
|
|
|
|
show="$echo"
|
|
|
|
|
show_help=
|
|
|
|
|
execute_dlfiles=
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
lo2o="s/\\.lo\$/.${objext}/"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# Parse our command line options once, thoroughly.
|
|
|
|
|
while test $# -gt 0
|
|
|
|
|
do
|
|
|
|
|
arg="$1"
|
|
|
|
|
shift
|
|
|
|
|
|
|
|
|
|
case "$arg" in
|
1998-02-06 15:36:38 +08:00
|
|
|
|
-*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
*) optarg= ;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# If the previous option needs an argument, assign it.
|
|
|
|
|
if test -n "$prev"; then
|
|
|
|
|
case "$prev" in
|
|
|
|
|
execute_dlfiles)
|
|
|
|
|
eval "$prev=\"\$$prev \$arg\""
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
eval "$prev=\$arg"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
prev=
|
|
|
|
|
prevopt=
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Have we seen a non-optional argument yet?
|
|
|
|
|
case "$arg" in
|
|
|
|
|
--help)
|
|
|
|
|
show_help=yes
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
--version)
|
1997-11-28 00:57:00 +08:00
|
|
|
|
echo "$PROGRAM (GNU $PACKAGE) $VERSION"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
|
1998-04-20 03:29:28 +08:00
|
|
|
|
--config)
|
|
|
|
|
sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
|
1998-04-15 00:29:20 +08:00
|
|
|
|
--debug)
|
|
|
|
|
echo "$progname: enabling shell trace mode"
|
|
|
|
|
set -x
|
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
--dry-run | -n)
|
|
|
|
|
run=:
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
--features)
|
1998-04-20 03:29:28 +08:00
|
|
|
|
echo "host: $host"
|
|
|
|
|
if test "$build_libtool_libs" = yes; then
|
|
|
|
|
echo "enable shared libraries"
|
|
|
|
|
else
|
|
|
|
|
echo "disable shared libraries"
|
|
|
|
|
fi
|
|
|
|
|
if test "$build_old_libs" = yes; then
|
|
|
|
|
echo "enable static libraries"
|
|
|
|
|
else
|
|
|
|
|
echo "disable static libraries"
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
--finish) mode="finish" ;;
|
|
|
|
|
|
|
|
|
|
--mode) prevopt="--mode" prev=mode ;;
|
|
|
|
|
--mode=*) mode="$optarg" ;;
|
|
|
|
|
|
|
|
|
|
--quiet | --silent)
|
|
|
|
|
show=:
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-dlopen)
|
|
|
|
|
prevopt="-dlopen"
|
|
|
|
|
prev=execute_dlfiles
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-*)
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: unrecognized option \`$arg'" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
nonopt="$arg"
|
|
|
|
|
break
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if test -n "$prevopt"; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: option \`$prevopt' requires an argument" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test -z "$show_help"; then
|
|
|
|
|
|
|
|
|
|
# Infer the operation mode.
|
|
|
|
|
if test -z "$mode"; then
|
|
|
|
|
case "$nonopt" in
|
1998-01-26 03:35:11 +08:00
|
|
|
|
*cc | *++ | gcc* | *-gcc*)
|
1997-09-15 20:31:09 +08:00
|
|
|
|
mode=link
|
|
|
|
|
for arg
|
|
|
|
|
do
|
1998-12-22 01:30:48 +08:00
|
|
|
|
case "$arg" in
|
|
|
|
|
-c)
|
|
|
|
|
mode=compile
|
|
|
|
|
break
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
done
|
|
|
|
|
;;
|
1998-05-18 19:03:32 +08:00
|
|
|
|
*db | *dbx | *strace | *truss)
|
1997-09-15 20:31:09 +08:00
|
|
|
|
mode=execute
|
|
|
|
|
;;
|
1998-01-26 03:35:11 +08:00
|
|
|
|
*install*|cp|mv)
|
1997-09-15 20:31:09 +08:00
|
|
|
|
mode=install
|
|
|
|
|
;;
|
|
|
|
|
*rm)
|
|
|
|
|
mode=uninstall
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
# If we have no mode, but dlfiles were specified, then do execute mode.
|
|
|
|
|
test -n "$execute_dlfiles" && mode=execute
|
|
|
|
|
|
|
|
|
|
# Just use the default operation mode.
|
|
|
|
|
if test -z "$mode"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -n "$nonopt"; then
|
|
|
|
|
$echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
|
|
|
|
|
else
|
|
|
|
|
$echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Only execute mode is allowed to have -dlopen flags.
|
|
|
|
|
if test -n "$execute_dlfiles" && test "$mode" != execute; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: unrecognized option \`-dlopen'" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Change the help message to a mode-specific one.
|
|
|
|
|
generic_help="$help"
|
1997-11-29 01:23:28 +08:00
|
|
|
|
help="Try \`$modename --help --mode=$mode' for more information."
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# These modes are in order of execution frequency so that they run quickly.
|
|
|
|
|
case "$mode" in
|
|
|
|
|
# libtool compile mode
|
|
|
|
|
compile)
|
1997-11-29 01:23:28 +08:00
|
|
|
|
modename="$modename: compile"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Get the compilation command and the source file.
|
|
|
|
|
base_compile=
|
|
|
|
|
lastarg=
|
|
|
|
|
srcfile="$nonopt"
|
|
|
|
|
suppress_output=
|
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
user_target=no
|
1997-09-15 20:31:09 +08:00
|
|
|
|
for arg
|
|
|
|
|
do
|
1998-03-06 00:23:43 +08:00
|
|
|
|
# Accept any command-line options.
|
|
|
|
|
case "$arg" in
|
|
|
|
|
-o)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test "$user_target" != "no"; then
|
|
|
|
|
$echo "$modename: you cannot specify \`-o' more than once" 1>&2
|
1998-11-03 01:21:52 +08:00
|
|
|
|
exit 1
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
user_target=next
|
1998-03-06 00:23:43 +08:00
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-static)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
build_old_libs=yes
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-03-06 00:23:43 +08:00
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
case "$user_target" in
|
|
|
|
|
next)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# The next one is the -o target name
|
|
|
|
|
user_target=yes
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-11-03 01:21:52 +08:00
|
|
|
|
yes)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# We got the output file
|
|
|
|
|
user_target=set
|
|
|
|
|
libobj="$arg"
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-11-03 01:21:52 +08:00
|
|
|
|
esac
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Accept the current argument as the source file.
|
|
|
|
|
lastarg="$srcfile"
|
|
|
|
|
srcfile="$arg"
|
|
|
|
|
|
|
|
|
|
# Aesthetically quote the previous argument.
|
|
|
|
|
|
|
|
|
|
# Backslashify any backslashes, double quotes, and dollar signs.
|
|
|
|
|
# These are the only characters that are still specially
|
|
|
|
|
# interpreted inside of double-quoted scrings.
|
1998-02-06 15:36:38 +08:00
|
|
|
|
lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# Double-quote args containing other shell metacharacters.
|
|
|
|
|
# Many Bourne shells cannot handle close brackets correctly in scan
|
|
|
|
|
# sets, so we specify it separately.
|
|
|
|
|
case "$lastarg" in
|
|
|
|
|
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
lastarg="\"$lastarg\""
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# Add the previous argument to base_compile.
|
|
|
|
|
if test -z "$base_compile"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
base_compile="$lastarg"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
else
|
1998-12-22 01:30:48 +08:00
|
|
|
|
base_compile="$base_compile $lastarg"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
case "$user_target" in
|
|
|
|
|
set)
|
|
|
|
|
;;
|
|
|
|
|
no)
|
|
|
|
|
# Get the name of the library object.
|
|
|
|
|
libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
$echo "$modename: you must specify a target with \`-o'" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# Recognize several different file suffixes.
|
1998-11-03 01:21:52 +08:00
|
|
|
|
# If the user specifies -o file.o, it is replaced with file.lo
|
|
|
|
|
xform='[cCFSfmso]'
|
1997-09-15 20:31:09 +08:00
|
|
|
|
case "$libobj" in
|
1998-02-12 13:45:15 +08:00
|
|
|
|
*.ada) xform=ada ;;
|
|
|
|
|
*.adb) xform=adb ;;
|
|
|
|
|
*.ads) xform=ads ;;
|
1998-01-26 03:35:11 +08:00
|
|
|
|
*.asm) xform=asm ;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
*.c++) xform=c++ ;;
|
|
|
|
|
*.cc) xform=cc ;;
|
|
|
|
|
*.cpp) xform=cpp ;;
|
|
|
|
|
*.cxx) xform=cxx ;;
|
|
|
|
|
*.f90) xform=f90 ;;
|
|
|
|
|
*.for) xform=for ;;
|
|
|
|
|
esac
|
|
|
|
|
|
1998-02-06 15:36:38 +08:00
|
|
|
|
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
case "$libobj" in
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
*.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
*)
|
1998-11-03 01:21:52 +08:00
|
|
|
|
$echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
if test -z "$base_compile"; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: you must specify a compilation command" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Delete any leftover library objects.
|
|
|
|
|
if test "$build_old_libs" = yes; then
|
1998-11-04 13:50:33 +08:00
|
|
|
|
removelist="$obj $libobj $lockfile"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
else
|
1998-11-04 13:50:33 +08:00
|
|
|
|
removelist="$libobj $lockfile"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-11-04 13:50:33 +08:00
|
|
|
|
$run $rm $removelist
|
|
|
|
|
trap "$run $rm $removelist; exit 1" 1 2 15
|
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
# Calculate the filename of the output object if compiler does
|
|
|
|
|
# not support -o with -c
|
|
|
|
|
if test "$compiler_c_o" = no; then
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
|
1998-11-04 13:50:33 +08:00
|
|
|
|
lockfile="$output_obj.lock"
|
|
|
|
|
removelist="$removelist $output_obj $lockfile"
|
|
|
|
|
trap "$run $rm $removelist; exit 1" 1 2 15
|
|
|
|
|
else
|
|
|
|
|
need_locks=no
|
|
|
|
|
lockfile=
|
1998-11-03 01:21:52 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-11-04 12:13:03 +08:00
|
|
|
|
# Lock this critical section if it is needed
|
|
|
|
|
# We use this script file to make the link, it avoids creating a new file
|
|
|
|
|
if test "$need_locks" = yes; then
|
1998-11-04 13:50:33 +08:00
|
|
|
|
until ln "$0" "$lockfile" 2>/dev/null; do
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$show "Waiting for $lockfile to be removed"
|
|
|
|
|
sleep 2
|
1998-11-04 12:13:03 +08:00
|
|
|
|
done
|
1998-11-04 13:50:33 +08:00
|
|
|
|
elif test "$need_locks" = warn; then
|
|
|
|
|
if test -f "$lockfile"; then
|
|
|
|
|
echo "\
|
|
|
|
|
*** ERROR, $lockfile exists and contains:
|
|
|
|
|
`cat $lockfile 2>/dev/null`
|
|
|
|
|
|
|
|
|
|
This indicates that another process is trying to use the same
|
|
|
|
|
temporary object file, and libtool could not work around it because
|
|
|
|
|
your compiler does not support \`-c' and \`-o' together. If you
|
|
|
|
|
repeat this compilation, it may succeed, by chance, but you had better
|
|
|
|
|
avoid parallel builds (make -j) in this platform, or get a better
|
|
|
|
|
compiler."
|
|
|
|
|
|
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
echo $srcfile > "$lockfile"
|
1998-11-04 12:13:03 +08:00
|
|
|
|
fi
|
1998-11-11 06:04:14 +08:00
|
|
|
|
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
if test -n "$fix_srcfile_path"; then
|
|
|
|
|
eval srcfile=\"$fix_srcfile_path\"
|
|
|
|
|
fi
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Only build a PIC object if we are building libtool libraries.
|
|
|
|
|
if test "$build_libtool_libs" = yes; then
|
1997-11-07 00:59:31 +08:00
|
|
|
|
# Without this assignment, base_compile gets emptied.
|
|
|
|
|
fbsd_hideous_sh_bug=$base_compile
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# All platforms use -DPIC, to notify preprocessed assembler code.
|
1998-11-03 01:21:52 +08:00
|
|
|
|
command="$base_compile$pic_flag -DPIC $srcfile"
|
1998-11-04 15:10:43 +08:00
|
|
|
|
if test "$compiler_o_lo" = yes; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
command="$command -o $libobj"
|
|
|
|
|
output_obj="$libobj"
|
1998-11-04 15:10:43 +08:00
|
|
|
|
elif test "$compiler_c_o" = yes; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
command="$command -o $obj"
|
|
|
|
|
output_obj="$obj"
|
1998-11-03 01:21:52 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
$show "$command"
|
|
|
|
|
if $run eval "$command"; then :
|
1997-09-15 20:31:09 +08:00
|
|
|
|
else
|
1998-12-22 01:30:48 +08:00
|
|
|
|
test -n "$output_obj" && $run $rm $removelist
|
|
|
|
|
exit 1
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-11-04 13:50:33 +08:00
|
|
|
|
if test "$need_locks" = warn &&
|
|
|
|
|
test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
|
|
|
|
|
echo "\
|
|
|
|
|
*** ERROR, $lockfile contains:
|
|
|
|
|
`cat $lockfile 2>/dev/null`
|
|
|
|
|
|
|
|
|
|
but it should contain:
|
|
|
|
|
$srcfile
|
|
|
|
|
|
|
|
|
|
This indicates that another process is trying to use the same
|
|
|
|
|
temporary object file, and libtool could not work around it because
|
|
|
|
|
your compiler does not support \`-c' and \`-o' together. If you
|
|
|
|
|
repeat this compilation, it may succeed, by chance, but you had better
|
|
|
|
|
avoid parallel builds (make -j) in this platform, or get a better
|
|
|
|
|
compiler."
|
|
|
|
|
|
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
# Just move the object if needed, then go on to compile the next one
|
1998-11-11 06:04:14 +08:00
|
|
|
|
if test "$compiler_o_lo" = no && test x"$output_obj" != x"$libobj"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$show "$mv $output_obj $libobj"
|
|
|
|
|
if $run $mv $output_obj $libobj; then :
|
1998-11-04 13:50:33 +08:00
|
|
|
|
else
|
|
|
|
|
error=$?
|
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit $error
|
|
|
|
|
fi
|
1998-11-03 01:21:52 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-12-23 21:28:28 +08:00
|
|
|
|
# If we have no pic_flag, then copy the object into place and finish.
|
|
|
|
|
if test -z "$pic_flag"; then
|
1998-12-28 04:04:12 +08:00
|
|
|
|
$show $rm $obj
|
|
|
|
|
$run $rm $obj
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$show "$LN_S $libobj $obj"
|
|
|
|
|
if $run $LN_S $libobj $obj; then
|
1998-11-04 13:50:33 +08:00
|
|
|
|
exit 0
|
|
|
|
|
else
|
1998-12-22 01:30:48 +08:00
|
|
|
|
error=$?
|
1998-11-04 13:50:33 +08:00
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit $error
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Allow error messages only from the first compilation.
|
|
|
|
|
suppress_output=' >/dev/null 2>&1'
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Only build a position-dependent object if we build old libraries.
|
|
|
|
|
if test "$build_old_libs" = yes; then
|
1998-12-16 10:28:53 +08:00
|
|
|
|
command="$base_compile $srcfile"
|
1998-11-03 01:21:52 +08:00
|
|
|
|
if test "$compiler_c_o" = yes; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
command="$command -o $obj"
|
|
|
|
|
output_obj="$obj"
|
1998-11-03 01:21:52 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Suppress compiler output if we already did a PIC compilation.
|
1998-11-03 01:21:52 +08:00
|
|
|
|
command="$command$suppress_output"
|
|
|
|
|
$show "$command"
|
|
|
|
|
if $run eval "$command"; then :
|
1997-09-15 20:31:09 +08:00
|
|
|
|
else
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit 1
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
1998-11-03 01:21:52 +08:00
|
|
|
|
|
1998-11-04 13:50:33 +08:00
|
|
|
|
if test "$need_locks" = warn &&
|
|
|
|
|
test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
|
|
|
|
|
echo "\
|
|
|
|
|
*** ERROR, $lockfile contains:
|
|
|
|
|
`cat $lockfile 2>/dev/null`
|
|
|
|
|
|
|
|
|
|
but it should contain:
|
|
|
|
|
$srcfile
|
|
|
|
|
|
|
|
|
|
This indicates that another process is trying to use the same
|
|
|
|
|
temporary object file, and libtool could not work around it because
|
|
|
|
|
your compiler does not support \`-c' and \`-o' together. If you
|
|
|
|
|
repeat this compilation, it may succeed, by chance, but you had better
|
|
|
|
|
avoid parallel builds (make -j) in this platform, or get a better
|
|
|
|
|
compiler."
|
|
|
|
|
|
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
1998-11-03 01:21:52 +08:00
|
|
|
|
# Just move the object if needed
|
1998-11-11 06:04:14 +08:00
|
|
|
|
if test "$compiler_c_o" = no && test x"$output_obj" != x"$obj"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$show "$mv $output_obj $obj"
|
|
|
|
|
if $run $mv $output_obj $obj; then :
|
1998-11-04 13:50:33 +08:00
|
|
|
|
else
|
|
|
|
|
error=$?
|
|
|
|
|
$run $rm $removelist
|
|
|
|
|
exit $error
|
|
|
|
|
fi
|
1998-11-03 01:21:52 +08:00
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-11-04 12:13:03 +08:00
|
|
|
|
# Unlock the critical section if it was locked
|
1998-11-04 13:50:33 +08:00
|
|
|
|
if test "$need_locks" != no; then
|
1998-11-20 02:01:07 +08:00
|
|
|
|
$rm "$lockfile"
|
1998-11-04 12:13:03 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-02-12 13:45:15 +08:00
|
|
|
|
# Create an invalid libtool object if no PIC, so that we do not
|
|
|
|
|
# accidentally link it into a program.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
if test "$build_libtool_libs" != yes; then
|
1997-11-28 00:57:00 +08:00
|
|
|
|
$show "echo timestamp > $libobj"
|
|
|
|
|
$run eval "echo timestamp > \$libobj" || exit $?
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
# libtool link mode
|
|
|
|
|
link)
|
1997-11-29 01:23:28 +08:00
|
|
|
|
modename="$modename: link"
|
1998-11-16 16:10:45 +08:00
|
|
|
|
C_compiler="$CC" # save it, to compile generated C sources
|
1997-09-15 20:31:09 +08:00
|
|
|
|
CC="$nonopt"
|
1998-12-24 01:30:12 +08:00
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-cygwin32* | *-*-mingw32* | *-*-os2*)
|
|
|
|
|
# It is impossible to link a dll without this setting, and
|
|
|
|
|
# we shouldn't force the makefile maintainer to figure out
|
|
|
|
|
# which system we are compiling for in order to pass an extra
|
|
|
|
|
# flag for every libtool invokation.
|
1999-01-08 00:13:02 +08:00
|
|
|
|
# allow_undefined=no
|
|
|
|
|
|
|
|
|
|
# FIXME: Unfortunately, there are problems with the above when trying
|
|
|
|
|
# to make a dll which has undefined symbols, in which case not
|
|
|
|
|
# even a static library is built. For now, we need to specify
|
|
|
|
|
# -no-undefined on the libtool link line when we can be certain
|
|
|
|
|
# that all symbols are satisfied, otherwise we get a static library.
|
|
|
|
|
allow_undefined=yes
|
1999-01-05 16:51:02 +08:00
|
|
|
|
|
|
|
|
|
# This is a source program that is used to create dlls on Windows
|
|
|
|
|
# Don't remove nor modify the starting and closing comments
|
|
|
|
|
# /* ltdll.c starts here */
|
|
|
|
|
# #define WIN32_LEAN_AND_MEAN
|
|
|
|
|
# #include <windows.h>
|
|
|
|
|
# #undef WIN32_LEAN_AND_MEAN
|
|
|
|
|
# #include <stdio.h>
|
|
|
|
|
#
|
|
|
|
|
# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
|
|
|
|
|
#
|
|
|
|
|
# #include <cygwin/cygwin_dll.h>
|
|
|
|
|
# DECLARE_CYGWIN_DLL( DllMain );
|
|
|
|
|
# HINSTANCE __hDllInstance_base;
|
|
|
|
|
#
|
|
|
|
|
# BOOL APIENTRY
|
|
|
|
|
# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
|
|
|
|
|
# {
|
|
|
|
|
# __hDllInstance_base = hInst;
|
|
|
|
|
# return TRUE;
|
|
|
|
|
# }
|
|
|
|
|
# /* ltdll.c ends here */
|
1998-12-24 01:30:12 +08:00
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
allow_undefined=yes
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
compile_command="$CC"
|
|
|
|
|
finalize_command="$CC"
|
|
|
|
|
|
|
|
|
|
compile_shlibpath=
|
|
|
|
|
finalize_shlibpath=
|
1998-07-01 16:12:49 +08:00
|
|
|
|
convenience=
|
|
|
|
|
old_convenience=
|
1997-09-15 20:31:09 +08:00
|
|
|
|
deplibs=
|
1998-12-04 04:49:31 +08:00
|
|
|
|
eval lib_search_path=\"$sys_lib_search_path\"
|
1998-11-11 09:47:02 +08:00
|
|
|
|
|
1998-12-19 06:23:51 +08:00
|
|
|
|
avoid_versioning=no
|
1997-09-15 20:31:09 +08:00
|
|
|
|
dlfiles=
|
|
|
|
|
dlprefiles=
|
|
|
|
|
export_dynamic=no
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
export_symbols=
|
1998-07-01 16:12:49 +08:00
|
|
|
|
generated=
|
1997-09-15 20:31:09 +08:00
|
|
|
|
hardcode_libdirs=
|
|
|
|
|
libobjs=
|
|
|
|
|
link_against_libtool_libs=
|
|
|
|
|
ltlibs=
|
1998-11-18 15:29:36 +08:00
|
|
|
|
module=no
|
1997-09-15 20:31:09 +08:00
|
|
|
|
objs=
|
|
|
|
|
prev=
|
|
|
|
|
prevarg=
|
1998-02-06 15:36:38 +08:00
|
|
|
|
release=
|
1997-09-15 20:31:09 +08:00
|
|
|
|
rpath=
|
1999-01-12 06:31:00 +08:00
|
|
|
|
xrpath=
|
1997-09-15 20:31:09 +08:00
|
|
|
|
perm_rpath=
|
|
|
|
|
temp_rpath=
|
|
|
|
|
vinfo=
|
|
|
|
|
|
|
|
|
|
# We need to know -static, to get the right output filenames.
|
|
|
|
|
for arg
|
|
|
|
|
do
|
|
|
|
|
case "$arg" in
|
|
|
|
|
-all-static | -static)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
build_libtool_libs=no
|
1997-09-15 20:31:09 +08:00
|
|
|
|
build_old_libs=yes
|
1998-12-22 01:30:48 +08:00
|
|
|
|
break
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
|
1997-11-07 00:59:31 +08:00
|
|
|
|
# See if our shared archives depend on static archives.
|
|
|
|
|
test -n "$old_archive_from_new_cmds" && build_old_libs=yes
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Go through the arguments, transforming them on the way.
|
1998-07-01 16:12:49 +08:00
|
|
|
|
while test $# -gt 0; do
|
|
|
|
|
arg="$1"
|
|
|
|
|
shift
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# If the previous option needs an argument, assign it.
|
|
|
|
|
if test -n "$prev"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
case "$prev" in
|
|
|
|
|
output)
|
|
|
|
|
compile_command="$compile_command @OUTPUT@"
|
|
|
|
|
finalize_command="$finalize_command @OUTPUT@"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
case "$prev" in
|
|
|
|
|
dlfiles|dlprefiles)
|
|
|
|
|
case "$arg" in
|
|
|
|
|
*.la | *.lo) ;; # We handle these cases below.
|
|
|
|
|
*)
|
|
|
|
|
dlprefiles="$dlprefiles $arg"
|
|
|
|
|
test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
|
|
|
|
|
prev=
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
;;
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
exportsyms)
|
|
|
|
|
export_symbols="$arg"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test ! -f "$arg"; then
|
|
|
|
|
$echo "$modename: symbol file \`$arg' does not exist"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
prev=
|
|
|
|
|
;;
|
1998-02-06 15:36:38 +08:00
|
|
|
|
release)
|
|
|
|
|
release="-$arg"
|
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-12-22 01:30:48 +08:00
|
|
|
|
rpath)
|
|
|
|
|
rpath="$rpath $arg"
|
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1999-01-12 06:31:00 +08:00
|
|
|
|
xrpath)
|
|
|
|
|
xrpath="$xrpath $arg"
|
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-12-22 01:30:48 +08:00
|
|
|
|
*)
|
|
|
|
|
eval "$prev=\"\$arg\""
|
1997-09-15 20:31:09 +08:00
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1998-12-22 01:30:48 +08:00
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
prevarg="$arg"
|
|
|
|
|
|
|
|
|
|
case "$arg" in
|
|
|
|
|
-all-static)
|
|
|
|
|
if test -n "$link_static_flag"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
compile_command="$compile_command $link_static_flag"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
finalize_command="$finalize_command $link_static_flag"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
continue
|
1997-09-15 20:31:09 +08:00
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-allow-undefined)
|
1997-11-28 00:57:00 +08:00
|
|
|
|
# FIXME: remove this flag sometime in the future.
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
1998-12-19 06:23:51 +08:00
|
|
|
|
-avoid-versioning)
|
|
|
|
|
avoid_versioning=yes
|
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
-dlopen)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
prev=dlfiles
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
-dlpreopen)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
prev=dlprefiles
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
-export-dynamic)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test "$export_dynamic" != yes; then
|
|
|
|
|
export_dynamic=yes
|
1997-10-20 02:53:23 +08:00
|
|
|
|
if test -n "$export_dynamic_flag_spec"; then
|
1998-03-20 15:58:42 +08:00
|
|
|
|
eval arg=\"$export_dynamic_flag_spec\"
|
1997-10-20 02:53:23 +08:00
|
|
|
|
else
|
|
|
|
|
arg=
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# Add the symbol object into the linking commands.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
compile_command="$compile_command @SYMFILE@"
|
|
|
|
|
finalize_command="$finalize_command @SYMFILE@"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
-export-symbols)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -n "$export_symbols"; then
|
|
|
|
|
$echo "$modename: cannot have more than one -exported-symbols"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
prev=exportsyms
|
|
|
|
|
continue
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
-L*)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
|
|
|
|
|
case "$dir" in
|
|
|
|
|
/* | [A-Za-z]:[/\\]*)
|
1997-10-22 13:00:03 +08:00
|
|
|
|
# Add the corresponding hardcode_libdir_flag, if it is not identical.
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
$echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
deplibs="$deplibs $arg"
|
|
|
|
|
lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`"
|
1998-12-25 00:02:41 +08:00
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-cygwin32* | *-*-mingw32* | *-*-os2*)
|
|
|
|
|
compile_dependencylibs="$compile_dependencylibs $arg"
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchdir="`expr $arg : '-L\(.*\)'`"
|
|
|
|
|
dllsearchdir=`cd "$dllsearchdir" && pwd || echo "$dllsearchdir"`
|
1998-12-25 00:02:41 +08:00
|
|
|
|
if test -n "$dllsearchpath"; then
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchpath="$dllsearchpath:$dllsearchdir"
|
1998-12-25 00:02:41 +08:00
|
|
|
|
else
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchpath="$dllsearchdir"
|
1998-12-25 00:02:41 +08:00
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-25 00:02:41 +08:00
|
|
|
|
-l*)
|
|
|
|
|
deplibs="$deplibs $arg"
|
|
|
|
|
compile_dependencylibs="$compile_dependencylibs $arg"
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-11-18 15:29:36 +08:00
|
|
|
|
-module)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test "$module" != yes; then
|
|
|
|
|
module=yes
|
1998-12-12 07:21:03 +08:00
|
|
|
|
if test -n "$export_dynamic_flag_spec"; then
|
|
|
|
|
eval arg=\"$export_dynamic_flag_spec\"
|
|
|
|
|
else
|
|
|
|
|
arg=
|
|
|
|
|
fi
|
|
|
|
|
fi
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1998-11-18 15:29:36 +08:00
|
|
|
|
|
1997-11-28 00:57:00 +08:00
|
|
|
|
-no-undefined)
|
|
|
|
|
allow_undefined=no
|
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
-o) prev=output ;;
|
|
|
|
|
|
1998-02-06 15:36:38 +08:00
|
|
|
|
-release)
|
|
|
|
|
prev=release
|
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
-rpath)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
prev=rpath
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1999-01-12 06:31:00 +08:00
|
|
|
|
-R)
|
|
|
|
|
prev=xrpath
|
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-R*)
|
|
|
|
|
xrpath="$xrpath "`echo "X$arg" | $Xsed -e 's/^-R//'`
|
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
-static)
|
1997-10-22 13:00:03 +08:00
|
|
|
|
# If we have no pic_flag, then this is the same as -all-static.
|
|
|
|
|
if test -z "$pic_flag" && test -n "$link_static_flag"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
compile_command="$compile_command $link_static_flag"
|
1997-10-22 13:00:03 +08:00
|
|
|
|
finalize_command="$finalize_command $link_static_flag"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
continue
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
-version-info)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
prev=vinfo
|
|
|
|
|
continue
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
# Some other compiler flag.
|
1997-11-07 00:59:31 +08:00
|
|
|
|
-* | +*)
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# Unknown arguments in both finalize_command and compile_command need
|
|
|
|
|
# to be aesthetically quoted because they are evaled later.
|
1998-02-06 15:36:38 +08:00
|
|
|
|
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
|
1997-09-15 20:31:09 +08:00
|
|
|
|
case "$arg" in
|
|
|
|
|
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
|
|
|
|
|
arg="\"$arg\""
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
*.o | *.obj | *.a | *.lib)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# A standard object.
|
|
|
|
|
objs="$objs $arg"
|
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
*.lo)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# A library object.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
if test "$prev" = dlfiles; then
|
|
|
|
|
dlfiles="$dlfiles $arg"
|
|
|
|
|
if test "$build_libtool_libs" = yes; then
|
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
else
|
|
|
|
|
# If libtool objects are unsupported, then we need to preload.
|
|
|
|
|
prev=dlprefiles
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test "$prev" = dlprefiles; then
|
|
|
|
|
# Preload the old-style object.
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
|
1997-09-15 20:31:09 +08:00
|
|
|
|
prev=
|
|
|
|
|
fi
|
|
|
|
|
libobjs="$libobjs $arg"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
*.la)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# A libtool-controlled library.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
dlname=
|
|
|
|
|
libdir=
|
|
|
|
|
library_names=
|
|
|
|
|
old_library=
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# Check to see that this really is a libtool archive.
|
|
|
|
|
if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
|
|
|
|
|
else
|
|
|
|
|
$echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-11-20 02:01:07 +08:00
|
|
|
|
# If the library was installed with an old release of libtool,
|
|
|
|
|
# it will not redefine variable installed.
|
|
|
|
|
installed=yes
|
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# If there is no directory component, then add one.
|
|
|
|
|
case "$arg" in
|
|
|
|
|
*/* | *\\*) . $arg ;;
|
|
|
|
|
*) . ./$arg ;;
|
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# Get the name of the library we link against.
|
|
|
|
|
linklib=
|
|
|
|
|
for l in $old_library $library_names; do
|
|
|
|
|
linklib="$l"
|
|
|
|
|
done
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -z "$linklib"; then
|
|
|
|
|
$echo "$modename: cannot find name of link library for \`$arg'" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# Find the relevant object directory and library name.
|
|
|
|
|
name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
|
1998-11-20 02:01:07 +08:00
|
|
|
|
|
|
|
|
|
if test "X$installed" = Xyes; then
|
|
|
|
|
dir="$libdir"
|
|
|
|
|
else
|
|
|
|
|
dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
|
|
|
|
|
if test "X$dir" = "X$arg"; then
|
|
|
|
|
dir="$objdir"
|
|
|
|
|
else
|
|
|
|
|
dir="$dir/$objdir"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1999-01-12 06:31:00 +08:00
|
|
|
|
if test -n "$dependency_libs"; then
|
|
|
|
|
# Extract -R from dependency_libs
|
|
|
|
|
temp_deplibs=
|
1999-01-14 04:09:43 +08:00
|
|
|
|
for dep in $dependency_libs; do
|
|
|
|
|
case "$dep" in
|
|
|
|
|
-R*) xrpath="$xrpath "`echo "X$dep" | $Xsed -e 's/^-R//'`;;
|
|
|
|
|
*) temp_deplibs="$temp_deplibs $dep";;
|
1999-01-12 06:31:00 +08:00
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
dependency_libs="$temp_deplibs"
|
|
|
|
|
fi
|
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -z "$libdir"; then
|
1998-07-01 16:12:49 +08:00
|
|
|
|
# It is a libtool convenience library, so add in its objects.
|
1998-12-09 15:51:54 +08:00
|
|
|
|
convenience="$convenience $dir/$old_library"
|
1998-07-01 16:12:49 +08:00
|
|
|
|
old_convenience="$old_convenience $dir/$old_library"
|
1998-12-09 15:51:54 +08:00
|
|
|
|
deplibs="$deplibs$dependency_libs"
|
|
|
|
|
compile_command="$compile_command $dir/$old_library$dependency_libs"
|
|
|
|
|
finalize_command="$finalize_command $dir/$old_library$dependency_libs"
|
1998-07-01 16:12:49 +08:00
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# This library was specified with -dlopen.
|
|
|
|
|
if test "$prev" = dlfiles; then
|
|
|
|
|
dlfiles="$dlfiles $arg"
|
|
|
|
|
if test -z "$dlname" || test "$build_libtool_libs" = no; then
|
|
|
|
|
# If there is no dlname or we're linking statically,
|
|
|
|
|
# we need to preload.
|
|
|
|
|
prev=dlprefiles
|
|
|
|
|
else
|
|
|
|
|
# We should not create a dependency on this library, but we
|
1998-01-26 03:35:11 +08:00
|
|
|
|
# may need any libraries it requires.
|
|
|
|
|
compile_command="$compile_command$dependency_libs"
|
|
|
|
|
finalize_command="$finalize_command$dependency_libs"
|
1998-12-22 01:30:48 +08:00
|
|
|
|
prev=
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# The library was specified with -dlpreopen.
|
|
|
|
|
if test "$prev" = dlprefiles; then
|
|
|
|
|
# Prefer using a static library (so that no silly _DYNAMIC symbols
|
|
|
|
|
# are required to link).
|
|
|
|
|
if test -n "$old_library"; then
|
|
|
|
|
dlprefiles="$dlprefiles $dir/$old_library"
|
|
|
|
|
else
|
|
|
|
|
dlprefiles="$dlprefiles $dir/$linklib"
|
|
|
|
|
fi
|
|
|
|
|
prev=
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test "$build_libtool_libs" = yes && test -n "$library_names"; then
|
|
|
|
|
link_against_libtool_libs="$link_against_libtool_libs $arg"
|
|
|
|
|
if test -n "$shlibpath_var"; then
|
|
|
|
|
# Make sure the rpath contains only unique directories.
|
|
|
|
|
case "$temp_rpath " in
|
|
|
|
|
*" $dir "*) ;;
|
|
|
|
|
*) temp_rpath="$temp_rpath $dir" ;;
|
|
|
|
|
esac
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1997-10-22 13:00:03 +08:00
|
|
|
|
# This is the magic to use -rpath.
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -n "$hardcode_libdir_flag_spec"; then
|
|
|
|
|
if test -n "$hardcode_libdir_separator"; then
|
|
|
|
|
if test -z "$hardcode_libdirs"; then
|
|
|
|
|
# Put the magic libdir with the hardcode flag.
|
|
|
|
|
hardcode_libdirs="$libdir"
|
|
|
|
|
libdir="@HARDCODE_LIBDIRS@"
|
|
|
|
|
else
|
|
|
|
|
# Just accumulate the unique libdirs.
|
1997-10-22 13:00:03 +08:00
|
|
|
|
case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
|
|
|
|
|
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
libdir=
|
|
|
|
|
fi
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test -n "$libdir"; then
|
|
|
|
|
eval flag=\"$hardcode_libdir_flag_spec\"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
compile_command="$compile_command $flag"
|
|
|
|
|
finalize_command="$finalize_command $flag"
|
|
|
|
|
fi
|
|
|
|
|
elif test -n "$runpath_var"; then
|
|
|
|
|
# Do the same for the permanent run path.
|
|
|
|
|
case "$perm_rpath " in
|
|
|
|
|
*" $libdir "*) ;;
|
|
|
|
|
*) perm_rpath="$perm_rpath $libdir" ;;
|
|
|
|
|
esac
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
|
1998-05-18 19:03:32 +08:00
|
|
|
|
lib_linked=yes
|
1998-12-22 01:30:48 +08:00
|
|
|
|
case "$hardcode_action" in
|
|
|
|
|
immediate | unsupported)
|
|
|
|
|
if test "$hardcode_direct" = no; then
|
|
|
|
|
compile_command="$compile_command $dir/$linklib"
|
1998-12-24 01:30:12 +08:00
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-cygwin32* | *-*-mingw32* | *-*-os2*)
|
|
|
|
|
compile_dependencylibs="$compile_dependencylibs -L$dir -l$name"
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
|
1998-12-24 21:40:47 +08:00
|
|
|
|
if test -n "$dllsearchpath"; then
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchpath="$dllsearchpath:$dllsearchdir"
|
1998-12-24 21:40:47 +08:00
|
|
|
|
else
|
1999-01-07 01:51:59 +08:00
|
|
|
|
dllsearchpath="$dllsearchdir"
|
1998-12-24 21:40:47 +08:00
|
|
|
|
fi
|
1998-12-24 01:30:12 +08:00
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
elif test "$hardcode_minus_L" = no; then
|
1998-11-04 14:17:44 +08:00
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-sunos*)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
compile_shlibpath="$compile_shlibpath$dir:"
|
1998-11-04 14:17:44 +08:00
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
compile_command="$compile_command -L$dir -l$name"
|
|
|
|
|
elif test "$hardcode_shlibpath_var" = no; then
|
|
|
|
|
compile_shlibpath="$compile_shlibpath$dir:"
|
|
|
|
|
compile_command="$compile_command -l$name"
|
1998-05-18 19:03:32 +08:00
|
|
|
|
else
|
|
|
|
|
lib_linked=no
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
relink)
|
|
|
|
|
# We need an absolute path.
|
|
|
|
|
case "$dir" in
|
|
|
|
|
/* | [A-Za-z]:[/\\]*) ;;
|
|
|
|
|
*)
|
|
|
|
|
absdir=`cd "$dir" && pwd`
|
|
|
|
|
if test -z "$absdir"; then
|
|
|
|
|
$echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
dir="$absdir"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
if test "$hardcode_direct" = yes; then
|
|
|
|
|
compile_command="$compile_command $dir/$linklib"
|
|
|
|
|
elif test "$hardcode_minus_L" = yes; then
|
|
|
|
|
compile_command="$compile_command -L$dir -l$name"
|
|
|
|
|
elif test "$hardcode_shlibpath_var" = yes; then
|
|
|
|
|
compile_shlibpath="$compile_shlibpath$dir:"
|
|
|
|
|
compile_command="$compile_command -l$name"
|
1998-05-18 19:03:32 +08:00
|
|
|
|
else
|
|
|
|
|
lib_linked=no
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
|
|
|
|
;;
|
1998-05-18 19:03:32 +08:00
|
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
lib_linked=no
|
|
|
|
|
;;
|
1998-12-22 01:30:48 +08:00
|
|
|
|
esac
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1998-05-18 19:03:32 +08:00
|
|
|
|
if test "$lib_linked" != yes; then
|
|
|
|
|
$echo "$modename: configuration error: unsupported hardcode properties"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
1998-12-22 01:30:48 +08:00
|
|
|
|
# Finalize command for both is simple: just hardcode it.
|
|
|
|
|
if test "$hardcode_direct" = yes; then
|
|
|
|
|
finalize_command="$finalize_command $libdir/$linklib"
|
|
|
|
|
elif test "$hardcode_minus_L" = yes; then
|
|
|
|
|
finalize_command="$finalize_command -L$libdir -l$name"
|
|
|
|
|
elif test "$hardcode_shlibpath_var" = yes; then
|
|
|
|
|
finalize_shlibpath="$finalize_shlibpath$libdir:"
|
|
|
|
|
finalize_command="$finalize_command -l$name"
|
|
|
|
|
else
|
|
|
|
|
# We cannot seem to hardcode it, guess we'll fake it.
|
|
|
|
|
finalize_command="$finalize_command -L$libdir -l$name"
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
# Transform directly to old archives if we don't build new libraries.
|
|
|
|
|
if test -n "$pic_flag" && test -z "$old_library"; then
|
|
|
|
|
$echo "$modename: cannot find static library for \`$arg'" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1997-11-07 00:59:31 +08:00
|
|
|
|
# Here we assume that one of hardcode_direct or hardcode_minus_L
|
|
|
|
|
# is not unsupported. This is valid on all known static and
|
|
|
|
|
# shared platforms.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
if test "$hardcode_direct" != unsupported; then
|
|
|
|
|
test -n "$old_library" && linklib="$old_library"
|
|
|
|
|
compile_command="$compile_command $dir/$linklib"
|
|
|
|
|
finalize_command="$finalize_command $dir/$linklib"
|
|
|
|
|
else
|
|
|
|
|
compile_command="$compile_command -L$dir -l$name"
|
|
|
|
|
finalize_command="$finalize_command -L$dir -l$name"
|
|
|
|
|
fi
|
1998-12-22 01:30:48 +08:00
|
|
|
|
fi
|
1998-01-26 03:35:11 +08:00
|
|
|
|
|
|
|
|
|
# Add in any libraries that this one depends upon.
|
|
|
|
|
compile_command="$compile_command$dependency_libs"
|
|
|
|
|
finalize_command="$finalize_command$dependency_libs"
|
1997-09-15 20:31:09 +08:00
|
|
|
|
continue
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
1997-10-20 02:53:23 +08:00
|
|
|
|
# Some other compiler argument.
|
1997-09-15 20:31:09 +08:00
|
|
|
|
*)
|
1997-10-20 02:53:23 +08:00
|
|
|
|
# Unknown arguments in both finalize_command and compile_command need
|
|
|
|
|
# to be aesthetically quoted because they are evaled later.
|
1998-02-06 15:36:38 +08:00
|
|
|
|
arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
|
1997-10-20 02:53:23 +08:00
|
|
|
|
case "$arg" in
|
|
|
|
|
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
|
|
|
|
|
arg="\"$arg\""
|
|
|
|
|
;;
|
|
|
|
|
esac
|
1998-12-22 01:30:48 +08:00
|
|
|
|
;;
|
1997-09-15 20:31:09 +08:00
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# Now actually substitute the argument into the commands.
|
1997-11-28 00:57:00 +08:00
|
|
|
|
if test -n "$arg"; then
|
|
|
|
|
compile_command="$compile_command $arg"
|
|
|
|
|
finalize_command="$finalize_command $arg"
|
|
|
|
|
fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if test -n "$prev"; then
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: the \`$prevarg' option requires an argument" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
1998-12-02 06:35:00 +08:00
|
|
|
|
if test -n "$export_symbols" && test "$module" = yes; then
|
|
|
|
|
$echo "$modename: \`-export-symbols' is not supported for modules"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
1998-07-01 16:12:49 +08:00
|
|
|
|
oldlibs=
|
1998-11-03 01:21:52 +08:00
|
|
|
|
# calculate the name of the file, without its directory
|
|
|
|
|
outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
|
* ltmain.in (libobjs_save, oldobjs): when building an
old-fashioned archive, use a copy of libobjs saved before
convenience libraries are appended
* libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or
unix library import/export primitives; this may be convenient for
people willing to create DLLs
(_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending
on _LTDL_COMPILE_
* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function,
that replaces the current preloaded_symbols list with its
argument, and returns the old value, initially NULL
(dldpre_init): don't refer to dld_preloaded_symbols any more
(dldpre_open, dldpre_sym): search preloaded_symbols
(lt_dlpreopen_default): call lt_dlpreopen with
dld_preloaded_symbols, that is declared as extern; it should be
called from the main program or from some static library without
-no-undefined
(lt_dlerror): new function, that returns the error message for the
last error occurred; the error message is kept in the static
variable last_error
* libltdl/configure.in (enable-ltdl-install): moved back from
enable-install; other packages might use enable-install already,
better have fine grained control over this.
* libltdl/Makefile.am (libltdls.la): discarded
1999-01-06 07:13:44 +08:00
|
|
|
|
libobjs_save="$libobjs"
|
1998-11-03 01:21:52 +08:00
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
case "$output" in
|
|
|
|
|
"")
|
1997-11-29 01:23:28 +08:00
|
|
|
|
$echo "$modename: you must specify an output file" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
|
1998-11-04 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in, ltmain.in: updated and fixed the patches below
1998-11-04 Thomas Tanner <tanner@gmx.de>
* mdemo/*: added new demo to demonstrate building of dlopenend
modules
* tests/Makefile.am, tests/mdemo*: added some tests for mdemo
1998-11-04 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
* demo/configure.in: added AC_EXEEXT macro so that the tests can
work on cywin32/mingw32 hosts. This requires the current CVS
autoconf
1998-11-04 Thomas Tanner <tanner@gmx.de>
* ltmain.in: New flag -export-symbols; new dlpreopen system
* demo/dlmain.c: removed dld_preloaded_symbol_count
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltmain.in: On installation, don't get confused if the same name
appears more than once in the list of library names.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add objext and libext variables. Check for object
suffix. Check for mingw32* as well as cygwin32*. Use objext when
testing compiler. Add support for Visual C++ on cygwin32 when not
using gcc. Add objext, libext, and fix_srcfile_path to generated
libtool script.
* ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path
if it is set. Check for .obj as well as for .o, and for .lib as
well as for .a. Use .${libext} rather than .a when creating old
libraries.
* libtoolize.in: Change initial /bin/sh to @SHELL@.
* libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for
AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the
AC_REQUIRE in AC_CHECK_TOOL.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Look in the right directory for libtool.c in
archive_cmds for cygwin32.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Fix cygwin32 support to avoid using a double
extension, to delete the def file, to set version_type to windows,
and to include versuffix in the DLL name.
* ltmain.in: Add support for a version_type of windows.
1998-11-04 Ian Lance Taylor <ian@cygnus.com>
* ltconfig.in: Add cygwin32 support.
* libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a
cygwin32 host. Pass DLLTOOL and AS to ltconfig.
(AM_SYS_LIBTOOL_CYGWIN32): New macro.
1998-11-04 17:43:29 +08:00
|
|
|
|
*.a | *.lib)
|
1998-07-01 16:12:49 +08:00
|
|
|
|
if test -n "$link_against_libtool_libs"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: error: cannot link libtool libraries into archives" 1>&2
|
|
|
|
|
exit 1
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test -n "$deplibs"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test -n "$dlfiles$dlprefiles"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test -n "$rpath"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1999-01-12 06:31:00 +08:00
|
|
|
|
if test -n "$xrpath"; then
|
|
|
|
|
$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
|
|
|
|
|
fi
|
|
|
|
|
|
1998-07-01 16:12:49 +08:00
|
|
|
|
if test -n "$vinfo"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if test -n "$release"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
|
1998-07-01 16:12:49 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-12-02 06:35:00 +08:00
|
|
|
|
if test -n "$export_symbols"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
|
1998-12-02 06:35:00 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-01-26 03:35:11 +08:00
|
|
|
|
# Now set the variables for building old libraries.
|
|
|
|
|
build_libtool_libs=no
|
1998-07-01 16:12:49 +08:00
|
|
|
|
oldlibs="$output"
|
1998-01-26 03:35:11 +08:00
|
|
|
|
;;
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
*.la)
|
1997-11-07 00:59:31 +08:00
|
|
|
|
# Make sure we only generate libraries of the form `libNAME.la'.
|
1998-11-04 10:09:16 +08:00
|
|
|
|
case "$outputname" in
|
1998-12-19 06:23:51 +08:00
|
|
|
|
lib*)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
|
|
|
|
|
eval libname=\"$libname_spec\"
|
|
|
|
|
;;
|
1997-11-07 00:59:31 +08:00
|
|
|
|
*)
|
1998-12-22 01:30:48 +08:00
|
|
|
|
if test "$module" = no; then
|
|
|
|
|
$echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
|
|
|
|
|
$echo "$help" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if test "$need_lib_prefix" = yes; then
|
|
|
|
|
# Add the "lib" prefix for modules if required
|
|
|
|
|
name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
|
|
|
|
|
eval libname=\"$libname_spec\"
|
|
|
|
|
else
|
|
|
|
|
libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
|
|
|
|
|
fi
|
|
|
|
|
;;
|
1997-11-07 00:59:31 +08:00
|
|
|
|
esac
|
|
|
|
|
|
1999-01-12 06:31:00 +08:00
|
|
|
|
if test -n "$xrpath"; then
|
|
|
|
|
temp_xrpath=
|
|
|
|
|
for libdir in $xrpath; do
|
|
|
|
|
temp_xrpath="$temp_xrpath -R$libdir"
|
|
|
|
|
done
|
|
|
|
|
deplibs="$temp_xrpath $deplibs"
|
|
|
|
|
fi
|
|
|
|
|
|
1998-11-04 10:09:16 +08:00
|
|
|
|
output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
|
|
|
|
|
if test "X$output_objdir" = "X$output"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
output_objdir="$objdir"
|
1998-11-04 10:09:16 +08:00
|
|
|
|
else
|
1998-12-22 01:30:48 +08:00
|
|
|
|
output_objdir="$output_objdir/$objdir"
|
1998-11-04 10:09:16 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# All the library-specific variables (install_libdir is set above).
|
|
|
|
|
library_names=
|
|
|
|
|
old_library=
|
|
|
|
|
dlname=
|
|
|
|
|
|
|
|
|
|
if test -n "$objs"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
|
|
|
|
|
exit 1
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1998-12-24 01:30:12 +08:00
|
|
|
|
# If the following section is uncommented, then it is impossible to
|
|
|
|
|
# link with ltlibrary deplibs...
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
# How the heck are we supposed to write a wrapper for a shared library?
|
1998-12-24 01:30:12 +08:00
|
|
|
|
#if test -n "$link_against_libtool_libs"; then
|
|
|
|
|
# $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
|
|
|
|
|
# exit 1
|
|
|
|
|
#fi
|
1997-09-15 20:31:09 +08:00
|
|
|
|
|
|
|
|
|
if test -n "$dlfiles$dlprefiles"; then
|
1998-12-22 01:30:48 +08:00
|
|
|
|
$echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
|
1997-09-15 20:31:09 +08:00
|
|
|
|
fi
|
|
|
|
|
|
1999-01-14 04:09:43 +08:00
|
|
|
|
set d |