Merry Christmas to all ...
I've been using Lazarus for several years now, mostly under MacOS, which limits me to the Carbon widget-set and 32 bit applications.
With Apple's move to 64 bit / Cocoa, I think it's time Lazarus should be doing so as well.
Easier said than done of course, a lot of work still needs to be done, and a lot of work has already been done on the Cocoa widget-set (all respect for that!).
Note worthy is the very awesome bounty placed by Herman (see
this bounty and
this forum post)
I'd be more than happy to chip in financially, but I'm just an amateur developer and my pockets are not very deep.
Since I'm no expert developer (I just do this for fun), I was wondering how we (Mac users) can do to help in other ways.
Obviously there is the bug reporting, but with the current state of Cocoa I do not even know where to begin since almost every visual component is placed incorrectly on a form. So should I list all the affected visual components in a bug report?
Just a few things I've tested:
1) Compile the IDE with the Cocoa widget set.
I'm aware that, since Cocoa in in Alpha stage, this will be problematic - so what I'm seeing is as expected.
When compiling with Cocoa and 64 bit, compilation simply fails (make clean all).
lazarus.pp(57,3) Fatal: Cannot find Interfaces used by Lazarus, incompatible ppu=/Users/hans/freepascal/lazarus/lcl/units/x86_64-darwin/cocoa/interfaces.ppu, package LCL
When leaving the CPU target to default (i386 I presume) however the IDE does compile ... well, after I install
Quartz since for some reason the linker seems to require a X11 library.
After installing Quartz (still confused why this is needed) the IDE compiles fine, but starts with a few problems:
- The menu is gone, the menu is simply not there,
- Selecting components on a form is challenging at best, and does not show that they are selected,
- Moving and positing visual components is pretty much undoable,
- Object Inspector isn't doing all that well (to be expected),
- the component window is not heigh enough to show the icons of the components.
2) Compiling applications with 64bit and Cocoa.
When compiling applications, with a Carbon IDE, the biggest hurdle is that the form doesn't come out as designed. Pretty much every visual component looks different and seems placed different than designed.
Designing a form with the IDE compiled with Cocoa will compile in the same looking result but ... it's very challenging to place and move components on the form, and when moving the code to another platform (for example Windows) things become a mess. When comparing Carbon vs Windows vs Linux then the form design is pretty much the same. Cocoa however makes a mess out of it.
Having listed all this, I'm wanting to help a hand, but I'm a little stuck in what to do.
Should I report all misplaced components (in one report or in individual bug reports)?
Should I report that Lazarus seems to need X11 to be able to compile with Cocoa?
Is the missing menu related to X11 or is this a bug?
I'm sure other Mac users are eager to get Cocoa to work. If we work together then maybe we can make some progress ...