1. Ubuntu 10.10 iPhone Toolchain 4

If you use Ubuntu 11.04, please see wiki on how to use gcc-4.4 to compile

2. Install the following packages in Ubuntu

sudo apt-get update

sudo apt-get install bison flex build-essential wget patch

sudo apt-get install git autoconf gawk libssl-dev libxml2-dev uuid-dev

sudo apt-get install clang

3. Clone Project

cd /

sudo git clone git://github.com/javacom/toolchain4.git

sudo chown -R : /toolchain4

4. Put iPhoneOS4.2.sdk.tgz to /toolchain4/sdks/

or build xar

sudo apt-get install libxml2-dev

./toolchain.sh xar

then put iPhoneSDK4_2.pkg to /toolchain4/sdks/

./toolchain.sh buildsys

to build sys

Put iPhoneSDK5_0.pkg to /toolchain4/sdks/

./toolchain.sh buildsys50

to build sys50 folder

Put iPhoneSDK4_3.pkg to /toolchain4/sdks/

./toolchain.sh buildsys43

to build sys43 folder

Put iPhoneSDKHeadersAndLibs.pkg to /toolchain4/sdks/

./toolchain.sh build313

to build sys313 folder

Put iPhoneSDKHeadersAndLibs_32.pkg to /toolchain4/sdks/

./toolchain.sh build32

to build sys32 folder

5. Build headers tools and gcc

cd /toolchain4

./toolchain.sh buildsys

./toolchain.sh cctools

./toolchain.sh llvmgcc

./toolchain.sh ldid

6. Install as_driver

cd /toolchain4/as_driver

make

cd /usr/bin

sudo mv as i686-linux-gnu-as

sudo cp -p /toolchain4/as_driver/as_driver as

sudo ln -s /toolchain4/pre/bin/arm-apple-darwin9-as .

sudo mv ld i686-linux-gnu-ld

sudo cp -p /toolchain4/as_driver/as_driver ld

sudo ln -s /toolchain4/pre/bin/arm-apple-darwin9-ld .

7. Test iOS4 sample code

cd /toolchain4/Projects/LocalPush

make

make dist

(LocalPush.app & LocalPush.ipa will be in build/4.0/ folder)

8. Checkout the updated UICatalog in svn here

sudo apt-get install subversion

cd /toolchain4/Projects

svn checkout http://apiexplorer.googlecode.com/svn/trunk/UICatalog UICatalog-read-only

cd UICatalog-read-only

make -f Makefile.ios4

make -f Makefile.ios4 dist

(Then install the build/4.0/UICatalog.ipa to iPhone for testing)

Enjoy.

----------------------------------------------------

Instructions to add theos build system to toolchain4

----------------------------------------------------

1. Installation

cd /toolchain4

git submodule add git://github.com/DHowett/theos.git theos

mv /toolchain4/theos/include /toolchain4/theos/include.bak

git submodule add git://github.com/DHowett/theos-nic-templates.git theos/templates/theos-nic-templates

git submodule add git://github.com/rpetrich/iphoneheaders.git theos/include

for FILE in /toolchain4/theos/include.bak/*.h; do mv $FILE /toolchain4/theos/include/; done

rmdir /toolchain4/theos/include.bak

cp /toolchain4/Projects/IOSurfaceAPI.h /toolchain4/theos/include/IOSurface/.

cp /toolchain4/pre/bin/ldid /toolchain4/theos/bin/.

2. This is how to create theos project

cd /toolchain4/Projects

/toolchain4/theos/bin/nic.pl

3. Test iOS5 sample notification center widget (requires sys50)

cd /toolchain4/Projects/widgettest/

make && make package

4. Test mobilesubstrate extension (requires sys32)

cd /toolchain4

git submodule add git://github.com/DHowett/preferenceloader.git Projects/preferenceloader

cd /toolchain4/Projects/preferenceloader

cp /toolchain4/Projects/Makefile_for_preferenceloader Makefile

make && make package

Enjoy.

----------------------------------------------------

Instructions to add Telesphoreo to toolchain4

----------------------------------------------------

1. Introduction

Telesphoreo is an APT-based distribution of Unix Software for iOS started by Jay Freeman (saurik). For details, please refer to http://www.telephoreo.org/

2. Installation

# update the toolchain4 git project

# install additional required packages

sudo apt-get install pkg-config realpath texinfo

sudo apt-get install subversion

# build headers for sys42 and sys32, please refer to wiki for downloads

cd /toolchain4

./toolchain.sh buildsys

mv /toolchain4/sys /toolchain4/sys42

./toolchain.sh build32

ln -s /toolchain4/sys32 sys

# update some header files

cp /toolchain4/sys42/usr/include/mach/mach_interface.h /toolchain4/sys32/usr/include/mach/.

cp /toolchain4/sys42/usr/include/mach/mach_host.h /toolchain4/sys32/usr/include/mach/.

cp /toolchain4/sys42/usr/include/mach/mach_vm.h /toolchain4/sys32/usr/include/mach/.

cp /toolchain4/sys42/usr/include/mach/mach_init.h /toolchain4/sys32/usr/include/mach/.

cp /toolchain4/sys42/usr/include/mach/host_info.h /toolchain4/sys32/usr/include/mach/.

mkdir -p /toolchain4/telesphoreo/debs

mkdir -p /toolchain4/telesphoreo/data

2. Test build p7zip

cd /toolchain4/telesphoreo/data

svn co http://svn.telesphoreo.org/trunk/data/p7zip

cd /toolchain4/telesphoreo

export PATH=$PATH:/toolchain4/pre/bin

export PKG_ARCH=iphoneos-arm; ./package.sh p7zip

3. Test build odcctools-782

cd /toolchain4/telesphoreo/data

svn co http://svn.telesphoreo.org/trunk/data/openssl

svn co http://svn.telesphoreo.org/trunk/data/uuid

cd /toolchain4/telesphoreo

export PKG_ARCH=iphoneos-arm; ./package.sh odcctools

Enjoy.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