Commit Graph

342 Commits

Author SHA1 Message Date
Yann E. MORIN"
d53f1d71f6 libc/mingw: fix space-damage
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-17 23:50:03 +02:00
Esben Haabendal
150789c22b mingw32: enable sysrooted toolchains
When targeting mingw32, gcc expects to find its include files
in "mingw/include" instead of the traditional "usr/include".

[Yann E. MORIN: split the original patch]
2010-08-15 00:00:51 +02:00
Esben Haabendal
386b4fed76 libc/mingw: use pre-set headers dir
There is a variable that contains the headers directory,
so there's no need to re-compute it again.

[Yann E. MORIN: split the original patch]
2010-08-14 23:21:06 +02:00
Yann E. MORIN"
2e7698ed02 libc/uClibc: fix downloading pregen locales
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 20:05:05 +02:00
Yann E. MORIN"
b2d9366b56 libc/uClibc: fix space damage 2010-07-28 01:39:52 +02:00
Yann E. MORIN"
bb6a9e3e64 libc/uClibc: fix using pre-generated locale data
Some time, someone updated the locale Makefile to use
newer pre-generated locales data, but did not upload
those.

So we just force using the existing, ageing archive,
dating back 20030818. Sigh...
2010-07-28 01:38:15 +02:00
Yann E. MORIN"
d0ed3f0fe0 libc/uClibc: do not systematically use pre-generated locale data
It seems that using pre-generated locale data can be more problematic
than usefull in some circumstances.

Offer a config knob to enable/disable use of the pregen locale data.
Also, do not extract pregen locales data ourselves, it's broken.
2010-07-28 01:03:07 +02:00
Yann E. MORIN"
d7287c9b5f libc/uClibc: do not install cross-ldd
I was unable to make the cross-ldd from uClibc to work, and
it is not possible to build it on non-POSIX system.

Besides, we have a generic script that is in the starting-blocks
to replace it, that will work for any C library, and also will
work on non-POSIX systems. Bonus!
2010-07-22 20:06:27 +02:00
Yann E. MORIN"
d54963f0e3 kernel/mingw: add target libraries
Add several development libraries to the build of the mingw cross-compiler
to be used on target

Libraries:
PDCurses (port of the ncurses library)
GnuRX (the regex library)
DirectX
OpenGL

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:55 +02:00
Yann E. MORIN"
b81d232a9b kernel: add mingw
Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.

Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).

The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:20 +02:00
Yann E. MORIN"
42a7dc1946 libc/uClibc: enable NPTL for snapshots
Recently, NPTL has matured a lot in uClibc, and more and more
people are interested to at least give it a try. So enable it.
2010-07-03 01:15:28 +02:00
Yann E. MORIN"
974f60e98a libc/uClibc: fix snapshots
Snapshots are in a subdir named uClibc, not uClibc-snapshot
(or uClibc-YYYYMMDD either).
2010-07-03 00:17:54 +02:00
Yann E. MORIN"
3fafacd093 libc/uClibc: fix munging .config for LT old/new 2010-07-02 22:11:45 +02:00
Yann E. MORIN"
82766493f5 libc/glibc: fix installed scripts
glibc installs some bash-scripts, but uses the path to the buildtool
bash as interpreter (on the shebang line). This is only a symlink to
the real bash, and thus is not available at runtime.

Fix that by assuming that bash on the target *will* be /bin/bash.
2010-07-01 00:24:04 +02:00
Yann E. MORIN"
b00d3ef516 libc/newlib: build in the 'start files' pass
A few facts:
- building the C library requires a proper core compiler
- core compiler is issued from one of the core passes
- the C library is required to build libstdc++
- newlib is only built for baremetal
- in bare metal, the final compiler is issued from one of the core passes

So we need to build the C library between core pass 1 and core pass 2.
The only place is eithe libc_headers() or libc_start_files(). The most
pertinent seems to be libc_start_files().

