Catalog Item Dependencies (Windows CE 5.0)

During operating system (OS) design creation and customization, Platform Builder calls the Cesysgen configuration (Cesysgen.bat) file, which uses Sysgen variables during the Sysgen phase to determine the inclusion or exclusion of Catalog items in your OS design. For more information, see Sysgen Variables.

This is accomplished with the logic contained in Cesysgen.bat that specifies which other Catalog items a specific Catalog item requires. You can determine the dependencies of a Catalog item by examining Cesysgen.bat. For more information, see Cesysgen Batch File.

If you remove a specific Catalog item from your OS design and Platform Builder brings the Catalog item back in, this means that another Catalog item requires the Catalog item in order to function. To remove a Catalog item from your OS design, you must remove all Catalog items that depend on it.

For example, modem support requires Point-to-Point Protocol (PPP) in order to function properly, so setting SYSGEN_MODEM sets SYSGEN_PPP by dependency.

For information about how to check the dependencies of a Catalog item or Sysgen variable, see How to Check the Dependencies of a Catalog Item.

Some features might not be included in an OS design because the design is built with the assumption that the Catalog item is always included, or because the OS design does not support the Catalog item. For example, an OS design based on a Tiny Kernel design template might not have wireless networking functionality because it is not supported by default.

During the Sysgen phase, a filtering program filters header (.h), binary image builder (.bib), and registry (.reg) files that correspond to these Catalog items according to IF/ENDIF comments that divide these files into components. Then the filtering program copies the filtered versions of these files to %_WINCEROOT%\PBWorkspaces\<MyOSDesign>.

The following code example shows comments from the header file %_WINCEROOT%\Public\Common\Oak\Inc\Netui.h.

//@CESYSGEN IF CE_MODULES_NETUI
//@CESYSGEN ENDIF

Any code inside this IF/ENDIF statement is stripped out during the Sysgen phase unless the NETUI component is added to CE_MODULES in Cesysgen.bat. Then the filtered file is copied to %_WINCEROOT%\PBWorkspaces\<MyOSDesign>\Cesysgen\Oak\Inc.

The following code example shows comments from the header file %_WINCEROOT%\Public\Common\Sdk\Inc\Winuser.h.

// @CESYSGEN IF GWES_TIMER
// @CESYSGEN ENDIF

Any code inside this IF/ENDIF statement is stripped out during the Sysgen phase unless the TIMER component is added to GWES_COMPONENTS. Then the filtered file is copied to %_WINCEROOT%\Public\<MyOSDesign>\Cesysgen\Sdk\Inc.

Component lists with _MODULES in their names become link targets for Sysgen makefile files, which are typically in %_WINCEROOT%\Public\Deptree\Cesysgen\Makefile. The components in these lists determine which Platform Builder libraries become binaries.

For example, if you add the NETUI component to CE_MODULES in Cesysgen.bat, during the Sysgen phase the Nmake tool creates a makefile file for the component.

For information about the Nmake tool, see Nmake Tool. For information about makefiles, see Makefile File.

You can customize a Catalog item after you add it to your OS design by modifying the registry settings associated with that Catalog item. For information about customization available for each Catalog item, see Windows CE Architecture.

The default registry settings for each Catalog item are stored in either %_WINCEROOT%\Public\deptree\oak\files\deptree.reg, or in %_WINCEROOT%\Platform\MyBSP\Files\Platform.reg.

You can override the default registry settings on a per-workspace basis by modifying the workspace's registry files. The workspace registry file is in %_PROJECTROOT%\oak\files\project.reg.

See Also

Catalog Item Management | Command-Line Catalog Item Dependencies | Resolving an IDE Catalog Item Dependency

Last updated on Thursday, February 02, 2006

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.