User:Marc

From Free Pascal wiki
Jump to navigationJump to search

My Todo

LCL

  • Make imagelist widgetset specific
  • adjust Listviews for imagelists
  • update toolbar
  • update treeview

Carbon interface

  • make initial interface so that a hello world would work
  • Make a Ansistring based CFString (CFStringCreateWithCStringNoCopy, add refcount and release with contentsDeallocator)

Debugger

  • Fix bugs
  • Make native win32 debugger

Linux 64

  • Make it work™

Spark

  • Fix gtk scrollbars

Installing Carbon on OSX

Install Apples Universal PInterfaces

The most easy way to do it, is to follow step 0 of http://www.freepascal.org/xcode.html

This way the interfaces are patched to work with FPC. Side effect is that you need XCode. If everything went OK, you now have the Carbon interface sources in /Developer/Pascal/UPInterfaces

TODO: document steps for Lazarus alone

Compile the PInterfaces

The way the interfaces are setup look like they are compiled each time for your project. This is IMO not neccesary. You don't compile the LCL each time for your own app (or do you ?).

  • Create a Units/powerpc-darwin subdir in the /Developer/Pascal/UPInterfaces dir
  • Compile Carbon.p:
ppcppc Carbon.p -Mmacpas -FE/Developer/Pascal/UPInterfaces/Units/powerpc-darwin
Now you have a compiled carbon interface, which only has to be recompiled as the interfaces changes.
  • Edit the global /etc/fpc.cfg (or your local .fpc.cfg) and add the lines:
-Fu/Developer/Pascal/UPInterfaces/Units/$fpctarget

-k-framework Carbon

eventually you can add:
-Fu<your_lazarus_dir>/lcl/units/$fpctarget

-Fu<your_lazarus_dir>/lcl/units/$fpctarget/carbon -Fu<your_lazarus_dir>/components/units/$fpctarget

Compile the LCL

Now we are ready to compile the LCL (from your lazarusdir):

make lcl LCL_PLATFORM=carbon

When you already have a running (and compiled) gtk interface, it can be easier. Go to the lcl/interfaces/carbon dir and type make.