core/com.nokia.carbide.cpp.doc.user/html/concepts/dependency_tracking.htm
author fturovic <frank.turovich@nokia.com>
Thu, 02 Jul 2009 11:37:34 -0500
changeset 350 1c98e483817b
parent 323 d40e42540f1f
child 1225 a546534a48de
permissions -rw-r--r--
minor edits to dependency tracking page

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
<title>Dependency Tracking</title>
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
<style type="text/css">
<!--
.style1 {font-family: "Courier New", Courier, mono}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<h2>Dependency Tracking</h2>
<p> This section only applies to the SBSv1 (abld) build system. If you are using the Raptor (SBSv2) build system Carbide does not perform any build system modifications to optimize dependency tracking.</p>
<p>Carbide has made some performance improvements over command-line builds when performing incremental builds. Once a project has been built, many users  invoke 'abld build' on their project, not knowing that their makefiles are regenerated each time, taking a large performance hit. Although a command-line user can invoke 'abld target' to improve incremental build performance, Carbide invokes each build stage independently for a full incremental build (including the 'abld makefile' stage). In order to get around this performance hit from the IDE, Carbide manages the source and resource dependencies in separate <span class="style1">.d</span> (dependency) files generated under the build system. Then Carbide  makes a small modification to each component's (MMP) makefile under the <span class="style1">\epoc32\build</span>\ directory by including the generated .d files as dependency includes. This performance modification  makes incremental builds faster from Carbide.</p>
<p>Normally,  you do not need to know the details of dependency management unless you first build from the command-line and then try to build their project from the IDE. When this happens, Carbide will prompt you with the <b>Project rebuild notification</b> dialog when you initiate a build from the IDE.</p>
<p align="center"><img src="images/deps_track_query.png" width="483" height="203"></p>
<p align="left" class="figure">Figure 1 -Dependency Tracking dialog</p>
<p>It is recommended you choose the <strong>Improve Carbide build times</strong> option if you plan to continue building in Carbide. However, be cautious of this as Carbide will remove all the object code and build everything from scratch. </p>
<p>If you choose the option <strong>Do not update dependencies</strong>,  Carbide disables the option to manage dependencies under the <b><a href="../reference/build_properties/pane_project_settings.htm">Carbide Project Settings</a></b>, <strong>SBSv1</strong> tab. </p>
<h5>Related references <b></b></h5>
<ul>
  <li><a href="../reference/build_properties/pane_project_settings.htm">Carbide Project Settings</a></li>
  <li><a href="../reference/wnd_build_prefs.htm">Carbide Global Build Settings</a> </li>
</ul>
<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>

</body>
</html>