core/com.nokia.carbide.cpp.doc.user/html/tasks/ImportingProjects.html
author timkelly
Fri, 27 Mar 2009 10:47:09 -0500
changeset 17 71c0485f97c2
parent 2 d760517a8095
child 159 b9a5290dcc8d
permissions -rw-r--r--
new image for CDK
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
cawthron
parents:
diff changeset
     2
<title>Importing Projects from a Bld.Inf File in Tasks</title>
cawthron
parents:
diff changeset
     3
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
cawthron
parents:
diff changeset
     4
</head>
cawthron
parents:
diff changeset
     5
   <body>
cawthron
parents:
diff changeset
     6
   <h2>Importing Projects from a Bld.Inf File</h2>
cawthron
parents:
diff changeset
     7
   <div class="Bodytext">
cawthron
parents:
diff changeset
     8
	  
cawthron
parents:
diff changeset
     9
	 <p>
cawthron
parents:
diff changeset
    10
		The command-line Symbian OS toolchain requires that projects are
cawthron
parents:
diff changeset
    11
	 defined with these formats:</p>
cawthron
parents:
diff changeset
    12
	 <ul>
cawthron
parents:
diff changeset
    13
	   <li>Symbian OS-specific project file formats (bld.inf)</li>
cawthron
parents:
diff changeset
    14
	   <li>Symbian OS executable files (.exe)</li>
cawthron
parents:
diff changeset
    15
  </ul>
cawthron
parents:
diff changeset
    16
	 <p>The primary purpose of bld.inf files is to
cawthron
parents:
diff changeset
    17
		        group together closely associated projects, such as a GUI application and a
cawthron
parents:
diff changeset
    18
		        engine DLL used by that application.</p>
cawthron
parents:
diff changeset
    19
	 <p>
cawthron
parents:
diff changeset
    20
		The Symbian OS plug-ins allow you to import projects defined with these
cawthron
parents:
diff changeset
    21
		formats into the workbench. This is useful if:</p> 
cawthron
parents:
diff changeset
    22
 
cawthron
parents:
diff changeset
    23
	 <ul> 
cawthron
parents:
diff changeset
    24
		<li> 
cawthron
parents:
diff changeset
    25
		  <p>
cawthron
parents:
diff changeset
    26
			 You have existing projects defined using these formats and now wish
cawthron
parents:
diff changeset
    27
		  to move to development in Carbide.c++.</p>
cawthron
parents:
diff changeset
    28
		</li> 
cawthron
parents:
diff changeset
    29
	    <li>
cawthron
parents:
diff changeset
    30
	      <p> You need to keep the ability to build from the command line, for
cawthron
parents:
diff changeset
    31
	        example in order to do automated builds, and so maintain the command line
cawthron
parents:
diff changeset
    32
	        project files, but want to use Carbide.c++ for editing code and debugging.</p>
cawthron
parents:
diff changeset
    33
       </li>
cawthron
parents:
diff changeset
    34
	 </ul>
cawthron
parents:
diff changeset
    35
cawthron
parents:
diff changeset
    36
     <h3>Projects for Symbian OS 9.3+ </h3>
cawthron
parents:
diff changeset
    37
     <p>The latest versions of Symbian OS 9.3+ devkits include extensive use of <span class="code">PRJ_EXTENSIONS</span> and <span class="code">PRJ_TESTEXTENSIONS</span>. These top-level entries are extension makefile templates whose names are later filled in with target names, sources, and options. The intent is to make source editing easier and dependency checking possible during a build. </p>
cawthron
parents:
diff changeset
    38
     <p>Currently if you  import a bld.inf file but are not importing all of the components and one of these extensions are found:</p>
cawthron
parents:
diff changeset
    39
     <ul>
cawthron
parents:
diff changeset
    40
       <li>a warning appears at the top of the wizard page</li>
cawthron
parents:
diff changeset
    41
       <li>a warning is shown in the Carbide Project Settings property page</li>
cawthron
parents:
diff changeset
    42
       <li>if not building from the bld.inf, messages appear in the Console and Problems views</li>
cawthron
parents:
diff changeset
    43
     </ul>
cawthron
parents:
diff changeset
    44
     <p> The reason being that individual extensions cannot  be built from within Carbide, only the complete bld.inf.</p>
cawthron
parents:
diff changeset
    45
     <div class="step"></div>
