Mac OS X
µGFX can be run natively on a Mac OS X system. This simplifies the process of developing your embedded GUI application a lot.
The MacOS X port has been tested successfully on OS X 10.10 and 10.11.
Note: The performance of the resulting program is very bad unless you use the Linux Framebuffer driver. This is because the X driver just uses setPixel() and doesn't take any advantage of area blitting or double buffering. The application will run A LOT faster on the actual microcontroller.
Contents
Dependencies
Make sure you got the following things installed:
Makefile
Copy the makefile that can be found in /boards/base/OSX/example/
to your project directory.
You need to set the OSX_SDK
and OSX_ARCH
variables.
OSX_SDK
The OSX_SDK
variable needs to contain the path to the OS X SDK. The path can be found by executing xcodebuild -sdk -version
in the terminal:
TecMac:osx joel.bodenmann$ xcodebuild -sdk -version MacOSX10.11.sdk - OS X 10.11 (macosx10.11) SDKVersion: 10.11 Path: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdkPlatformVersion: 1.1 PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform ProductBuildVersion: 15E60 ProductCopyright: 1983-2016 Apple Inc. ProductName: Mac OS X ProductUserVisibleVersion: 10.11.4 ProductVersion: 10.11.4
In our case we set the OSX_SDK
variable as follows:
OSX_SDK = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
OSX_ARCH
The OSX_ARCH
variable is used to specify on which earliest/oldest version of MacOS X the executable will be able to run on. Usually it's enough to just set it to the version of OS X that you are running which you can find my executing sw_vers
in a terminal:
TecMac:osx joel.bodenmann$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.4BuildVersion: 15E65
In our case we are running OS X version 10.11:
OSX_ARCH = -mmacosx-version-min=10.11
For more information about the macosx-version-min
option, please refer to the corresponding compiler documentation.