]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* tests/deplibs-ident.at: New file with XFAIL test to expose
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Fri, 30 Sep 2005 16:00:23 +0000 (16:00 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Fri, 30 Sep 2005 16:00:23 +0000 (16:00 +0000)
wrong multiple listing of a deplib on the command line.
* Makefile.am, tests/testsuite.at: Updated.
Reported by Brian Barrett <brbarret@open-mpi.org>.

ChangeLog
Makefile.am
tests/deplibs-ident.at [new file with mode: 0644]
tests/testsuite.at

index 2cf12d53308b9a9fb562662f1c92ffb9578d1360..4ccd1b572d693cad782d0ca3218fd6526973e6e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2005-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
+       * tests/deplibs-ident.at: New file with XFAIL test to expose
+       wrong multiple listing of a deplib on the command line.
+       * Makefile.am, tests/testsuite.at: Updated.
+       Reported by Brian Barrett <brbarret@open-mpi.org>.
+
        * tests/old-m4-iface.at: Define top_srcdir, work around current
        ltdl.m4 bug.
 
index 697c18e37d59a4705ee0820de473e85fe6aac500..bf78fb9be87d3d313cdb56dc48e8e3dc685e708c 100644 (file)
@@ -472,6 +472,7 @@ TESTSUITE_AT        = tests/testsuite.at \
                  tests/libtoolize.at \
                  tests/old-m4-iface.at \
                  tests/standalone.at \
+                 tests/deplibs-ident.at \
                  tests/stresstest.at \
                  tests/link-order.at \
                  tests/convenience.at \
diff --git a/tests/deplibs-ident.at b/tests/deplibs-ident.at
new file mode 100644 (file)
index 0000000..f3ade8a
--- /dev/null
@@ -0,0 +1,64 @@
+# Hand crafted tests for GNU Libtool.                         -*- Autotest -*-
+# Copyright 2005 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., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+
+AT_BANNER([Detecting identical deplibs.])
+
+
+## ----------------------------------------------- ##
+## Different relative paths within the build tree. ##
+## ----------------------------------------------- ##
+
+AT_SETUP([build tree relpaths])
+
+mkdir a a/b c
+echo 'int c() { return 0; }' > c/libcee.c
+AT_CHECK([$LIBTOOL --mode=compile $CC $CFLAGS -c c/libcee.c -o c/libcee.lo],[0],[ignore],[ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere],
+        [0],[ignore],[ignore])
+
+depl_1=../c/libcee.la
+depl_2=`pwd`/c/libcee.la
+depl_3="-L../c -lcee"
+
+(
+  cd a
+  for i in 1 2 3; do
+    eval depend_on_c=\"\$depl_$i\"
+    echo "extern int c(void); int a$i() { return c(); }" > liba$i.c
+    AT_CHECK([$LIBTOOL --mode=compile $CC $CFLAGS -c liba$i.c],[0],[ignore],[ignore])
+    AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere],
+          [0],[ignore],[ignore])
+  done
+)
+
+AT_DATA([a/b/b.c],
+[[extern int a1(void), a2(void), a3(void), c(void);
+int main() { return a1() + a2() + a3() + c(); }
+]])
+
+(
+  cd a/b
+  AT_CHECK([$CC $CFLAGS -c b.c],[0],[ignore],[ignore])
+  AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere],
+          [0],[stdout],[ignore])
+  AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore])
+  AT_XFAIL_IF(:) dnl This is currently broken in libtool
+)
+
+AT_CLEANUP
index a733a53959e45e7e52f5d1ecf413dca740c7bd52..0f5f8208d77877dd407a3cc431c235ddfee804a9 100644 (file)
@@ -108,5 +108,7 @@ m4_include([standalone.at])
 m4_include([template.at])
 # Behaviour of LT_OUTPUT
 m4_include([early-libtool.at])
+# identical deplibs
+m4_include([deplibs-ident.at])
 # stress test
 m4_include([stresstest.at])