Re: ANN: GNUstep Windows MSVC Toolchain Scripts

Frederik Seiffert <[email protected]> Sat, 20 Mar 2021 11:49:45 +0100
Newsgroups gmane.comp.lib.gnustep.devel
Message-ID <[email protected]>
Hi David,

> Am 19.03.2021 um 15:58 schrieb David Chisnall <[email protected]>:
> 
> That's great news, congratulations!

Thank you for all your help making it happen!


> If you look at the build for libobjc2 on Windows, because we're using a CMake version that predates official support for either Objective-C or using the gcc-compatible driver, we have the same problem with /TP being added.  We work around this with an undocumented feature of clang where you can provide an environment variable that removes flags from the command line.  You can probably set that in your Visual Studio build. Setting this strips the TC and TP flags from clang invocations:
> 
> CCC_OVERRIDE_OPTIONS=x-TC x-TP x/TC x/TP

Good idea using CCC_OVERRIDE_OPTIONS, that should probably work fine. Ultimately I’m hoping that we can come up with something more integrated like a custom build tool spec in VS, so .m and .mm files automatically get all the right flags.


> It would be great at some point to remove the pthread-w32 dependency. SRWLocks and ConditionVariables on Windows seem to provide everything we need for NSLock* and be a fairly small amount of code.

Yeah absolutely, I just wanted to make sure we could actually get this working before spending time on improvements. I also expect to spend a lot of time on fixes while integrating the toolchain in our project.

Frederik