So we build newlib from libc_start_files(), and leave libc() empty.
2010-06-13 23:45:29 +02:00
Yann E. MORIN"
13b5487575 libc/uClibc: apply the threading model to the configuration
The threading model shall be be set in the .config file.
Also, offer the choice between 'old/stable' and 'new' linuxthreads.
2010-06-09 00:41:25 +02:00
Yann E. MORIN"
8743f16f65 libc/newlib: don't do // downloads
The newlib FTP site does not like // downloads, and quickly
blocks the IP from the downloader.

Override the number of chunks when downloading newlib.
2010-04-21 19:06:29 +02:00
Yann E. MORIN"
49f0895649 libc/glibc: fix kernel version check
Since we log the test strings, it is no longer possible to call
the CT_Test* functions from sub-functions that print results to
their stdout.
2010-04-21 18:54:58 +02:00
Thomas Petazzoni
24e4d092a5 Add basic support for the Blackfin architecture
For uClibc, the name of the Blackfin architecture is 'bfin'. Actually,
the naming of the architecture is quite messy: for toolchain tuples
and uClibc, it's bfin, but for the kernel, it's blackfin. We've
arbitraly choosen to name it "blackfin" in Crosstool-NG.

Add Blackfin-related uClibc patch to fix a build failure related to
fork() being used in unistd/daemon.c.

Yann E. MORIN:
Apply the patch to the kernel/linux build script to use 'linux'
in the noMMU tuples. See:
  http://sourceware.org/ml/crossgcc/2010-04/msg00010.html
2010-04-07 09:18:20 +02:00
Yann E. MORIN"
bf86627982 scripts/functions: make CT_Patch dumber
It is the responsibility of the caller to split the package name from
its version. It already knows that.
2010-04-11 23:18:10 +02:00
Yann E. MORIN"
d2ea451ee1 libc/newlib: only compute version string, not full filename 2010-04-11 23:17:25 +02:00
Richard Strand
22fca0106e libc/eglibc: Add option to optimize for size
Add an option to eglibc to optimize for size using -Os.

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-02-01 12:56:28 +00:00
Yann E. MORIN"
e46e74546d libc/glibc: fix retrieving version string 2010-01-30 16:19:50 +01:00
Yann E. MORIN"
958138fff1 libc/glibc: get the version string from version.h
We can not rely on the user-provided version string (be it via the
choice, or manually entered), so fallback to reading version.h,
which is both reliable and always present.
2010-01-12 19:37:18 +01:00
Yann E. MORIN"
e3a4063ac6 scripts/functions: change handling of nochdir
- 'nochdir' must be the first option
- have systematic pushd/popd, even if nochdir
2010-01-12 19:24:03 +01:00
Yann E. MORIN"
c5462c814f libc/glibc: get rid of the now obsolete CVS stuff
It's now been a while that glibc switched to git from cvs.
Get rid of cvs to download glibc; this will make for a good
cleanup before we add git support! :-)
2010-01-11 22:47:58 +01:00
Yann E. MORIN"
542419d6a0 libc/uClibc: fix the breakage for x86 and Super-H, after the 32/64 merge 2010-01-23 22:06:11 +01:00
Yann E. MORIN"
849713aa43 libc/uclibc: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:41:59 +01:00
Yann E. MORIN"
ac46ac3dd5 libc/glibc: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:40:38 +01:00
Yann E. MORIN"
261709c8d4 libc/glibc: correctly handle dual-bitness archs
If the selected ARCH is dual-bitness (eg. supports 32- and 64-bit),
then we need to know the correct place where to fetch some headers.
Currently, this applies only to x86 variants: i386 and x86_64.
2010-01-09 16:05:01 +01:00
Yann E. MORIN"
8908eb3037 misc: do not use "tar cf - |tar xf -"
Using this: tar cf - -C "/some/place" |tar xf - -C "/some/other/place"
to copy a directory to another place does not properly fail (when it does).

Using this instead: cp -av "/some/place" "/some/other/place"
makes it easy to see why and how it failed.

Impacted:
    libc/uClibc
    debug/ltrace
    tools/sstrip
    scripts/populate
