Den 2010-09-02 15:06 skrev Peter Rosin: > Den 2010-09-01 22:30 skrev Peter Rosin: >> Hi! >> >> I was going to hold off this until after I had run the testsuite one more >> time with the latest fixes, but the recent message from Gary made me post >> right away. By the Lay of Murphy, I'm sure I'll regret it... >> >> This series is a rebased and updated version of the patches posted in >> http://lists.gnu.org/archive/html/libtool-patches/2010-08/msg00222.html >> >> I have reason to believe that these patches will make the testsuite >> results cleaner for MinGW (gcc) on MSYS, MSVC on MSYS, MSVC on Cygwin >> and have no impact on gcc on Cygwin. >> >> I will post details in a day of so when the testsuite has finished >> running... > > > I have made some notes after each testsuite excerpt.
I have now rerun the testsuite on MSVC on MSYS, but with a ar-lib fix for backslashed files, and on MSVC on Cygwin, with a LN_S="cp -p" override. I may also have rebased the patches on top of a few new patches on the master branch, I actually don't remember. I have not rerun the testsuite the gcc, since ar-lib isn't used in that case so the bug fix there can't have an impact and the fact that I'm running the testsuite with a tweaked LN_S in one case should not have an impact in other cases. Here are the results, with notes after each testsuite excerpt. Testsuite results for MSVC on MSYS ================================== configured as: ../libtool-msvc/configure CC="/c/cygwin/home/peda/automake/lib/compile cl" CFLAGS="-MD -Zi -EHsc" CXX="/c/cygwin/home/peda/automake/lib/compile cl" CXXFLAGS="-MD -Zi -EHsc" LD=link NM="dumpbin -symbols" STRIP=: AR="/c/cygwin/home/peda/automake/lib/ar-lib lib" RANLIB=: F77=no FC=no GCJ=no --enable-dependency-tracking ## ------------------------------- ## ## GNU Libtool 2.2.11a test suite. ## ## ------------------------------- ## Shell option parser generator. 1: short option splitting ok 2: enhanced shell short option splitting ok 3: long option splitting ok 4: XSI long option splitting ok 5: option appending ok 6: enhanced shell option appending ok Libtoolize operation. 7: libtoolize macro installation ok 8: libtoolize macro directory mismatch error ok 9: libtoolize macro serial update ok 10: libtoolize config files serial update ok 11: diagnose missing LT_CONFIG_LTDL_DIR ok 12: copy ltdl.m4 with shared macro directory ok 13: correctly parse LTDL_INIT from configure.ac ok 14: diagnose missing LTDL_INIT invocation ok 15: upgrading verbatim style aclocal.m4 ok 16: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok 17: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok 18: subproject ltdl with non-shared directories ok 19: LIBTOOLIZE_OPTIONS ok 20: cleanup old installation ok Testing libtool functions. 21: standard command line options ok 22: mode short-hands ok 23: debug tracing ok 24: duplicate members in archive tests ok 25: duplicate convenience archive names FAILED (duplicate_conv.at:79) 26: preserve duplicate convenience deps skipped (duplicate_deps.at:66) 27: passing CC flags through libtool ok 28: passing CXX flags through libtool ok 29: passing F77 flags through libtool skipped (flags.at:24) 30: passing FC flags through libtool skipped (flags.at:24) 31: passing GCJ flags through libtool skipped (flags.at:24) 32: inherited_linker_flags ok 33: C convenience archives ok 34: C++ convenience archives ok 35: F77 convenience archives skipped (convenience.at:111) 36: FC convenience archives skipped (convenience.at:171) 37: Java convenience archives skipped (convenience.at:231) 38: Link order test ok 39: Link order of deplibs ok 40: Failure tests ok 41: shlibpath_overrides_runpath skipped (shlibpath.at:54) 42: Runpath in libtool library files ok 43: static linking flags for programs FAILED (static.at:198) 44: ccache -all-static ok 45: Export test ok 46: sys_lib_search_path skipped (search-path.at:57) 47: indirect convenience ok 48: indirect uninstalled ok 49: static library contains static library ok 50: both of -o prog and -o prog$EXEEXT work ok 51: execute mode ok 52: bindir compile check ok 53: bindir basic lib test ok 54: bindir install tests ok 55: cwrapper for uninstalled executables ok 56: deplib in subdir ok 57: inferred tag ok 58: CXX inferred tag ok 59: F77 inferred tag skipped (infer-tag.at:56) 60: FC inferred tag skipped (infer-tag.at:70) 61: GCJ inferred tag skipped (infer-tag.at:84) 62: localized compiler messages ok 63: nocase library search ok 64: Install tests ok 65: versioning ok DESTDIR tests 66: Simple DESTDIR install ok 67: DESTDIR with in-package deplibs ok Support for older m4 interface. 68: AM_PROG_LIBTOOL ok 69: AC_WITH_LTDL ok Libtool subdir-objects support. 70: C subdir-objects ok 71: C++ subdir-objects ok Libltdl functionality. 72: lt_dlexit unloading libs FAILED (lt_dlexit.at:147) 73: lt_dlopenadvise library loading ok 74: lt_dlopen error messages skipped (lt_dlopen.at:31) 75: lt_dlopen archive skipped (lt_dlopen_a.at:94) 76: lt_dlopenext error messages ok 77: libdir of installed modules ok 78: ltdl API ok 79: dlloader API ok 80: loadlibrary error messages ok 81: syntax of .la files expected failure (lalib-syntax.at:133) 82: resident modules ok 83: SList functionality ok 84: enforced lib prefix FAILED (need_lib_prefix.at:170) Standalone Libltdl. 85: compiling softlinked libltdl ok 86: compiling copied libltdl ok 87: installable libltdl ok 88: linking libltdl without autotools ok Subproject Libltdl. 89: compiling softlinked libltdl ok 90: compiling copied libltdl ok 91: installable libltdl ok 92: linking libltdl without autotools ok Nonrecursive Automake Libltdl. 93: compiling softlinked libltdl ok 94: compiling copied libltdl ok 95: installable libltdl ok Recursive Automake Libltdl. 96: compiling softlinked libltdl ok 97: compiling copied libltdl ok 98: installable libltdl ok C++ template tests. 99: simple template test ok 100: template test with subdirs ok Constructors. 101: C++ static constructors ok 102: C++ exception handling skipped (exceptions.at:362) libtool script generation. 103: config.status ok 104: config.lt ok Libtool usage in GCC 105: AC_NO_EXECUTABLES ok Detecting identical deplibs. 106: build tree relpaths expected failure (deplibs-ident.at:68) configure interface to libltdl. 107: installable libltdl ok 108: --with-ltdl-include/lib ok 109: --with-included-ltdl ok 110: convenience libltdl ok Libtool stress test. 111: Link option thorough search test ok 112: Run tests with low max_cmd_len FAILED (cmdline_wrap.at:43) 113: override pic_flag at configure time skipped (pic_flag.at:39) Mac OS X tests 114: darwin fat compile skipped (darwin.at:42) 115: darwin concurrent library extraction ok 116: darwin gdb debug information skipped (darwin.at:154) 117: deplibs without file command ok sysroot tests 118: -L=.../lib -l skipped (sysroot.at:203) 119: -L SYSROOT/.../lib -l skipped (sysroot.at:204) 120: SYSROOT/.../*.la skipped (sysroot.at:205) ## ------------- ## ## Test results. ## ## ------------- ## ERROR: 99 tests were run, 7 failed (2 expected failures). 21 tests were skipped. ## -------------------------- ## ## testsuite.log was created. ## ## -------------------------- ## Please send `tests/testsuite.log' and all information you think might help: To: <bug-libt...@gnu.org> Subject: [GNU Libtool 2.2.11a] testsuite: 25 43 72 84 112 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/testsuite.dir'. make: *** [check-local] Error 1 Notes: 25: MSVC doesn't support -r -o 43: Just wont work, MSVC can't select between static or shared libs, you have to select for it. 72: Unsure what's going on. Old failure. 84: Unsure what's going on. Old failure. 102: There are some dllimport work needed, but that's not enough since the C++ name mangling on MSVC creates symbols that are "hard" for the preloader. 112: The results are exactly the same as w/o low max_cmd_len. Skips and fails on the exact same lines. Testsuite results for MSVC on Cygwin ==================================== configured as: ../libtool-msvc/configure CC="/home/peda/automake/lib/compile cl" CFLAGS="-MD -Zi -EHsc" CXX="/home/peda/automake/lib/compile cl" CXXFLAGS="-MD -Zi -EHsc" LD=link NM="dumpbin -symbols" STRIP=: AR="/home/peda/automake/lib/ar-lib lib" RANLIB=: F77=no FC=no GCJ=no --enable-dependency-tracking lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 --build=i686-pc-cygwin --host=i686-pc-mingw32 and the testsuite run as: make check-local LN_S="cp -p" ## ------------------------------- ## ## GNU Libtool 2.2.11a test suite. ## ## ------------------------------- ## Shell option parser generator. 1: short option splitting ok 2: enhanced shell short option splitting ok 3: long option splitting ok 4: XSI long option splitting ok 5: option appending ok 6: enhanced shell option appending ok Libtoolize operation. 7: libtoolize macro installation ok 8: libtoolize macro directory mismatch error ok 9: libtoolize macro serial update ok 10: libtoolize config files serial update ok 11: diagnose missing LT_CONFIG_LTDL_DIR ok 12: copy ltdl.m4 with shared macro directory ok 13: correctly parse LTDL_INIT from configure.ac ok 14: diagnose missing LTDL_INIT invocation ok 15: upgrading verbatim style aclocal.m4 ok 16: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok 17: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok 18: subproject ltdl with non-shared directories ok 19: LIBTOOLIZE_OPTIONS ok 20: cleanup old installation ok Testing libtool functions. 21: standard command line options ok 22: mode short-hands ok 23: debug tracing ok 24: duplicate members in archive tests ok 25: duplicate convenience archive names FAILED (duplicate_conv.at:79) 26: preserve duplicate convenience deps skipped (duplicate_deps.at:66) 27: passing CC flags through libtool ok 28: passing CXX flags through libtool ok 29: passing F77 flags through libtool skipped (flags.at:24) 30: passing FC flags through libtool skipped (flags.at:24) 31: passing GCJ flags through libtool skipped (flags.at:24) 32: inherited_linker_flags ok 33: C convenience archives ok 34: C++ convenience archives ok 35: F77 convenience archives skipped (convenience.at:111) 36: FC convenience archives skipped (convenience.at:171) 37: Java convenience archives skipped (convenience.at:231) 38: Link order test ok 39: Link order of deplibs ok 40: Failure tests ok 41: shlibpath_overrides_runpath skipped (shlibpath.at:54) 42: Runpath in libtool library files ok 43: static linking flags for programs FAILED (static.at:198) 44: ccache -all-static ok 45: Export test ok 46: sys_lib_search_path skipped (search-path.at:57) 47: indirect convenience ok 48: indirect uninstalled ok 49: static library contains static library ok 50: both of -o prog and -o prog$EXEEXT work ok 51: execute mode ok 52: bindir compile check ok 53: bindir basic lib test ok 54: bindir install tests ok 55: cwrapper for uninstalled executables ok 56: deplib in subdir ok 57: inferred tag ok 58: CXX inferred tag ok 59: F77 inferred tag skipped (infer-tag.at:56) 60: FC inferred tag skipped (infer-tag.at:70) 61: GCJ inferred tag skipped (infer-tag.at:84) 62: localized compiler messages ok 63: nocase library search skipped (nocase.at:31) 64: Install tests ok 65: versioning ok DESTDIR tests 66: Simple DESTDIR install ok 67: DESTDIR with in-package deplibs ok Support for older m4 interface. 68: AM_PROG_LIBTOOL ok 69: AC_WITH_LTDL ok Libtool subdir-objects support. 70: C subdir-objects ok 71: C++ subdir-objects ok Libltdl functionality. 72: lt_dlexit unloading libs FAILED (lt_dlexit.at:147) 73: lt_dlopenadvise library loading skipped (lt_dladvise.at:387) 74: lt_dlopen error messages skipped (lt_dlopen.at:31) 75: lt_dlopen archive skipped (lt_dlopen_a.at:94) 76: lt_dlopenext error messages skipped (lt_dlopenext.at:235) 77: libdir of installed modules skipped (ltdl-libdir.at:118) 78: ltdl API ok 79: dlloader API ok 80: loadlibrary error messages ok 81: syntax of .la files skipped (lalib-syntax.at:133) 82: resident modules ok 83: SList functionality ok 84: enforced lib prefix skipped (need_lib_prefix.at:170) Standalone Libltdl. 85: compiling softlinked libltdl ok 86: compiling copied libltdl ok 87: installable libltdl ok 88: linking libltdl without autotools ok Subproject Libltdl. 89: compiling softlinked libltdl ok 90: compiling copied libltdl ok 91: installable libltdl ok 92: linking libltdl without autotools ok Nonrecursive Automake Libltdl. 93: compiling softlinked libltdl ok 94: compiling copied libltdl ok 95: installable libltdl ok Recursive Automake Libltdl. 96: compiling softlinked libltdl ok 97: compiling copied libltdl ok 98: installable libltdl ok C++ template tests. 99: simple template test ok 100: template test with subdirs ok Constructors. 101: C++ static constructors ok 102: C++ exception handling skipped (exceptions.at:362) libtool script generation. 103: config.status ok 104: config.lt ok Libtool usage in GCC 105: AC_NO_EXECUTABLES ok Detecting identical deplibs. 106: build tree relpaths expected failure (deplibs-ident.at:68) configure interface to libltdl. 107: installable libltdl ok 108: --with-ltdl-include/lib ok 109: --with-included-ltdl ok 110: convenience libltdl ok Libtool stress test. 111: Link option thorough search test ok 112: Run tests with low max_cmd_len FAILED (cmdline_wrap.at:43) 113: override pic_flag at configure time skipped (pic_flag.at:39) Mac OS X tests 114: darwin fat compile skipped (darwin.at:42) 115: darwin concurrent library extraction ok 116: darwin gdb debug information ok 117: deplibs without file command ok sysroot tests 118: -L=.../lib -l skipped (sysroot.at:203) 119: -L SYSROOT/.../lib -l skipped (sysroot.at:204) 120: SYSROOT/.../*.la skipped (sysroot.at:205) ## ------------- ## ## Test results. ## ## ------------- ## ERROR: 94 tests were run, 5 failed (1 expected failure). 26 tests were skipped. ## -------------------------- ## ## testsuite.log was created. ## ## -------------------------- ## Please send `tests/testsuite.log' and all information you think might help: To: <bug-libt...@gnu.org> Subject: [GNU Libtool 2.2.11a] testsuite: 25 43 72 112 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/testsuite.dir'. make: *** [check-local] Error 1 Notes: 25: MSVC doesn't support -r -o 43: Just wont work, MSVC can't select between static or shared libs, you have to select for it. 63: I would have liked it if nocase library search was active in this case. 72: Unsure what's going on. Old failure. 84: Unsure what's going on. Old failure. 102: There are some dllimport work needed, but that's not enough since the C++ name mangling on MSVC creates symbols that are "hard" for the preloader. 112: The results are exactly the same as w/o low max_cmd_len. Skips and fails on the exact same lines. If you compare these two testsuite runs a few tests that fail on MSYS skip on Cygwin. That's normal as the Cygwin case is a cross where things sometimes skip instead of fail. There are also one test (116) that skip on MSYS but are ok on Cygwin, I also think that's normal since MSYS is not as POSIXy as Cygwin. There are a few unexpected skips in the "Libltdl functionality" group for MSVC on Cygwin (73 76 77) that I haven't looked into yet. All in all, these patches bahave as I expect them to, it's still not all the way, but good enough for now. Cheers, Peter