summaryrefslogtreecommitdiff
path: root/tests/inherited_flags.at
diff options
context:
space:
mode:
authorPeter O'Gorman <peter@pogma.com>2005-01-10 15:44:13 +0000
committerPeter O'Gorman <peter@pogma.com>2005-01-10 15:44:13 +0000
commit92ee209330dc6aadcb5da4d1552ba4614ca25036 (patch)
tree5d3c5a6ba85d5d143c2f27d215a9cb0311f8d24d /tests/inherited_flags.at
parentcb791887dcedf12f794397add6e43197c46d0cb1 (diff)
downloadlibtool-92ee209330dc6aadcb5da4d1552ba4614ca25036.tar.gz
* config/ltmain.m4sh (func_mode_link): Fix
inherited_linker_flags so it puts it on the link line when linking shared libraries as well as when linking executables. * tests/inherited_flags.at: test inherited_linker_flags. * tests/Makefile.am: Add test. * tests/testsuite.at: Add test. Reported by: Albert Chin-A-Young <china@thewrittenword.com>
Diffstat (limited to 'tests/inherited_flags.at')
-rw-r--r--tests/inherited_flags.at65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/inherited_flags.at b/tests/inherited_flags.at
new file mode 100644
index 00000000..0ff36051
--- /dev/null
+++ b/tests/inherited_flags.at
@@ -0,0 +1,65 @@
+# Hand crafted tests for GNU Libtool. -*- Autotest -*-
+# Copyright 2004 Free Software Foundation, Inc.
+
+# 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, 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.
+
+
+AT_SETUP([inherited_linker_flags])
+
+: ${LIBTOOL=$abs_top_builddir/libtool}
+
+AT_DATA([foo.c],
+[
+int foo() { return 1;}
+])
+
+AT_DATA([bar.c],
+[
+int bar() { return 1;}
+])
+
+AT_DATA([baz.c],
+[
+int baz() { return 1;}
+])
+
+AT_DATA([main.c],
+[
+int main() { return 0;}
+])
+
+eval `$LIBTOOL --config | grep ^CC`
+
+${LIBTOOL} --mode=compile --tag=CC $CC -c -o foo.lo foo.c
+${LIBTOOL} --mode=compile --tag=CC $CC -c -o bar.lo bar.c
+${LIBTOOL} --mode=compile --tag=CC $CC -c -o baz.lo baz.c
+${LIBTOOL} --mode=compile --tag=CC $CC -c -o main.lo main.c
+${LIBTOOL} --mode=link --tag=CC $CC -o libfoo.la foo.lo -rpath /usr/local/lib
+${LIBTOOL} --mode=link --tag=CC $CC -o libbar.la bar.lo -rpath /usr/local/lib
+
+
+mv libfoo.la libfoo.la.bak
+sed -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_inlikely_existing_lib/g' < libfoo.la.bak > libfoo.la
+rm libfoo.la.bak
+
+mv libbar.la libbar.la.bak
+sed -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_unlikely_existing_lib/g' < libbar.la.bak > libbar.la
+rm libbar.la.bak
+
+AT_CHECK([${LIBTOOL} --mode=link --tag=CC $CC -o libbaz.la baz.lo -rpath /usr/local/lib ./libfoo.la ./libbar.la | grep 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib'],[0],[ignore],[ignore])
+AT_CHECK([${LIBTOOL} --mode=link --tag=CC $CC -o main main.lo -rpath /usr/local/lib ./libfoo.la ./libbar.la | grep 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib'],[0],[ignore],[ignore])
+
+AT_CLEANUP