2010-01-02 18:00:54 +01:00
Yann E. MORIN"
5ae9b7faf9 libc/uClibc: do not mangle ARM {E,O}ABI when ARCH != ARM 2010-01-01 16:52:55 +01:00
Yann E. MORIN"
d744220447 libc/uClibc: beautify the munge function 2010-01-01 18:47:20 +01:00
Yann E. MORIN"
15627cbf8c libc/glibc: configure libc headers with support for 128-bit long double
At the headers install pass, there's no compiler to test for the size
of long double. Help it: we know that the compiler does support 128-bit
long double, in the IBM extended precision.

Kindly pointed out, and explained, by Mike FRYSINGER:
  http://sourceware.org/ml/crossgcc/2009-11/msg00040.html
  http://sourceware.org/ml/crossgcc/2009-11/msg00057.html
2009-11-17 23:41:49 +01:00
Simon Pasch
a4980248f3 libc/uClibc: add wchar support 2009-11-06 20:17:30 +01:00
Yann E. MORIN"
bd8e670d5e libc/glibc: allow more than one line in configparms 2009-11-16 20:24:03 +01:00
Yann E. MORIN"
49e5b08739 libc/newlib: allow using CVS snapshots
The newlib "team" rolls new releases about once a year (december).
This is quite a long time between releases, in case code was fixed.
So, allow user to use a CVS snapshot to benefit early from fixes
and enhancements to newlib.
2009-10-26 22:00:30 +01:00
Yann E. MORIN"
e8bd152863 libc/newlib: cleanup the build and finish steps
build step:
- ./configure
  - remove glibc-specific options
  - pass the target CFLAGS in the correct variable
- make:
  - build in //

finish step:
- print proper message in finish step
2009-10-26 23:20:33 +01:00
Yann E. MORIN"
88c997020f libc/newlib: fix host/target confusion
newlib handles the build/host/target a bit differently as one would expect:
  build  : not used
  host   : the nachine that builds newlib
  target : the machine on which newlib will run
2009-10-25 23:35:55 +01:00
Arnaud Vrac
e11863d167 eglibc: add support for user provided option groups
Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
2009-10-09 16:22:09 +02:00
Yann E. MORIN"
89351cb898 Merge. 2009-10-03 18:21:41 +02:00
Yann E. MORIN"
d0c5d174bf libc/glibc: don't use legacy snapshots
glibc snapshots have not been updated for about the
past 5 months. Consider them to be deprecated, now.
2009-10-03 18:19:39 +02:00
Yann E. MORIN"
399a88364f libc/eglibc: fix building for seemingly native toolchains
Build eglibc with -O2 as a fix/workaround to building
seemingly-native toolchains (see docs/overview.txt).

See:
- docs/overview.txt
- docs/known-issues.txt
- http://sourceware.org/ml/crossgcc/2009-10/msg00001.html
2009-10-02 22:10:17 +02:00
Yann E. MORIN"
443f51a2dc libc/glibc: fix building for seemingly native toolchains
Build glibc with -O2 as a fix/workaround to building
seemingly-native toolchains.

See:
- docs/overview.txt
- docs/known-issues.txt
- http://sourceware.org/ml/crossgcc/2009-09/msg00055.html
2009-10-02 22:10:38 +02:00
Yann E. MORIN"
b586e9ce72 libc/glibc: remove dead code
The option to retrieve snapshots is already handled by
the generic 'specific date' and 'use latest' entries.
No need for a special case, as there's no code for it.
2009-10-02 00:04:24 +02:00
Yann E. MORIN"
26b3a17f58 libc/eglibc: fix download
Fix the test to check if download is forced.
2009-09-12 00:11:12 +02:00
Jim F
015719a12a glibc: fix build error caused by incorrect variable assignment
During the conversion to using bash arrays, the glibc build script
was improperly converted, and contains an incorrect variable
assignment to the config_options array.
2009-08-24 19:20:57 +02:00
Yann E. MORIN"
4de6139e7e Merge the bash_array branch.
For every components where it makes sense, use bash arrays (instead
of a string with space-separated values) to store the options pased
to ./configure.
2009-08-19 19:52:04 +02:00
Yann E. MORIN"
a72cc670b8 Make glibc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:43 +02:00
Yann E. MORIN"
3af5465103 Make eglibc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:30 +02:00
Yann E. MORIN"
e4855367b4 [libc-eglibc] Rewrite part of the code
Rewrite part of the code to better match the rest.
Most notably, rewrite handling of:
  if [ ... ] && [ ... ]
