1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/bash
- # halt on error
- set -e
- # change
- SDKBASEPATH=/Developer/Platforms/iPhoneOS.Platform/Developer/SDKs/iPhoneOS4.2.sdk
- if [ $# -ne 0 ]; then
- SDKBASEPATH="$1"
- fi
- if [ ! -d "$SDKBASEPATH" ]; then
- echo iOS SDK base path \"$SDKBASEPATH\"
- echo not found, specify it as the first parameter to this script.
- echo Note that this parser version has only been verified to work with the
- echo iOS SDK 4.2
- echo
- exit 1
- fi
- # convert uikit and related framework headers
- php parser.php -objp -all -frameworks=foundation,quartzcore,opengles,uikit -root=`pwd`/uikit-skel/src -framework_path="$SDKBASEPATH"/System/Library/Frameworks
- # correct some translations the automatic translation cannot handle
- patch -p0 < patches/uikit-4.2.patch
- # rename badly named unit and include file
- sed -e 's/AnonClassDefinitionsQuartzcore/AnonClassDefinitionsUikit/' < uikit-skel/src/AnonClassDefinitionsQuartzcore.pas > uikit-skel/src/AnonClassDefinitionsUikit.pas
- mv uikit-skel/src/quartzcore/AnonIncludeClassDefinitionsQuartzcore.inc uikit-skel/src/uikit/AnonIncludeClassDefinitionsUikit.inc
- rm uikit-skel/src/AnonClassDefinitionsQuartzcore.pas
- # empty two include files that are part of the RTL objcbase unit
- echo > uikit-skel/src/foundation/NSObject.inc
- echo > uikit-skel/src/foundation/NSZone.inc
- echo
- echo The headers have been converted and placed under
- echo `pwd`/uikit-skel/src.
- echo If you wish to compile them, execute the following commands:
- echo cd uikit-skel/src
- echo ppcarm -XR$SDKBASEPATH -FD`echo $SDKBASEPATH|sed -e 's+/SDKs/[^/]*sdk$++'`/usr/bin -O2 -ap -Cfvfpv2 iPhoneAll.pas
- echo
- echo The compiled files can be installed afterwards by copying iPhoneAll.{o,ppu} and
- echo AnonClassDefinitionsUikit.{o,ppu} to a directory in your FPC unit path.
- echo
|