## Symbian Build System (SBSv2)

Carbide.c++ v3.x fully supports the Symbian Build System (SBSv2) for building Symbian executables. Codenamed RAPTOR, SBSv2 is also designed to overcome several limitations in GNU Make, including:

- modularity and code re-use
- separation of interface and implementation
- extensibility
- testability

In addition, SBSv2:

- is supported on the Windows and Linux operating systems
- is more scalable than previous systems
- supports incremental and parallel builds
- offers more flexibility in build configurations
- offers an overall 20% speed improvement

SBSv2 also supports the use of build variants. A variant is basically something which modifies a build. For example, a variant could be the standard ARMv5 build with Demand Paging functions enabled. Already defined variants are found in the Build > SBSv2 preference panel.

NOTE Carbide no longer supports the ABLD system. Use Carbide.c++ v2.7 instead if you require SBSv1 support.

Preferences for configuring SBSv2 is found by clicking Window > Preferences > Carbide.c++:

- Build > SBSv2 – control general build options like clean, test components, dependency tracking, concurrent build jobs, build behavior, and emulator options
- Build Configuration Filtering – controls which platforms are visible when creating new projects or build configurations.
- Symbian SDKs – control which installed SDKs are available to projects during project creation or importing.

Every project also has a set of SBSv2 properties to customize:

- Properties for project > Carbide.c++ > Project Settings – specifies whether all components or selected subcomponents listed in a build information file (bld.inf) should be built for the currently selected project.

For more information on SBSv2, see the Symbian Foundation's wiki article Introduction to RAPTOR and others.

##### Other References

- Concepts