to:
  if [ ... -a ... ]

This has the positive side effect of calling "[" only once, although
"[" is probably a shell built-in.
2009-07-27 22:16:07 +02:00
Yann E. MORIN"
795d135b7f [libc-eglibc] Fix testing for existing files
To test for existing files, use "[ -f blabla ]", not "[ -a blabla ]"
Checking for a file exsitence with "-a" is a bashism.
Althoug we _are_ using bash, it's disturbing as it can be misread as
the 'and' operator. Fix by using "-f".
2009-07-27 22:14:08 +02:00
Yann E. MORIN"
424f64c487 Merge the AVR32 support branch to the default branch. 2009-08-08 22:15:25 +02:00
Martin Lund
bfe21badf8 Removed debug line 2009-06-20 19:42:00 +02:00
Martin Lund
b4467e6617 Fix libc config 2009-06-20 18:54:56 +02:00
Martin Lund
8fb846f5b5 Misc AVR32 cleanups. 2009-06-20 17:16:54 +02:00
Martin Lund
6b2b096869 Changed copyright 2009-06-14 22:43:33 +02:00
Yann E. MORIN"
5b6ee5d9a7 /devel/gcc-4.4:
- fix buildging glibc in //

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/build/libc/glibc.sh |   25    17     8     0 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)
2009-06-01 11:34:57 +00:00
Martin Lund"
07a71d8c42 Added support for Atmel AVR32 headers 2009-05-23 18:46:42 +00:00
Martin Lund"
72aea3b682 Temp fix for newlib configure. Updated avr32 crosstool.config. 2009-05-22 20:44:01 +00:00
Martin Lund"
a94b870756 Added initial AVR32 support (bare-metal,newlib) 2009-05-22 14:46:18 +00:00
Yann E. MORIN"
45ccabcbfb Fix building uClibc:
- fix headers installation

 -------- diffstat follows --------
 /trunk/scripts/build/libc/uClibc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-05-11 20:19:50 +00:00
Yann E. MORIN"
656d56551e Workaround for "PowerPC-8xx CPU15 errata" (whatever that might be).
Patch by Nye LIU: http://sourceware.org/ml/crossgcc/2009-05/msg00014.html

 -------- diffstat follows --------
 /trunk/patches/eglibc/2_9/100-powerpc-8xx-CPU15-errata.patch |   49    49     0     0 ++++++++++++++++++
 /trunk/scripts/build/libc/eglibc.sh                          |   10     9     1     0 +++-
 2 files changed, 58 insertions(+), 1 deletion(-)
2009-05-07 19:30:32 +00:00
Yann E. MORIN"
7032dea8ba Fix installing uClibc headers for versions prior to 0.9.30.
Fix a comment about installing uClibc.
Automatically enable // build for uClibc versions that can be built in //.

 -------- diffstat follows --------
 /trunk/scripts/build/libc/uClibc.sh |   32    23     9     0 +++++++++++++++++++++++---------
 /trunk/config/libc/uClibc.in        |   12     7     5     0 +++++++-----
 2 files changed, 30 insertions(+), 14 deletions(-)
2009-05-07 18:56:31 +00:00
Yann E. MORIN"
15e04fe2de Get rid of the proxy settings, once and for all.
They have nothing to do in here, just let the user
configure his/her system appropriately.

 -------- diffstat follows --------
 /trunk/scripts/build/libc/eglibc.sh |    1     0     1     0 -
 /trunk/scripts/functions            |  100     0   100     0 -----------------------------
 /trunk/config/global/download.in    |  148     0   148     0 -------------------------------------------
 3 files changed, 249 deletions(-)
2009-04-19 16:34:59 +00:00
Yann E. MORIN"
91a189c7ba Only create the state dir if asked for a restartable build:
- introduce the config dir, where components can store their config files
- move the munged uClibc config file to the config dir
- now, the state dir really is an indication that a build can be restarted

