libtool/tests/depdemo-shared.test

36 lines
1.0 KiB
Plaintext
Raw Normal View History

* merged my inter-library dependencies code from the ILD branch: * NEWS: inter-library dependencies are now supported * configure.in: add the depdemo subdirectory * depdemo/*: new demo to demonstrate inter-library dependencies * tests/depdemo*: new tests for depdemo * ltconfig.in: added hardcode_into_libs (whether library paths should be hardcoded into the libraries), it currently defaults to 'no' * ltmain.in: new internal 'relink' mode to relink libraries on platforms with hardcode_into_libs=yes, save command line arguments in libtool_args, accept relative -L directories, ignore -lm on BeOS and Cygwin, always ignore -lc, handle -l, -L and .la arguments later, always make the library installation directory (-rpath) absolute, in relink mode don't delete the not-relinked library and exit immediately after relinking, try to find already-installed libtool libraries that were specified using -l, support hardcoding of library paths into libraries too, export shlibpath before linking libraries, and a lot of other big changes that I don't want to describe here... please read the source. * merged Gary's Win32 code from the ILD branch: * NEWS: Win32 DLLs are now supported * TODO: removed .a library namespace clash for win32. It is now resolved. * ltconfig.in (cygwin, library_names_spec): removed $libname.a. Creating a dll with libtool no longer creates an import library. * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does not exist -- i.e. we need to generate import an import library in a directory which has no libs of its own. * doc/libtool.texi (old_archive_from_expsyms_cmds, extract_expsyms_cmds): documented these new variables. * ltconfig.in (extract_expsyms_cmds): New variable. Commands to extract the exported symbol list from a dll. (old_archive_from_expsyms_cmds): New variable. Commands to build an old archive from the extracted expsyms list. * ltmain.in: run the cmds in extract_expsyms_cmds and old_archive_from_expsyms_cmds as necessary. * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer required. * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even sure whether win32 honours the runpath at all when searching for a dll to load! Anyway, when set to yes this prevents a gratuitous warning. * ltmain.in (deplib): The cygwin environment doesn't actually have -lm, and although the linker fakes having one, specifiying it to libtool will break ILD, so we ignore it when generating dependencies.
1999-03-19 05:57:08 +08:00
#! /bin/sh
# depdemo-conf.test - try configuring the ../depdemo subdirectory
# Test script header.
need_prefix=yes
if test -z "$srcdir"; then
srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
test "$srcdir" = "$0" && srcdir=.
test "${VERBOSE+set}" != "set" && VERBOSE=yes
fi
. $srcdir/defs || exit 1
# Maybe we have a VPATH build, in which case, create a new subdir.
test -d ../depdemo || mkdir ../depdemo
# Change to our build directory.
cd ../depdemo || exit 1
# Possibly clean up the distribution.
if test -f Makefile; then
echo "= Running $make distclean in ../depdemo"
$make distclean
fi
rm -f config.cache
# Configure the demonstration.
echo "= Configuring in ../depdemo (prefix=$prefix) with --disable-static"
CONFIG_SITE=/nonexistent ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --disable-static || exit 1
* merged my inter-library dependencies code from the ILD branch: * NEWS: inter-library dependencies are now supported * configure.in: add the depdemo subdirectory * depdemo/*: new demo to demonstrate inter-library dependencies * tests/depdemo*: new tests for depdemo * ltconfig.in: added hardcode_into_libs (whether library paths should be hardcoded into the libraries), it currently defaults to 'no' * ltmain.in: new internal 'relink' mode to relink libraries on platforms with hardcode_into_libs=yes, save command line arguments in libtool_args, accept relative -L directories, ignore -lm on BeOS and Cygwin, always ignore -lc, handle -l, -L and .la arguments later, always make the library installation directory (-rpath) absolute, in relink mode don't delete the not-relinked library and exit immediately after relinking, try to find already-installed libtool libraries that were specified using -l, support hardcoding of library paths into libraries too, export shlibpath before linking libraries, and a lot of other big changes that I don't want to describe here... please read the source. * merged Gary's Win32 code from the ILD branch: * NEWS: Win32 DLLs are now supported * TODO: removed .a library namespace clash for win32. It is now resolved. * ltconfig.in (cygwin, library_names_spec): removed $libname.a. Creating a dll with libtool no longer creates an import library. * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does not exist -- i.e. we need to generate import an import library in a directory which has no libs of its own. * doc/libtool.texi (old_archive_from_expsyms_cmds, extract_expsyms_cmds): documented these new variables. * ltconfig.in (extract_expsyms_cmds): New variable. Commands to extract the exported symbol list from a dll. (old_archive_from_expsyms_cmds): New variable. Commands to build an old archive from the extracted expsyms list. * ltmain.in: run the cmds in extract_expsyms_cmds and old_archive_from_expsyms_cmds as necessary. * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer required. * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even sure whether win32 honours the runpath at all when searching for a dll to load! Anyway, when set to yes this prevents a gratuitous warning. * ltmain.in (deplib): The cygwin environment doesn't actually have -lm, and although the linker fakes having one, specifiying it to libtool will break ILD, so we ignore it when generating dependencies.
1999-03-19 05:57:08 +08:00
Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no longer requires them; you're supposed to use grep -E and grep -F instead. Also, don't assume that "test -a" works, since POSIX doesn't require it. * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, AC_LIBTOOL_PROG_LD_SHLIBS): egrep -> grep, when that makes no difference. * libtoolize.in: Likewise. * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. * ltmain.in: Likewise. * demo/Makefile.am (hc-direct): Likewise. * pdemo/Makefile.am (hc-direct): Likewise. * tests/build-relink.test, tests/build-relink2.test, tests/cdemo-conf.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/hardcode.test, tests/mdemo-conf.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/pdemo-conf.test, tests/tagdemo-conf.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Likewise. * libtool.m4 (AC_PROG_EGREP): New macro, defined if Autoconf doesn't define. (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Use shell pattern matching rather than egrep. (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. * tests/defs (EGREP, FGREP): New vars. * ltmain.in: egrep -> $EGREP * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: Likewise. * tests/hardcode.test: fgrep -> $FGREP * tests/f77demo-exec.test: test -a -> test &&
2002-11-19 17:42:39 +08:00
if grep '^build_old_libs=no' libtool > /dev/null &&
grep '^build_libtool_libs=yes' libtool > /dev/null; then :
else rm -f Makefile && exit 77
fi
* merged my inter-library dependencies code from the ILD branch: * NEWS: inter-library dependencies are now supported * configure.in: add the depdemo subdirectory * depdemo/*: new demo to demonstrate inter-library dependencies * tests/depdemo*: new tests for depdemo * ltconfig.in: added hardcode_into_libs (whether library paths should be hardcoded into the libraries), it currently defaults to 'no' * ltmain.in: new internal 'relink' mode to relink libraries on platforms with hardcode_into_libs=yes, save command line arguments in libtool_args, accept relative -L directories, ignore -lm on BeOS and Cygwin, always ignore -lc, handle -l, -L and .la arguments later, always make the library installation directory (-rpath) absolute, in relink mode don't delete the not-relinked library and exit immediately after relinking, try to find already-installed libtool libraries that were specified using -l, support hardcoding of library paths into libraries too, export shlibpath before linking libraries, and a lot of other big changes that I don't want to describe here... please read the source. * merged Gary's Win32 code from the ILD branch: * NEWS: Win32 DLLs are now supported * TODO: removed .a library namespace clash for win32. It is now resolved. * ltconfig.in (cygwin, library_names_spec): removed $libname.a. Creating a dll with libtool no longer creates an import library. * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does not exist -- i.e. we need to generate import an import library in a directory which has no libs of its own. * doc/libtool.texi (old_archive_from_expsyms_cmds, extract_expsyms_cmds): documented these new variables. * ltconfig.in (extract_expsyms_cmds): New variable. Commands to extract the exported symbol list from a dll. (old_archive_from_expsyms_cmds): New variable. Commands to build an old archive from the extracted expsyms list. * ltmain.in: run the cmds in extract_expsyms_cmds and old_archive_from_expsyms_cmds as necessary. * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer required. * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even sure whether win32 honours the runpath at all when searching for a dll to load! Anyway, when set to yes this prevents a gratuitous warning. * ltmain.in (deplib): The cygwin environment doesn't actually have -lm, and although the linker fakes having one, specifiying it to libtool will break ILD, so we ignore it when generating dependencies.
1999-03-19 05:57:08 +08:00
exit 0