[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Libtool HEAD on Windows.
Libtool HEAD on Windows.
Tue, 12 Feb 2008 17:00:13 +0100
I now have the parity patches for HEAD ready. I ran the testsuite for
interix/gcc and cygwin/gcc too, and both still behave the same as
without the patch applied. I haven't had the chance to test any other
platform, but I tried to take good care and not introduce any breaking
changes. If there are such changes, please tell me, and I'll try and
correct them. Most of the changes are either inside a case label or
inside #ifdef's which should limit their impact to winnt.
For the testsuite to run through with parity, a patched config.guess is
required (patch submitted to config list allready), which reports
i586-pc-winnt if the compiler defines __PARITY__ and uname reports
either Interix or CYGWIN (x86 only for now).
Also parity SVN-trunk may be required at the moment for all tests to
pass. 1.0.4 will be released in a few days.
On Cygwin, parity does not yet fully work, but this has no influence on
this patch, or anything else :)
Attached is both a log for configure/build and the complete testsuite,
and a patch against current HEAD.
2008-02-12 Markus Duft <address@hidden>
Implemented support for *-winnt*, which is the "parity"
compiler for windows (http://www.sf.net/projects/parity):
* libltdl/config/ltmain.m4sh: recognize winnt as Windows OS,
specially handle parity compiler (force C++), don't handle
.exe extensions like on cygwin and mingw, but like on UNIX.
Disable the use of reloadable objects (not supported).
* libltdl/libltdl/lt_system.h: Only define R_OK if it's not
allready defined elsewhere on Windows.
* libltdl/loaders/dlopen.c: Don't use RTLD_GLOBAL with parity.
* libltdl/loaders/loadlibrary.c: In case LoadLibrary is used
instead of dlopen, convert paths to windows-style for the
Windows API's (dlopen does this otherwise).
* libltdl/m4/argz.m4: Windows (parity) has no argz support.
* libltdl/m4/libtool.m4: Added winnt support.
* libltdl/m4/ltdl.m4: On winnt dlopen opens deplibs.
* tests/configure-iface.at: Fix output for testsuite.
* tests/ctor.at: Use dllimport for correct link.
* tests/destdir.at: Add $EXEEXT to output filenames.
* tests/duplicate_conv.at: Don't execute the part of the test
that relies on reloadable objects (not supported).
* tests/export.at: Need explicit export of uninitialized data,
use the LIBA_SCOPE define instead of extern.
* tests/link-order.at: Use dllimport for correct link.
* tests/link-order2.at: XFAIL on winnt. Windows has no RTL.
* tests/lt_dladvise.at: Fix output for testsuite. Use
dllimport for correct link. Don't test undefined symbols.
* tests/lt_dlexit.at: Use dllimport for correct link.
* tests/need_lib_prefix.at: Fix output for testsuite.
* tests/stresstest.at: Need explicit export of uninitialized
data, use the LIBA_SCOPE define instead of extern. link the
main-static object only when -static is given.
* tests/template.at: Add dependent libs to link line. There
is no support for undefined symbols on winnt.
* tests/testsuite.at: the *_EXEC_CHECK macros know of $EXEEXT
* tests/demo/foo.c tests/demo/foo.h tests/depdemo/l1/l1.c
tests/depdemo/l4/l4.h: Use dllimport for correct link.
* tests/mdemo/foo1.c tests/mdemo/foo2.c: Initialize global
data, otherwise dllexport would be required.
* tests/pdemo/foo.h tests/pdemo/longer_file_name_foo.c: Use
dllimport for correct link.
I hope that's everything you need, otherwise just tell me.
- Libtool HEAD on Windows.,
Duft Markus <=