discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows support in libobjc2


From: David Chisnall
Subject: Re: Windows support in libobjc2
Date: Thu, 2 Aug 2018 09:29:55 +0100

On 1 Aug 2018, at 21:43, Ivan Vučica <ivan@vucica.net> wrote:
> 
> I'm not actively using it, but as this holds my interest, I could give
> it a shot.

Great!

> Could you, along with clang and runtime binaries, provide build
> instructions up to a trivial -base app?

I haven’t actually tried to build GNUstep yet.  The runtime is built as a 
native Windows DLL with no external dependencies.  I believe it should work 
with the SEH versions of MinGW and with anything built with Visual Studio.  GCC 
gained SEH support around 4.9ish, so exceptions should interoperate with any 
C/C++/Objective-C/whatever code that is built with a vaguely recent GCC, clang, 
ICC, or MSVC with an MSVC-compatible target triple.

> Could you clarify what you mean by using with a different linker? I
> generally just have clang pick a linker on other platform (as with
> gcc); how does one tell clang which linker to use? I think I haven't
> uninstalled it, so I think I have msvc set up, but it'd be nice to be
> able to use a free toolchain.

The Windows builds of clang appear to default to invoking link.exe.  If you use 
-fuse-ld=lld, then I believe it will try to use lld-link.exe on Windows, which 
is the link.exe-compatible lld frontend.  I do not yet have a build of lld for 
Windows, so I haven’t tested it yet.  I’ve no idea how well BFD ld works (gold, 
as I recall, doesn’t support anything other than ELF).  From the lld web site, 
I believe that it supports all of the linker features that I use, so it should 
be possible to build with an entirely free toolchain (modulo the fact that 
you’re linking to a bunch of non-Free system libraries, running on a non-Free 
OS, using a non-Free windowing system, and so on).

> Have you, before this, tried using libobjc2 with clang with mingw64 w/
> msys, or with cygwin?

Before I started at MSR, the most recent version of Windows I’d used was 
Windows 2000.  I started working on libobjc2 after I stopped using Windows, so 
this is the first time that I’ve trued using both together.

David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]