Share via


OS Tree Placement in a Source Code Control System

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

This topic provides information about best practices for managing Windows Embedded CE 6.0 OS trees in a source code control environment. It is recommended that you use these best practices to facilitate the development process.

Setting Up the OS Tree

When preparing to place the OS tree for your team under source code control by installing Platform Builder, make sure that you perform the following tasks.

  • Perform a Tools and OS installation

  • Install the OS components to a central location. The default Platform Builder installation path is C:\WINCE600.

  • Choose only the CPUs that you will use for your final product. If you plan to perform application development, make sure you install the ARM CPU that the Device Emulator uses. You can also choose to install additional BSPs provided by a BSP vendor for their custom hardware.
    For information about supported BSPs that you can install with Platform Builder, see Supported Board Support Packages.

  • Before beginning development, make sure that you place all the files in the OS tree, typically located at C:\WINCE600, into your team's source code control database.

    Note

    Do not perform any development tasks until you have placed the entire OS tree under source code control. This is because rebuilding the OS tree each time a build is performed can require many hours to complete, and rebuilding the OS tree is not necessary unless you have modified files under %_WINCEROOT%\Public. By doing this, you can reduce the amount of development time.

    For example, the Windows Embedded CE OS tree ships with both the .cpp files that build the OS, and the resulting .lib files that are created after building these .cpp files in the OS tree. These .lib files are included because they should not change, and recompiling them requires multiple hours. Instead of rebuilding these files, this scenario suggests that you check the precompiled files into the source code control database. This does not match good configuration management practices, but the tradeoff is that significant build time is saved for code that does not change.
    If you need to change source code that is located under %_WINCEROOT%\Public, for information about an alternate approach, see Cloning a Catalog Item.

There are many aspects to the build system in Platform Builder. For information about the file types and tools involved, see Build System.

While all files in the OS tree should be placed under source code control for consistency purposes, the following table shows the major configuration file types that are of interest for development purposes in a source code control system.

File type Description

OS Design Configuration (.pbxml) Files

XML-based file that defines build configurations and product components.

References to subproject (.pbpxml) files.

For information, see Concepts in the Platform Builder IDE.

For information about OS designs in a source code control system, see OS Designs in a Source Code Control System.

Subproject (.pbpxml) Files

XML-based file that contains minimal metadata information.

Utilizes sibling .bib and .reg files to bring components into an OS design.

Utilizes sources and dirs files to provide build information.

For information, see Subprojects.

For information about subprojects in a source code control system, see Subprojects in a Source Code Control System.

SOURCES Files

File that serves as the primary source of OS design build information in Platform Builder.

These files are used in the OS tree and in subprojects.

For more information, see Sources File.

DIRS Files

File that provides information about the directory structure.

For information, see Dirs File.

See Also

Other Resources

Source Code Control