mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-11 21:15:21 +00:00
In overview.txt, document the two ways of using crosstool-NG: install and --local.
Fix some typos in overview.txt. Document populate's options, still in overview.txt. Credit the buildroot people for the patches I vampirise from time to time.
This commit is contained in:
parent
9ecf1b7cd8
commit
f9b4691831
@ -21,4 +21,7 @@ And in order of appearance on the crossgcc ML:
|
|||||||
- 'sanitised' patches for binutils-2.17
|
- 'sanitised' patches for binutils-2.17
|
||||||
- patches for glibc-2.5
|
- patches for glibc-2.5
|
||||||
|
|
||||||
|
Special dedication to the buildroot people for maintaining a set of patches I
|
||||||
|
happily and shamelessly vampirise from time to time... :-)
|
||||||
|
|
||||||
More to come as they help.
|
More to come as they help.
|
||||||
|
@ -85,6 +85,58 @@ this way, and name the new implementation crosstool-NG, standing for crosstool
|
|||||||
Next Generation, as many other comunity projects do, and as a wink at the TV
|
Next Generation, as many other comunity projects do, and as a wink at the TV
|
||||||
series "Star Trek: The Next Generation". ;-)
|
series "Star Trek: The Next Generation". ;-)
|
||||||
|
|
||||||
|
|
||||||
|
___________________________
|
||||||
|
/
|
||||||
|
Installing crosstool-NG /
|
||||||
|
________________________/
|
||||||
|
|
||||||
|
There are two ways you can use crosstool-NG:
|
||||||
|
- build and install it, then get rid of the sources like you'd do for most
|
||||||
|
programs,
|
||||||
|
- or only build it and run from the source directory.
|
||||||
|
|
||||||
|
The former should be used if you got crosstool-NG from a packaged tarball, see
|
||||||
|
"Install method", below, while the latter is most usefull for developpers that
|
||||||
|
checked the code out from SVN, and want to submit patches, see "The Hacker's
|
||||||
|
way", below.
|
||||||
|
|
||||||
|
Install method |
|
||||||
|
---------------+
|
||||||
|
|
||||||
|
If you go for the install, then you just follow the classical, but yet easy
|
||||||
|
./configure way:
|
||||||
|
./configure --prefix=/some/place
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
export PATH="${PATH}:/some/place/bin"
|
||||||
|
|
||||||
|
You can then get rid of crosstool-NG source. Next create a directory to serve
|
||||||
|
as a working place, cd in there and run:
|
||||||
|
ct-ng help
|
||||||
|
|
||||||
|
See below for complete usage.
|
||||||
|
|
||||||
|
The Hacker's way |
|
||||||
|
-----------------+
|
||||||
|
|
||||||
|
If you go the hacker's way, then the usage is a bit different, although very
|
||||||
|
simple:
|
||||||
|
./configure --local
|
||||||
|
make
|
||||||
|
|
||||||
|
Now, *do not* remove crosstool-NG sources. They are needed to run crosstool-NG!
|
||||||
|
Stay in the directory holding the sources, and run:
|
||||||
|
./ct-ng help
|
||||||
|
|
||||||
|
See below for complete usage.
|
||||||
|
|
||||||
|
Now, provided you checked-out the code, you can send me your interesting changes
|
||||||
|
by running:
|
||||||
|
svn diff
|
||||||
|
|
||||||
|
and mailing me the result! :-P
|
||||||
|
|
||||||
____________________________
|
____________________________
|
||||||
/
|
/
|
||||||
Configuring crosstool-NG /
|
Configuring crosstool-NG /
|
||||||
@ -106,7 +158,7 @@ Almost every config item has a help entry. Read them carefully.
|
|||||||
|
|
||||||
String and number options can refer to environment variables. In such a case,
|
String and number options can refer to environment variables. In such a case,
|
||||||
you must use the shell syntax: ${VAR}. You shall neither single- nor double-
|
you must use the shell syntax: ${VAR}. You shall neither single- nor double-
|
||||||
quote the string options.
|
quote the string/number options.
|
||||||
|
|
||||||
There are three environment variables that are computed by crosstool-NG, and
|
There are three environment variables that are computed by crosstool-NG, and
|
||||||
that you can use:
|
that you can use:
|
||||||
@ -159,7 +211,7 @@ CT_OBSOLETE:
|
|||||||
Show obsolete versions or tools. Most of the time, you don't want to base
|
Show obsolete versions or tools. Most of the time, you don't want to base
|
||||||
your toolchain on too old a version (of gcc, for example). But at times, it
|
your toolchain on too old a version (of gcc, for example). But at times, it
|
||||||
can come handy to use such an old version for regression tests. Those old
|
can come handy to use such an old version for regression tests. Those old
|
||||||
versions are hidden behind CT_BSOLETE.
|
versions are hidden behind CT_OBSOLETE.
|
||||||
|
|
||||||
CT_EXPERIMENTAL:
|
CT_EXPERIMENTAL:
|
||||||
Show experimental versions or tools. Again, you might not want to base your
|
Show experimental versions or tools. Again, you might not want to base your
|
||||||
@ -171,7 +223,7 @@ CT_BROKEN:
|
|||||||
Show broken versions or tools. Some usefull tools are currently broken: they
|
Show broken versions or tools. Some usefull tools are currently broken: they
|
||||||
won't compile, run, or worse, cause defects when running. But if you are
|
won't compile, run, or worse, cause defects when running. But if you are
|
||||||
brave enough, you can try and debug them. They are hidden behind CT_BROKEN,
|
brave enough, you can try and debug them. They are hidden behind CT_BROKEN,
|
||||||
which itself is hiddent behind EXPERIMENTAL.
|
which itself is hidden behind EXPERIMENTAL.
|
||||||
|
|
||||||
Re-building an existing toolchain |
|
Re-building an existing toolchain |
|
||||||
----------------------------------+
|
----------------------------------+
|
||||||
@ -257,7 +309,9 @@ your PATH, such as:
|
|||||||
and then using the target triplet to tell the build systems to use your
|
and then using the target triplet to tell the build systems to use your
|
||||||
toolchain:
|
toolchain:
|
||||||
./configure --target=your-target-triplet
|
./configure --target=your-target-triplet
|
||||||
|
or
|
||||||
make CC=your-target-triplet-gcc
|
make CC=your-target-triplet-gcc
|
||||||
|
or
|
||||||
make CROSS_COMPILE=your-target-triplet-
|
make CROSS_COMPILE=your-target-triplet-
|
||||||
and so on...
|
and so on...
|
||||||
|
|
||||||
@ -274,6 +328,24 @@ contains only those things you install in it.
|
|||||||
You can then use /your/root-populated to build up your file system image, a
|
You can then use /your/root-populated to build up your file system image, a
|
||||||
tarball, or to NFS-mount it from your target, or whatever you need.
|
tarball, or to NFS-mount it from your target, or whatever you need.
|
||||||
|
|
||||||
|
populate accepts the following options:
|
||||||
|
|
||||||
|
-s [src_dir]
|
||||||
|
Use 'src_dir' as the 'source', un-populated root directory
|
||||||
|
|
||||||
|
-d [dst_dir]
|
||||||
|
Put the 'destination', populated root directory in 'dst_dir'
|
||||||
|
|
||||||
|
-f
|
||||||
|
Remove 'dst_dir' if it previously existed
|
||||||
|
|
||||||
|
-v
|
||||||
|
Be verbose, and tell what's going on (you can see exactly where libs are
|
||||||
|
coming from).
|
||||||
|
|
||||||
|
-h
|
||||||
|
Print the help
|
||||||
|
|
||||||
___________________
|
___________________
|
||||||
/
|
/
|
||||||
Toolchain types /
|
Toolchain types /
|
||||||
@ -350,6 +422,7 @@ The entry point to crosstool-NG is the Makefile script "ct-ng". Calling this
|
|||||||
script with an action will act exactly as if the Makefile was in the current
|
script with an action will act exactly as if the Makefile was in the current
|
||||||
working directory and make was called with the action as rule. Thus:
|
working directory and make was called with the action as rule. Thus:
|
||||||
ct-ng menuconfig
|
ct-ng menuconfig
|
||||||
|
|
||||||
is equivalent to having the Makefile in CWD, and calling:
|
is equivalent to having the Makefile in CWD, and calling:
|
||||||
make menuconfig
|
make menuconfig
|
||||||
|
|
||||||
@ -362,13 +435,16 @@ at configuration time with ./configure.
|
|||||||
ct-ng also search for config files, sub-tools, samples, scripts and patches in
|
ct-ng also search for config files, sub-tools, samples, scripts and patches in
|
||||||
that library directory.
|
that library directory.
|
||||||
|
|
||||||
|
Because of a stupid make behavior/bug I was unable to track down, implicit make
|
||||||
|
rules are disabled: installing with --local would triger those rules, and mconf
|
||||||
|
was unbuildable.
|
||||||
|
|
||||||
Kconfig parser |
|
Kconfig parser |
|
||||||
---------------*
|
---------------*
|
||||||
|
|
||||||
The kconfig language is a hacked version, vampirised from the toybox project
|
The kconfig language is a hacked version, vampirised from the toybox project
|
||||||
by Rob LANDLEY (http://www.landley.net/code/toybox/), itself coming from the
|
by Rob LANDLEY (http://www.landley.net/code/toybox/), itself coming from the
|
||||||
Linux kernel (http://www.linux.org/ http://www.kernel.org/), and (heavily)
|
Linux kernel (http://www.kernel.org/), and (heavily) adapted to my needs.
|
||||||
adapted to my needs.
|
|
||||||
|
|
||||||
The kconfig parsers (conf and mconf) are not installed pre-built, but as
|
The kconfig parsers (conf and mconf) are not installed pre-built, but as
|
||||||
source files. Thus you can have the directory where crosstool-NG is installed,
|
source files. Thus you can have the directory where crosstool-NG is installed,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user