]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
basename does not take a list of strings.
authorPeter O'Gorman <peter@pogma.com>
Mon, 21 Apr 2008 20:18:41 +0000 (15:18 -0500)
committerPeter O'Gorman <peter@pogma.com>
Mon, 21 Apr 2008 20:18:41 +0000 (15:18 -0500)
* libltdl/config/ltmain.m4sh(func_extract_archives): Use sed
$basename.
* tests/darwin.at: New. Check that we can built fat program,
shared library and convenience library.
* Makefile.am: Add test.
Reported by LiKai Liu <liulk@cs.bu.edu>

ChangeLog
Makefile.am
libltdl/config/ltmain.m4sh
tests/darwin.at [new file with mode: 0644]

index 4cc2147ed784ce5e819ae419473f878f9f4ef9b4..b4d038890aabae94c4f0022cf006a12960b9cd0c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-04-21  Peter O'Gorman  <peter@pogma.com>
 
+       basename does not take a list of strings.
+       * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed
+       $basename.
+       * tests/darwin.at: New. Check that we can built fat program,
+       shared library and convenience library.
+       * Makefile.am: Add test.
+       Reported by LiKai Liu <liulk@cs.bu.edu>
+
        Use AC_CHECK_TOOL for lipo too.
        * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
        * libltdl/config/ltmain.m4sh (func_extract_archives): Use.
index 480b64701222fa1cea615ea7aedc48a6a8becd90..0085c7f427f632e1a4ea9bcd563486461b54d541 100644 (file)
@@ -465,7 +465,8 @@ TESTSUITE_AT        = tests/testsuite.at \
                  tests/deplibs-ident.at \
                  tests/configure-iface.at \
                  tests/stresstest.at \
-                 tests/cmdline_wrap.at
+                 tests/cmdline_wrap.at \
+                 tests/darwin.at
 
 EXTRA_DIST     += $(srcdir)/$(TESTSUITE) $(TESTSUITE_AT) $(srcdir)/tests/package.m4
 
index 089f162972ffefb3860af0a6f2fc2198ff90574c..ff1e50d5619df9152c60deb9f740f2909b554e9e 100644 (file)
@@ -2222,7 +2222,7 @@ func_extract_archives ()
              $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
            done # $darwin_arches
             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
            darwin_file=
            darwin_files=
            for darwin_file in $darwin_filelist; do
diff --git a/tests/darwin.at b/tests/darwin.at
new file mode 100644 (file)
index 0000000..adc0db6
--- /dev/null
@@ -0,0 +1,96 @@
+# darwin.at - tests specific to Mac OS X
+#
+#   Copyright (C) 2008 Free Software Foundation, Inc.
+#   Written by Peter O'Gorman, 2008
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool 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.
+#
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+####
+
+AT_BANNER([Mac OS X tests])
+AT_SETUP([darwin fat compile])
+noskip=:
+case "$host_os" in
+darwin*) ;;
+*) noskip=false ;;
+esac
+
+AT_DATA([foo.c],[[
+int x=0;
+]])
+
+$noskip && {
+$CC $CPPFLAGS $CFLAGS -arch ppc -arch i386 -c -o foo.o foo.c 2>&1 > /dev/null || noskip=false
+rm -f foo.o
+}
+
+AT_CHECK([$noskip || (exit 77)])
+
+AT_DATA([baz.c],[[
+int y=0;
+]])
+
+AT_DATA([bar.c],[[
+extern int x;
+int bar(void);
+int bar() { return x;}
+]])
+
+AT_DATA([main.c],[[
+extern int x;
+extern int y;
+
+int main() {
+return x+y;
+}
+]])
+
+mkdir bin
+AT_DATA([bin/basename],[[
+#! /bin/sh
+
+usage="usage: $0 argument"
+if test $# != 1; then
+                  echo $usage >&2
+                  exit 1
+fi
+
+echo $1 | sed "s,^.*/,,"
+]])
+
+chmod +x bin/basename
+save_PATH=$PATH
+PATH=`pwd`/bin:$PATH
+export PATH
+
+AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 foo.c],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 baz.c],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch ppc -arch i386 foo.lo baz.lo],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 bar.c],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC  -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch ppc -arch i386 bar.lo libfoo.la -rpath /nonexistant],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 main.c],[0],[ignore],[ignore])
+
+AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC  -o main $CPPFLAGS $CFLAGS $LDFLAGS -arch ppc -arch i386 main.lo libbar.la],[0],[ignore],[ignore])
+
+PATH=$save_PATH
+AT_CLEANUP