yann@197: ." crosstool-NG man page yann@182: ." Copyright 2007 Yann E. MORIN yann@182: ." Licensed under the Creative Commons BY-SA, v2.5 yann@182: ." yann@182: ." Beautifying URLs yann@182: .mso www.tmac yann@182: ." yann@197: .TH crosstool-NG 1 "@@CT_DATE@@" "version @@CT_VERSION@@" "User Commands" yann@182: ." yann@182: ." yann@182: .SH NAME yann@197: ct-ng, crosstool-NG \- Build cross-toolchains yann@182: ." yann@182: ." yann@182: .SH SYNOPSIS yann@182: .B ct-ng ACTION yann@182: ." yann@182: ." yann@182: .SH DESCRIPTION yann@182: Building a cross-toolchain can be a real pain. yann@182: .PP yann@197: .B crosstool-NG yann@182: makes it easy to build cross-toolchains, and allows you to take all the juice yann@306: out of your target by configuring the different components of the toolchain yann@182: accordingly to the targeted processor. yann@182: ." yann@182: ." yann@182: .SH ACTIONS yann@182: Here are the most commonly used actions. For other actions, please see yann@182: .I @@CT_DOCDIR@@/overview.txt yann@182: .TP yann@182: .B help yann@182: Prints a little help text. yann@182: ." yann@182: .TP yann@182: .B menuconfig yann@182: Configures yann@197: .B crosstool-NG yann@182: using a configurator menu very similar to that of the Linux kernel. yann@182: ." yann@182: .TP yann@182: .B oldconfig yann@182: Apply options found in an existing yann@182: .I .config yann@182: file, and ask for newer options if there are any. yann@182: ." yann@182: .TP yann@182: .B saveconfig yann@182: Save the current yann@197: .B crosstool-NG yann@182: configuration, and associated components' config files, into a sample. Samples yann@335: are saved in their own sub-directory, named after the target's tuple, in the yann@182: .I samples yann@182: sub-directory of the current directory. yann@182: If that was not clear: yann@182: .I `pwd`/samples/${CT_TARGET}/ yann@182: yann@182: Samples can be later recalled by calling yann@182: .B ct-ng yann@335: with the target tuple they represent. yann@182: ." yann@182: .TP yann@182: .B build yann@197: Builds the configured toolchain. yann@182: ." yann@182: .TP yann@182: .B clean yann@182: Remove files generated by yann@197: .B crosstool-NG yann@182: for itself (these are mostly the configurators' binaries). yann@182: ." yann@182: .TP yann@182: .B distclean yann@182: Same as yann@182: .B clean yann@182: , but also removes the toolchain build directory, the downloaded files and the yann@182: .I .config yann@182: configuration file. The generated toolchain is left untouched, as well as yann@182: samples which are not removed. yann@182: ." yann@182: .TP yann@182: .B regtest yann@182: Calls the yann@197: .B crosstool-NG yann@182: regression test suite. All samples are build, and the regression test suite is yann@182: run against every one of them. yann@182: ." yann@182: .TP yann@182: .B updatetools yann@182: Updates the yann@182: .I config.guess yann@182: and yann@182: .I config.sub yann@182: scripts. These scripts are used by yann@197: .B crosstool-NG yann@182: to canonicalise the machines' name (host, build and target machines). yann@182: .TP yann@182: .B tarball yann@182: Builds a tarball of the generated toolchain, also saving the scripts from yann@197: .B crosstool-NG yann@182: that are needed to rebuild the target, and also saving the tarballs of the yann@182: componnents that were used. yann@182: ." yann@182: .SH ENVIRONMENT yann@182: .TP yann@182: .B STOP, START yann@182: Respectively stops and restarts the build just before this step. To restart a yann@182: step, a previous build should have run at least to that step, or further. yann@182: yann@182: The list of steps is vailable with the action yann@620: .BR list-steps . yann@182: ." yann@182: .SH EXIT VALUE yann@182: The yann@182: .B ct-ng yann@182: frontend is in fact a yann@182: .BR make (1) yann@182: script. See the man page for yann@182: .BR make (1) yann@182: to have the meaning of the exit values. yann@182: ." yann@182: .SH BUGS yann@182: As of today (@@CT_DATE@@), building tarballs is broken. It is difficult to yann@182: foresee how every parts of yann@197: .B crosstool-NG yann@182: are going to be installed. Each parts is needed to build a tarball, as it yann@182: contains all that is needed to rebuild the toolchain from scratch: toolchain yann@182: components' sources, yann@197: .B crosstool-NG yann@182: configuration, but also all yann@197: .B crosstool-NG yann@182: scripts. yann@182: ." yann@182: .SH SECURITY yann@182: .B Don't run as root! yann@182: Great care has been taken to avoid mistakes, but bug-free programs don't yann@182: exist. During normal operation, yann@197: .B crosstool-NG yann@182: removes entire directories. If you run as root, and there is a bug or you yann@182: mis-configured yann@197: .BR crosstool-NG , yann@182: entire important directories could be removed (eg. yann@182: .IR /usr ), yann@182: although yann@197: .B crosstool-NG yann@335: will refuse to install toolchains in some well known critical directories. yann@182: ." yann@182: .SH AUTHORS yann@182: Please consult the file yann@182: .I @@CT_DOCDIR@@/CREDITS yann@182: for a list of contributors. yann@182: ." yann@182: .SH SEE ALSO yann@227: You can find more in-depth documentation in yann@227: .IR @@CT_DOCDIR@@/overview.txt . yann@227: yann@182: Please have a look at the yann@182: .URL "http://www.kegel.com/crosstool" "original crosstool" " by Daniel KEGEL"