The command-line Symbian OS toolchain requires that projects are defined with these formats:
The primary purpose of bld.inf files is to group together closely associated projects, such as a GUI application and a engine DLL used by that application.
The Symbian OS plug-ins allow you to import projects defined with these formats into the workbench. This is useful if:
You have existing projects defined using these formats and now wish to move to development in Carbide.c++.
You need to keep the ability to build from the command line, for example in order to do automated builds, and so maintain the command line project files, but want to use Carbide.c++ for editing code and debugging.
The latest versions of Symbian OS 9.3+ devkits include extensive use of PRJ_EXTENSIONS and PRJ_TESTEXTENSIONS. 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.
Currently if you import a bld.inf file but are not importing all of the components and one of these extensions are found:
The reason being that individual extensions cannot be built from within Carbide, only the complete bld.inf.
NOTE 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.
SBSv2 only works with recent versions of Symbian OS9.5. Both SBSv1 and SBSv2 are GNU make based build systems. SBSv1 uses Perl to generate make files, while SBSv2 uses Python. Select the appropriate builder for your project.
When building for SBSv2, the builder will set EPOCROOT to the absolute path (including drive letter) to the kit for the active build configuration. It will also add the path to the sbs bin directory to the start of the PATH variable. This is derived from the SBS_HOME environment variable.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.
The SDKs and Build Configurations shows a tree of the SDKs that are available to be used, and for each SDK, the type of build configurations that are available. You can select a single SDK if you are developing the program for just one version of a platform, or multiple SDKs if your program is to be built against multiple platforms or operating system versions.
NOTE The platforms listed are dependent upon the filter settings in the Platform Filtering Preferences.
When creating a project, project files are created in the root directory. Carbide.c++ creates additional files for each project. They consist of:
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.
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).
The 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 describes the error that occurred. If an error occurs, you must fix the project file, and then re-import the bld.inf.