O'Reilly logo

Shared Source CLI Essentials by Ted Neward, Geoff Shilling, David Stutz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

Note

All of the environment variables, such as %ROTOR_DIR% or ${ROTOR_DIR}, are defined by the env.csh, env.sh, 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
    >build

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

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

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required