Thanks to Groleo Marius <groleo@gmail.com> for spotting the inconsistency
of the state dir usage, and suggesting this change.

 /trunk/scripts/build/libc/uClibc.sh |    6     3     3     0 +++---
 /trunk/scripts/crosstool-NG.sh.in   |    9     7     2     0 +++++++--
 /trunk/scripts/functions            |   15    12     3     0 ++++++++++++---
 3 files changed, 22 insertions(+), 8 deletions(-)
2009-03-27 23:40:07 +00:00
Yann E. MORIN"
509b3e52e9 Sanitise using glibc cvs exports:
- recently, tarballs for glibc 2.8 and 2.9 have appeared on the GNU ftp site
- always use a dot in version strings (eg. 2.9, not 2_9)

 /trunk/scripts/build/libc/glibc.sh |  135    76    59     0 +++++++++++++++++++++++++-------------------
 /trunk/config/libc/glibc.in        |   71    45    26     0 +++++++++++++++--------
 2 files changed, 121 insertions(+), 85 deletions(-)
2009-03-15 20:50:40 +00:00
Yann E. MORIN"
e1063055a2 Use "grep -E" instead of the deprecated "egrep".
/trunk/scripts/build/debug/200-duma.sh |    2     1     1     0 +-
 /trunk/scripts/build/libc/uClibc.sh    |    2     1     1     0 +-
 /trunk/scripts/crosstool-NG.sh.in      |    4     2     2     0 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
2009-03-08 17:09:39 +00:00
Yann E. MORIN"
5f5cf95dd0 Re-instate the glibc/eglibc config option LIBC_GLIBC_CONFIGPARMS for use by SuperH.
Set appropriate defaults depending on target.

 /trunk/scripts/build/libc/glibc.sh        |   14     7     7     0 +++++++-------
 /trunk/config/libc/glibc-eglibc.in-common |   15    15     0     0 +++++++++++++++
 2 files changed, 22 insertions(+), 7 deletions(-)
2009-03-05 17:50:42 +00:00
Yann E. MORIN"
f962e240a3 On some hosts (eg. Cygwin), it's not possible to build the uClibc hostutils. Offer an option to enable/disable the uClibc hostutils build.
/trunk/scripts/build/libc/uClibc.sh |   39    12    27     0 ++++++++++++---------------------------
 /trunk/config/libc/uClibc.in        |   10    10     0     0 ++++++++++
 2 files changed, 22 insertions(+), 27 deletions(-)
2009-02-11 10:40:26 +00:00
Yann E. MORIN"
2177fb68ca Put the uclibc munged config file in the "state" directory, so it survives a restart.
/trunk/scripts/build/libc/uClibc.sh |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2009-02-08 12:15:52 +00:00
Yann E. MORIN"
1007fb528d On 20090120.2203+0100, Andy Johnson <ajohnson@aecno.com> wrote:
The glibc.sh script doesn't handle the glibc versions with
  an underscore very well (bash expected integer error).  I
  have attached a small patch for that.  Instead of looking
  for "not period" I changed the sense to look for numbers.
  I initially tried to make it look for either a period or
  an underscore, but that didn't work like I wanted (probably
  because I did something wrong).

Original patch modified to be more robust.

 /trunk/scripts/build/libc/glibc.sh |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2009-01-25 17:53:14 +00:00
Yann E. MORIN"
ebf01acb41 Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:
- it is unworkable to have CT_ExtactAndPAtch cope with all those silly glibc addons:
  - they can have 'short' (as 'ports') or 'long' (as glibc-ports-2.7) names
  - patches are against eithe the short or long name, but non-uniformly use one or the other
  - it is the reposibility of the component (glibc in this case) to handle corner cases such as those
