Commit Graph

859 Commits

Author SHA1 Message Date
Erico Nunes
230dc12285 avr: add support for AVR 8-bit architecture
This commit adds support for the Atmel AVR 8-bit RISC architecture.
This is the first 8-bit architecture to be added to crosstool-ng so the
configuration options for 8-bit architectures are added here as well.

gcc has had support for AVR for quite a while, at least since the 4.3
series for the currently popular ATmega microcontroler series.
The AVR architecture only supports bare-metal toolchains.

gcc for the AVR 8-bit architecture, usually referred to as avr-gcc, is
commonly used in conjunction with the avr-libc library which provides
additional resources for the Atmel AVR 8-bit microcontrollers.

avr-gcc can also be found as a supported package in some recent Linux
distributions.

This commit also closes #66

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:49:10 -03:00
Bryan Hundven
728b410657 gcc: Remove --enable-c99
This option is old. GCC 4.3.x old. It isn't supported anymore, and just
confuses me. I'm not planning to support 4.3.x, or really anything older
then 4.7. So this option is gone to the wind.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-06-03 12:26:10 -07:00
Ray Donnelly
00e7d4fd7b test_suite: Update gcc test_suite for multiple compilers
This commit updates gcc's test suite to use the new config options.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:36 +01:00
Ray Donnelly
cfd4437bf7 gdb: Update 300-gdb.sh for multiple compilers
Update 300-gdb.sh to use the new config options.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:34 +01:00
Ray Donnelly
8ce2abf57d cc: Update 100-gcc.sh for multiple compilers
Update 100-gcc.sh to use the new config option names.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:32 +01:00
Ray Donnelly
afbd17874a scripts: Update crosstool-NG internals for multiple compilers.
This change updates the CC.* references to CC_GCC.* in the internal
scripts.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:31 +01:00
Ray Donnelly
3049c4c1e2 multi_cc: Prepare ct-ng for multiple compilers
This commit moves gcc.sh to 100-gcc.sh to accomodate for other
cross-compilers that crosstool-ng might be able to build.

The first, to come soon, is llvm/clang.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-05-29 21:49:32 +01:00
Ray Donnelly
b39fb4b1b4 mingw-w64: Add 'devel' version to use git 'master' branch
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-05-12 23:48:53 +01:00
Bryan Hundven
3ef53bf7ad Merge pull request #75 from bhundven/kernel_updates
kernel: Update kernel versions
2015-04-26 17:43:49 -07:00
Bryan Hundven
ff09cb3296
kernel: Update kernel versions
This commit adds support for 4.x and updates longterm versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-26 17:40:35 -07:00
Bryan Hundven
7365281973
comp_libs: Fix download locations for cloog and mpc
This change closes #62

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-26 08:09:08 -07:00
Bryan Hundven
69c568ac85 Merge pull request #57 from smoofra/buildflags
bugfix: pass extra build CFLAGS and LDFLAGS to glibc
2015-04-14 08:20:38 -07:00
Bryan Hundven
0056444ad5 Merge pull request #63 from neftedal/master
Updated script to support mingw versions above major 2
2015-04-14 08:18:05 -07:00
Nils Petter Eftedal
00b68926a8 mingw.sh: added with sysroot argument to mingw configure
The argument will prevent the prefix path from being added as an include path while building mingw. Having the prefix as an include path might cause all kinds of weird issues if prefix directory also exists on the build machine.

Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
2015-04-08 09:36:57 +02:00
Nils Petter Eftedal
2392a3909d mingw.sh: updated script to support mingw versions above major 2
Added new functions to support changes in prefix and required vendor tuple for new versions of mingw.