cawthron
parents:
diff changeset
    46
    <h4>
cawthron
parents:
diff changeset
    47
		To import from a bld.inf file</h4> 
cawthron
parents:
diff changeset
    48
 
cawthron
parents:
diff changeset
    49
	 <ol> 
cawthron
parents:
diff changeset
    50
		<li> 
cawthron
parents:
diff changeset
    51
	   Click File &gt; Import... to get a list of available import wizards</li> 
cawthron
parents:
diff changeset
    52
		<li>Select Symbian OS Bld.inf file and click Next to go to the Import Bld.inf page
cawthron
parents:
diff changeset
    53
		  <div class="Figure">
cawthron
parents:
diff changeset
    54
    
cawthron
parents:
diff changeset
    55
		  <p class="Image"><img src="../images/import1.gif" alt="" width="373" height="419"  border="0" /></p>
cawthron
parents:
diff changeset
    56
	      </div>
cawthron
parents:
diff changeset
    57
		</li>
cawthron
parents:
diff changeset
    58
		<li> 
cawthron
parents:
diff changeset
    59
			 Type the location of the bld.inf file to import, or browse to the file using the Browse button. </li> 
cawthron
parents:
diff changeset
    60
	
cawthron
parents:
diff changeset
    61
	      <p class="Image"><img src="images/file_import.png" alt="file import" width="521" height="391"></p>
cawthron
parents:
diff changeset
    62
	      <p class="note"><strong>NOTE</strong> There will be two builders available in Carbide, one for SBSv1 (current version of Symbian Build System) and  one for SBSv2 (newer version). The Builder option will only be displayed when a SBSv2  installation is detected.</p>
cawthron
parents:
diff changeset
    63
	      <p class="Image">SBSv2  only works with recent versions of Symbian OS9.5. Both  SBSv1 and SBSv2 are GNU make based build systems.&nbsp; SBSv1 uses Perl to generate make files,  while SBSv2 uses Python. Select the appropriate builder for your project.</p>
cawthron
parents:
diff changeset
    64
	      When building for  SBSv2, the builder will set EPOCROOT to the absolute path (including drive  letter) to the kit for the active build configuration.&nbsp; It will also add the path to the sbs bin  directory to the start of the PATH variable.&nbsp;  This is derived from the SBS_HOME environment variable.<p class="Image">For SBSv2, all  build configurations (platform/target), including the built-in platforms  (WISNCW, ARMV5), are declared in xml files in the \sbs\lib\config directory.  The Build  Configurations selection page will display only those kits  known to support SBSv2.</p>
cawthron
parents:
diff changeset
    65
       <li>	    Click Next to select the recognized SDKs and Build Configurations to be created for this project
cawthron
parents:
diff changeset
    66
  <p>The SDKs and Build Configurations shows a tree of
cawthron
parents:
diff changeset
    67
			 the SDKs that are available to be used, and for each SDK, the type of build configurations
cawthron
parents:
diff changeset
    68
			 that are available. You can select a single SDK if you are developing the program
cawthron
parents:
diff changeset
    69
			 for just one version of a platform, or multiple SDKs if your
cawthron
parents:
diff changeset
    70
			 program is to be built against multiple platforms or operating system
cawthron
parents:
diff changeset
    71
		  versions.</p>
cawthron
parents:
diff changeset
    72
		  <p class="note"><b>NOTE</b> The platforms listed are dependent upon the filter settings in the <a href="sdks/sdk_platform_filter.htm">Platform Filtering Preferences</a>.</p>
cawthron
parents:
diff changeset
    73
		  <p></p>
cawthron
parents:
diff changeset
    74
		  <div class="Figure">
cawthron
parents:
diff changeset
    75
            <p class="Image"><img src="../images/import3.gif" alt="" width="448" height="410"  border="0" /></p>
cawthron
parents:
diff changeset
    76
	      </div>
cawthron
parents:
diff changeset
    77
	   </li> 
cawthron
parents:
diff changeset
    78
	   <li value="5"> Click Next to select the mmp and extension make files
cawthron
parents:
diff changeset
    79
		  <div class="Figure">
cawthron
parents:
diff changeset
    80
            <p class="Image"><img src="../images/import4.gif" alt="" width="521" height="550"  border="0" /></p>
cawthron
parents:
diff changeset
    81
         </div>
cawthron
parents:
diff changeset
    82
	   </li>
