Staging Builds

GCC is composed of many different parts: compilers, utilities, runtimes. This page describes the way library components are currently built, and presents an alternate mechanism by which library components will be staged. Staged builds are target libraries that are built and then pre-installed in one place such that layered dependencies can be constructed with simple configuration parameters that match use description

== Background Terminology==

Define: target library

From the file gcc/configure.ac:

libgcj="target-libffi \
       target-zlib \
       target-libjava"

target_libraries="target-libgcc \
               target-libgloss \
               target-newlib \
               target-libgomp \
               target-libitm \
               target-libstdc++-v3 \
               target-libmudflap \
               target-libssp \
               target-libquadmath \
               target-libgfortran \
               target-boehm-gc \
               ${libgcj} \
               target-libobjc \
               target-libada \
               target-libgo"

Where libcpp, libiberty, and libdecnumber are not target libraries.

Define: toolchain

A toolchain for a given programming language is comprised of a compiler and runtime support in the form of includes and or libraries and or other necessary support files necessary for execution, along with tools to support the linking, examination, assembly.

An example c++ toolchain on linux would consist of g++ as a compiler, cpp as a pre-processory, ld as a linker, libstdc++ include files, the libstdc++.so and libc.so binaries, and even things like nm or readelf with demangling support, and gdb as a debugger.

None: StagingBuilds (last edited 2012-06-13 18:08:34 by BenjaminKosnik)