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