Mac OS X

From FM Plugin Wikipedia
Revision as of 03:53, 21 August 2011 by Kent (talk | contribs) (Prelude)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Prelude

Mac OS X Lion no longer supports legacy PowerPC applications via Rosetta. In addition, Xcode 4 no longer uses the GCC compiler. At this time, the FileMaker Plugin API requires us to use the GCC 4.0 compiler.

It's possible to continue to use Xcode 3.2 on OS X Lion, however you will need to install via the command line (see step two below).

Alternatively - you can restore GCC 4.0 and PPC support to Xcode 4 - which the following document will assist with.


Note : This is a collection of steps from various other sites and developers. I have completed these steps and am now able to compile plugins for FileMaker using Xcode 4. Please make a backup before attempting !

All care taken - no responsibility !



Installing XCode 4 with support for GCC4.0

The following link explains how to install Xcode 4 with the GCC 4.0 compiler, which is necessary to compile FileMaker Plugins.


Step One : Uninstall existing

If you already have Xcode installed, then uninstall it.

sudo <Xcode>/Library/uninstall-devtools --mode=all
UnistallXcode.jpg
PromptToRestart.jpg

Note : It may be necessary to restart your computer after installing Xcode 3 if you have just uninstalled Xcode 4



Step Two : Install Xcode 3

Create a folder 'Xcode3' at the top level of your boot drive. This is where we will install Xcode 3 to (and not the default /Developer location)

To install Xcode 3, mount the Xcode 3.2.x DMG and then enter the following into 'Terminal' :

 export COMMAND_LINE_INSTALL=1
 open “/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg”
InstallXcode3Lion.jpg


On the 'Installation Type' screen :

  • Change the Location to be the 'Xcode3' folder you created above
  • Do not install "System Tools" or "Unix Development"
  • Select to install "Mac OS X 10.4 SDK"
InstallXcode3Settings.jpg

Note : Installing the Documentation and/or iOS SDK is optional - install if wanted.



Step Three : Install Xcode 4

Mount the Xcode 4 DMG and Install as normal.

InstallXcode4Lion.jpg

On the 'Installation Type' screen, you should be able to use the default settings.

InstallXcode4Settings.jpg



Step Four : Add GCC4.0 to Xcode 4

Download and run the 'restore-with-xcode3.sh' script, which will add symbolic links within Xcode 4, pointing to Xcode 3.


Execute the code

 ./restore-with-xcode3.sh
Restorelecacyxcode.jpg

We are now ready to open and use Xcode 4


Opening Project in Xcode 4

Open your project in Xcode 4.


Step One : Modernise Project

Select your project (on the left) and then click the 'Modernize Project' button at the bottom.

Untick any 'Build Setting' options.

XcodeModernizeProject.jpg


Step Two : Restore PPC & i386 support to project

Select 'Build Settings' for your project, and reset any copiler settings. You'll need to change to 'All' in order to see all options to change.

  • Architectures : ppc i386
  • Valid Architectures : ppc i386 x86_64
  • Build Options : GCC 4.0

Before :

XcodeSetPPCi386.jpg

After :

XcodeRestoredPPCi386.jpg
XcodeSetCompiler.jpg


At this point, when should be able to 'Build' our plugin

XcodeBuildSucceeded.jpg



Step Three : Restore Build Locations

Select XCode Preferences. Then 'Locations'

Click the 'Advanced' button.

Change the 'Build Location' popup to 'Locations Specified by Targets'


XcodeBuildLocations.jpg


For example, I have set my build location to be directly where FileMaker looks for plugins

XcodeBuildLocationsPath.jpg




Step Four : Debug v's Release Builds

Select 'Manage Schemes' from the popup menu right of the stop button (top-left)

XcodeSelectManageSchemes.jpg


Select the first (should be only) scheme and 'Duplicate'.

Rename one scheme as 'Plugin Name (Debug)' and the other as 'Plugin Name (Release)'

XcodeDuplicateScheme.jpg


Edit the 'Release' scheme - change the 'Run : Build Configuration' from 'Debug' to 'Release'

XcodeSetRunToRelease.jpg


You can now easily switch between 'Debug' and 'Release' builds using the Scheme Menu.

XcodeSwitchDebugRelease.jpg


In my case, because I am building directly to the FileMaker Extensions - I have also set Xcode to launch FileMaker once built (when using the Run : Cmd + R option). This means FileMaker is automatically launched once the plugin is built.




Acknowledgements

Thanks to Mark Banks who gave me the initial links, and Jake Traynham CNS Plug-ins for his efforts to work out the steps to make everything work.