- update all components to use the new functions

 /trunk/scripts/build/tools/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/tools/100-libelf.sh   |    3     2     1     0 +-
 /trunk/scripts/build/tools/200-sstrip.sh   |    3     2     1     0 +-
 /trunk/scripts/build/kernel/linux.sh       |    3     2     1     0 +-
 /trunk/scripts/build/binutils.sh           |    3     2     1     0 +-
 /trunk/scripts/build/cc/gcc.sh             |    3     2     1     0 +-
 /trunk/scripts/build/debug/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/debug/100-dmalloc.sh  |    3     2     1     0 +-
 /trunk/scripts/build/debug/400-ltrace.sh   |    3     2     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh      |    9     6     3     0 +++--
 /trunk/scripts/build/debug/500-strace.sh   |    7     3     4     0 ++--
 /trunk/scripts/build/debug/200-duma.sh     |   19     8    11     0 ++++------
 /trunk/scripts/build/libc/glibc.sh         |   14    12     2     0 ++++++-
 /trunk/scripts/build/libc/uClibc.sh        |   13     9     4     0 +++++--
 /trunk/scripts/build/libc/eglibc.sh        |   14    12     2     0 ++++++-
 /trunk/scripts/build/gmp.sh                |    3     2     1     0 +-
 /trunk/scripts/build/mpfr.sh               |    3     2     1     0 +-
 /trunk/scripts/functions                   |   68    36    32     0 +++++++++++++++++++-----------------
 18 files changed, 108 insertions(+), 69 deletions(-)
