|
From: | Riccardo Mottola |
Subject: | Re: gnustep demo for macos |
Date: | Fri, 19 Apr 2019 18:55:26 +0200 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 |
Hi Dale, Dale Amon wrote:
At the moment I am sticking to a pure linux environment... but there are reasons why I might want to be able to bring MacOS into the fold at a future date... not the least of which is that they *OWN*the aviation market.
it depends on where you want to draw the bar, the difference between Mac and Linux. There will always be some.
Use MacOS as "Darwin" and then compile (or try to) compile all GNUstep stuff including an X11 backend? A possible option. In the past it was done, but then Darwin distributions waned. Also, in this case, do you want to use apple's compiler and runtime or replace "everything" (in that case macports might be of help for you)?
Or if you draw the bar higher, you use Apple's AppKit. Depending on your code, it might essentially "just run". This is how I do most cross-platform apps, e.g. how Graphos or PRICE work on Mac and GNUstep.
Some lower-level code might be different though, especially if you delve with Unix.
If you use GNUstep's extensions, then you can try to install "those" alone, it used to work in the past.
All his opens some maze of possibilities. From my modest experience, which is nothing mission critical, depending on the kind of code you have you might be more or less lucky, so nothing I would blindly trust! You will learn the differences.
Sometimes the differences are "bugs" in GNUstep (or undocumented Apple behaviour). Sometimes just stuff from the runtime or the OS gets exposed and intermixed. Sometimes GNUstep is just simpler in behaviour, my image processing program which works with Bitma representations worked fine under GNUstep, but started breaking from Mac 10.6 onwards in "corner cases". It was my fault, I was not adhering to specifications, APple started optimizing things and representing certain pointers differently. Correct code works now on both systems without flaws (and without #ifdefs)
An example of unfortunate way of porting is GNUmail, since it has several differences in the code to support mac and gnustep (sometimes historical bug workarounds, sometimes access to Unix functions, events, queues... ) things may mix. You "learn" the hot topics.
Riccard
[Prev in Thread] | Current Thread | [Next in Thread] |