<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: The Quest for the Perfect Build System (Part 2)</title>
	<atom:link href="http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/feed" rel="self" type="application/rss+xml" />
	<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2</link>
	<description>Indie iPhone game development</description>
	<lastBuildDate>Thu, 04 Mar 2010 04:13:35 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gigi Kent</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-242</link>
		<dc:creator>Gigi Kent</dc:creator>
		<pubDate>Tue, 08 Nov 2005 00:23:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-242</guid>
		<description>Visual Studio 2005 (just released) ships with a new version of VCBuild which supports parallel builds and has a whole new set of options.



This MSDN page lists some (but strangly, not all) of the command line options:

&lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/cz553aa1&quot; rel=&quot;nofollow&quot;&gt;http://msdn2.microsoft.com/en-us/library/cz553aa1&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Visual Studio 2005 (just released) ships with a new version of VCBuild which supports parallel builds and has a whole new set of options.</p>
<p>This MSDN page lists some (but strangly, not all) of the command line options:</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/cz553aa1" rel="nofollow">http://msdn2.microsoft.com/en-us/library/cz553aa1</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: boklm</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-241</link>
		<dc:creator>boklm</dc:creator>
		<pubDate>Wed, 02 Nov 2005 12:21:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-241</guid>
		<description>Two other interesting articles on the same subject :

&lt;a href=&quot;http://freshmeat.net/articles/view/1702/&quot; rel=&quot;nofollow&quot;&gt;http://freshmeat.net/articles/view/1702/&lt;/a&gt;

&lt;a href=&quot;http://freshmeat.net/articles/view/1715/&quot; rel=&quot;nofollow&quot;&gt;http://freshmeat.net/articles/view/1715/&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Two other interesting articles on the same subject :</p>
<p><a href="http://freshmeat.net/articles/view/1702/" rel="nofollow">http://freshmeat.net/articles/view/1702/</a></p>
<p><a href="http://freshmeat.net/articles/view/1715/" rel="nofollow">http://freshmeat.net/articles/view/1715/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: boklm</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-240</link>
		<dc:creator>boklm</dc:creator>
		<pubDate>Wed, 02 Nov 2005 12:18:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-240</guid>
		<description>&quot;Whatever you do, stay far, far away from BoostBuild and Scons. Their performance is simply so horrible there&#039;s no excuse to use them unless build times are of no importance to you at all.&quot;



Hey, you&#039;re talking only about performance. I don&#039;t think it&#039;s the only important factor when choosing a build system.

While SCons might be slower, it might still save you a lot of time :

- You don&#039;t have to write complexe makefiles, but instead can write much more simple SCons scripts.

- You don&#039;t waste time on a not-working build because some file was not recompiled while it should have been



