discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Cross Compiling for OS X?


From: Andreas Höschler
Subject: Re: Cross Compiling for OS X?
Date: Sat, 3 May 2008 13:21:56 +0200

Hi all,

Improving GNUstep Make to build native OS X applications (it already works nicely for frameworks) would be a better approach, but I'm not sure how much effort this would be. Building OS X apps from a makefile isn't very hard, although fat binaries are slightly harder, so it might be worth investigating.


I would be pretty much interested in a gnustep make makefile that generates an OSX application bundle. However, for now the "Add new files to XCode and GNUmakefile approach" works well enough for me. I am just through the process of figuring out how to setup XCode to build frameworks and applications like I am used to from ProjectBuilder. If anybody is struggling with the same problem, read on:

Problem: Source code for a bunch of frameworks and a bunch of applications and tools requiring these frameworks. The makefiles have been created with ProjectBuilderWO.app. There was a tool that generated gnustep makefiles from the PB.project files. The sources are lying on an NFS server so they can be reached from MacOSX and Solaris. On both platforms the frameworks, bundles and tools are built with

        cd  <project dir>
        make install

using gnustep make. Applications had to be built with ProjectBuilderWO.app on MacOSX since the app bundle generated by gnustep make did not work correctly on MacOSX. This setup (worked well for years) was to be migrated from MacOSX 10.2 with ProjectBuilderWO.app to 10.5 with XCode. XCode has dozens of settings, some with non-obvious meanings at the first glance. Many defaults need to be tweaked to get frameworks installed in /Library/Frameworks and applications installed in /Applications. Here's what I did.

I first created an XCode project (Cocoa framework or Cocoa application for each of my projects in a temporary directory and copied the generated files into the real project directories. After opening the XCode project, adding the files (classes, resources, frameworks) was simple. The tricky part was to open the "Get Info" panel for the project and the target - this really has to be done in both places - and do the following settings for a framework project:

Deployment Location                                     checked
Installation Build Products Location            /
Installation Directory                                  /Library/Frameworks
Strip Linked Product                                    not checked

This installs the frameworks in /Library/Frameworks where I usually expect them to be, not in /Build/Release/Frameworks, /home/ahoesch/ Library/Frameworks,... I don't know whether all of these settings are required, but it works for me this way.

By the way, I found Parallels to be an extremely useful product (MacOSX application) for GNUsteppers. It allowed me to install Solaris 10 x86 (and thus GNUstep) in a virtual machine on my PowerBook, so I can carry around a full featured MacOSX/GNUstep development environment with me now. The performance is pretty convincing.

Regards,

  Andreas





reply via email to

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