<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Dread Pirate PJ's House of Hacks and Tricks &#187; open.source</title>
	<atom:link href="http://www.pjtrix.com/blawg/tag/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pjtrix.com/blawg</link>
	<description></description>
	<lastBuildDate>Sat, 01 Aug 2009 18:42:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.4" -->
		<copyright>2006-2007 </copyright>
		<managingEditor>pj.cabrera@gmail.com (Dread Pirate PJ's House of Hacks and Tricks)</managingEditor>
		<webMaster>pj.cabrera@gmail.com (Dread Pirate PJ's House of Hacks and Tricks)</webMaster>
		<category>posts</category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>PJ Cabrera's personal weblog about agile software development, open source and personal media</itunes:summary>
		<itunes:author>Dread Pirate PJ's House of Hacks and Tricks</itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name>Dread Pirate PJ's House of Hacks and Tricks</itunes:name>
			<itunes:email>pj.cabrera@gmail.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.pjtrix.com/blawg/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.pjtrix.com/blawg/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Dread Pirate PJ's House of Hacks and Tricks</title>
			<link>http://www.pjtrix.com/blawg</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>iPhone Development on Windows &amp; Linux with open source tools</title>
		<link>http://www.pjtrix.com/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/</link>
		<comments>http://www.pjtrix.com/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 19:10:57 +0000</pubDate>
		<dc:creator>dreadpiratepj</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open.source]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[oscon2009]]></category>

		<guid isPermaLink="false">http://www.pjtrix.com/blawg/?p=168</guid>
		<description><![CDATA[Yesterday I presented at OSCON 2009. I spoke about how to use Eclipse and the iPhone-dev team&#8217;s GCC cross-compiler to develop for iPhone on Windows &#038; Linux. I also spoke about XMLVM, an open source project that lets you develop &#8230; <a href="http://www.pjtrix.com/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I presented at OSCON 2009. I spoke about how to use Eclipse and the iPhone-dev team&#8217;s GCC cross-compiler to develop for iPhone on Windows &#038; Linux. I also spoke about XMLVM, an open source project that lets you develop in Java for Android and deploy on iPhone or Palm WebOS.</p>
<p>You can download the slides and program examples <a href="http://pjtrix.com/iphone/presentations/OSCON2009-iPhone-and-GCC.zip">here</a>.</p>
<p>To get started with open source iPhone development, you can download the <a href="http://pjtrix.com/iphone/presentations/OSCON2009/iphone-toolchain-linux.tgz">open source toolchain for Linux</a> or for <a href="http://pjtrix.com/iphone/presentations/OSCON2009/iphone-toolchain-windows.tgz">Windows/Cygwin</a>.</p>
<p><strong>Note:</strong> To use the toolchain, you need to obtain the iPhone OS headers, frameworks and libraries. You can jailbreak your device and extract the frameworks and libraries using SSH, or you can decrypt the firmware and extract the framework and libraries from the decrypted disk image. The binaries you need are /System/Library/Frameworks and /usr/lib .</p>
<p>You can download the headers from the iPhone-dev team&#8217;s Subversion repository with <code>svn co http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk</code> </p>
<p>To use the iPhone-dev team&#8217;s headers, you need headers for Mac OS X 10.4 SDK. Then you type this at the command line:<br />
<code><br />
cd /path/to/iphone-dev/svn/branches/include-1.2-sdk<br />
./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk</p>
<p>sudo bash install-headers.sh<br />
</code></p>
<p>Or you can extract them from the official iPhone SDK. <img src='http://www.pjtrix.com/blawg/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Once you get the binaries and headers, move them to /usr/local/iphone-sysroot/ . The headers go in /usr/local/iphone-sysroot/usr/include/ , frameworks go in /usr/local/iphone-sysroot/System/Library/Frameworks/ , and libraries in /usr/local/iphone-sysroot/usr/lib/ .</p>
<p>Then to compile and link, set CFLAGS and LDFLAGS like below :<br />
<code><br />
export CFLAGS=-I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include \<br />
-isysroot /usr/local/iphone-sysroot</p>
<p>export LDFLAGS=-framework CoreFoundation -framework Foundation \<br />
-framework UIKit -lobjc -bind_at_load -isysroot /usr/local/iphone-sysroot<br />
</code></p>
<p>Then use these compile and linker commands :<br />
<code><br />
/usr/local/bin/arm-apple-darwin9-gcc -c $(CFLAGS) main.c HelloWorld.m</p>
<p>/usr/local/bin/arm-apple-darwin9-gcc $(LDFLAGS) HelloWorld.o main.o \<br />
-o HelloWorld<br />
</code></p>
<p>The easiest way to set this up for each project is in a makefile. Look in the HelloWorld example in the zip file with the slides for an example.</p>
<script type="text/javascript" class="owbutton" src="http://www.onlywire.com/button" title="iPhone Development on Windows & Linux with open source tools" url="http://www.pjtrix.com/blawg/?p=168"></script>]]></content:encoded>
			<wfw:commentRss>http://www.pjtrix.com/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