Tested and verified with mingw version 2.0.7, 3.3.0 and 4.0-rc3.

Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
2015-04-08 09:28:16 +02:00
Lawrence D'Anna
972dbd294d bugfix: pass extra build CFLAGS and LDFLAGS to glibc
Glibc actually does create a build executable.  It's under sunrpc and it's
called cross-rpcgen.  It uses gettext, so if that's not available in a standard
place on your system (for example if you're using Mac OS X and Homebrew), then
you are all out of luck.

Signed-off-by: Lawrence D'Anna <larry@elder-gods.org>
2015-04-07 20:31:58 -07:00
Bryan Hundven
18175b8d93 Merge pull request #37 from bhundven/so_long_to_eglibc
So long to eglibc
2015-04-07 19:07:13 -07:00
Johannes Pfau
586e30f726 Only create ${CT_TARGET}-cc${ext} symlink if ${CT_TARGET}-gcc exists
Without this canadion cross builds create invalid symlinks:
When the code in do_cc_core_backend is called there is no
${CT_TARGET}-gcc in the install directory. Therefore ext is empty and
we create a link to ${CT_TARGET}-gcc. The final compiler
step then installs ${CT_TARGET}-gcc.exe and creates a working
${CT_TARGET}-cc.exe symlink but we still keep the invalid link
as well.

Signed-off-by: Johannes Pfau <johannespfau@gmail.com>
2015-04-07 20:14:26 +02:00
Bryan Hundven
7b8d76ed56 scripts/*/*.sh: prioritize http downloads
Prirotize http downloads before ftp downloads.
By having http download first, those using proxy will work with the
current download mechnism.

This tells me that that mechnism needs to be updated.
(proxy support and/or kconfig toggles)

closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-02-01 21:00:14 -08:00
Bryan Hundven
add039fd50 glibc: Fix pkgversion and bugurl support
glibc versions that don't support --with-pkgversion or --with-bugurl
will cause a harmless:

====================
configure: WARNING: unrecognized options: --with-bugurl...`
====================

If it's set, use it, if it's a recognized option.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 23:13:38 -08:00
Bryan Hundven
cd47c091ba eglibc: Remove eglibc support
As posted on http://www.eglibc.org/
====================
EGLIBC is no longer developed and such goals are now being addressed
directly in GLIBC.
====================

I'm not interested in maintaining build support for unsupported
software.

Older branches of crosstool-ng continue to have eglibc support.
If you find issues with older branches, I'm always open to pull
requests.

Removing eglibc also frees up glibc cleanup and build optimization.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 22:43:25 -08:00
Daniel Zimmermann
4ac1653f94 arch/nios2:add nios2
add the nios2 architecture to crosstool-ng.

Signed-off-by: Daniel Zimmermann <netzimme@gmail.com>
2015-01-26 20:43:18 +01:00
Cristoforo Cataldo
01397b7e5a libc: newlib: Add NewLib 2.2.0, Linaro NewLib 2.2.0-2015.01 and 2.1.0-2014.09
This commit allows to choose, download and build latest NewLib:
- newlib-2.2.0
- newlib-linaro-2.2.0-2015.01
- newlib-linaro-2.1.0-2014.09

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
315f69271c libc: glibc: Add Linaro GLibc 2.20-2014.11
This commit allows to choose, download and build latest Linaro GLibC:
- glibc-linaro-2.20-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
4170d1ed70 libc: eglibc: Add Linaro EGLibc 2.19-2014.08
This commit allows to choose, download and build latest Linaro EGLibC:
- eglibc-linaro-2.19-2014.08

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
017d2d014e debug: gdb: Add Linaro GDB 7.8-2014.09 and Linaro GDB 7.6.1-2013.10
This commit allows to choose, download and build latest Linaro GDB:
- gdb-linaro-7.8-2014.09
- gdb-linaro-7.6.1-2013.10

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
d90bd6f13f gcc: Add Linaro GCC 4.9-2015.01 and GCC 4.8-2014.11
This commit allows to choose, download and build latest Linaro GCC:
- gcc-linaro-4.9-2015.01
- gcc-linaro-4.8-2014.11

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Cristoforo Cataldo
ca5003cbe6 binutils: Add Linaro Binutils 2.25-2015.01 and 2.24-2014.11
This commit allows to choose, download and build latest Linaro Binutils:
- binutils-linaro-2.25.0-2015.01-2
- binutils-linaro-2.24.0-2014.11-2

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 21:52:25 +01:00
Bernhard Walle
c88bbca7ab comptools/make: Install 'gmake' symlink
We had following problem: We're building a toolchain with an old glibc
version for compatibility with old Linux distributions (glibc 2.9). This
version requires make < 4 to build. However, the configure script of
glibc looks for make in the order "gnumake", "gmake" and "make". So when
"gmake" is available in the system (which is the case on Gentoo Linux
per default, unfortunately), then configure finds the system gmake 4.1
instead of the ct-ng make 3.82.

This patch adds an option to install a symlink so that 'gmake' is also
available in the old version when building toolchains.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2015-01-08 19:15:51 -08:00
Bryan Hundven
2ba44bb761 Merge pull request #19 from davidholsgrove/newlib_headers
Newlib headers for Canadian Crosses
2015-01-07 12:21:30 -08:00
David Holsgrove
af731ae904 cc/gcc: Remove copyheaders toggle in do_cc_core_backend, make default
Canadian Cross compile for baremetal fails with error;

  checking for the value of EOF... configure: error: computing EOF failed

which is due to libstdc++ configure not being able to find stdio.h

Having all modes of the core compiler copyheaders from CT_HEADERS_DIR
(in combination with previous patch for newlib to add a do_libc_start_files
function to copy into the CT_HEADERS_DIR) resolves this.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2015-01-02 09:52:29 +10:00
David Holsgrove
234c643008 libc/newlib: Add do_libc_start_files to copy headers to CT_HEADERS_DIR
Require access to newlibs headers in gcc.sh, matching other libc components.
Resolves issue with headers not found.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2015-01-02 09:52:28 +10:00
Bryan Hundven
4b84be34c5 gmp: Disable --enable-mpbsd if version is >= 5.0.2
closes #12

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-23 13:28:26 -08:00
Bryan Hundven
5c7bccdb3f Merge pull request #14 from davidholsgrove/glibc_rpc
libc/glibc: install obsolete RPC for both eglibc and glibc
2014-12-15 18:02:28 -08:00
Bryan Hundven
0ee9ecbcf7 Merge pull request #6 from davidholsgrove/libc_custom_location
Libc custom location
2014-12-15 09:33:43 -08:00
Jérôme BARDON
7147418c8f libc/glibc: install obsolete RPC for both eglibc and glibc
Currently, the obsolete RPC headers are only installed for eglibc,
but glibc has the same /deficiency/, so install the obsolete RPC
for both.

Signed-off-by: Jérôme BARDON <bardon.pro@gmail.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-15 14:48:33 +10:00
Bryan Hundven
9159846334 gdb: fix typo made in gdb build script
I made a typo in: 1e17619b27

It should be version, not release.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-09 22:16:40 -08:00
Bryan Hundven
91cf168d76 gcc and gdb: fix fetching linaro builds (part three)
Yes, I missed the backslash which messed up the linaro stuff.
The more I look at this code, I feel it needs to be refactored a bit. So
I'll come back to this in the future and clean it up.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:46:41 -08:00
Bryan Hundven
1e17619b27 gcc and gdb: fix fetching linaro builds (part two)
It's not my day.

linaro_version is a filter. If it is not a linaro toolchain, it will
just be CT_{CC,GDB}_VERSION. If it is a linaro toolchain, CT_{CC,GDB}_VERSION
will be prefixed with 'linaro-' and will not match linaro_version, as
linaro_version will just have the part after 'linaro-'.

This *really* fixes the issue :sigh:

Thanks again to @elsonwei for being right the first time!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:27:46 -08:00
Bryan Hundven
aee4142a9d gcc and gdb: fix fetching linaro builds
linaro_version and linaro_series are defined but not set if we are not
configured for linaro builds.

Therefore we need to default them to "" (null string).
As reported by @elsonwei

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 22:32:19 -08:00
David Holsgrove
163a1737b8 libc/{,e}glibc: If using custom {e}glibc, dont extract or patch
If custom {e}glibc is being used, no need to carry out the
extract or patching phase of scripts/build/libc/glibc-eglibc.sh-common

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
71ed5aae34 libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
79b9881295 libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 15:51:11 +10:00
David Holsgrove
d7b4f0dbe3 glibc: nptl is default from 2.20, so dont add to addons_list
No longer recommended practice to use --enable-add-ons=nptl, so
for 2.20 and later (along with custom glibc), don't add the
CT_THREADS to the addons_list

https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09 14:41:35 +10:00
Bryan Hundven
79422633cf scripts: Update download locations
This change updates the download locations to default to the official
download site.

For gcc and gdb, also separate out the linaro download locations so that
if you are downloading the linaro variant, it skips trying to download
from the official gcc mirror.

This commit closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08 15:03:08 -08:00
Solomon Peachy
4125a79589 binutils: Fix elf2flt compile on more modern systems
Without this fix, elf2flt will blow up complaining that it can't resolve
dlopen() and friends.  One has to explicitly pass '-ldl' on the final
linking command line, because the system linker is not resolving
indirect dependent shared libraries.

I've needed to this patch for several years on Fedora systems.

Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-05 13:09:51 -08:00
goodmenlinux@gmail.com
f65ecce4ba binutils: Fixup the static toolchain build problem
When try to build the static toolchain, binutils failed.

    I have checked the libtool script, and found that the following option
          -all-static
          -static
          -static-libtool-libs

    are processed in a strange way. If any one of those three options
    appears firstly in the cmdline, all others will be neglected. Our
    LDFLAGS is ".... -static -all-static -o", so the -static option
    takes the real effect, and the -all-static has no useage actually!
    that is the cause of the failure.

Signed-off-by: Brock Zheng <goodmenlinux@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-05 03:20:04 -08:00
Bryan Hundven
6bef0b4d24 libc/musl: Add config option for extra developer warnings
This commit adds a configuration knob for enabling extra developer
warnings to be enabled during the musl-libc build.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:22 +02:00
Bryan Hundven
9dd63da071 libc/musl: Add config option for debugging info
This option enables a configuration knob for adding debugging info.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:19 +02:00
Bryan Hundven
cb27b22974 libc/musl: Add options for optimization
This commit adds configuration knobs for optimizing musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11 23:12:11 +02:00