From: Ralf Wildenhues Date: Fri, 26 Aug 2005 13:48:27 +0000 (+0000) Subject: * tests/inherited_flags.at: Weaken for MSVC. X-Git-Tag: release-2-1b~552 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d485025de4edf5fe27be232e056fbd1714b03c05;p=thirdparty%2Flibtool.git * tests/inherited_flags.at: Weaken for MSVC. * tests/early-libtool.at, tests/template.at: Fix for compiler that do not understand '-c -o'. --- diff --git a/ChangeLog b/ChangeLog index f17d81472..b72c85a91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-08-26 Ralf Wildenhues + Peter Ekberg + + * tests/inherited_flags.at: Weaken for MSVC. + * tests/early-libtool.at, tests/template.at: Fix for compiler + that do not understand '-c -o'. + 2005-08-26 Ralf Wildenhues * tests/standalone.at, tests/template.at: Do not compare diff --git a/tests/early-libtool.at b/tests/early-libtool.at index 5b4d7ad26..5e10ba589 100644 --- a/tests/early-libtool.at +++ b/tests/early-libtool.at @@ -42,6 +42,7 @@ top_builddir = . DEFAULT_INCLUDES = -I. -I@srcdir@ EXEEXT = @EXEEXT@ LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ COMPILE = $(CC) $(DEFAULT_INCLUDES) LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFAULT_INCLUDES) @@ -51,14 +52,14 @@ all: hell libhello.la: hello.lo $(LINK) -rpath $(libdir) hello.lo -hell$(EXEEXT): main.o libhello.la - $(LINK) main.o libhello.la +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la .SUFFIXES: -.SUFFIXES: .c .o .lo +.SUFFIXES: .c .$(OBJEXT) .lo -.c.o: - $(COMPILE) -c -o $@ $< +.c.$(OBJEXT): + $(COMPILE) -c $@ $< .c.lo: $(LTCOMPILE) -c -o $@ $< ]]) @@ -151,18 +152,19 @@ top_builddir = . DEFAULT_INCLUDES = -I. -I@srcdir@ EXEEXT = @EXEEXT@ LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ COMPILE = $(CC) $(DEFAULT_INCLUDES) LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) -o $@ -hell$(EXEEXT): main.o libhello.la - $(LINK) main.o libhello.la +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la .SUFFIXES: -.SUFFIXES: .c .o +.SUFFIXES: .c .$(OBJEXT) -.c.o: - $(COMPILE) -c -o $@ $< +.c.$(OBJEXT): + $(COMPILE) -c $@ $< ]]) AT_DATA([hello.c], diff --git a/tests/inherited_flags.at b/tests/inherited_flags.at index 85447d044..e2d97e0b2 100644 --- a/tests/inherited_flags.at +++ b/tests/inherited_flags.at @@ -57,11 +57,15 @@ rm libbar.la.bak AT_CHECK([${LIBTOOL} --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /usr/local/lib ./libfoo.la ./libbar.la], [ignore],[stdout],[ignore]) -AT_CHECK([grep 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' stdout], +# We used to grep for +# 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' +# here. This fails on win32/MSVC because the generated command lines have a +# different syntax. So drop the first `l'. +AT_CHECK([grep 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], [0],[ignore],[ignore]) AT_CHECK([${LIBTOOL} --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main main.lo -no-undefined -rpath /usr/local/lib ./libfoo.la ./libbar.la], [ignore],[stdout],[ignore]) -AT_CHECK([grep 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' stdout], +AT_CHECK([grep 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], [0],[ignore],[ignore]) AT_CLEANUP diff --git a/tests/template.at b/tests/template.at index 9b18f4f62..a96d62ae4 100644 --- a/tests/template.at +++ b/tests/template.at @@ -81,8 +81,8 @@ AT_CHECK($LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o al AT_CHECK($LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS -o libaclib.la aclib.lo, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS -o libalib.la -rpath /usr/local/lib alib.lo libaclib.la, [0], [ignore], [ignore]) -AT_CHECK($CXX -I. $CPPFLAGS $CXXFLAGS -c -o prog.o prog.cpp, [0], [ignore], [ignore]) -AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS -o prog prog.o libalib.la, [0], [ignore], [ignore]) +AT_CHECK($CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp, [0], [ignore], [ignore]) +AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS -o prog prog.$OBJEXT libalib.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./prog], [0], [ignore], [ignore]) @@ -196,37 +196,51 @@ int main() cd obj +# If the compiler supports -c -o, we want to use it: +# it may make a difference for templates +eval `$LIBTOOL --tag=CXX --config | grep ^compiler_c_o=` +case $compiler_c_o in +yes) + main_o=sub/main.$OBJEXT + AT_CHECK($CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp, [0], [ignore], [ignore]) + ;; +*) + main_o=main.$OBJEXT + AT_CHECK($CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp, [0], [ignore], [ignore]) + ;; +esac + AT_CHECK($LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp, [0], [ignore], [ignore]) -AT_CHECK($CXX $CPPFLAGS $CXXFLAGS -c -o sub/main.o ../src/sub/main.cpp, [0], [ignore], [ignore]) +AT_CHECK($CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp, [0], [ignore], [ignore]) # both convenience AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib/liba.la lib/a.lo, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo, [0], [ignore], [ignore]) -AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) +AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main], [ignore]) # lib convenience case $host in *-*-darwin*) ;; *) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo, [0], [ignore], [ignore]) - AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) + AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main]) ;; esac # both installed AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib/liba.la lib/a.lo -rpath /foo, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar, [0], [ignore], [ignore]) -AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) +AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la lib/liba.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main]) # both convenience, libb depending on liba AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib/liba.la lib/a.lo, [0], [ignore], [ignore]) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la, [0], [ignore], [ignore]) -AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la, [0], [ignore], [ignore]) +AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main]) # lib convenience case $host in *-*-darwin*) ;; *) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo, [0], [ignore], [ignore]) - AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la, [0], [ignore], [ignore]) + AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main]) ;; esac @@ -234,7 +248,7 @@ esac case $host in *-*-darwin*) ;; *) AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar, [0], [ignore], [ignore]) - AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main sub/main.o lib2/libb.la, [0], [ignore], [ignore]) + AT_CHECK($LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS -o sub/main $main_o lib2/libb.la, [0], [ignore], [ignore]) LT_AT_EXEC_CHECK([./sub/main]) ;; esac