diff -r 7f74f42ef2cc -r 45811aef4097 docs/overview.txt --- a/docs/overview.txt Sat Jun 02 08:13:13 2007 +0000 +++ b/docs/overview.txt Sun Jun 17 12:11:16 2007 +0000 @@ -84,10 +84,73 @@ Generation, as many other comunity projects do, and as a wink at the TV series "Star Trek: The Next Generation". ;-) -_____________ - / -Operation / -__________/ +____________________________ + / +Configuring crosstool-NG / +_________________________/ + +crosstool-NG is configured the same way you configure your Linux kernel: by +using a curses-based menu. It is assumed you now how to handle this. + +To enter the menu, type: + make menuconfig + +Almost every config item has a help entry. Read it carefully. + +String and number options can refer to environment variables. In such a case, +you must use the shell syntax: ${VAR}. No such option is ever needed by make. +You need to neither single- nor double-quote the string options. + +There are three environment variablea that are computed by crosstool-NG, and +that you can use: + +CT_TARGET: + It represents the target triplet you are building for. You can use it for + example in the installation/prefix directory, such as: + /opt/x-tools/${CT_TARGET} + +CT_TOP_DIR: + The top directory where crosstool-NG sits. You shouldn't need it in most + cases. There is one case where you may need it: if you have local patches + and you store them in your copy of crosstool-NG, you can refer to them + by using CT_TOP_DIR, such as: + ${CT_TOP_DIR}/patches.myproject + +CT_VERSION: + The version of crosstool-NG you are using. Not much help for you, but it's + there if you need it. + + +Interesting config options | +---------------------------* + +CT_LOCAL_TARBALLS_DIR: + If you already have sone tarballs in a direcotry, enter it here. That will + speed up the retrieving phase, where crosstool-ng would otherwise download + those tarballs. + +CT_PREFIX_DIR: + This is where the toolchain will be installed in (and for now, where it + will run from). + +CT_LOG_FILE: + The file where *all* log messages will go. Keep the default, in goes in + ${CT_PREFIX_DIR}/${CT_TARGET}.log + +CT_TARGET_VENDOR: + An identifier for your toolchain, will take place in the vendor part of the + target triplet. It shall *not* contain spaces or dashes. Usually, keep it + to a one-word string, or use underscores to separate words if you need. + Avoid dots, commas, and special characters. + +CT_TARGET_ALIAS: + An alias for the toolchian. It will be used as a prefix to the toolchain + tools. For example, you will have ${CT_TARGET_ALIAS}-gcc + +________________________ + / +Running crosstool-NG / +_____________________/ ct-ng is configured by a configurator presenting a menu-stuctured set of options. These options let you specify the way you want your toolchain built, @@ -95,10 +158,7 @@ will support, the version of the components you want to use, etc... The value for those options are then stored in a configuration file. -To enter the menu, type: - make menuconfig - -To build the so-configured target, simply type: +To build the toolchain, simply type: make This will use the above configuration to retrieve, extract and patch the @@ -149,65 +209,16 @@ are equivalent to: make STOP=libc_headers and: make RESTART=libc_headers -____________________________ - / -Configuring crosstool-NG / -_________________________/ +Note that in order to restart a build, you'll have to say 'Y' to the config +option CT_DEBUG_CT_SAVE_STEPS, and that the previous build effectively went +that far. -crosstool-NG is configured the same way you configure your Linux kernel: by -using a curses-based menu. It is assumed you now how to handle this. -Almost every config item has a help entry. Read it carefully. +Testing all toolchains at once | +-------------------------------* -String and number options can refer to environment variables. In such a case, -you must use the shell syntax: ${VAR}. No such option is ever needed by make. -You need to neither single- nor double-quote the string options. - -There are three environment variablea that are computed by crosstool-NG, and -that you can use: - -CT_TARGET: - It represents the target triplet you are building for. You can use it for - example in the installation/prefix directory, such as: - /opt/x-tools/${CT_TARGET} - -CT_TOP_DIR: - The top directory where crosstool-NG sits. You shouldn't need it in most - cases. There is one case where you may need it: if you have local patches - and you store them in your copy of crosstool-NG, you can refer to them - by using CT_TOP_DIR, such as: - ${CT_TOP_DIR}/patches.myproject - -CT_VERSION: - The version of crosstool-NG you are using. Not much help for you, but it's - there if you need it. - - -Interesting config options | ----------------------------* - -CT_LOCAL_TARBALLS_DIR: - If you already have sone tarballs in a direcotry, enter it here. That will - speed up the retrieving phase, where crosstool-ng would otherwise download - those tarballs. - -CT_PREFIX_DIR: - This is where the toolchain will be installed in (and for now, where it - will run from). - -CT_LOG_FILE: - The file where *all* log messages will go. Keep the default, in goes in - ${CT_PREFIX_DIR}/${CT_TARGET}.log - -CT_TARGET_VENDOR: - An identifier for your toolchain, will take place in the vendor part of the - target triplet. It shall *not* contain spaces or dashes. Usually, keep it - to a one-word string, or use underscores to separate words if you need. - Avoid dots, commas, and special characters. - -CT_TARGET_ALIAS: - An alias for the toolchian. It will be used as a prefix to the toolchain - tools. For example, you will have ${CT_TARGET_ALIAS}-gcc +You can test-build all samples; simply call: + make regtest ___________________ /