2009-01-05 23:02:43 +00:00
Yann E. MORIN"
e3c489be38 Fix C library addons extraction:
- renaming the dircetory in CT_ExtratAndPatch is wrong:
  - patches against the C library addons may be build against the short *or* long name... :-(
  - symlink is more robust, even if less nice
- renaming the directory _after_ CT_ExtractAndPatch is too late:
  - if patches are against the short name, and we renamed too the long name, patches don't apply
  - so we'll never reach the point where we rename

 /trunk/scripts/build/libc/glibc.sh  |    1     0     1     0 -
 /trunk/scripts/build/libc/eglibc.sh |    1     0     1     0 -
 /trunk/scripts/functions            |    2     1     1     0 +-
 3 files changed, 1 insertion(+), 3 deletions(-)
2009-01-05 20:37:03 +00:00
Yann E. MORIN"
31cc00829e Get rid of CT_LIBC_FILE, remove useless CT_MakeAbsolutePath.
CT_LIBC_FILE:
- that one was not easy, as it had sneaked into CT_ExtractAndPatch
- which in turn made CT_ExtractAndPatch have references to C library addons
- which in turn relieved the C library _extract functions from doing their own job
- which in turn imposed some nasty tricks in CT_ExtractAndPatch
- which in turn made life easier for the DUMA _get and _extract functions
- which unveiled some bizare behavior for pushd and popd:
  - if using smthg ike: 'pushd foo |bar':
    - the directory is *neither* changed
    - *nor* is it pushed onto the stack
  - which made popd fail

CT_MakeAbsolutePath:
- used only to make CT_LOCAL_TARBALLS_DIR canonical
- which is ((almost) useless:
  - hopefully, the user entered a full path already
  - if it's not the case, too bad...

 /trunk/scripts/build/debug/200-duma.sh |    5     1     4     0 +--
 /trunk/scripts/build/libc/glibc.sh     |   61    32    29     0 +++++++++++++++++---------------
 /trunk/scripts/build/libc/uClibc.sh    |   16    10     6     0 +++++---
 /trunk/scripts/build/libc/eglibc.sh    |   48    26    22     0 ++++++++++++++-----------
 /trunk/scripts/crosstool.sh            |    8     0     8     0 ----
 /trunk/scripts/functions               |   77    15    62     0 ++++++++--------------------------------
 6 files changed, 84 insertions(+), 131 deletions(-)
2009-01-04 22:17:53 +00:00
Yann E. MORIN"
f2d6a84135 Remove support for gcc-2.95.3, it has never ever been tested.
/trunk/config/cc/gcc.in             |    6     0     6     0 ------
 /trunk/scripts/build/libc/glibc.sh  |    4     0     4     0 ----
 /trunk/scripts/build/libc/uClibc.sh |    4     0     4     0 ----
 3 files changed, 14 deletions(-)
2009-01-04 14:38:41 +00:00
Yann E. MORIN"
dc54c40704 Enable using glibc post 2.8:
- retrieve tarballs from FTP/HTTP for glibc 2.7 and older
- checkout from CVS for glibc 2.8 and later
- add config options for glibc-2_8 and glibc-2_9

 /trunk/scripts/build/libc/glibc.sh |   50    39    11     0 ++++++++++++++++++++++++++++++++++----------
 /trunk/config/libc/glibc.in        |   49    49     0     0 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+), 11 deletions(-)
2009-01-04 12:46:13 +00:00
Yann E. MORIN"
b8b7843bea Get rid of all stuff related to building a /delivery' traball:
- building a delivery tarball has long been broken (since crostool-Ng is installable)
- get rid of implied do_print_filename, that can be mis-leading now tarballs can not be built

 /trunk/scripts/build/kernel/bare-metal.sh  |    4     0     4     0 ----
 /trunk/scripts/build/kernel/linux.sh       |    4     0     4     0 ----
 /trunk/scripts/build/tools/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/tools/100-libelf.sh   |    4     0     4     0 ----
 /trunk/scripts/build/tools/200-sstrip.sh   |   11     1    10     0 +----------
 /trunk/scripts/build/binutils.sh           |    4     0     4     0 ----
 /trunk/scripts/build/cc/gcc.sh             |    5     0     5     0 -----
 /trunk/scripts/build/debug/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/debug/100-dmalloc.sh  |    4     0     4     0 ----
 /trunk/scripts/build/debug/400-ltrace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/300-gdb.sh      |    7     0     7     0 -------
 /trunk/scripts/build/debug/500-strace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/200-duma.sh     |    4     0     4     0 ----
 /trunk/scripts/build/libc/none.sh          |    5     0     5     0 -----
 /trunk/scripts/build/libc/glibc.sh         |   10     0    10     0 ----------
 /trunk/scripts/build/libc/uClibc.sh        |    6     0     6     0 ------
 /trunk/scripts/build/libc/eglibc.sh        |   10     0    10     0 ----------
 /trunk/scripts/build/gmp.sh                |    6     0     6     0 ------
 /trunk/scripts/build/mpfr.sh               |    6     0     6     0 ------
 /trunk/docs/overview.txt                   |    9     0     9     0 ---------
 20 files changed, 1 insertion(+), 128 deletions(-)
2009-01-03 21:11:41 +00:00
Yann E. MORIN"
620b980474 Build and install a uClibc cross-ldd.
Based on a patch by Joachim NILSSON: http://sourceware.org/ml/crossgcc/2008-11/msg00025.html

 /trunk/scripts/build/libc/uClibc.sh |   28    27     1     0 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
2008-11-17 18:46:09 +00:00
Yann E. MORIN"
8fba8c2732 Merge #1195, #1196 and #1203 from /devel/YEM-build_host_target_cleanup:
- Get rid of CT_CC_NATIVE
- Get rid of CT_CANADIAN_OPT
- Sanitise CT_BUILD vs. CT_HOST

 /trunk/scripts/build/tools/200-sstrip.sh |    4     2     2     0
 /trunk/scripts/build/binutils.sh         |    1     0     1     0 -
 /trunk/scripts/build/cc/gcc.sh           |   11     6     5     0 +-
 /trunk/scripts/build/debug/200-duma.sh   |    3     1     2     0 -
 /trunk/scripts/build/libc/glibc.sh       |   10     5     5     0 +-
 /trunk/scripts/build/libc/eglibc.sh      |    8     4     4     0 +-
 /trunk/scripts/crosstool.sh              |  168   113    55     0 ++++++++++++++++++++++++++------------
 /trunk/config/toolchain.in               |  160   137    23     0 +++++++++++++++++++++++++++++++-----
 8 files changed, 268 insertions(+), 97 deletions(-)
2008-11-13 18:22:23 +00:00
Yann E. MORIN"
15d657ce4e Do not take lib64/ in account when fixing the glibc linker scripts:
- lib64 dirs are symlinks to the corresponding lib/ dirs.

 /trunk/scripts/build/libc/glibc.sh |    4     3     1     0 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
2008-11-07 08:03:32 +00:00
Yann E. MORIN"
a143467477 Enable uClibc parallel build for those versions supporting it.
/trunk/scripts/build/libc/uClibc.sh |   12     7     5     0 +++++++-----
 /trunk/config/libc/uClibc.in        |    9     9     0     0 +++++++++
 2 files changed, 16 insertions(+), 5 deletions(-)
2008-11-01 17:16:34 +00:00
Yann E. MORIN"
958855acea Enablelocales when requested to do so.
Original patch by Thomas PETAZZONI, with soe improvement by myself.

 /trunk/scripts/build/libc/uClibc.sh |   10     9     1     0 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
2008-11-01 17:13:54 +00:00
Yann E. MORIN"
dde482bd0d Only install headers when installing uClibc headers.
/trunk/scripts/build/libc/uClibc.sh |   10     5     5     0 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
2008-11-01 17:02:48 +00:00
Yann E. MORIN"
d31396bc23 Finally enable the PPC-8xx memset workaround, by Nye Liu.
http://sourceware.org/ml/crossgcc/2008-10/msg00094.html

 /trunk/scripts/build/libc/glibc.sh                          |    9     9     0     0 +
 /trunk/patches/glibc/2.7/290-powerpc-8xx-CPU15-errata.patch |   22    19     3     0 +
 /trunk/samples/powerpc-860-linux-gnu/crosstool.config       |  344   344     0     0 +++++++++++++++++++
 /trunk/samples/powerpc-860-linux-gnu/reported.by            |    3     3     0     0 +
 4 files changed, 375 insertions(+), 3 deletions(-)
2008-10-29 21:20:23 +00:00
Yann E. MORIN"
102505af38 Correctly handle the minimum supported kernel version in glibc.
Should be propagated to eglibc as well...

 /trunk/scripts/build/libc/glibc.sh |   78    39    39     0 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 39 insertions(+), 39 deletions(-)
2008-10-20 17:46:43 +00:00
Yann E. MORIN"
d2fe51a715 Generate the choice menu for C libraries, the same way arch and kernels are generated.
/trunk/kconfig/kconfig.mk          |   10     8     2     0 ++++++--
 /trunk/scripts/build/libc/glibc.sh |    2     1     1     0 +-
 /trunk/config/libc/glibc.in        |   22     6    16     0 +++++-------------
 /trunk/config/libc/uClibc.in       |    7     6     1     0 +++++-
 /trunk/config/libc/eglibc.in       |   12    11     1     0 +++++++++-
 /trunk/config/libc.in              |   53     4    49     0 +++-----------------------------------------
 6 files changed, 36 insertions(+), 70 deletions(-)
2008-10-13 11:23:51 +00:00
Yann E. MORIN"
b000bc94cd In the glibc and eglibc trees, the 'configure' files may be older than their source 'configure.in', when used from an svn check out, or a snapshot tarball.
They are nonetheless in sync and need not be regenerated.
Fix that by touching the files to have 'make' believe they are up-to-date (which they are).

 /trunk/scripts/build/libc/glibc.sh  |    5     5     0     0 +++++
 /trunk/scripts/build/libc/eglibc.sh |    7     6     1     0 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)
