Build Scenarios

If you want to modify the SSCLI ’s source code, you need to know what is built at various stages of the SSCLI’s build process, and how to run selected portions of the build.

The SSCLI build process is responsible for building a series of elements:

  • Primary bootstrap elements: the PAL and unmanaged bootstrap build tools

  • Secondary bootstrap elements: the remaining tools and support infrastructure

  • Core elements: The core CLI implementation, base class libraries, the C# compiler, and supporting tools

  • The FX class libraries and supporting tools

  • Other assemblies

  • Managed compilers

If you’d like to modify part of the source tree, you should first build the entire SSCLI using the instructions in this appendix. After you’ve done that, you can modify the source code and rebuild just the element that you changed.


All of the environment variables, such as %ROTOR_DIR% or ${ROTOR_DIR}, are defined by the env.csh,, or env.bat scripts, so you do not need to replace them yourself in the examples that follow.

Primary Bootstrap

The Primary Bootstrap phase builds the PAL and the nmake, binplace, and build utilities.

Building the PAL

Since build and other tools depend on the PAL, it must be built first. To build the PAL (%TARGETCOMPLUS%\rotor_pal.dll) on Windows:

    >cd %ROTOR_DIR%\pal\win32

To build the PAL (${TARGETCOMPLUS}/ or .dylib) on Unix:

    % cd ${ROTOR_DIR}/pal/unix
    % make
Building nmake

The SSCLI expects that nmake (program maintenance utility) is already available ...

Get Shared Source CLI Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.