[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ANN: GNUstep Windows MSVC Toolchain Scripts
From: |
Gerold Rupprecht |
Subject: |
Re: ANN: GNUstep Windows MSVC Toolchain Scripts |
Date: |
Sat, 20 Mar 2021 01:23:16 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
Hi Frederik,
I found the following,
https://devblogs.microsoft.com/cppblog/use-any-c-compiler-with-visual-studio/
<https://devblogs.microsoft.com/cppblog/use-any-c-compiler-with-visual-studio/>
from March 7th, 2017. Therein they promote the Windows subsystem for
Linux (WSL).
Gernot Klinger describes creating and using shared libraries with
different compilers on different operating systems,
https://gernotklingler.com/blog/creating-using-shared-libraries-different-compilers-different-operating-systems/
<https://gernotklingler.com/blog/creating-using-shared-libraries-different-compilers-different-operating-systems/>
where he states MSVC cannot directly link to a dll and that one needs a
so-called import library. He then suggests using CMake...
It seems interoperability is possible but they are not compatible at
this time.
Best regards,
Gerold
On 19.03.21 11:17, Frederik Seiffert wrote:
> Hi Gerold,
>
> To my knowledge GNUstep already works with GCC, also on Windows using MinGW.
> GCC is not compatible with MSVC afaik, so it can’t be used for this project.
> Or did you mean something else?
>
> Frederik
>
>
>> Am 19.03.2021 um 08:54 schrieb Gerold Rupprecht <geroldr@bluewin.ch>:
>>
>> Thank you Frederick and David for your contributions to GNUstep. I do
>> hope you can also get it working with GCC. The automated testing will be
>> very helpful in the future.
>>
>> My congratulations,
>>
>> Gerold Rupprecht
>>
>> On 3/18/21 12:39 AM, Frederik Seiffert wrote:
>>> I am pleased to announce a new GNUstep project containing a set of scripts
>>> to build GNUstep for Windows with Clang and libobjc2 using the Visual
>>> Studio toolchain and MSVC ABI (i.e. without MinGW):
>>>
>>> https://github.com/gnustep/tools-windows-msvc
>>>
>>> The scripts currently build GNUstep Base with all dependencies, plus also
>>> libdispatch. Invoking build.bat from an x86 or x64 Visual Studio developer
>>> command prompt will build all libraries for that architecture for both
>>> debug and release CRT libraries. Each library is either build directly in
>>> the Windows shell (libobjc2, libiconv, libxml2, libxslt), or an MSYS2 Bash
>>> shell is spawned for libraries requiring such an environment (libffi,
>>> GNUstep Make/Base).
>>>
>>> I only found usable pre-built binaries for Pthread-win32 and ICU (and no
>>> good way to integrate NuGet packages), so all the others are built from
>>> source. Since building for MSVC is far from standard for projects coming
>>> from Unix (but fortunately always supported in some way it seems), each of
>>> them requires their very own special setup, and required a lot of massaging
>>> to get everything working.
>>>
>>> The resulting set of DLLs should be usable to integrate Objective-C code in
>>> basically any Windows app that is not using MinGW, using either clang or
>>> clang-cl to build ObjC code. The Readme contains some info on the required
>>> compiler and linker flags. Hopefully down the line we can also get other
>>> GNUstep libraries on board as to offer a more complete GNUstep package for
>>> Windows MSVC.
>>>
>>> (I also took a brief stab at trying to build Objective-C code in Visual
>>> Studio, but unfortunately it adds a /TP flag forcing clang-cl to treat the
>>> input as C++ (just like CMake). I’m guessing there are ways around this as
>>> WinObjC was able to integrate ObjC files in VS, which we can hopefully
>>> figure out some time.)
>>>
>>> While many tests in Base are still failing for various reasons, I plan on
>>> spending more time on this in the coming months and will also try to add
>>> MSVC to the Travis CI setup so we can ensure the configuration stays
>>> supported. I already set up CI via GitHub Actions for the scripts
>>> themselves (not running any tests atm.). (And btw. GitHub Actions runners
>>> seem *much* faster than Travis CI.)
>>>
>>> Thank you all and especially David for helping me get this working, and
>>> bearing with me through all my messages to the mailing list on this topic
>>> over the last year! I’m looking forward to see what comes out of this
>>> effort.
>>>
>>> Frederik
>>>
>>>
>> --
>> Gerold Rupprecht
>> 10, rue Louis-Curval
>> CH-1206 Genève, Suisse
>>
>> Fixed: +41 (0) 22 347 73 96
>> Mobile: +41 (0) 79 914 29 52
>>
>> Blog: https://geneva-observer.blogspot.ch/
>>
>> GPG Key ID DFA0A4D4 I prefer encrypted mail.
>>
>> If you have not yet begun using encrypted email, you may find the following
>> link useful,
>> https://emailselfdefense.fsf.org/en/
>>
>>
--
Gerold Rupprecht
10, rue Louis-Curval
CH-1206 Genève, Suisse
Fixed: +41 (0) 22 347 73 96
Mobile: +41 (0) 79 914 29 52
Blog: https://geneva-observer.blogspot.ch/
GPG Key ID DFA0A4D4 I prefer encrypted mail.
If you have not yet begun using encrypted email, you may find the following
link useful,
https://emailselfdefense.fsf.org/en/
geroldr.vcf
Description: Vcard
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, (continued)
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Richard Stallman, 2021/03/21
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Gerold Rupprecht, 2021/03/19
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Richard Stallman, 2021/03/21
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Gerold Rupprecht, 2021/03/21
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Gregory Casamento, 2021/03/22
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Richard Stallman, 2021/03/31
- Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Richard Stallman, 2021/03/31
Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Riccardo Mottola, 2021/03/26
Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Gerold Rupprecht, 2021/03/19
Re: ANN: GNUstep Windows MSVC Toolchain Scripts, Gregory Casamento, 2021/03/19