path: root/docs
diff options
authorYann E. MORIN" <>2007-07-01 19:04:20 (GMT)
committerYann E. MORIN" <>2007-07-01 19:04:20 (GMT)
commit26713d42100ebb0f949777060102b8fa20c22ffd (patch)
treec19e1e5ca3405de45e3465487ec1617fd579b532 /docs
parentc2abd16d69e6fb9514c91d81d25aa56a0633723c (diff)
Merge the build system to trunk: ct-ng is now installable:
- ./configure --prefix=/some/place - make - make install - export PATH="${PATH}:/some/place/bin" - ct-ng <action>
Diffstat (limited to 'docs')
2 files changed, 183 insertions, 9 deletions
diff --git a/docs/ b/docs/
new file mode 100644
index 0000000..ac033dc
--- /dev/null
+++ b/docs/
@@ -0,0 +1,174 @@
+." crosstool-ng man page
+." Copyright 2007 Yann E. MORIN
+." Licensed under the Creative Commons BY-SA, v2.5
+." Beautifying URLs
+.mso www.tmac
+.TH ct-ng 1 "@@CT_DATE@@" "version @@CT_VERSION@@" "User Commands"
+ct-ng, crosstool-ng \- Build cross-toolchains
+.B ct-ng ACTION
+Building a cross-toolchain can be a real pain.
+.B ct-ng
+makes it easy to build cross-toolchains, and allows you to take all the juice
+out of your target by configuring the differents components of the toolchain
+accordingly to the targeted processor.
+Here are the most commonly used actions. For other actions, please see
+.I @@CT_DOCDIR@@/overview.txt
+.B help
+Prints a little help text.
+.B menuconfig
+.B ct-ng
+using a configurator menu very similar to that of the Linux kernel.
+.B oldconfig
+Apply options found in an existing
+.I .config
+file, and ask for newer options if there are any.
+.B saveconfig
+Save the current
+.B ct-ng
+configuration, and associated components' config files, into a sample. Samples
+are saved in their own sub-directory, named after the target's triplet, in the
+.I samples
+sub-directory of the current directory.
+If that was not clear:
+.I `pwd`/samples/${CT_TARGET}/
+Samples can be later recalled by calling
+.B ct-ng
+with the target triplet they represent.
+.B build
+Builds the configured toolchain. If
+.B ct-ng
+is called without action, then
+.B build
+is impiled.
+.B liststeps
+Lists all build steps available (see
+.B clean
+Remove files generated by
+.B ct-ng
+for itself (these are mostly the configurators' binaries).
+.B distclean
+Same as
+.B clean
+, but also removes the toolchain build directory, the downloaded files and the
+.I .config
+configuration file. The generated toolchain is left untouched, as well as
+samples which are not removed.
+.B regtest
+Calls the
+.B ct-ng
+regression test suite. All samples are build, and the regression test suite is
+run against every one of them.
+.B updatetools
+Updates the
+.I config.guess
+.I config.sub
+scripts. These scripts are used by
+.B ct-ng
+to canonicalise the machines' name (host, build and target machines).
+.B tarball
+Builds a tarball of the generated toolchain, also saving the scripts from
+.B ct-ng
+that are needed to rebuild the target, and also saving the tarballs of the
+componnents that were used.
+Respectively stops and restarts the build just before this step. To restart a
+step, a previous build should have run at least to that step, or further.
+The list of steps is vailable with the action
+.BR liststeps .
+.B ct-ng
+frontend is in fact a
+.BR make (1)
+script. See the man page for
+.BR make (1)
+to have the meaning of the exit values.
+As of today (@@CT_DATE@@), building tarballs is broken. It is difficult to
+foresee how every parts of
+.B ct-ng
+are going to be installed. Each parts is needed to build a tarball, as it
+contains all that is needed to rebuild the toolchain from scratch: toolchain
+components' sources,
+.B ct-ng
+configuration, but also all
+.B ct-ng
+.B Don't run as root!
+Great care has been taken to avoid mistakes, but bug-free programs don't
+exist. During normal operation,
+.B ct-ng
+removes entire directories. If you run as root, and there is a bug or you
+.BR ct-ng ,
+entire important directories could be removed (eg.
+.IR /usr ),
+.B ct-ng
+will refuse to install in some well known critical directories.
+.MTO "" "Yann E. MORIN" ""
+.URL "" "" ""
+.B crosstool
+(see section titled
+scripts to be more easily maintainable, added the Kconfig configurator, some
+Please consult the file
+for a list of contributors.
+Please have a look at the
+.URL "" "original crosstool" " by Daniel KEGEL"
diff --git a/docs/overview.txt b/docs/overview.txt
index cd5c9f7..14dc0a2 100644
--- a/docs/overview.txt
+++ b/docs/overview.txt
@@ -110,9 +110,9 @@ CT_TARGET:
- 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
+ The top directory where crosstool-NG is running. 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 running directory, you can refer to them
by using CT_TOP_DIR, such as:
@@ -274,13 +274,13 @@ Makefile-based.
Makefile front-end |
-The Makefile defines a set of rules to call each action. You can get the
-list, along with some terse description, by typing "make help" in your
-favourite command line.
+To Be Written later...
-The Makefile sets the version variable from the version file in ${CT_TOP_DIR}
-which is then available to others in the CT_VERSION environment variable.
+Kconfig parser |
The kconfig language is a hacked version, vampirised from the toybox project
-by Rob LANDLEY (, adapted to my needs.
+by Rob LANDLEY (, itself coming from the
+Linux kernel (, and (heavily)
+adapted to my needs.