2008-09-28 21:34:11 +00:00
Yann E. MORIN"
6c54fde8fd Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

 /trunk/scripts/build/libc/glibc.sh |   14     2    12     0 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)
2008-09-23 14:48:10 +00:00
Yann E. MORIN"
8935b10421 Rework the eglibc download so as to be a little bit saner.
/trunk/scripts/build/libc/eglibc.sh |   25    15    10     0 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)
2008-09-22 19:51:29 +00:00
Yann E. MORIN"
02d2b29cda Enhance setting the minimum kernel version glibc will run against.
Ideally, eglibc should also benefit for that, but the current code does not set it.

 /trunk/scripts/build/libc/glibc.sh        |   38    33     5     0 +++++++++++++++---
 /trunk/config/libc/glibc.in               |    4     2     2     0 +-
 /trunk/config/libc/uClibc.in              |    2     2     0     0 +
 /trunk/config/libc/eglibc.in              |    4     2     2     0 +-
 /trunk/config/libc/glibc-eglibc-common.in |   80    68    12     0 +++++++++++++++++++++++++++++++------
 /trunk/config/libc.in                     |   69    38    31     0 ++++++++++++++++++--------------
 6 files changed, 145 insertions(+), 52 deletions(-)
2008-09-14 18:09:36 +00:00
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00