See into S60
» Subscribe
» Favorite Links
» What is S60?
» Freeware & Trials
» S60 devices
» Hints and tips

» About this blog
» Blognotes (15)
» Bugs and Workarounds (4)
» Build tools (5)
» Carbide.c++ 1.1 (4)
» Carbide.c++ 1.2 (8)
» Carbide.c++ 1.3.x (9)
» Carbide.c++ 2.0.x (12)
» Carbide Plug-Ins (4)
» CodeWarrior (2)
» FAQ (6)
» Future directions (25)
» General (48)
» Off-topic (5)
» On-device debugging (13)
» Performance Investigator (2)
» Product features (18)
» Product releases (16)
» Screencast (14)
» Support (36)
» Tool setup (6)
» UI Designer (8)
» Usability (18)
» Work in Progress (14)
» Write-build-debug (4)
» Tommi's Reports from Wonderland
» Voice of S60
» Creating Carbide C++
» S60 Multimedia Blog
» The Convergence Zone
» Web Browser for S60 Blog
» Consumed by S60
» Java for S60
» Mobile Web Server
» Mobile Security
» See into S60
» Business2GO
» Nokia Podcasting Application Blog
» New Remote Connections View
» Terminating Multiple Processes
» Agile Tuning of the Austin Team
» Introduction to the workspace screencast
» Adding DLLs while Debugging
» September 2008
» August 2008
» July 2008
» June 2008
» May 2008
» April 2008
» March 2008
» February 2008
» August 2007
» May 2007
» April 2007
» March 2007
» February 2007
» January 2007
» December 2006
» November 2006
» October 2006
» September 2006
» August 2006
» July 2006
» June 2006
Subscribe
Links
June 06, 2008 Building a better build system - Part 3 Eclipse incremental builder Posted by Raul Zuniga at 04:59 PM | Categories: Build tools

In the third part of this series of articles I want to tallk about a problem customers ran into during the beta cycle when using the dependency tracking of the Carbide 1.3 build system and how we tackled that problem. It resulted in the next major improvement in the build system.

.

By default we have an option called "Build before launching" turned on in Preferences > Run/Debug > Launching > General Options turned on. So when the user went to debug the dependency tracker would still have some overhead determining if dependency files needed to be generated or not. For very large project this could take minutes and the user didn't want to wait every time a debug session was started.

So we decided to give the user the option to use the Eclipse incremental builder. It's an option called "Use default incremental builder" which is in the global and project build workspace preferencese. It's turned off by default.

It would then determine if any changes were made to the workspace. If no changes were made then nothing was done. If changes were made then we let the compiler do the dependency tracking. The downside of it's use was that if any changes were made to file outside of the project it would not detect them and no build is done.

So for users with very large proejects the user has a couple optioons. Either turn off the "debug before launch" option so the project won't get rebuilt everytime you debug or turn on "Use default incremental builder". Just know it's limitations!


Permalink |

Comments

Hi,

I think I've come across another shortcoming of the incremental builder.

If you have a project that's on multiple SDKs (say it was imported for both UIQ and S60 SDK), then switching from one SDK to other (i.e. using the hammer toolbar button dropdown) doesn't automatically build for the target/new SDK, if it was already built for the current one.

Otherwise a highly recommended feature.

Posted by: Tanzim | June 12, 2008 09:27 AM


Post a comment







«Back to previous page