[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Status of the MSYS/MSVC port
From: |
Peter Rosin |
Subject: |
Status of the MSYS/MSVC port |
Date: |
Wed, 28 Jan 2009 01:14:22 +0100 |
User-agent: |
Thunderbird 2.0.0.19 (Windows/20081209) |
Hi!
With a bunch of pending patches [1] applied, the status of the
pr-msvc-support branch is as follows, when bootstrapped on Cygwin
(autoconf 2.63, automake 1.10.1) and configured on MSYS (autoconf 2.61,
automake 1.10) in a subdir with:
../configure CC=cl CFLAGS='-MD -Zi' CXX=cl CXXFLAGS='-MD -Zi' LD=link \
NM='dumpbin -symbols' AR=lib STRIP=: RANLIB=: F77=no FC=no
I also have a MinGW install accessible from the MSYS tree, and I think
some tool(s) from it (objdump?) might still be used at some point.
cl, link, lib and friends are from MSVC 8 (2005).
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
It *should* work for MSVC 6 as well, and I see no reason why it
shouldn't also work for MSVC 7, 7.1 and 9 (famous last words). It's
been a while since I tested on MSVC 6 though, and the other versions
are virtually untested in this context.
## -------------------------- ##
## libtool 2.2.7a test suite. ##
## -------------------------- ##
Libtoolize operation.
1: libtoolize macro installation ok
2: libtoolize macro directory mismatch error ok
3: libtoolize macro serial update ok
4: libtoolize config files serial update ok
5: diagnose missing LT_CONFIG_LTDL_DIR ok
6: copy ltdl.m4 with shared macro directory ok
7: correctly parse LTDL_INIT from configure.ac ok
8: diagnose missing LTDL_INIT invocation ok
9: upgrading verbatim style aclocal.m4 ok
10: verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR ok
11: nonrecursive ltdl with AC_CONFIG_MACRO_DIR ok
12: subproject ltdl with non-shared directories ok
13: LIBTOOLIZE_OPTIONS ok
14: cleanup old installation ok
Testing libtool functions.
15: duplicate members in archive tests ok
16: duplicate convenience archive names skipped
(duplicate_conv.at:80)
17: preserve duplicate convenience deps skipped
(duplicate_deps.at:66)
18: inherited_linker_flags ok
19: C convenience archives ok
20: C++ convenience archives ok
21: F77 convenience archives skipped
(convenience.at:110)
22: FC convenience archives skipped
(convenience.at:170)
23: Java convenience archives skipped
(convenience.at:230)
24: Link order test ok
25: Link order of deplibs ok
26: Failure tests ok
27: shlibpath_overrides_runpath skipped (shlibpath.at:54)
28: Runpath in libtool library files ok
29: static linking flags for programs FAILED (static.at:197)
30: ccache -all-static ok
31: Export test ok
32: sys_lib_search_path skipped (search-path.at:57)
33: indirect convenience ok
34: indirect uninstalled ok
35: static library contains static library UNEXPECTED PASS
36: both of -o prog and -o prog$EXEEXT work ok
37: execute mode ok
38: cwrapper for uninstalled executables ok
39: inferred tag ok
40: CXX inferred tag ok
41: F77 inferred tag skipped (infer-tag.at:56)
42: FC inferred tag skipped (infer-tag.at:70)
43: GCJ inferred tag skipped (infer-tag.at:84)
44: localized compiler messages ok
45: nocase library search ok
46: Install tests ok
DESTDIR tests
47: Simple DESTDIR install ok
48: DESTDIR with in-package deplibs ok
Support for older m4 interface.
49: AM_PROG_LIBTOOL ok
50: AC_WITH_LTDL ok
Libtool subdir-objects support.
51: C subdir-objects ok
52: C++ subdir-objects FAILED (am-subdir.at:148)
Libltdl functionality.
53: lt_dlexit unloading libs ok
54: lt_dlopenadvise library loading ok
55: ltdl API ok
56: enforced lib prefix ok
Standalone Libltdl.
57: compiling softlinked libltdl ok
58: compiling copied libltdl ok
59: installable libltdl ok
60: linking libltdl without autotools ok
Subproject Libltdl.
61: compiling softlinked libltdl ok
62: compiling copied libltdl ok
63: installable libltdl ok
64: linking libltdl without autotools ok
Nonrecursive Automake Libltdl.
65: compiling softlinked libltdl ok
66: compiling copied libltdl ok
67: installable libltdl ok
Recursive Automake Libltdl.
68: compiling softlinked libltdl ok
69: compiling copied libltdl ok
70: installable libltdl ok
C++ template tests.
71: simple template test ok
72: template test with subdirs ok
Constructors.
73: C++ static constructors ok
libtool script generation.
74: config.status ok
75: config.lt ok
Libtool usage in GCC
76: AC_NO_EXECUTABLES ok
Detecting identical deplibs.
77: build tree relpaths expected failure
(deplibs-ident.at:68)
configure interface to libltdl.
78: installable libltdl ok
79: --with-ltdl-include/lib ok
80: --with-included-ltdl ok
81: convenience libltdl ok
Libtool stress test.
82: Link option thorough search test ok
83: Run tests with low max_cmd_len FAILED (cmdline_wrap.at:43)
Mac OS X tests
84: darwin fat compile skipped (darwin.at:42)
## ------------- ##
## Test results. ##
## ------------- ##
ERROR: 73 tests were run,
1 passed unexpectedly,
4 failed (1 expected failure).
11 tests were skipped.
The problem in 29 (static.at) is that libtool has no way of guessing
the name of the static library when the .la file is removed, it ends
up with the import lib instead. The only fix I can think of is to
change the naming convention I selected for dll/import/static. Seems
like a big change though. I'll have a look at that eventually.
The problem in 35 (archive-in-archive.at) is that the MS archiver
(lib.exe) copies the content of an archive, and not the archive itself,
into another archive when requested. Maybe that should be tagged as
something other than an unexpected pass?
The problem in 52 (am-subdir.at) is that Automake doesn't have an
AM_PROG_CXX_C_O macro (or should I say that -o doesn't work in cl?).
I have made a request [2] for such a macro on the appropriate mailing
list (at least I think it's the right list, no response yet).
The summary for test 83 (cmdline_wrap.at) is like this:
testsuite: 29 failed, 35 passed unexpectedly
so as expected given the above (52 isn't tested in cmdline_wrap.at)
make check-local on Cygwin/gcc is "clean" with this flavor of libtool.
On MSYS/MinGW, stresstest.at now passes when "Run tests with low
max_cmd_len", that fails on git master. On the other hand, "cwrapper for
uninstalled executables" fails at cwrapper.at:78 (both with and without
low max_cmd_len). It's the second time through the loop that fails, when
restrictive_flags='-std=c89 -Wall -Werror' (an attempt to execute the
missing usea.exe). The root cause is that when linking, the compile of
the wrapper fails with various implicitly declared (or undeclared)
identifiers -> usea.exe goes MIA. But that test behaves the exact same
way on a pure libtool from git master, so move on, nothing to see
here...
I guess I should to set up a Linux VM and see what happens if I cross-
compile from *nix to MinGW.
Cheers,
Peter
[1] Pending patches
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00152.html
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00174.html
(but msg00174 is combined with msg00096 from Chuck)
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00096.html
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00055.html
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00090.html
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00093.html
(but msg00093 is refactored based on msg00163 from Chuck)
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00163.html
http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00092.html
[2] http://lists.gnu.org/archive/html/automake/2009-01/msg00027.html
- Status of the MSYS/MSVC port,
Peter Rosin <=
- Re: Status of the MSYS/MSVC port, Charles Wilson, 2009/01/27
- Re: Status of the MSYS/MSVC port, Peter Rosin, 2009/01/28
- Re: Status of the MSYS/MSVC port, Charles Wilson, 2009/01/28
- Re: Status of the MSYS/MSVC port, Peter Rosin, 2009/01/28
- Re: Status of the MSYS/MSVC port, Peter Rosin, 2009/01/29
- Re: Status of the MSYS/MSVC port, Charles Wilson, 2009/01/29
- Re: Status of the MSYS/MSVC port, Peter Rosin, 2009/01/29
- Re: Status of the MSYS/MSVC port, Bob Friesenhahn, 2009/01/29
- Re: Status of the MSYS/MSVC port, Peter Rosin, 2009/01/29
- Re: Status of the MSYS/MSVC port, Ralf Wildenhues, 2009/01/29