cawthron
parents:
diff changeset
    83
	   <li>Click Next to enter the Project name and root directory</li>
cawthron
parents:
diff changeset
    84
		<p>When creating a project, project files are created in the root directory. Carbide.c++ creates additional files for each project. They consist of:</p>
cawthron
parents:
diff changeset
    85
	    <ul>
cawthron
parents:
diff changeset
    86
	      <li>.project - an xml file that provides a project description </li>
cawthron
parents:
diff changeset
    87
	      <li>.cproject - an xml file that provides additional project information </li>
cawthron
parents:
diff changeset
    88
	      <li>.settings folder - contains files that provide build configuration and preference settings </li>
cawthron
parents:
diff changeset
    89
       </ul>
cawthron
parents:
diff changeset
    90
       <p>The root directory is a path to the root of your project. All necessary tool components, developer libraries, and information about the SDK are stored in subdirectories under this root. The whole path leading to the SDK root directory must be declared to the Windows system via the Environment Variables settings. The variable name is EPOCROOT and the variable value is the full path where a Symbian OS SDK is installed in the Windows system.</p>
cawthron
parents:
diff changeset
    91
       <p>The root directory should contain all project related files that you want to work with in Carbide. The default directory is calculated by parsing the bld.inf file and mmp file(s).</p>
cawthron
parents:
diff changeset
    92
       <p class="Image"><img src="../images/import5.gif" alt="" width="518" height="313"  border="0" /></p>
cawthron
parents:
diff changeset
    93
       
cawthron
parents:
diff changeset
    94
	    <li> Click Finish to import the project
cawthron
parents:
diff changeset
    95
	      <p>
cawthron
parents:
diff changeset
    96
             The
cawthron
parents:
diff changeset
    97
			   wizard creates the project in the C/C++ Projects view, where it can be built and edited as normal. If the wizard is unable to read the project files, then the page
cawthron
parents:
diff changeset
    98
	        describes the error that occurred. If an error occurs, you must fix the project file, and then
cawthron
parents:
diff changeset
    99
          re-import the bld.inf.</p>
cawthron
parents:
diff changeset
   100
       </li>
cawthron
parents:
diff changeset
   101
	 </ol>
cawthron
parents:
diff changeset
   102
cawthron
parents:
diff changeset
   103
   </div>
cawthron
parents:
diff changeset
   104
	   <h5>Related  concepts</h5>
cawthron
parents:
diff changeset
   105
cawthron
parents:
diff changeset
   106
	   <ul>
cawthron
parents:
diff changeset
   107
         <li><a href="../concepts/Projects.html">Projects</a></li>
cawthron
parents:
diff changeset
   108
         <li><a href="../concepts/Modify.html">Project Resources</a> </li>
cawthron
parents:
diff changeset
   109
       </ul>
cawthron
parents:
diff changeset
   110
	   <h5>Related tasks</h5>
cawthron
parents:
diff changeset
   111
	   <ul>
cawthron
parents:
diff changeset
   112
         <li><a href="CreatingNewProjects.html">Creating Projects </a></li>
cawthron
parents:
diff changeset
   113
         <li><a href="projects/prj_build.htm">Building Projects</a></li>
cawthron
parents:
diff changeset
   114
         <li><a href="projects/prj_import_exe.htm">Importing a Symbian Executable</a></li>
cawthron
parents:
diff changeset
   115
       </ul>
cawthron
parents:
diff changeset
   116
	   <h5>Related references</h5>
cawthron
parents:
diff changeset
   117
	   <ul>
cawthron
parents:
diff changeset
   118
         <li><a href="sdks/sdk_platform_filter.htm">Platform Filtering Preferences</a></li>
cawthron
parents:
diff changeset
   119
         <li><a href="../reference/ProjectDirectories.html">Project Directories</a></li>
cawthron
parents:
diff changeset
   120
         <li><a href="../reference/ProjectPreferences.html">Project Preferences</a></li>
cawthron
parents:
diff changeset
   121
         <li><a href="../reference/ProjectTypeandSDK.html">Project Types </a></li>
cawthron
parents:
diff changeset
   122
       </ul>
cawthron
parents:
diff changeset
   123
<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>
cawthron
parents:
diff changeset
   124
cawthron
parents:
diff changeset
   125
   </body>
cawthron
parents:
diff changeset
   126
   </html>
cawthron
parents:
diff changeset
   127