mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-27 06:09:57 +08:00
* ltmain.in: Always use $echo not echo for consistency.
Changes for darwin building. Warn if linking against libs linked with -module. Use module_cmds if available and building a module, move convenience double lib check, * libltdl/ltdl.c: ltdl support for darwin (first blush) * libltdl/README: note that darwin is supported * ltdl.m4: Changes for darwin, and for new shrext * libtool.m4: Changed the way darwin builds stuff (make check passes) added module_cmds, module_expsym_cmds and hardcode_automatic and put them in the libtool script. check for zsh's removal of escapes. Allow libraries to be stripped on darwin. * TODO: Remove the todo about zsh's removal of excapes. note that zsh echo works perfectly well, eval is screwed up. Seems to be fixed in latest zsh. * THANKS: added self :) * f77demo/configure.ac: Use config.h or it doesn't work.
This commit is contained in:
parent
49f2fd2f72
commit
97ade8120f
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
||||
2003-03-20 Peter O'Gorman <peter@pogma.com>
|
||||
|
||||
* ltmain.in: Always use $echo not echo for consistency.
|
||||
Changes for darwin building. Warn if linking against libs linked
|
||||
with -module. Use module_cmds if available and building a module,
|
||||
move convenience double lib check,
|
||||
* libltdl/ltdl.c: ltdl support for darwin (first blush)
|
||||
* libltdl/README: note that darwin is supported
|
||||
* ltdl.m4: Changes for darwin, and for new shrext
|
||||
* libtool.m4: Changed the way darwin builds stuff (make check passes)
|
||||
added module_cmds, module_expsym_cmds and hardcode_automatic and put
|
||||
them in the libtool script. check for zsh's removal of escapes. Allow
|
||||
libraries to be stripped on darwin.
|
||||
* TODO: Remove the todo about zsh's removal of excapes. note that zsh
|
||||
echo works perfectly well, eval is screwed up. Seems to be fixed in
|
||||
latest zsh.
|
||||
* THANKS: added self :)
|
||||
* f77demo/configure.ac: Use config.h or it doesn't work.
|
||||
|
||||
2003-03-19 Robert Boehne <rboehne@gnu.org>
|
||||
|
||||
* libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that
|
||||
|
1
THANKS
1
THANKS
@ -40,6 +40,7 @@ Olly Betts olly@muscat.co.uk
|
||||
Ossama Othman othman@cs.wustl.edu
|
||||
Paul Eggert eggert@twinsun.com
|
||||
Peter Eisentraut peter_e@gmx.net
|
||||
Peter O'Gorman peter@pogma.com
|
||||
Benjamin Reed ranger@befunk.com
|
||||
Pavel Roskin pavel_roskin@geocities.com
|
||||
Rainer Orth ro@TechFak.Uni-Bielefeld.DE
|
||||
|
3
TODO
3
TODO
@ -1,9 +1,6 @@
|
||||
In the near future:
|
||||
********************
|
||||
|
||||
* Figure out why zsh echo builtin's removal of \ escapes is not detected
|
||||
by libtool's echo selector.
|
||||
|
||||
* Port the migration of all code from ltconfig into libtool.m4 to the
|
||||
multi-language-branch, so that CVS automake can remove its references
|
||||
to ltconfig.
|
||||
|
@ -53,7 +53,7 @@ AC_SUBST([TIMESTAMP])
|
||||
## Automake Initialisation. ##
|
||||
## ------------------------ ##
|
||||
AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION)
|
||||
|
||||
AM_CONFIG_HEADER([config.h:config-h.in])
|
||||
|
||||
|
||||
## ------------------------------- ##
|
||||
|
@ -6,4 +6,5 @@ It supports the following dlopen interfaces:
|
||||
* LoadLibrary (Win16 and Win32)
|
||||
* load_add_on (BeOS)
|
||||
* GNU DLD (emulates dynamic linking for static libraries)
|
||||
* dyld (darwin/Mac OS X)
|
||||
* libtool's dlpreopen
|
||||
|
346
libltdl/ltdl.c
346
libltdl/ltdl.c
@ -1575,8 +1575,350 @@ static struct lt_user_dlloader sys_dld = {
|
||||
|
||||
#endif /* HAVE_DLD */
|
||||
|
||||
/* --- DYLD() MACOSX/DARWIN INTERFACE LOADER --- */
|
||||
#if HAVE_DYLD
|
||||
|
||||
|
||||
#if HAVE_MACH_O_DYLD_H
|
||||
# include <mach-o/dyld.h>
|
||||
#endif
|
||||
#include <mach-o/getsect.h>
|
||||
/*
|
||||
sectname __mod_term_func
|
||||
segname __DATA
|
||||
*/
|
||||
|
||||
/* We have to put some stuff here that isn't in older dyld.h files */
|
||||
#ifndef ENUM_DYLD_BOOL
|
||||
# define ENUM_DYLD_BOOL
|
||||
# undef FALSE
|
||||
# undef TRUE
|
||||
enum DYLD_BOOL {
|
||||
FALSE,
|
||||
TRUE
|
||||
};
|
||||
#endif
|
||||
#ifndef LC_REQ_DYLD
|
||||
# define LC_REQ_DYLD 0x80000000
|
||||
#endif
|
||||
#ifndef LC_LOAD_WEAK_DYLIB
|
||||
# define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD)
|
||||
#endif
|
||||
static const struct mach_header * (*ltdl_NSAddImage)(const char *image_name, unsigned long options) = 0;
|
||||
static NSSymbol (*ltdl_NSLookupSymbolInImage)(const struct mach_header *image,const char *symbolName, unsigned long options) = 0;
|
||||
static enum DYLD_BOOL (*ltdl_NSIsSymbolNameDefinedInImage)(const struct mach_header *image, const char *symbolName) = 0;
|
||||
static enum DYLD_BOOL (*ltdl_NSMakePrivateModulePublic)(NSModule module) = 0;
|
||||
|
||||
#ifndef NSADDIMAGE_OPTION_NONE
|
||||
#define NSADDIMAGE_OPTION_NONE 0x0
|
||||
#endif
|
||||
#ifndef NSADDIMAGE_OPTION_RETURN_ON_ERROR
|
||||
#define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1
|
||||
#endif
|
||||
#ifndef NSADDIMAGE_OPTION_WITH_SEARCHING
|
||||
#define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2
|
||||
#endif
|
||||
#ifndef NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED
|
||||
#define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4
|
||||
#endif
|
||||
#ifndef NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME
|
||||
#define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8
|
||||
#endif
|
||||
#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND
|
||||
#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0
|
||||
#endif
|
||||
#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW
|
||||
#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1
|
||||
#endif
|
||||
#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY
|
||||
#define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2
|
||||
#endif
|
||||
#ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR
|
||||
#define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4
|
||||
#endif
|
||||
|
||||
|
||||
static const char *
|
||||
lt_int_dyld_error(othererror)
|
||||
char* othererror;
|
||||
{
|
||||
/* return the dyld error string, or the passed in error string if none */
|
||||
NSLinkEditErrors ler;
|
||||
int lerno;
|
||||
const char *errstr;
|
||||
const char *file;
|
||||
NSLinkEditError(&ler,&lerno,&file,&errstr);
|
||||
if (!errstr || !strlen(errstr)) errstr = othererror;
|
||||
return errstr;
|
||||
}
|
||||
|
||||
static const struct mach_header *
|
||||
lt_int_dyld_get_mach_header_from_nsmodule(module)
|
||||
NSModule module;
|
||||
{
|
||||
/* There should probably be an apple dyld api for this */
|
||||
int i=_dyld_image_count();
|
||||
int j;
|
||||
const char *modname=NSNameOfModule(module);
|
||||
const struct mach_header *mh=NULL;
|
||||
if (!modname) return NULL;
|
||||
for (j = 0; j < i; j++)
|
||||
{
|
||||
if (!strcmp(_dyld_get_image_name(j),modname))
|
||||
{
|
||||
mh=_dyld_get_image_header(j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return mh;
|
||||
}
|
||||
|
||||
static const char* lt_int_dyld_lib_install_name(mh)
|
||||
const struct mach_header *mh;
|
||||
{
|
||||
/* NSAddImage is also used to get the loaded image, but it only works if the lib
|
||||
is installed, for uninstalled libs we need to check the install_names against
|
||||
each other. Note that this is still broken if DYLD_IMAGE_SUFFIX is set and a
|
||||
different lib was loaded as a result
|
||||
*/
|
||||
int j;
|
||||
struct load_command *lc;
|
||||
unsigned long offset = sizeof(struct mach_header);
|
||||
const struct mach_header *mh1;
|
||||
const char* retStr=NULL;
|
||||
for (j = 0; j < mh->ncmds; j++)
|
||||
{
|
||||
lc = (struct load_command*)(((unsigned long)mh) + offset);
|
||||
if (LC_ID_DYLIB == lc->cmd)
|
||||
{
|
||||
retStr=(char*)(((struct dylib_command*)lc)->dylib.name.offset +
|
||||
(unsigned long)lc);
|
||||
}
|
||||
offset += lc->cmdsize;
|
||||
}
|
||||
return retStr;
|
||||
}
|
||||
|
||||
static const struct mach_header *
|
||||
lt_int_dyld_match_loaded_lib_by_install_name(const char *name)
|
||||
{
|
||||
int i=_dyld_image_count();
|
||||
int j;
|
||||
const struct mach_header *mh=NULL;
|
||||
const char *id=NULL;
|
||||
for (j = 0; j < i; j++)
|
||||
{
|
||||
id=lt_int_dyld_lib_install_name(_dyld_get_image_header(j));
|
||||
if ((id) && (!strcmp(id,name)))
|
||||
{
|
||||
mh=_dyld_get_image_header(j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return mh;
|
||||
}
|
||||
|
||||
static NSSymbol
|
||||
lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh)
|
||||
const char *symbol;
|
||||
const struct mach_header *mh;
|
||||
{
|
||||
/* Safe to assume our mh is good */
|
||||
int j;
|
||||
struct load_command *lc;
|
||||
unsigned long offset = sizeof(struct mach_header);
|
||||
NSSymbol retSym = 0;
|
||||
const struct mach_header *mh1;
|
||||
fprintf(stderr,"Symbol: %s\n",symbol);
|
||||
if ((ltdl_NSLookupSymbolInImage) && NSIsSymbolNameDefined(symbol) )
|
||||
{
|
||||
for (j = 0; j < mh->ncmds; j++)
|
||||
{
|
||||
lc = (struct load_command*)(((unsigned long)mh) + offset);
|
||||
if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd))
|
||||
{
|
||||
fprintf(stderr,"Symbol %s\n",(char*)(((struct dylib_command*)lc)->dylib.name.offset +
|
||||
(unsigned long)lc));
|
||||
mh1=lt_int_dyld_match_loaded_lib_by_install_name((char*)(((struct dylib_command*)lc)->dylib.name.offset +
|
||||
(unsigned long)lc));
|
||||
if (!mh1)
|
||||
{
|
||||
/* Maybe NSAddImage can find it */
|
||||
mh1=ltdl_NSAddImage((char*)(((struct dylib_command*)lc)->dylib.name.offset +
|
||||
(unsigned long)lc),
|
||||
NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED +
|
||||
NSADDIMAGE_OPTION_WITH_SEARCHING +
|
||||
NSADDIMAGE_OPTION_RETURN_ON_ERROR );
|
||||
}
|
||||
if (mh1)
|
||||
{
|
||||
retSym = ltdl_NSLookupSymbolInImage(mh1,
|
||||
symbol,
|
||||
NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW
|
||||
| NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR
|
||||
);
|
||||
if (retSym) break;
|
||||
}
|
||||
}
|
||||
offset += lc->cmdsize;
|
||||
}
|
||||
}
|
||||
return retSym;
|
||||
}
|
||||
|
||||
static int
|
||||
sys_dyld_init()
|
||||
{
|
||||
int retCode = 0;
|
||||
int err = 0;
|
||||
if (!_dyld_present()) {
|
||||
retCode=1;
|
||||
}
|
||||
else {
|
||||
err = _dyld_func_lookup("__dyld_NSAddImage",(unsigned long*)<dl_NSAddImage);
|
||||
err = _dyld_func_lookup("__dyld_NSLookupSymbolInImage",(unsigned long*)<dl_NSLookupSymbolInImage);
|
||||
err = _dyld_func_lookup("__dyld_NSIsSymbolNameDefinedInImage",(unsigned long*)<dl_NSIsSymbolNameDefinedInImage);
|
||||
err = _dyld_func_lookup("__dyld_NSMakePrivateModulePublic",(unsigned long*)<dl_NSMakePrivateModulePublic);
|
||||
}
|
||||
return retCode;
|
||||
}
|
||||
|
||||
static lt_module
|
||||
sys_dyld_open (loader_data, filename)
|
||||
lt_user_data loader_data;
|
||||
const char *filename;
|
||||
{
|
||||
lt_module module = 0;
|
||||
NSObjectFileImage ofi = 0;
|
||||
NSObjectFileImageReturnCode ofirc;
|
||||
|
||||
if (!filename)
|
||||
return (lt_module)-1;
|
||||
ofirc = NSCreateObjectFileImageFromFile(filename, &ofi);
|
||||
switch (ofirc)
|
||||
{
|
||||
case NSObjectFileImageSuccess:
|
||||
module = NSLinkModule(ofi, filename,
|
||||
NSLINKMODULE_OPTION_RETURN_ON_ERROR
|
||||
| NSLINKMODULE_OPTION_PRIVATE
|
||||
| NSLINKMODULE_OPTION_BINDNOW);
|
||||
NSDestroyObjectFileImage(ofi);
|
||||
if (module)
|
||||
ltdl_NSMakePrivateModulePublic(module);
|
||||
break;
|
||||
case NSObjectFileImageInappropriateFile:
|
||||
if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage)
|
||||
{
|
||||
module = (lt_module)ltdl_NSAddImage(filename, NSADDIMAGE_OPTION_RETURN_ON_ERROR);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN)));
|
||||
return 0;
|
||||
}
|
||||
if (!module) LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN)));
|
||||
return module;
|
||||
}
|
||||
|
||||
static int
|
||||
sys_dyld_close (loader_data, module)
|
||||
lt_user_data loader_data;
|
||||
lt_module module;
|
||||
{
|
||||
int retCode = 0;
|
||||
int flags = 0;
|
||||
unsigned long size=0;
|
||||
if (module == (lt_module)-1) return 0;
|
||||
#ifdef __BIG_ENDIAN__
|
||||
if (((struct mach_header *)module)->magic == MH_MAGIC)
|
||||
#else
|
||||
if (((struct mach_header *)module)->magic == MH_CIGAM)
|
||||
#endif
|
||||
{
|
||||
LT_DLMUTEX_SETERROR("Can not close a dylib");
|
||||
retCode = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
#if 1
|
||||
/* Currently, if a module contains c++ static destructors and it is unloaded, we
|
||||
get a segfault in atexit(), due to compiler and dynamic loader differences of
|
||||
opinion, this works around that.
|
||||
*/
|
||||
if ((const struct section *)NULL !=
|
||||
getsectbynamefromheader(lt_int_dyld_get_mach_header_from_nsmodule(module),
|
||||
"__DATA","__mod_term_func"))
|
||||
{
|
||||
flags += NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED;
|
||||
}
|
||||
#endif
|
||||
#ifdef __ppc__
|
||||
flags += NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES;
|
||||
#endif
|
||||
retCode = NSUnLinkModule(module,flags);
|
||||
|
||||
}
|
||||
|
||||
return retCode;
|
||||
}
|
||||
|
||||
static lt_ptr
|
||||
sys_dyld_sym (loader_data, module, symbol)
|
||||
lt_user_data loader_data;
|
||||
lt_module module;
|
||||
const char *symbol;
|
||||
{
|
||||
lt_ptr address = 0;
|
||||
NSSymbol *nssym = 0;
|
||||
void *unused;
|
||||
const struct mach_header *mh=NULL;
|
||||
if (module == (lt_module)-1)
|
||||
{
|
||||
_dyld_lookup_and_bind(symbol,(unsigned long*)&address,&unused);
|
||||
return address;
|
||||
}
|
||||
#ifdef __BIG_ENDIAN__
|
||||
if (((struct mach_header *)module)->magic == MH_MAGIC)
|
||||
#else
|
||||
if (((struct mach_header *)module)->magic == MH_CIGAM)
|
||||
#endif
|
||||
{
|
||||
if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage)
|
||||
{
|
||||
mh=module;
|
||||
if (ltdl_NSIsSymbolNameDefinedInImage((struct mach_header*)module,symbol))
|
||||
{
|
||||
nssym = ltdl_NSLookupSymbolInImage((struct mach_header*)module,
|
||||
symbol,
|
||||
NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW
|
||||
| NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
nssym = NSLookupSymbolInModule(module, symbol);
|
||||
}
|
||||
if (!nssym)
|
||||
{
|
||||
if (!mh) mh=lt_int_dyld_get_mach_header_from_nsmodule(module);
|
||||
nssym = lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh);
|
||||
}
|
||||
if (!nssym)
|
||||
{
|
||||
LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(SYMBOL_NOT_FOUND)));
|
||||
return NULL;
|
||||
}
|
||||
return NSAddressOfSymbol(nssym);
|
||||
}
|
||||
|
||||
static struct lt_user_dlloader sys_dyld =
|
||||
{ "_", sys_dyld_open, sys_dyld_close, sys_dyld_sym, 0, 0 };
|
||||
|
||||
|
||||
#endif /* HAVE_DYLD */
|
||||
|
||||
|
||||
/* --- DLPREOPEN() INTERFACE LOADER --- */
|
||||
|
||||
@ -1871,6 +2213,10 @@ lt_dlinit ()
|
||||
#endif
|
||||
#if HAVE_DLD
|
||||
errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dld, "dld");
|
||||
#endif
|
||||
#if HAVE_DYLD
|
||||
errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dyld, "dyld");
|
||||
errors += sys_dyld_init();
|
||||
#endif
|
||||
errors += lt_dlloader_add (lt_dlloader_next (0), &presym, "dlpreload");
|
||||
|
||||
|
108
libtool.m4
vendored
108
libtool.m4
vendored
@ -298,7 +298,9 @@ if test "X[$]1" = X--no-reexec; then
|
||||
elif test "X[$]1" = X--fallback-echo; then
|
||||
# Avoid inline document here, it may be left over
|
||||
:
|
||||
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
|
||||
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
||||
eval echo_test_var=`$echo '\\\t'` &&
|
||||
test "X$echo_test_var" = "X\t"; then
|
||||
# Yippee, $echo works!
|
||||
:
|
||||
else
|
||||
@ -334,6 +336,8 @@ if test "X${echo_test_string+set}" != Xset; then
|
||||
fi
|
||||
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
||||
eval echo_test_var=`$echo '\\\t'` &&
|
||||
test "X$echo_test_var" = "X\t" &&
|
||||
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
|
||||
test "X$echo_testing_string" = "X$echo_test_string"; then
|
||||
:
|
||||
@ -349,6 +353,8 @@ else
|
||||
IFS="$lt_save_ifs"
|
||||
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
|
||||
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
|
||||
eval echo_test_var=`$dir/echo '\\\t'` &&
|
||||
test "X$echo_test_var" = "X\t" &&
|
||||
echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
|
||||
test "X$echo_testing_string" = "X$echo_test_string"; then
|
||||
echo="$dir/echo"
|
||||
@ -360,6 +366,8 @@ else
|
||||
if test "X$echo" = Xecho; then
|
||||
# We didn't find a better echo, so look for alternatives.
|
||||
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
|
||||
eval echo_test_var=`print -r '\\\t'` &&
|
||||
test "X$echo_test_var" = "X\t" &&
|
||||
echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
|
||||
test "X$echo_testing_string" = "X$echo_test_string"; then
|
||||
# This shell has a builtin print -r that does the trick.
|
||||
@ -376,6 +384,8 @@ else
|
||||
# Try using printf.
|
||||
echo='printf %s\n'
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
|
||||
eval echo_test_var=`$echo '\\\t'` &&
|
||||
test "X$echo_test_var" = "X\t" &&
|
||||
echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
|
||||
test "X$echo_testing_string" = "X$echo_test_string"; then
|
||||
# Cool, printf works
|
||||
@ -823,6 +833,16 @@ else
|
||||
lt_cv_dlopen_libs=
|
||||
;;
|
||||
|
||||
darwin*)
|
||||
# if libdl is installed we need to link against it
|
||||
AC_CHECK_LIB([dl], [dlopen],
|
||||
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
|
||||
lt_cv_dlopen="dyld"
|
||||
lt_cv_dlopen_libs=
|
||||
lt_cv_dlopen_self=yes
|
||||
])
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_CHECK_FUNC([shl_load],
|
||||
[lt_cv_dlopen="shl_load"],
|
||||
@ -1001,7 +1021,8 @@ AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
|
||||
[AC_MSG_CHECKING([how to hardcode library paths into programs])
|
||||
_LT_AC_TAGVAR(hardcode_action, $1)=
|
||||
if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
|
||||
test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then
|
||||
test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \
|
||||
test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
|
||||
|
||||
# We can hardcode non-existant directories.
|
||||
if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
|
||||
@ -1045,7 +1066,20 @@ if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
|
||||
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
case $host_os in
|
||||
darwin*)
|
||||
if test -n "$STRIP" ; then
|
||||
striplib="$STRIP -x"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
])# AC_LIBTOOL_SYS_LIB_STRIP
|
||||
|
||||
@ -2063,6 +2097,7 @@ cygwin* | mingw* | pw32*)
|
||||
;;
|
||||
|
||||
darwin* | rhapsody*)
|
||||
# this will be overwritten by pass_all, but leave it in just in case
|
||||
lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
case "$host_os" in
|
||||
@ -2073,6 +2108,7 @@ darwin* | rhapsody*)
|
||||
lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
|
||||
;;
|
||||
esac
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
freebsd*)
|
||||
@ -2278,7 +2314,7 @@ AC_DEFUN([AC_CHECK_LIBM],
|
||||
LIBM=
|
||||
case $host in
|
||||
*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
|
||||
# These system don't have libm
|
||||
# These system don't have libm, or don't need it
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
@ -2518,23 +2554,26 @@ aix4*)
|
||||
test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
|
||||
;;
|
||||
esac
|
||||
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
# FIXME: Relying on posixy $() will cause problems for
|
||||
# cross-compilation, but unfortunately the echo tests do not
|
||||
# yet detect zsh echo's removal of \ escapes. Also zsh mangles
|
||||
# `"' quotes if we put them in here... so don't!
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
if test -z ${ZSH_VERSION} ; then
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring) && strip -s $output_objdir/${libname}-symbols.expsym -u ${lib}'
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
#just in case a default was set somewhere
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=''
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)=''
|
||||
fi
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||
;;
|
||||
esac
|
||||
AC_MSG_RESULT([$enable_shared])
|
||||
@ -2572,6 +2611,9 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
|
||||
_LT_AC_TAGVAR(module_cmds, $1)=
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
|
||||
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
|
||||
_LT_AC_TAGVAR(no_undefined_flag, $1)=
|
||||
@ -2843,23 +2885,22 @@ case $host_os in
|
||||
test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
|
||||
;;
|
||||
esac
|
||||
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
# FIXME: Relying on posixy $() will cause problems for
|
||||
# cross-compilation, but unfortunately the echo tests do not
|
||||
# yet detect zsh echo's removal of \ escapes. Also zsh mangles
|
||||
# `"' quotes if we put them in here... so don't!
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs $deplibs && $CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
|
||||
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
if test -z ${ZSH_VERSION} ; then
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring) && strip -s $output_objdir/${libname}-symbols.expsym -u ${lib}'
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs $deplibs && $CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags -install_name $rpath/$soname $verstring && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
#just in case a default was set somewhere
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=''
|
||||
fi
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||
;;
|
||||
|
||||
dgux*)
|
||||
@ -3576,6 +3617,9 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
|
||||
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
|
||||
_LT_AC_TAGVAR(module_cmds, $1)=
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
|
||||
_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
|
||||
_LT_AC_TAGVAR(no_undefined_flag, $1)=
|
||||
@ -3798,6 +3842,9 @@ if test -f "$ltmain"; then
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
|
||||
_LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1) \
|
||||
_LT_AC_TAGVAR(module_cmds, $1) \
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1) \
|
||||
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
|
||||
_LT_AC_TAGVAR(exclude_expsyms, $1) \
|
||||
_LT_AC_TAGVAR(include_expsyms, $1); do
|
||||
@ -3807,6 +3854,8 @@ if test -f "$ltmain"; then
|
||||
_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(archive_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(module_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
|
||||
_LT_AC_TAGVAR(export_symbols_cmds, $1) | \
|
||||
extract_expsyms_cmds | reload_cmds | finish_cmds | \
|
||||
@ -4047,6 +4096,10 @@ archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
|
||||
postinstall_cmds=$lt_postinstall_cmds
|
||||
postuninstall_cmds=$lt_postuninstall_cmds
|
||||
|
||||
# Commands used to build a loadable module (assumed same as above if empty)
|
||||
module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
|
||||
module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
|
||||
|
||||
# Commands to strip libraries.
|
||||
old_striplib=$lt_old_striplib
|
||||
striplib=$lt_striplib
|
||||
@ -4137,6 +4190,10 @@ hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
|
||||
# the resulting binary.
|
||||
hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
|
||||
|
||||
# Set to yes if building a shared library automatically hardcodes DIR into the library
|
||||
# and all subsequent libraries and executables linked against it.
|
||||
hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
|
||||
|
||||
# Variables whose values should be saved in libtool wrapper scripts and
|
||||
# restored at relink time.
|
||||
variables_saved_for_relink="$variables_saved_for_relink"
|
||||
@ -4919,6 +4976,9 @@ ifelse([$1],[CXX],[
|
||||
_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=no
|
||||
_LT_AC_TAGVAR(module_cmds, $1)=
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)=
|
||||
_LT_AC_TAGVAR(always_export_symbols, $1)=no
|
||||
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
||||
# include_expsyms should be a list of space-separated symbols to be *always*
|
||||
@ -5258,23 +5318,27 @@ EOF
|
||||
test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
|
||||
;;
|
||||
esac
|
||||
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
# FIXME: Relying on posixy $() will cause problems for
|
||||
# cross-compilation, but unfortunately the echo tests do not
|
||||
# yet detect zsh echo's removal of \ escapes. Also zsh mangles
|
||||
# `"' quotes if we put them in here... so don't!
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs $deplibs && $CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
|
||||
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
if test -z ${ZSH_VERSION} ; then
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$compiler_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring) && strip -s $output_objdir/${libname}-symbols.expsym -u ${lib}'
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs $deplibs && $CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags -install_name $rpath/$soname $verstring && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym && $CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags && nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
#just in case a default was set somewhere
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=''
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)=''
|
||||
fi
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||
;;
|
||||
|
||||
dgux*)
|
||||
|
25
ltdl.m4
25
ltdl.m4
@ -95,7 +95,7 @@ AC_REQUIRE([AC_LTDL_FUNC_ARGZ])
|
||||
|
||||
AC_CHECK_HEADERS([assert.h ctype.h errno.h malloc.h memory.h stdlib.h \
|
||||
stdio.h unistd.h])
|
||||
AC_CHECK_HEADERS([dl.h sys/dl.h dld.h])
|
||||
AC_CHECK_HEADERS([dl.h sys/dl.h dld.h mach-o/dyld.h])
|
||||
AC_CHECK_HEADERS([string.h strings.h], [break])
|
||||
|
||||
AC_CHECK_FUNCS([strchr index], [break])
|
||||
@ -205,22 +205,12 @@ fi
|
||||
# ----------------
|
||||
AC_DEFUN([AC_LTDL_SHLIBEXT],
|
||||
[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
|
||||
AC_CACHE_CHECK([which extension is used for shared libraries],
|
||||
AC_CACHE_CHECK([which extension is used for loadable modules],
|
||||
[libltdl_cv_shlibext],
|
||||
[ac_last=
|
||||
for ac_spec in $library_names_spec; do
|
||||
ac_last="$ac_spec"
|
||||
done
|
||||
echo "$ac_last" | [sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'] > conftest
|
||||
libltdl_cv_shlibext=`cat conftest`
|
||||
rm -f conftest
|
||||
[
|
||||
module=yes
|
||||
eval libltdl_cv_shlibext=$shrext
|
||||
])
|
||||
# The above does not work on darwin, due to the test's in the library_names_spec
|
||||
# The test description should probably say "which extension is used for loadable
|
||||
# modules"
|
||||
case "$host_os" in
|
||||
darwin*) libltdl_cv_shlibext=".so" ;;
|
||||
esac
|
||||
if test -n "$libltdl_cv_shlibext"; then
|
||||
AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext",
|
||||
[Define to the extension used for shared libraries, say, ".so".])
|
||||
@ -339,7 +329,10 @@ AC_CHECK_FUNC([shl_load],
|
||||
[AC_CHECK_LIB([dld], [dld_link],
|
||||
[AC_DEFINE([HAVE_DLD], [1],
|
||||
[Define if you have the GNU dld library.])
|
||||
LIBADD_DL="$LIBADD_DL -ldld"
|
||||
LIBADD_DL="$LIBADD_DL -ldld"],
|
||||
[AC_CHECK_FUNC([_dyld_func_lookup],
|
||||
[AC_DEFINE([HAVE_DYLD], [1],
|
||||
[Define if you have the _dyld_func_lookup function.])])
|
||||
])
|
||||
])
|
||||
])
|
||||
|
394
ltmain.in
394
ltmain.in
@ -97,8 +97,8 @@ fi
|
||||
: ${IFS=" "}
|
||||
|
||||
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
|
||||
echo "$modename: not configured to build any kind of library" 1>&2
|
||||
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
||||
$echo "$modename: not configured to build any kind of library" 1>&2
|
||||
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -151,13 +151,12 @@ win32_libid () {
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
echo $win32_libid_type
|
||||
$echo $win32_libid_type
|
||||
}
|
||||
|
||||
# End of Shell function definitions
|
||||
#####################################
|
||||
|
||||
|
||||
# Parse our command line options once, thoroughly.
|
||||
while test "$#" -gt 0
|
||||
do
|
||||
@ -181,7 +180,7 @@ do
|
||||
# Check whether tagname contains only valid characters
|
||||
case $tagname in
|
||||
*[!-_A-Za-z0-9,/]*)
|
||||
echo "$progname: invalid tag name: $tagname" 1>&2
|
||||
$echo "$progname: invalid tag name: $tagname" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -197,7 +196,7 @@ do
|
||||
# Evaluate the configuration.
|
||||
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
|
||||
else
|
||||
echo "$progname: ignoring unknown tag $tagname" 1>&2
|
||||
$echo "$progname: ignoring unknown tag $tagname" 1>&2
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@ -219,11 +218,11 @@ do
|
||||
;;
|
||||
|
||||
--version)
|
||||
echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
|
||||
echo
|
||||
echo "Copyright (C) 2003 Free Software Foundation, Inc."
|
||||
echo "This is free software; see the source for copying conditions. There is NO"
|
||||
echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
$echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
|
||||
$echo
|
||||
$echo "Copyright (C) 2003 Free Software Foundation, Inc."
|
||||
$echo "This is free software; see the source for copying conditions. There is NO"
|
||||
$echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
exit 0
|
||||
;;
|
||||
|
||||
@ -237,7 +236,7 @@ do
|
||||
;;
|
||||
|
||||
--debug)
|
||||
echo "$progname: enabling shell trace mode"
|
||||
$echo "$progname: enabling shell trace mode"
|
||||
set -x
|
||||
;;
|
||||
|
||||
@ -246,16 +245,16 @@ do
|
||||
;;
|
||||
|
||||
--features)
|
||||
echo "host: $host"
|
||||
$echo "host: $host"
|
||||
if test "$build_libtool_libs" = yes; then
|
||||
echo "enable shared libraries"
|
||||
$echo "enable shared libraries"
|
||||
else
|
||||
echo "disable shared libraries"
|
||||
$echo "disable shared libraries"
|
||||
fi
|
||||
if test "$build_old_libs" = yes; then
|
||||
echo "enable static libraries"
|
||||
$echo "enable static libraries"
|
||||
else
|
||||
echo "disable static libraries"
|
||||
$echo "disable static libraries"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
@ -547,11 +546,11 @@ if test -z "$show_help"; then
|
||||
# was found and let the user know that the "--tag" command
|
||||
# line option must be used.
|
||||
if test -z "$tagname"; then
|
||||
echo "$modename: unable to infer tagged configuration"
|
||||
echo "$modename: specify a tag with \`--tag'" 1>&2
|
||||
$echo "$modename: unable to infer tagged configuration"
|
||||
$echo "$modename: specify a tag with \`--tag'" 1>&2
|
||||
exit 1
|
||||
# else
|
||||
# echo "$modename: using $tagname tagged configuration"
|
||||
# $echo "$modename: using $tagname tagged configuration"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@ -615,7 +614,7 @@ if test -z "$show_help"; then
|
||||
done
|
||||
elif test "$need_locks" = warn; then
|
||||
if test -f "$lockfile"; then
|
||||
echo "\
|
||||
$echo "\
|
||||
*** ERROR, $lockfile exists and contains:
|
||||
`cat $lockfile 2>/dev/null`
|
||||
|
||||
@ -629,7 +628,7 @@ compiler."
|
||||
$run $rm $removelist
|
||||
exit 1
|
||||
fi
|
||||
echo $srcfile > "$lockfile"
|
||||
$echo $srcfile > "$lockfile"
|
||||
fi
|
||||
|
||||
if test -n "$fix_srcfile_path"; then
|
||||
@ -687,7 +686,7 @@ EOF
|
||||
|
||||
if test "$need_locks" = warn &&
|
||||
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
|
||||
echo "\
|
||||
$echo "\
|
||||
*** ERROR, $lockfile contains:
|
||||
`cat $lockfile 2>/dev/null`
|
||||
|
||||
@ -757,7 +756,7 @@ EOF
|
||||
|
||||
if test "$need_locks" = warn &&
|
||||
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
|
||||
echo "\
|
||||
$echo "\
|
||||
*** ERROR, $lockfile contains:
|
||||
`cat $lockfile 2>/dev/null`
|
||||
|
||||
@ -1645,11 +1644,11 @@ EOF
|
||||
# was found and let the user know that the "--tag" command
|
||||
# line option must be used.
|
||||
if test -z "$tagname"; then
|
||||
echo "$modename: unable to infer tagged configuration"
|
||||
echo "$modename: specify a tag with \`--tag'" 1>&2
|
||||
$echo "$modename: unable to infer tagged configuration"
|
||||
$echo "$modename: specify a tag with \`--tag'" 1>&2
|
||||
exit 1
|
||||
# else
|
||||
# echo "$modename: using $tagname tagged configuration"
|
||||
# $echo "$modename: using $tagname tagged configuration"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@ -1911,17 +1910,17 @@ EOF
|
||||
case $linkmode in
|
||||
lib)
|
||||
if test "$deplibs_check_method" != pass_all; then
|
||||
echo
|
||||
echo "*** Warning: Trying to link with static lib archive $deplib."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have"
|
||||
echo "*** because the file extensions .$libext of this argument makes me believe"
|
||||
echo "*** that it is just a static archive that I should not used here."
|
||||
$echo
|
||||
$echo "*** Warning: Trying to link with static lib archive $deplib."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which you do not appear to have"
|
||||
$echo "*** because the file extensions .$libext of this argument makes me believe"
|
||||
$echo "*** that it is just a static archive that I should not used here."
|
||||
else
|
||||
echo
|
||||
echo "*** Warning: Linking the shared library $output against the"
|
||||
echo "*** static library $deplib is not portable!"
|
||||
$echo
|
||||
$echo "*** Warning: Linking the shared library $output against the"
|
||||
$echo "*** static library $deplib is not portable!"
|
||||
deplibs="$deplib $deplibs"
|
||||
fi
|
||||
continue
|
||||
@ -1981,8 +1980,9 @@ EOF
|
||||
library_names=
|
||||
old_library=
|
||||
# If the library was installed with an old release of libtool,
|
||||
# it will not redefine variable installed.
|
||||
# it will not redefine variables installed, or shouldnotlink
|
||||
installed=yes
|
||||
shouldnotlink=no
|
||||
|
||||
# Read the .la file
|
||||
case $lib in
|
||||
@ -2025,6 +2025,7 @@ EOF
|
||||
continue
|
||||
fi # $pass = conv
|
||||
|
||||
|
||||
# Get the name of the library we link against.
|
||||
linklib=
|
||||
for l in $old_library $library_names; do
|
||||
@ -2117,6 +2118,7 @@ EOF
|
||||
continue
|
||||
fi
|
||||
|
||||
|
||||
if test "$linkmode" = prog && test "$pass" != link; then
|
||||
newlib_search_path="$newlib_search_path $ladir"
|
||||
deplibs="$lib $deplibs"
|
||||
@ -2203,6 +2205,17 @@ EOF
|
||||
need_relink=yes
|
||||
fi
|
||||
# This is a shared library
|
||||
|
||||
# Warn about portability, can't link against -module's on some systems (darwin)
|
||||
if test "$shouldnotlink" = yes && test "$pass" = link ; then
|
||||
$echo
|
||||
if test "$linkmode" = prog; then
|
||||
$echo "*** Warning: Linking the executable $output against the loadable module"
|
||||
else
|
||||
$echo "*** Warning: Linking the shared library $output against the loadable module"
|
||||
fi
|
||||
$echo "*** $linklib is not portable!"
|
||||
fi
|
||||
if test "$linkmode" = lib &&
|
||||
test "$hardcode_into_libs" = yes; then
|
||||
# Hardcode the library path.
|
||||
@ -2252,8 +2265,8 @@ EOF
|
||||
|
||||
# Make a new name for the extract_expsyms_cmds to use
|
||||
soroot="$soname"
|
||||
soname=`echo $soroot | ${SED} -e 's/^.*\///'`
|
||||
newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
|
||||
soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
|
||||
newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
|
||||
|
||||
# If the library has no export list, then create one now
|
||||
if test -f "$output_objdir/$soname-def"; then :
|
||||
@ -2294,10 +2307,23 @@ EOF
|
||||
case $hardcode_action in
|
||||
immediate | unsupported)
|
||||
if test "$hardcode_direct" = no; then
|
||||
add="$dir/$linklib"
|
||||
case $host in
|
||||
*-*-sco3.2v5* ) add_dir="-L$dir" ;;
|
||||
*-*-darwin* )
|
||||
# if the lib is a module then we can not link against it, someone
|
||||
# is ignoring the new warnings I added
|
||||
if test -z `otool -XD $add` ; then
|
||||
$echo "** Warning, lib $linklib is a module, not a shared library"
|
||||
if test -z "$old_library" ; then
|
||||
$echo
|
||||
$echo "** And there doesn't seem to be a static archive available"
|
||||
$echo "** The link will probably fail, sorry"
|
||||
else
|
||||
add="$dir/$old_library"
|
||||
fi
|
||||
fi
|
||||
esac
|
||||
add="$dir/$linklib"
|
||||
elif test "$hardcode_minus_L" = no; then
|
||||
case $host in
|
||||
*-*-sunos*) add_shlibpath="$dir" ;;
|
||||
@ -2421,21 +2447,21 @@ EOF
|
||||
|
||||
# Just print a warning and add the library to dependency_libs so
|
||||
# that the program can be linked against the static library.
|
||||
echo
|
||||
echo "*** Warning: This system can not link to static lib archive $lib."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have."
|
||||
$echo
|
||||
$echo "*** Warning: This system can not link to static lib archive $lib."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which you do not appear to have."
|
||||
if test "$module" = yes; then
|
||||
echo "*** But as you try to build a module library, libtool will still create "
|
||||
echo "*** a static module, that should work as long as the dlopening application"
|
||||
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
|
||||
$echo "*** But as you try to build a module library, libtool will still create "
|
||||
$echo "*** a static module, that should work as long as the dlopening application"
|
||||
$echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
|
||||
if test -z "$global_symbol_pipe"; then
|
||||
echo
|
||||
echo "*** However, this would only work if libtool was able to extract symbol"
|
||||
echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
||||
echo "*** not find such a program. So, this module is probably useless."
|
||||
echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
||||
$echo
|
||||
$echo "*** However, this would only work if libtool was able to extract symbol"
|
||||
$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
||||
$echo "*** not find such a program. So, this module is probably useless."
|
||||
$echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
||||
fi
|
||||
if test "$build_old_libs" = no; then
|
||||
build_libtool_libs=module
|
||||
@ -2523,9 +2549,20 @@ EOF
|
||||
case $host in
|
||||
*-*-darwin*)
|
||||
depdepl=`$echo "X$deplib" | ${SED} -e 's,.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
|
||||
depdepl="-l$depdepl"
|
||||
newlib_search_path="$newlib_search_path $path"
|
||||
if grep "^installed=no" $deplib > /dev/null; then
|
||||
# FIXME - ugly
|
||||
if test -f "$path/lib${depdepl}.dylib" ; then
|
||||
eval depdepl=$path/lib${depdepl}.dylib
|
||||
else
|
||||
# We shouldn't get here
|
||||
depdepl="-l$depdepl"
|
||||
fi
|
||||
else
|
||||
depdepl="-l$depdepl"
|
||||
fi
|
||||
;;
|
||||
# end ugly FIXME
|
||||
esac
|
||||
path="-L$path"
|
||||
;;
|
||||
@ -2716,9 +2753,9 @@ EOF
|
||||
$echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
|
||||
exit 1
|
||||
else
|
||||
echo
|
||||
echo "*** Warning: Linking the shared library $output against the non-libtool"
|
||||
echo "*** objects $objs is not portable!"
|
||||
$echo
|
||||
$echo "*** Warning: Linking the shared library $output against the non-libtool"
|
||||
$echo "*** objects $objs is not portable!"
|
||||
libobjs="$libobjs $objs"
|
||||
fi
|
||||
fi
|
||||
@ -2888,7 +2925,7 @@ EOF
|
||||
|
||||
*)
|
||||
$echo "$modename: unknown library version type \`$version_type'" 1>&2
|
||||
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
||||
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -2937,7 +2974,7 @@ EOF
|
||||
# Remove our outputs, but don't remove object files since they
|
||||
# may have been created when compiling PIC objects.
|
||||
removelist=
|
||||
tempremovelist=`echo "$output_objdir/*"`
|
||||
tempremovelist=`$echo "$output_objdir/*"`
|
||||
for p in $tempremovelist; do
|
||||
case $p in
|
||||
*.$objext)
|
||||
@ -2964,9 +3001,9 @@ EOF
|
||||
|
||||
# Eliminate all temporary directories.
|
||||
for path in $notinst_path; do
|
||||
lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
|
||||
deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
|
||||
dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
|
||||
lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
|
||||
deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
|
||||
dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
|
||||
done
|
||||
|
||||
if test -n "$xrpath"; then
|
||||
@ -3087,13 +3124,13 @@ EOF
|
||||
newdeplibs="$newdeplibs $i"
|
||||
else
|
||||
droppeddeps=yes
|
||||
echo
|
||||
echo "*** Warning: dynamic linker does not accept needed library $i."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which I believe you do not have"
|
||||
echo "*** because a test_compile did reveal that the linker did not use it for"
|
||||
echo "*** its dynamic dependency list that programs get resolved with at runtime."
|
||||
$echo
|
||||
$echo "*** Warning: dynamic linker does not accept needed library $i."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which I believe you do not have"
|
||||
$echo "*** because a test_compile did reveal that the linker did not use it for"
|
||||
$echo "*** its dynamic dependency list that programs get resolved with at runtime."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@ -3129,22 +3166,22 @@ EOF
|
||||
newdeplibs="$newdeplibs $i"
|
||||
else
|
||||
droppeddeps=yes
|
||||
echo
|
||||
echo "*** Warning: dynamic linker does not accept needed library $i."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have"
|
||||
echo "*** because a test_compile did reveal that the linker did not use this one"
|
||||
echo "*** as a dynamic dependency that programs can get resolved with at runtime."
|
||||
$echo
|
||||
$echo "*** Warning: dynamic linker does not accept needed library $i."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which you do not appear to have"
|
||||
$echo "*** because a test_compile did reveal that the linker did not use this one"
|
||||
$echo "*** as a dynamic dependency that programs can get resolved with at runtime."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
droppeddeps=yes
|
||||
echo
|
||||
echo "*** Warning! Library $i is needed by this library but I was not able to"
|
||||
echo "*** make it link in! You will probably need to install it or some"
|
||||
echo "*** library that it depends on before this library will be fully"
|
||||
echo "*** functional. Installing it before continuing would be even better."
|
||||
$echo
|
||||
$echo "*** Warning! Library $i is needed by this library but I was not able to"
|
||||
$echo "*** make it link in! You will probably need to install it or some"
|
||||
$echo "*** library that it depends on before this library will be fully"
|
||||
$echo "*** functional. Installing it before continuing would be even better."
|
||||
fi
|
||||
else
|
||||
newdeplibs="$newdeplibs $i"
|
||||
@ -3202,17 +3239,17 @@ EOF
|
||||
fi
|
||||
if test -n "$a_deplib" ; then
|
||||
droppeddeps=yes
|
||||
echo
|
||||
echo "*** Warning: linker path does not have real file for library $a_deplib."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have"
|
||||
echo "*** because I did check the linker path looking for a file starting"
|
||||
$echo
|
||||
$echo "*** Warning: linker path does not have real file for library $a_deplib."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which you do not appear to have"
|
||||
$echo "*** because I did check the linker path looking for a file starting"
|
||||
if test -z "$potlib" ; then
|
||||
echo "*** with $libname but no candidates were found. (...for file magic test)"
|
||||
$echo "*** with $libname but no candidates were found. (...for file magic test)"
|
||||
else
|
||||
echo "*** with $libname and none of the candidates passed a file format test"
|
||||
echo "*** using a file magic. Last file checked: $potlib"
|
||||
$echo "*** with $libname and none of the candidates passed a file format test"
|
||||
$echo "*** using a file magic. Last file checked: $potlib"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@ -3242,7 +3279,7 @@ EOF
|
||||
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
|
||||
for potent_lib in $potential_libs; do
|
||||
potlib="$potent_lib" # see symlink-check above in file_magic test
|
||||
if eval echo \"$potent_lib\" 2>/dev/null \
|
||||
if eval $echo \"$potent_lib\" 2>/dev/null \
|
||||
| ${SED} 10q \
|
||||
| $EGREP "$match_pattern_regex" > /dev/null; then
|
||||
newdeplibs="$newdeplibs $a_deplib"
|
||||
@ -3254,17 +3291,17 @@ EOF
|
||||
fi
|
||||
if test -n "$a_deplib" ; then
|
||||
droppeddeps=yes
|
||||
echo
|
||||
echo "*** Warning: linker path does not have real file for library $a_deplib."
|
||||
echo "*** I have the capability to make that library automatically link in when"
|
||||
echo "*** you link to this library. But I can only do this if you have a"
|
||||
echo "*** shared version of the library, which you do not appear to have"
|
||||
echo "*** because I did check the linker path looking for a file starting"
|
||||
$echo
|
||||
$echo "*** Warning: linker path does not have real file for library $a_deplib."
|
||||
$echo "*** I have the capability to make that library automatically link in when"
|
||||
$echo "*** you link to this library. But I can only do this if you have a"
|
||||
$echo "*** shared version of the library, which you do not appear to have"
|
||||
$echo "*** because I did check the linker path looking for a file starting"
|
||||
if test -z "$potlib" ; then
|
||||
echo "*** with $libname but no candidates were found. (...for regex pattern test)"
|
||||
$echo "*** with $libname but no candidates were found. (...for regex pattern test)"
|
||||
else
|
||||
echo "*** with $libname and none of the candidates passed a file format test"
|
||||
echo "*** using a regex pattern. Last file checked: $potlib"
|
||||
$echo "*** with $libname and none of the candidates passed a file format test"
|
||||
$echo "*** using a regex pattern. Last file checked: $potlib"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@ -3285,13 +3322,13 @@ EOF
|
||||
fi
|
||||
if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
|
||||
| grep . >/dev/null; then
|
||||
echo
|
||||
$echo
|
||||
if test "X$deplibs_check_method" = "Xnone"; then
|
||||
echo "*** Warning: inter-library dependencies are not supported in this platform."
|
||||
$echo "*** Warning: inter-library dependencies are not supported in this platform."
|
||||
else
|
||||
echo "*** Warning: inter-library dependencies are not known to be supported."
|
||||
$echo "*** Warning: inter-library dependencies are not known to be supported."
|
||||
fi
|
||||
echo "*** All declared inter-library dependencies are being dropped."
|
||||
$echo "*** All declared inter-library dependencies are being dropped."
|
||||
droppeddeps=yes
|
||||
fi
|
||||
;;
|
||||
@ -3311,17 +3348,17 @@ EOF
|
||||
|
||||
if test "$droppeddeps" = yes; then
|
||||
if test "$module" = yes; then
|
||||
echo
|
||||
echo "*** Warning: libtool could not satisfy all declared inter-library"
|
||||
echo "*** dependencies of module $libname. Therefore, libtool will create"
|
||||
echo "*** a static module, that should work as long as the dlopening"
|
||||
echo "*** application is linked with the -dlopen flag."
|
||||
$echo
|
||||
$echo "*** Warning: libtool could not satisfy all declared inter-library"
|
||||
$echo "*** dependencies of module $libname. Therefore, libtool will create"
|
||||
$echo "*** a static module, that should work as long as the dlopening"
|
||||
$echo "*** application is linked with the -dlopen flag."
|
||||
if test -z "$global_symbol_pipe"; then
|
||||
echo
|
||||
echo "*** However, this would only work if libtool was able to extract symbol"
|
||||
echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
||||
echo "*** not find such a program. So, this module is probably useless."
|
||||
echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
||||
$echo
|
||||
$echo "*** However, this would only work if libtool was able to extract symbol"
|
||||
$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
||||
$echo "*** not find such a program. So, this module is probably useless."
|
||||
$echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
||||
fi
|
||||
if test "$build_old_libs" = no; then
|
||||
oldlibs="$output_objdir/$libname.$libext"
|
||||
@ -3331,16 +3368,16 @@ EOF
|
||||
build_libtool_libs=no
|
||||
fi
|
||||
else
|
||||
echo "*** The inter-library dependencies that have been dropped here will be"
|
||||
echo "*** automatically added whenever a program is linked with this library"
|
||||
echo "*** or is declared to -dlopen it."
|
||||
$echo "*** The inter-library dependencies that have been dropped here will be"
|
||||
$echo "*** automatically added whenever a program is linked with this library"
|
||||
$echo "*** or is declared to -dlopen it."
|
||||
|
||||
if test "$allow_undefined" = no; then
|
||||
echo
|
||||
echo "*** Since this library must not contain undefined symbols,"
|
||||
echo "*** because either the platform does not support them or"
|
||||
echo "*** it was explicitly requested with -no-undefined,"
|
||||
echo "*** libtool will only create a static version of it."
|
||||
$echo
|
||||
$echo "*** Since this library must not contain undefined symbols,"
|
||||
$echo "*** because either the platform does not support them or"
|
||||
$echo "*** it was explicitly requested with -no-undefined,"
|
||||
$echo "*** libtool will only create a static version of it."
|
||||
if test "$build_old_libs" = no; then
|
||||
oldlibs="$output_objdir/$libname.$libext"
|
||||
build_libtool_libs=module
|
||||
@ -3481,6 +3518,17 @@ EOF
|
||||
$run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
|
||||
fi
|
||||
|
||||
tmp_deplibs=
|
||||
for test_deplib in $deplibs; do
|
||||
case " $convenience " in
|
||||
*" $test_deplib "*) ;;
|
||||
*)
|
||||
tmp_deplibs="$tmp_deplibs $test_deplib"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
deplibs="$tmp_deplibs"
|
||||
|
||||
if test -n "$convenience"; then
|
||||
if test -n "$whole_archive_flag_spec"; then
|
||||
save_libobjs=$libobjs
|
||||
@ -3559,21 +3607,18 @@ EOF
|
||||
fi
|
||||
|
||||
# Do each of the archive commands.
|
||||
if test "$module" = yes && test -n "$module_cmds" ; then
|
||||
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
|
||||
eval cmds=\"$module_expsym_cmds\"
|
||||
else
|
||||
eval cmds=\"$module_cmds\"
|
||||
fi
|
||||
else
|
||||
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
|
||||
eval cmds=\"$archive_expsym_cmds\"
|
||||
else
|
||||
save_deplibs="$deplibs"
|
||||
for conv in $convenience; do
|
||||
tmp_deplibs=
|
||||
for test_deplib in $deplibs; do
|
||||
if test "$test_deplib" != "$conv"; then
|
||||
tmp_deplibs="$tmp_deplibs $test_deplib"
|
||||
fi
|
||||
done
|
||||
deplibs="$tmp_deplibs"
|
||||
done
|
||||
eval cmds=\"$archive_cmds\"
|
||||
deplibs="$save_deplibs"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` &&
|
||||
@ -3896,7 +3941,7 @@ EOF
|
||||
|
||||
prog)
|
||||
case $host in
|
||||
*cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
|
||||
*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
|
||||
esac
|
||||
if test -n "$vinfo"; then
|
||||
$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
|
||||
@ -4104,8 +4149,8 @@ extern \"C\" {
|
||||
|
||||
for arg in $dlprefiles; do
|
||||
$show "extracting global C symbols from \`$arg'"
|
||||
name=`echo "$arg" | ${SED} -e 's%^.*/%%'`
|
||||
$run eval 'echo ": $name " >> "$nlist"'
|
||||
name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
|
||||
$run eval '$echo ": $name " >> "$nlist"'
|
||||
$run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
|
||||
done
|
||||
|
||||
@ -4134,7 +4179,7 @@ extern \"C\" {
|
||||
if test -f "$nlist"S; then
|
||||
eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
|
||||
else
|
||||
echo '/* NONE */' >> "$output_objdir/$dlsyms"
|
||||
$echo '/* NONE */' >> "$output_objdir/$dlsyms"
|
||||
fi
|
||||
|
||||
$echo >> "$output_objdir/$dlsyms" "\
|
||||
@ -4367,19 +4412,19 @@ static const void *lt_preloaded_setup() {
|
||||
# win32 will think the script is a binary if it has
|
||||
# a .exe suffix, so we strip it off here.
|
||||
case $output in
|
||||
*.exe) output=`echo $output|${SED} 's,.exe$,,'` ;;
|
||||
*.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
|
||||
esac
|
||||
# test for cygwin because mv fails w/o .exe extensions
|
||||
case $host in
|
||||
*cygwin*)
|
||||
exeext=.exe
|
||||
outputname=`echo $outputname|${SED} 's,.exe$,,'` ;;
|
||||
outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
|
||||
*) exeext= ;;
|
||||
esac
|
||||
case $host in
|
||||
*cygwin* | *mingw* )
|
||||
cwrappersource=`echo ${objdir}/lt-${output}.c`
|
||||
cwrapper=`echo ${output}.exe`
|
||||
cwrappersource=`$echo ${objdir}/lt-${output}.c`
|
||||
cwrapper=`$echo ${output}.exe`
|
||||
$rm $cwrappersource $cwrapper
|
||||
trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15
|
||||
|
||||
@ -4666,7 +4711,7 @@ else
|
||||
"
|
||||
|
||||
if test "$fast_install" = yes; then
|
||||
echo >> $output "\
|
||||
$echo >> $output "\
|
||||
program=lt-'$outputname'$exeext
|
||||
progdir=\"\$thisdir/$objdir\"
|
||||
|
||||
@ -4682,7 +4727,7 @@ else
|
||||
$rm \"\$progdir/\$file\"
|
||||
fi"
|
||||
|
||||
echo >> $output "\
|
||||
$echo >> $output "\
|
||||
|
||||
# relink executable if necessary
|
||||
if test -n \"\$relink_command\"; then
|
||||
@ -4700,13 +4745,13 @@ else
|
||||
$rm \"\$progdir/\$file\"
|
||||
fi"
|
||||
else
|
||||
echo >> $output "\
|
||||
$echo >> $output "\
|
||||
program='$outputname'
|
||||
progdir=\"\$thisdir/$objdir\"
|
||||
"
|
||||
fi
|
||||
|
||||
echo >> $output "\
|
||||
$echo >> $output "\
|
||||
|
||||
if test -f \"\$progdir/\$program\"; then"
|
||||
|
||||
@ -4758,7 +4803,7 @@ else
|
||||
# The program doesn't exist.
|
||||
\$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
|
||||
\$echo \"This script is just a wrapper for \$program.\" 1>&2
|
||||
echo \"See the $PACKAGE documentation for more information.\" 1>&2
|
||||
$echo \"See the $PACKAGE documentation for more information.\" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi\
|
||||
@ -5030,6 +5075,9 @@ revision=$revision
|
||||
# Is this an already installed library?
|
||||
installed=$installed
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=$module
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen='$dlfiles'
|
||||
dlpreopen='$dlprefiles'
|
||||
@ -5388,7 +5436,7 @@ relink_command=\"$relink_command\""
|
||||
case $file in
|
||||
*.exe)
|
||||
if test ! -f "$file"; then
|
||||
file=`echo $file|${SED} 's,.exe$,,'`
|
||||
file=`$echo $file|${SED} 's,.exe$,,'`
|
||||
stripped_ext=".exe"
|
||||
fi
|
||||
;;
|
||||
@ -5397,7 +5445,7 @@ relink_command=\"$relink_command\""
|
||||
# Do a test to see if this is really a libtool program.
|
||||
case $host in
|
||||
*cygwin*|*mingw*)
|
||||
wrapper=`echo $file | ${SED} -e 's,.exe$,,'`
|
||||
wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
|
||||
;;
|
||||
*)
|
||||
wrapper=$file
|
||||
@ -5503,7 +5551,7 @@ relink_command=\"$relink_command\""
|
||||
destfile=$destfile.exe
|
||||
;;
|
||||
*:*.exe)
|
||||
destfile=`echo $destfile | ${SED} -e 's,.exe$,,'`
|
||||
destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -5590,40 +5638,40 @@ relink_command=\"$relink_command\""
|
||||
# Exit here if they wanted silent mode.
|
||||
test "$show" = : && exit 0
|
||||
|
||||
echo "----------------------------------------------------------------------"
|
||||
echo "Libraries have been installed in:"
|
||||
$echo "----------------------------------------------------------------------"
|
||||
$echo "Libraries have been installed in:"
|
||||
for libdir in $libdirs; do
|
||||
echo " $libdir"
|
||||
$echo " $libdir"
|
||||
done
|
||||
echo
|
||||
echo "If you ever happen to want to link against installed libraries"
|
||||
echo "in a given directory, LIBDIR, you must either use libtool, and"
|
||||
echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
|
||||
echo "flag during linking and do at least one of the following:"
|
||||
$echo
|
||||
$echo "If you ever happen to want to link against installed libraries"
|
||||
$echo "in a given directory, LIBDIR, you must either use libtool, and"
|
||||
$echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
|
||||
$echo "flag during linking and do at least one of the following:"
|
||||
if test -n "$shlibpath_var"; then
|
||||
echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
|
||||
echo " during execution"
|
||||
$echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
|
||||
$echo " during execution"
|
||||
fi
|
||||
if test -n "$runpath_var"; then
|
||||
echo " - add LIBDIR to the \`$runpath_var' environment variable"
|
||||
echo " during linking"
|
||||
$echo " - add LIBDIR to the \`$runpath_var' environment variable"
|
||||
$echo " during linking"
|
||||
fi
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
libdir=LIBDIR
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
echo " - use the \`$flag' linker flag"
|
||||
$echo " - use the \`$flag' linker flag"
|
||||
fi
|
||||
if test -n "$admincmds"; then
|
||||
echo " - have your system administrator run these commands:$admincmds"
|
||||
$echo " - have your system administrator run these commands:$admincmds"
|
||||
fi
|
||||
if test -f /etc/ld.so.conf; then
|
||||
echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
|
||||
$echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
|
||||
fi
|
||||
echo
|
||||
echo "See any operating system documentation about shared libraries for"
|
||||
echo "more information, such as the ld(1) and ld.so(8) manual pages."
|
||||
echo "----------------------------------------------------------------------"
|
||||
$echo
|
||||
$echo "See any operating system documentation about shared libraries for"
|
||||
$echo "more information, such as the ld(1) and ld.so(8) manual pages."
|
||||
$echo "----------------------------------------------------------------------"
|
||||
exit 0
|
||||
;;
|
||||
|
||||
@ -5902,8 +5950,8 @@ relink_command=\"$relink_command\""
|
||||
noexename=$name
|
||||
case $file in
|
||||
*.exe)
|
||||
file=`echo $file|${SED} 's,.exe$,,'`
|
||||
noexename=`echo $name|${SED} 's,.exe$,,'`
|
||||
file=`$echo $file|${SED} 's,.exe$,,'`
|
||||
noexename=`$echo $name|${SED} 's,.exe$,,'`
|
||||
# $file with .exe has already been added to rmfiles,
|
||||
# add $file without .exe
|
||||
rmfiles="$rmfiles $file"
|
||||
@ -6151,7 +6199,7 @@ Otherwise, only FILE itself is deleted using RM."
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
$echo
|
||||
$echo "Try \`$modename --help' for more information about other modes."
|
||||
|
||||
exit 0
|
||||
@ -6173,7 +6221,7 @@ build_old_libs=yes
|
||||
# ### END LIBTOOL TAG CONFIG: disable-shared
|
||||
|
||||
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
|
||||
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
|
||||
build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
|
||||
# ### END LIBTOOL TAG CONFIG: disable-static
|
||||
|
||||
# Local Variables:
|
||||
|
Loading…
Reference in New Issue
Block a user