discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Windows distribution viability


From: Ethan C
Subject: Re: Windows distribution viability
Date: Wed, 11 Dec 2024 11:30:17 -0600
User-agent: Mozilla Thunderbird

Hi Simon,

On 12/11/24 10:36, Simon Gornall wrote:

Hi folks,

I’ve been a Mac engineer for the last couple of decades, and now I find myself looking at writing something that will work on both Windows and the Mac. If it were just for me, (from reading around) I think it’d be quite straightforward - just install MSYS, the GNUstep packages, and start running with it, but I might want to distribute this application in the future, and I’m cautious about requiring a GNUstep install as a part of that, it seems like a reasonably high bar.

In fact, I’ll be using SDL (3, if it matters) for the graphics side (which is cross-platform), what I’m really after here is the runtime and Foundation framework that I’ve come to know and love - even better if it has ARC :)

libobjc2 is a pretty mature runtime, and it has useful features the
Apple runtime doesn’t have, such as typed selectors (so having two
methods in different classes with the same name but different types
is no longer undefined behavior) and stuff to support dynamic
languages that have other object models. Our Foundation
implementation, gnustep-base, is also pretty mature, and if your
code doesn’t work on gnustep-base it shouldn’t be too hard to get it
working. If you need CoreFoundation, that might be a bit more
difficult. I don’t know the status of gnustep-corebase, and I have a
Linux-only port of the Catalina CoreFoundation with toll-free
bridging enabled that I’m currently working on.

I found https://github.com/gnustep/tools-windows-msvc but it’s not clear whether this results in something I can package up (binary, DLLs in the same directory  etc.) and have an easy-to-use install.exe that means the end-user doesn’t have to install GNUstep, or whether it depends on filesystem layout etc (as I recall GNUstep needing, from using it a long while ago).

I have read a fair number of “it’s hard to get it working on Windows” posts/articles but I’m hoping these are a bit self-selecting - people who did struggle and wrote about it doesn’t mean that everyone struggles… They’re also a bit older, and I’m (again) hoping things keep improving :) 

Anyway, and info/hints from people who’ve done something like this would be appreciated - I’m at the stage where I’m planning stuff, and I don’t want to paint myself into a corner. There’s always the option of using C++. But… you know… :)

You should look at
https://gnustep.github.io/Guides/Setup/Windows/index.html;
it includes all the information that Hugo Melder wrote about Windows
setup. You should definitely be using tools-windows-msvc. I don’t
know how to package it on Windows since I don’t use Windows often,
but I know people have done it in the past for some decently large
commerical applications, such as Algoriddim djay.

Cheers
   Simon


reply via email to

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