Crosscompiling

Jimmy

Active member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
922
Anyone tried compiling for macOS under Linux or other system?


 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
855
Your mileage may vary. The one major obstacle that prevents cross compiling for Apple devices would be the Apple Developer SDK licences.
It's easier to compile for Windows on Linux and to some degree you can compile on Windows for Linux using the Windows Subsystem for Linux version 2.
 

Jimmy

Active member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
922
Okay I'm also considering doing it the other way around as I already know how to compile for Linux on a macOS machine.
But I've never done any Windows compilation on macOS without a VM, so that could be a new challenge. I hate this business fragmentation.
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
855
But I've never done any Windows compilation on macOS without a VM
You should be able to install WINE for both Linux and Mac OS X, but as Apple have removed 32bit support from versions of MacOS X above 10.14. It will not work correctly trying to run Windows 32 bit executables. Oh and there should be MinGW compilers in both mac ports and Homebrew.

Currently I'm looking into what is a fork of the Lazarus IDE project called CodeTyphon.
Both Lazarus and CodeTyphon are free cross platform implementations of Delphi with the latter being able to cross compile to other platforms.
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
855
Never heard about CodeTyphon. Is it any good?
It's been around for a while. It was forked when Lazarus reached v1.1.

So far the IDE looks more stable than Lazarus on Windows and Linux. Up to press no random crashes or odd behaviour so far.

As with Lazarus, the documentation is thin on the ground, but at least it's not a confusing mess. Just not a lot of details, which is hindering me figuring out cross compilation setup.

Package wise, Lazarus and CodeTyphon are not compatible out of the box.

I haven't a clue what it's like on the later versions of MacOS X. On my old crappy 2007 with 10.11, only carbon is available, but that's not much different from the current release of Lazarus where I can only get the IDE as a 32 bit builds with cocoa and FPC 3.0.4.

Forum wise, it's small, just over 5 and half thousand members, but looks like post are getting answered.

The main component is CodeTyphon Centre, the ide is called Typhon (is it me or is Greek mythology getting to be a thing with coding tools;)), which is a kind of build and install manager for all components. Someone created a similar tool for Lazarus called fpcUpDeluxe.

The only best why to find out if any product is any good is to test it out. I'd be happy if I could get a stable IDE that works across all the main host operating systems, preferably with a stable 64 bit cocoa on my Apple iMac.
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
855
@MikeHart : Found after doing a bit of research. I discovered that one of the reasons why CodeTyphon didn't take off, has to do with what they did after they forked the Lazarus branch. They were embroiled in a touch of licence violation, basically removing licence files, changing file and class names. Instead of doing the right thing and removing the offending code, they ignored the authors and banned them from the forum. FPC and Lazarus were not entirely squeaky clean when first released as they had some questionable code submitted that had to be rewritten when it was spotted.

You'd find some interesting blogs if you search Lazarus vs CodeTyphon on the controversy. As for CodeTyphon, I think I shall not be using it.

I did manage to get FPC 3.2.0 and the trunk version of Lazarus installed on the old iMac using fpcUpDeluxe. The IDE didn't like Anchor docking and the Sparta Docked Form Editor packages installed at the same time. Not sure if this has to do with using an old version of FPC, Xcode or if the LCL Cocoa bindings are not stable enough yet.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,167
@MikeHart : Found after doing a bit of research. I discovered that one of the reasons why CodeTyphon didn't take off, has to do with what they did after they forked the Lazarus branch. They were embroiled in a touch of licence violation, basically removing licence files, changing file and class names. Instead of doing the right thing and removing the offending code, they ignored the authors and banned them from the forum. FPC and Lazarus were not entirely squeaky clean when first released as they had some questionable code submitted that had to be rewritten when it was spotted.

You'd find some interesting blogs if you search Lazarus vs CodeTyphon on the controversy. As for CodeTyphon, I think I shall not be using it.

I did manage to get FPC 3.2.0 and the trunk version of Lazarus installed on the old iMac using fpcUpDeluxe. The IDE didn't like Anchor docking and the Sparta Docked Form Editor packages installed at the same time. Not sure if this has to do with using an old version of FPC, Xcode or if the LCL Cocoa bindings are not stable enough yet.
Thanks for the info. I guess I will stay with Lazarus then.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,167
@dawlane I just saw that Delphi has a free CE version of the current version out. Cross platform. Only Linux is missing. :-/
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
855
I just saw that Delphi has a free CE version of the current version out.
I was going to let you know earlier on, but totally forgot about it. It's version 10.4 and tells me I have 367 days left on the licence, so something tells me that all is not what it appears to be....

I'll be spending a week or so playing around with it to see what it can do. So far I'm not too keen on the IDE layout, but I'm bias having used both Delph and CBuilder prior to versions 7.

And Lazarus is really starting to piss me off with crashing and the piss poor documentation and examples. And I don't fancy going through all the component sources just to figure out how to make it work. The whole point of a RAD tool is to cut down the application development cycle.
 
Top Bottom