docs/overview.txt
changeset 381 6a0ee764a60a
parent 335 f0d84f1d4c93
child 383 f00eb97ff649
     1.1 --- a/docs/overview.txt	Wed Aug 15 16:18:35 2007 +0000
     1.2 +++ b/docs/overview.txt	Fri Sep 14 19:30:56 2007 +0000
     1.3 @@ -467,6 +467,42 @@
     1.4  use the same crosstool-NG installation, and most notably, the same set of
     1.5  patches.
     1.6  
     1.7 +Architecture-specific |
     1.8 +----------------------*
     1.9 +
    1.10 +An architecture is defined by:
    1.11 +
    1.12 + - a human-readable name, in lower case letters, with numbers as appropriate.
    1.13 +   The underscore is allowed. Eg.: arm, x86_64
    1.14 + - a boolean kconfig option named after the architecture (in capital letters
    1.15 +   if possible) prefixed with "ARCH_". Eg.: ARCH_ARM, ARCH_x86_64
    1.16 + - a directory in "arch/" named after the architecture, with the same letters
    1.17 +   as above. Eg.: arch/arm, arch/x86_64
    1.18 +   This directory contains:
    1.19 +   - a configuration file in kconfig syntax, named "config.in", which may be
    1.20 +     empty. Eg.: arch/arm/config.in
    1.21 +   - a function script in bash-3.0 syntax, named "functions", which shall
    1.22 +     follow the API defined below. Eg.: arch/arm/functions
    1.23 +
    1.24 +The "functions" file API:
    1.25 + > the function "CT_DoBuildTargetTuple"
    1.26 +   + parameters: none
    1.27 +   + environment:
    1.28 +      - all variables from the ".config" file,
    1.29 +      - the two variables "target_endian_eb" and "target_endian_el" which are
    1.30 +        the endiannes suffixes
    1.31 +   + return value: 0 upon success, !0 upon failure
    1.32 +   + provides:
    1.33 +     - the target tuple stored in the variable CT_TARGET_ARCH
    1.34 +
    1.35 + > the environment variable CT_ARCH_ENDIAN_OPT
    1.36 +   + contains:
    1.37 +     - the value of the CFLAGS values for selecting the endiannes (eg.: -ml
    1.38 +       for a Super-H little endian, -mbig-endian for an ARM big endian).
    1.39 +     - empty if the architecture can not set the endianness (eg x86 and
    1.40 +       x86_64).
    1.41 +
    1.42 +
    1.43  Build scripts |
    1.44  --------------*
    1.45