1.1 --- a/Makefile Sun Jun 17 11:45:18 2007 +0000
1.2 +++ b/Makefile Sun Jun 17 12:11:16 2007 +0000
1.3 @@ -37,7 +37,7 @@
1.4 @echo 'Distribution targets:'
1.5 @echo ' tarball - Build a tarball of the configured toolchain'
1.6 @echo ''
1.7 - @echo 'Environement variables:'
1.8 + @echo 'Environement variables (see docs/overview.txt):'
1.9 @echo ' STOP - Stop the build just after this step'
1.10 @echo ' RESTART - Restart the build just before this step'
1.11 @echo ''
2.1 --- a/config/global.in Sun Jun 17 11:45:18 2007 +0000
2.2 +++ b/config/global.in Sun Jun 17 12:11:16 2007 +0000
2.3 @@ -58,22 +58,12 @@
2.4 default n
2.5 help
2.6 If you say 'y' here, then you will be able to restart crosstool-NG at
2.7 - any step by typing:
2.8 - make RESTART=<step_nane>
2.9 -
2.10 - where step_name is one of:
2.11 - - kernel_hdr
2.12 - - binutils
2.13 - - libc_hdr
2.14 - - cc_core
2.15 - - libfloat
2.16 - - libc
2.17 - - cc
2.18 - - libc_fin
2.19 - - debug
2.20 + any step.
2.21
2.22 It is not currently possible to rstart at any of the debug facility.
2.23 - They are treated a s a whole.
2.24 + They are treated as a whole.
2.25 +
2.26 + See docs/overview.txt for the list of steps.
2.27
2.28 config DEBUG_CT_SAVE_STEPS_GZIP
2.29 bool
3.1 --- a/docs/overview.txt Sun Jun 17 11:45:18 2007 +0000
3.2 +++ b/docs/overview.txt Sun Jun 17 12:11:16 2007 +0000
3.3 @@ -84,10 +84,73 @@
3.4 Generation, as many other comunity projects do, and as a wink at the TV series
3.5 "Star Trek: The Next Generation". ;-)
3.6
3.7 -_____________
3.8 - /
3.9 -Operation /
3.10 -__________/
3.11 +____________________________
3.12 + /
3.13 +Configuring crosstool-NG /
3.14 +_________________________/
3.15 +
3.16 +crosstool-NG is configured the same way you configure your Linux kernel: by
3.17 +using a curses-based menu. It is assumed you now how to handle this.
3.18 +
3.19 +To enter the menu, type:
3.20 + make menuconfig
3.21 +
3.22 +Almost every config item has a help entry. Read it carefully.
3.23 +
3.24 +String and number options can refer to environment variables. In such a case,
3.25 +you must use the shell syntax: ${VAR}. No such option is ever needed by make.
3.26 +You need to neither single- nor double-quote the string options.
3.27 +
3.28 +There are three environment variablea that are computed by crosstool-NG, and
3.29 +that you can use:
3.30 +
3.31 +CT_TARGET:
3.32 + It represents the target triplet you are building for. You can use it for
3.33 + example in the installation/prefix directory, such as:
3.34 + /opt/x-tools/${CT_TARGET}
3.35 +
3.36 +CT_TOP_DIR:
3.37 + The top directory where crosstool-NG sits. You shouldn't need it in most
3.38 + cases. There is one case where you may need it: if you have local patches
3.39 + and you store them in your copy of crosstool-NG, you can refer to them
3.40 + by using CT_TOP_DIR, such as:
3.41 + ${CT_TOP_DIR}/patches.myproject
3.42 +
3.43 +CT_VERSION:
3.44 + The version of crosstool-NG you are using. Not much help for you, but it's
3.45 + there if you need it.
3.46 +
3.47 +
3.48 +Interesting config options |
3.49 +---------------------------*
3.50 +
3.51 +CT_LOCAL_TARBALLS_DIR:
3.52 + If you already have sone tarballs in a direcotry, enter it here. That will
3.53 + speed up the retrieving phase, where crosstool-ng would otherwise download
3.54 + those tarballs.
3.55 +
3.56 +CT_PREFIX_DIR:
3.57 + This is where the toolchain will be installed in (and for now, where it
3.58 + will run from).
3.59 +
3.60 +CT_LOG_FILE:
3.61 + The file where *all* log messages will go. Keep the default, in goes in
3.62 + ${CT_PREFIX_DIR}/${CT_TARGET}.log
3.63 +
3.64 +CT_TARGET_VENDOR:
3.65 + An identifier for your toolchain, will take place in the vendor part of the
3.66 + target triplet. It shall *not* contain spaces or dashes. Usually, keep it
3.67 + to a one-word string, or use underscores to separate words if you need.
3.68 + Avoid dots, commas, and special characters.
3.69 +
3.70 +CT_TARGET_ALIAS:
3.71 + An alias for the toolchian. It will be used as a prefix to the toolchain
3.72 + tools. For example, you will have ${CT_TARGET_ALIAS}-gcc
3.73 +
3.74 +________________________
3.75 + /
3.76 +Running crosstool-NG /
3.77 +_____________________/
3.78
3.79 ct-ng is configured by a configurator presenting a menu-stuctured set of
3.80 options. These options let you specify the way you want your toolchain built,
3.81 @@ -95,10 +158,7 @@
3.82 will support, the version of the components you want to use, etc... The
3.83 value for those options are then stored in a configuration file.
3.84
3.85 -To enter the menu, type:
3.86 - make menuconfig
3.87 -
3.88 -To build the so-configured target, simply type:
3.89 +To build the toolchain, simply type:
3.90 make
3.91
3.92 This will use the above configuration to retrieve, extract and patch the
3.93 @@ -149,65 +209,16 @@
3.94 are equivalent to:
3.95 make STOP=libc_headers and: make RESTART=libc_headers
3.96
3.97 -____________________________
3.98 - /
3.99 -Configuring crosstool-NG /
3.100 -_________________________/
3.101 +Note that in order to restart a build, you'll have to say 'Y' to the config
3.102 +option CT_DEBUG_CT_SAVE_STEPS, and that the previous build effectively went
3.103 +that far.
3.104
3.105 -crosstool-NG is configured the same way you configure your Linux kernel: by
3.106 -using a curses-based menu. It is assumed you now how to handle this.
3.107
3.108 -Almost every config item has a help entry. Read it carefully.
3.109 +Testing all toolchains at once |
3.110 +-------------------------------*
3.111
3.112 -String and number options can refer to environment variables. In such a case,
3.113 -you must use the shell syntax: ${VAR}. No such option is ever needed by make.
3.114 -You need to neither single- nor double-quote the string options.
3.115 -
3.116 -There are three environment variablea that are computed by crosstool-NG, and
3.117 -that you can use:
3.118 -
3.119 -CT_TARGET:
3.120 - It represents the target triplet you are building for. You can use it for
3.121 - example in the installation/prefix directory, such as:
3.122 - /opt/x-tools/${CT_TARGET}
3.123 -
3.124 -CT_TOP_DIR:
3.125 - The top directory where crosstool-NG sits. You shouldn't need it in most
3.126 - cases. There is one case where you may need it: if you have local patches
3.127 - and you store them in your copy of crosstool-NG, you can refer to them
3.128 - by using CT_TOP_DIR, such as:
3.129 - ${CT_TOP_DIR}/patches.myproject
3.130 -
3.131 -CT_VERSION:
3.132 - The version of crosstool-NG you are using. Not much help for you, but it's
3.133 - there if you need it.
3.134 -
3.135 -
3.136 -Interesting config options |
3.137 ----------------------------*
3.138 -
3.139 -CT_LOCAL_TARBALLS_DIR:
3.140 - If you already have sone tarballs in a direcotry, enter it here. That will
3.141 - speed up the retrieving phase, where crosstool-ng would otherwise download
3.142 - those tarballs.
3.143 -
3.144 -CT_PREFIX_DIR:
3.145 - This is where the toolchain will be installed in (and for now, where it
3.146 - will run from).
3.147 -
3.148 -CT_LOG_FILE:
3.149 - The file where *all* log messages will go. Keep the default, in goes in
3.150 - ${CT_PREFIX_DIR}/${CT_TARGET}.log
3.151 -
3.152 -CT_TARGET_VENDOR:
3.153 - An identifier for your toolchain, will take place in the vendor part of the
3.154 - target triplet. It shall *not* contain spaces or dashes. Usually, keep it
3.155 - to a one-word string, or use underscores to separate words if you need.
3.156 - Avoid dots, commas, and special characters.
3.157 -
3.158 -CT_TARGET_ALIAS:
3.159 - An alias for the toolchian. It will be used as a prefix to the toolchain
3.160 - tools. For example, you will have ${CT_TARGET_ALIAS}-gcc
3.161 +You can test-build all samples; simply call:
3.162 + make regtest
3.163
3.164 ___________________
3.165 /
4.1 --- a/scripts/showSamples.sh Sun Jun 17 11:45:18 2007 +0000
4.2 +++ b/scripts/showSamples.sh Sun Jun 17 12:11:16 2007 +0000
4.3 @@ -10,12 +10,9 @@
4.4 dump_single_sample() {
4.5 local width="$1"
4.6 local sample="$2"
4.7 - . "${CT_TOP_DIR}/samples/${sample}/crosstool.config"
4.8 printf " %-*s" ${width} "${sample}"
4.9 [ -f "${CT_TOP_DIR}/samples/${sample}/broken" ] && printf " (broken)"
4.10 echo
4.11 - echo " \ ${CT_KERNEL}-${CT_KERNEL_VERSION} binutils-${CT_BINUTILS_VERSION}"
4.12 - echo " \_ ${CT_CC}-${CT_CC_VERSION} ${CT_LIBC}-${CT_LIBC_VERSION}"
4.13 }
4.14
4.15 # Get largest sample width