SCons does a lot more than a simple Makefile. If use an external tools to add features like automatic implicit dependencies to you makefile, I&#039;m not sure SCons is much more slower.</description>
		<content:encoded><![CDATA[<p>&#8220;Whatever you do, stay far, far away from BoostBuild and Scons. Their performance is simply so horrible there&#8217;s no excuse to use them unless build times are of no importance to you at all.&#8221;</p>
<p>Hey, you&#8217;re talking only about performance. I don&#8217;t think it&#8217;s the only important factor when choosing a build system.</p>
<p>While SCons might be slower, it might still save you a lot of time :</p>
<p>- You don&#8217;t have to write complexe makefiles, but instead can write much more simple SCons scripts.</p>
<p>- You don&#8217;t waste time on a not-working build because some file was not recompiled while it should have been</p>
<p>SCons does a lot more than a simple Makefile. If use an external tools to add features like automatic implicit dependencies to you makefile, I&#8217;m not sure SCons is much more slower.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charl Fourie</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-239</link>
		<dc:creator>Charl Fourie</dc:creator>
		<pubDate>Sat, 22 Oct 2005 19:56:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-239</guid>
		<description>Hi Noel



You might be interested in checking out the following url:



&lt;a href=&quot;http://www.martinfowler.com/articles/rake.html&quot; rel=&quot;nofollow&quot;&gt;http://www.martinfowler.com/articles/rake.html&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Hi Noel</p>
<p>You might be interested in checking out the following url:</p>
<p><a href="http://www.martinfowler.com/articles/rake.html" rel="nofollow">http://www.martinfowler.com/articles/rake.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Llopis</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-238</link>
		<dc:creator>Noel Llopis</dc:creator>
		<pubDate>Tue, 27 Sep 2005 04:10:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-238</guid>
		<description>Barry, I updated the results section with timings of Scons with the MD5 checking turned off. Just like last time, it actually went slower. Hard to believe, I know. The script is there though, so feel free to run both and compare.</description>
		<content:encoded><![CDATA[<p>Barry, I updated the results section with timings of Scons with the MD5 checking turned off. Just like last time, it actually went slower. Hard to believe, I know. The script is there though, so feel free to run both and compare.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Llopis</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-237</link>
		<dc:creator>Noel Llopis</dc:creator>
		<pubDate>Tue, 27 Sep 2005 02:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-237</guid>
		<description>Jean,



When I said that about Make, I was thinking of a fairly clean division along the lines of just building the executable with Make, and leaving any other tasks such as zipping it up, creating install programs, copying it over the network, checking it/out of version control, etc in Nant. The Nant script would of course call the Make as part of its work.



I would see the Nant script being used primarely in the build server, and maybe by individual developers in the rare case they need to do some of those tasks by hand.</description>
		<content:encoded><![CDATA[<p>Jean,</p>
<p>When I said that about Make, I was thinking of a fairly clean division along the lines of just building the executable with Make, and leaving any other tasks such as zipping it up, creating install programs, copying it over the network, checking it/out of version control, etc in Nant. The Nant script would of course call the Make as part of its work.</p>
<p>I would see the Nant script being used primarely in the build server, and maybe by individual developers in the rare case they need to do some of those tasks by hand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-236</link>
		<dc:creator>Jean</dc:creator>
		<pubDate>Tue, 27 Sep 2005 02:11:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-236</guid>
		<description>Very interesting articles!!



I am planning a build system upgrade for my team.



I did not get the following statement:

&quot;You&#039;ll probably want to wrap Make in a more comprehensive build system (such as Ant) for your build server, packaging builds, etc. &quot;



Are you describing a design where you have 2 different build systems operating on the same code base?

How would you design such a system without a too high maintenance cost?

How would you teach your developers (let say a team of 10) to modify the source tree organization (add files, directories, etc) and keep the two systems in sync?



Okay, enough with the questions :) Thanks for the great work!</description>
		<content:encoded><![CDATA[<p>Very interesting articles!!</p>
<p>I am planning a build system upgrade for my team.</p>
<p>I did not get the following statement:</p>
<p>&#8220;You&#8217;ll probably want to wrap Make in a more comprehensive build system (such as Ant) for your build server, packaging builds, etc. &#8221;</p>
<p>Are you describing a design where you have 2 different build systems operating on the same code base?</p>
<p>How would you design such a system without a too high maintenance cost?</p>
<p>How would you teach your developers (let say a team of 10) to modify the source tree organization (add files, directories, etc) and keep the two systems in sync?</p>
<p>Okay, enough with the questions <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Thanks for the great work!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-235</link>
		<dc:creator>Barry</dc:creator>
		<pubDate>Mon, 26 Sep 2005 12:26:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-235</guid>
		<description>Noel,



I&#039;d like to see your SCons results using timestamps rather than md5 hashes for the files.  I suspect that would bring SCons times down a fair amount.



Cheers,



Barry.</description>
		<content:encoded><![CDATA[<p>Noel,</p>
<p>I&#8217;d like to see your SCons results using timestamps rather than md5 hashes for the files.  I suspect that would bring SCons times down a fair amount.</p>
<p>Cheers,</p>
<p>Barry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Billy Zelsnack</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-234</link>
		<dc:creator>Billy Zelsnack</dc:creator>
		<pubDate>Thu, 22 Sep 2005 07:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-234</guid>
		<description>I know you are going for quickest edit-compile-run times, but I think there are two competing things in cross-platform builds.



[1] making dependencies fast

[2] using the best available dev environment for a given platform.



I&#039;ll talk about [2] first.



I used to believe that the best idea for cross-platform development was to create some sort of master build script that kicked out builds for all of your various platforms.



Then the company I work at did just that. It was a nightmare to get up and running. It is mostly working now, but it is STILL under active development. It went from a small little side project to a very large ongoing project for this poor guy.



It would be awesome if it just worked, but there always ends up being little exceptions here an there. Soon your master build file ends up being a complex monster.



Here is what I currently believe:



You have platform specific code, so have platform specific builds!!



Yes it is more work to create and maintain a build for each platform, but as long as you follow two rules, it really is not bad.



1. No dead files allowed.

2. Platform specific code goes in its own directory.



The idea is basically to use a script for each build that generates the build using wildcards.



There are details along with a vc7 generator script in my blog. I&#039;ve since created a more elaborate vc71 script, if you want it, mail me.



&lt;a href=&quot;http://projectjanel.org/b2e_blogs/index.php?blog=2&amp;title=cross_platform_build_systems&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1&quot; rel=&quot;nofollow&quot;&gt;http://projectjanel.org/b2e_blogs/index.php?blog=2&amp;title=cross_platform_build_systems&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1&lt;/a&gt;



Back to [1]. Nothing I&#039;ve said goes against it. You just make the choice of the best dev environment for each and every platform. So if you want to have a vc6 AND vc7 builds for win32 because one of your guys refuses to switch, fine. If you want to use gnu make on linux because it works well there, fine.



The main idea is just not to try and shove all those builds into a single magic build. All that ends up giving you is the lowest common denominator.</description>
		<content:encoded><![CDATA[<p>I know you are going for quickest edit-compile-run times, but I think there are two competing things in cross-platform builds.</p>
<p>[1] making dependencies fast</p>
<p>[2] using the best available dev environment for a given platform.</p>
<p>I&#8217;ll talk about [2] first.</p>
<p>I used to believe that the best idea for cross-platform development was to create some sort of master build script that kicked out builds for all of your various platforms.</p>
<p>Then the company I work at did just that. It was a nightmare to get up and running. It is mostly working now, but it is STILL under active development. It went from a small little side project to a very large ongoing project for this poor guy.</p>
<p>It would be awesome if it just worked, but there always ends up being little exceptions here an there. Soon your master build file ends up being a complex monster.</p>
<p>Here is what I currently believe:</p>
<p>You have platform specific code, so have platform specific builds!!</p>
<p>Yes it is more work to create and maintain a build for each platform, but as long as you follow two rules, it really is not bad.</p>
<p>1. No dead files allowed.</p>
<p>2. Platform specific code goes in its own directory.</p>
<p>The idea is basically to use a script for each build that generates the build using wildcards.</p>
<p>There are details along with a vc7 generator script in my blog. I&#8217;ve since created a more elaborate vc71 script, if you want it, mail me.</p>
<p><a href="http://projectjanel.org/b2e_blogs/index.php?blog=2&#038;title=cross_platform_build_systems&#038;more=1&#038;c=1&#038;tb=1&#038;pb=1" rel="nofollow">http://projectjanel.org/b2e_blogs/index.php?blog=2&#038;title=cross_platform_build_systems&#038;more=1&#038;c=1&#038;tb=1&#038;pb=1</a></p>
<p>Back to [1]. Nothing I&#8217;ve said goes against it. You just make the choice of the best dev environment for each and every platform. So if you want to have a vc6 AND vc7 builds for win32 because one of your guys refuses to switch, fine. If you want to use gnu make on linux because it works well there, fine.</p>
<p>The main idea is just not to try and shove all those builds into a single magic build. All that ends up giving you is the lowest common denominator.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yan's Bits</title>
		<link>http://gamesfromwithin.com/the-quest-for-the-perfect-build-system-part-2/comment-page-1#comment-243</link>
		<dc:creator>Yan's Bits</dc:creator>
		<pubDate>Wed, 21 Sep 2005 14:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=336#comment-243</guid>
		<description>&lt;strong&gt;Nice blog talking about build system&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>Nice blog talking about build system</strong></p>
</div>
]]></content:encoded>
	</item>
</channel>
</rss>
