Commit Graph

1508 Commits

Author SHA1 Message Date
Alexey Neyman
16f7a9578f Clean up 300-gdb.sh a bit.
Now that expat/curses have migrated into separate script, no need for
do_debug_gdb_parts() and need_gdb_src checks.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:32:26 -08:00
Alexey Neyman
4d2d2ba954 Enable building expat/ncurses for host.
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
2015-11-13 10:31:46 -08:00
Alexey Neyman
6102726147 Change ncurses to a companion library.
Currently, builds for build and target (matching the current
implementation). Need to add building for host for canadian crosses.

TIC_PATH is removed - configure in ncurses searches $PATH, so it finds
'tic' in buildtools anyway. Arguably unneeded code for MacOS also
removed, with a FIXME comment for validation by someone using MacOS.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:31:46 -08:00
Alexey Neyman
ac7ce38475 Convert expat for target into a companion lib.
Expat-for-host to be done.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:28:44 -08:00
Alexey Neyman
6f7e6b9969 Build companion libs for target.
Currently, only libelf has a for-target step - but it generalizes
the step to hook other libraries into this step.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:24:22 -08:00
Bryan Hundven
e78251b751 Merge pull request #253 from jcmvbkbc/xtensa-for-mainline-20151113
Add support for Xtensa architecture
2015-11-13 01:47:08 -08:00
Bryan Hundven
e4bb360748 file modes: Set files to be non-executable
I was going to start doing some autoconf work, and noticed that
configure.in was executable. Then I noticed Makefile.in was executable.

o.O

So, I ran ```find . -type f -executable``` and found a bunch of files
that shouldn't be set executable.

This commit makes them normal files again.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 23:18:04 -08:00
Chris Zankel
81328ed1cb xtensa: add support for the configurable Xtensa architecture.
The Xtensa processor architecture is a configurable, extensible,
and synthesizable 32-bit RISC processor core. Processor and SOC vendors
can select from various processor options and even create customized
instructions in addition to a base ISA to tailor the processor for
a particular application.

Because of the configurability, the build process requires one additional
step for gcc, binutils, and gdb to update the default configuration.
These configurations are packed into an 'overlay' tar image, and are
simply untarred on top of the default configuration during the build.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:53 +03:00
Bryan Hundven
57de8dcf22 Merge pull request #239 from diorcety-ctng/cc-cygwin-mingw-linux
Canadian cross build = x86_64 Cygwin host = x86_64 MinGW_W64 target = x86_64 GNU/Linux
2015-11-12 21:50:31 -08:00
Bryan Hundven
4c9218d51d Merge pull request #245 from villytiger/install-strip
Use install-strip target for gcc optionally
2015-11-12 21:50:08 -08:00
Bryan Hundven
377493fc5d Merge pull request #221 from bhundven/uclibc-ng
Add support for uClibc-ng
2015-11-12 21:46:34 -08:00
Ray Donnelly
06855ab27e libtool: Update to 2.4.6 and patch for Cygwin
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:46 +00:00
Ray Donnelly
9e81836b81 Add gettext and libiconv as companion libs
.. they're needed for the RPC generation in glibc
on both Cygwin and MinGW-w64.

Neither are built on GNU/Linux and iconv is not
built on Darwin.

Two patches for gettext are needed, one so that
-O0 works and one so that static builds can be
made.

They can take a good while to build, so if not
needed for_host or for_build then they are not
built.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Bryan Hundven
a173dfa939 uClibc: Fall back to default configs if not provided
I've added the .config files to contrib/uClibc-defconfigs from buildroot
to use as default configs if they are not provided in the sample.

If a particular architecture really needs an option set, it should be
either updated in the manange_uClibc_config function in
scripts/build/libc/uClibc.sh or a custom ${uclibc_name}.config should be
added to the sample (usually via `ct-ng saveconfig`).

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
21a448516e uClibc: Add support for uClibc-ng
This commit adds uClibc-ng 1.0.8.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
1c924f06fa uClibc: rewrite mungeuClibcConfig to manage_uClibc_config
This commit updates uClibc to use the new CT_Kconfig options from the
previous commit. The older sed method of sanity checking the uClibc
.config was error prone and clumsy.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
c4d14a97ad functions: Add global functions for manipulating kconfig options
This commit adds 4 new functions to aid in the process of managing a
kconfig .config file:

* CT_KconfigSetOption <option> <value> <file>
* CT_KconfigEnableOption <option> <file>
* CT_KconfigDisableOption <option> <file>
* CT_KconfigDeleteOption <option> <file>

(akin to how buildroot manages the uClibc.config)

These functions are global so that we can manage any component that also
uses kconfig, or to be able to use it internally on Crosstool-NG's
kconfig files.

Last but not least, be consistent and update sed to be ${sed}!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:39 -08:00
Bryan Hundven
ad0d71d287 mpfr: Swap primary mirror to gnu.org
mpfr.org has been less then reliable, so lets make gnu.org the primary
instead of the secondary source.

This closes #250

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-11 17:19:51 -08:00
Bryan Hundven
930fa77076 uClibc: Reduce supported versions
This commit reduces the number of supported versions to:

* 0.9.33.2
* custom location

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-11 08:27:33 -08:00
Ilya Lyubimov
69405c3b32 Use install-strip target for gcc optionally 2015-11-11 12:29:54 +03:00
Alexey Neyman
f3e62e0c09 Disable parallel build of mingw-w64-crt.
Unfortunately, parallel build issue is not yet fixed in current
mingw-w64 sources.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-10 18:21:43 -08:00
Alexey Neyman
bea0cde305 Support mingw-w64 in addToolVersion.sh.
... and add 4.0.4 release.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-10 18:18:57 -08:00
Bryan Hundven
e9e29e7a46 blackfin: Remove blackfin support
This commit removes blackfin support.

I'm open to re-adding blackfin after crosstool-1.23.0 is released, but
it is currently too difficult to port forward to newer versions of gcc
and uclibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-09 22:30:45 -08:00
Bryan Hundven
85f98147f5 Merge pull request #233 from stilor/fix-build-all
Fix build-all
2015-11-04 02:50:05 -08:00
Bryan Hundven
5ffc9ecd10 Merge pull request #235 from stilor/ctng-source
ctng source
2015-11-03 00:35:30 -08:00
Bryan Hundven
3b854d4939 uClibc: Don't use CROSS, use CROSS_COMPILE instead
As per:
http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/Makefile.help?id=044843f002f666db3bc06c513ed6291a00ad1225

CROSS= is for compatibility, but we plan on dropping older uClibc
versions, and adding uClibc-ng and uClibc-snapshot support.

Use CROSS_COMPILE instead.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-02 17:01:20 -08:00
Bryan Hundven
bb821551c5 linux: Set CROSS_COMPILE while building/checking headers
Some architectures, like arc and blackfin set CROSS_COMPILE to a default
if it is not set on the command-line.

Since we are building the cross-compiler, we need to ALWAYS set
CROSS_COMPILE, since building/checking headers is done after the GCC
PASS1 step.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-02 16:55:44 -08:00
Bryan Hundven
1a25115a18 gcc: Support only the latest branch releases of gcc
This change, as per #222, reduces the number of supported releases of
gcc to the latest branch releases.

I noticed while doing this work that gcc-4.5.4 was never added, so I
moved patches for gcc-4.5.3 to 4.5.4 and updated the
bfin-unknown-linux-uclibc example. Also, 120-siginfo.patch was fixed
upstream in the 4.5.4 release, so this patch is omitted.

I also bumped the avr sample to 4.9.3 from 4.9.2.

With the addition of gcc-5.x, the gcc release team now releases the
major.minor.0 versions, while updates to the branch are available in
svn/git. We'll address that when we get to issue #219. This change just
removes CC_GCC_5_1 and moves CC_GCC_5_2 to CC_GCC_5, and removes
CC_GCC_5_1_or_later and moves CC_GCC_5_2_or_later to CC_GCC_5_or_later.

This is the first of two part changes, as mentioned in #222.
This change is slated for release in 1.22.0. The next change will be
slated for 1.23.0, and will limit gcc versions to what is on
https://gcc.gnu.org under "Release Series and Status", which is
currently 4.9.3 and 5.2.0, although I will also support the previous
supported version. In this example that would be 4.8.5.

Last, but not least, this change also retires AVR32 support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-31 12:17:35 -07:00
Alexey Neyman
b2f8afef85 Interpret escape sequences in CT_DoLog.
Otherwise, CT_Abort messages with \n are not displayed properly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
5844514e74 Fix samples using GMP 4.3.2.
Some older versions of configure (including the one in GMP 4.3.2)
interpret the $ECHO environment variable as the `echo' utility to
use. CT-NG sets the variable to `:' and exports it if V=0 or V=1
is supplied, breaking the samples using such configure. This currently
includes bfin-unknown-linux-uclibc and powerpc-unknown-linux-uclibc.

Also, correct the description of the V= variable - V=0 is *not* the
default; in fact, default does not correspond to any of the V=[012]
values.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
1d6bed6254 Only create backtrace stamp if dir exists.
If the build is aborted before the working directory is created,
there's also an induced error message about inability to create
a 'backtrace' file. But in that case, there is no subshells executing
yet.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
80cbfb9da7 Make show-config consistent with sample name.
'ct-ng show-config' will prepend host for canadian builds; otherwise,
the name is different from the name used to configure the build
(and indistinguishable from a simple cross).

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Alexey Neyman
f849505ac9 Sanity check for number of parallel jobs.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 13:53:53 -07:00
Alexey Neyman
319023c7af Implement 'ct-ng source'.
Provides a simpler alternative to editing config to enable
CT_ONLY_DOWNLOAD, doing ct-ng build and then restoring .config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 01:23:53 -07:00
Bryan Hundven
f7c312b240 scripts/config.{sub,guess}: Update from upstream
Update config.sub and config.guess from:
* git://git.sv.gnu.org/config.git

See their gitweb:
* http://git.savannah.gnu.org/gitweb/?p=config.git

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-29 15:13:33 -07:00
Alexey Neyman
0a050d3390 Clean up *.la after installing compiler/libraries.
Having *.la in the installation directory breaks ltrace: in ltrace,
libtool somehow considers libsupc++ to be an "accessory library" and
does not add -lsupc++ to the link flags. Neither Ubuntu, nor RedHat
include *.la files into their packages for libstdc++.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-26 18:34:06 -07:00
Jasmin Jessich
3bd86362ab Using "all" and "install" targets in do_gcc_core_backend if configured.
- New configurations:
  - CC_GCC_TARGET_FINAL:
    Use the default targets "all" and "install" for the final compiler for
    bare metal.
- Adding parameter "build_step" to function do_gcc_core_backend:
  do_gcc_core_backend is used for the core compiler and in case of bare metal
  for the final compiler, too. To have better control over the parameters for
  the final compiler "build_step" is used.
  - Used for proper logging.
  - Use CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY or CT_CC_GCC_EXTRA_CONFIG_ARRAY.
  - If CT_CC_GCC_TARGET_FINAL is set and the final compiler is build then the
    make targets for the final compiler are used ("all", "install").

  Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-10-10 00:24:42 +02:00
Bryan Hundven
625f7e66b4 Merge pull request #187 from jasmin-j/sync_lto
Synchronize CC_GCC_USE_LTO parameter setting II
2015-10-07 13:35:44 -07:00
Bryan Hundven
9e9b9bd195 Merge pull request #184 from jasmin-j/add_gcc_env_array
Add additional environment variables for gcc build.
2015-10-07 13:32:53 -07:00
Bryan Hundven
866bff1307 Merge pull request #182 from jasmin-j/add_missing_lib_opts
Adding missing if/else blocks in do_gcc_core_backend.
2015-10-07 13:31:19 -07:00
Jasmin Jessich
9bce2dc540 Synchronize CT_CC_GCC_USE_LTO parameter setting in do_gcc_backend with the one
from do_gcc_core_backend, by adding "--enable-lto"/"--disable-lto".

Signed-off-by: Jasmin Jessich <jasmin@anw.
2015-09-25 01:32:27 +02:00
Jasmin Jessich
931248f1aa Added additional environment variables for gcc build (make) with new option
GCC_EXTRA_ENV_ARRAY.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:21:36 +02:00
Jasmin Jessich
64a158f932 Removed doubled setting of --disable-libmudflap in do_gcc_core_backend.
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:20:19 +02:00
Jasmin Jessich
9c3248af89 Adding missing if/else blocks in do_gcc_core_backend for CT_CC_GCC_LIBSSP,
CT_CC_GCC_HAS_LIBQUADMATH and CT_CC_GCC_LIBQUADMATH (--en/disable-libssp,
--en/disable-libquadmath, --en/disable-libquadmath-support) from function
do_gcc_backend.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-22 00:19:10 +02:00
Jasmin Jessich
9e905afb56 Added additional newlib specific target flags with new option
LIBC_NEWLIB_TARGET_CFLAGS.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-14 23:32:07 +02:00
Bryan Hundven
f189762245 glibc: Fix applying addons to glibc => 2.17
glibc-2.17 and above no longer have external addons or ports.
So if we are => 2.17, don't even think about trying to mess with ports
or addons.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-01 20:14:00 -07:00
Bryan Hundven
6ac93ed03b Merge pull request #144 from jasmin-j/fix_142
Fix for issue #142:
2015-08-31 22:15:37 -07:00
Jasmin Jessich
c6f30f67f0 Fix for issue #142:
Configure for for core GCC did not use Core gcc extra config.
Use now config variable CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 02:46:38 +02:00
Jasmin Jessich
25dc2d4470 Added new config ISL_V_0_14_or_later and ISL_V_0_12_or_later to select
proper configure options for isl 0.14.x and 0.12.x in 121-isl.sh.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 02:18:35 +02:00
Erico Nunes
14cc1cb28e functions: write permission in config.{guess,sub}
avr-libc doesn't have write permissions in these by default in the 1.8.1
tar release, this caused an error during build with
CT_OVERIDE_CONFIG_GUESS_SUB enabled.

chmod u+w them before overriding to avoid an this error.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:54:16 -03:00
Erico Nunes
219c5e932f functions: add support for arch-specific patch
Add support for applying arch-specific patches found in
"patches/${pkgname}/${version}/${CT_ARCH}".

This is needed for applying a popular binutils patch specific for the
AVR architecture but which isn't isolated for AVR in binutils' code.
In this case, applying it for every architecture would end up bloating
binutils' "size" options with AVR specifics.

This feels like a bit of a hack but it is easy enough to support with
current crosstool-ng infrastructure, seems like worth it for this case.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:43 -03:00
Erico Nunes
b8e64a0c08 avr-libc: add support for avr-libc C library
This commit adds support for the avr-libc C library.
According to the project page at http://www.nongnu.org/avr-libc , the
avr-libc package provides a subset of the standard C library for Atmel
AVR 8-bit RISC microcontrollers. In addition, the library provides the
basic startup code needed by most applications.

Support for this library in crosstool-ng is only enabled for the AVR
8-bit target.

The avr-libc manual and most distributions build the AVR 8-bit gcc
toolchain with the "avr" (non-canonical) target.
Some experimentation also led to the conclusion that other (canonical)
targets are not very well supported, so we force the "avr" target for
crosstool-ng as well.

The manual also recommends building avr-libc after the final gcc build.
To accomplish this with crosstool-ng, a new do_libc_post_cc step is
added, in which currently only avr-libc performs its build, and is a
no-op for the other libc options.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-21 20:53:06 -03:00
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
Bryan Hundven
c28b4f1ceb Merge pull request #107 from bhundven/remove_experimental_musl_patches
Remove support for experimental patches and musl patches
2015-06-02 12:00:59 -07:00
Bryan Hundven
f680c00283 Merge pull request #58 from dirkhusemann/master
Update functions to grok symlinks
2015-06-02 12:00:49 -07:00
Bryan Hundven
67e6896c2b Remove support for experimental patches and musl patches
This functionality was provided so that crosstool-ng could have a
further set of patches considered experimental and unsupported.
Now that musl-libc support is making it's way upstream in gcc, I'm
removing this support and the experimental musl patches.

In later commits, backports from gcc upstream will be added to the
supported patch sets to support musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 10:47:58 -07:00
Bryan Hundven
2cac85710d Merge pull request #103 from bhundven/update_addtoolversion
addToolVersion: multi_cc: update addToolVersion
2015-06-02 09:36:55 -07:00
Bryan Hundven
f3975693b0 addToolVersion: multi_cc: update addToolVersion
Since gcc moved from CC_ to CC_GCC_, addToolVersion neeeded to be
updated.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-02 09:35:23 -07:00
Dirk Husemann
0130065c0a Update functions to grok symlinks
when specifying a custom kernel provided as a tar ball, the tar ball gets symlinked. the -e test will fail.

Signed-off-by: Dirk Husemann <dirk@d2h.net>
2015-06-02 07:45:57 +02:00
Bryan Hundven
a2adc4386e Merge pull request #102 from yann-morin-1998/yem/populate
populate: also search for gconv modules
2015-06-01 19:38:06 -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
9cdbc7b199 showSamples: Update showSamples.sh for multiple compilers
This change adds support to show samples for multiple compilers.

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:22 +01:00
Yann E. MORIN
fb321268f7 populate: also search for gconv modules
The gconv modules are present in the (e)glibc toolchains, and some
applications directly link with one or more of those modules (even
though the classic way of using them is by dlopen()ing them).

So, also look in /usr/lib/gconv when searching for libraries.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-05-31 21:23:36 +02:00
Ray Donnelly
541199de3a config: Add config support for multiple compilers
This change updates the config to support multiple compilers by moving
CC_.* to CC_GCC_.* to make room for other compilers.

We also update gen_in_frags.sh to check for a default cc.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-29 21:49:33 +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
Ray Donnelly
f95b34d52f CT_GetGit: Allow cset to be a ref (branch or tag)
Pass cset as ref=somename to use this feature. CT_GetGit echos
the cset sha1 on exit since the caller will need to know that
information as it forms part of the downloaded tarball name.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-05-12 23:32:21 +01:00
Bryan Hundven
5907149de5 scripts: If paths.sh is included, use the variables
This commit changes sed, awk, and grep to use the ones we found during
configure time. This helps make the build more consistent.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-09 20:09:05 -07:00
Bryan Hundven
90037b9ee3 showSamples: Update to use variables from paths.sh
This change modifies the use of sed and awk to use the variables set by
paths.sh during the installation process of crosstool-NG.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-09 17:42:13 -07: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
Bryan Hundven
0a6b755fea Merge pull request #24 from Christopher83/master
Add the support to choose, download and build latest Linaro toolchain components
2015-01-26 08:02:32 -08:00
Bryan Hundven
cf3fc4244c Merge pull request #22 from Ledest/master
fix bashisms in patch-rework.sh script
2015-01-26 08:01:39 -08: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
Led
b50cde605a Fix bashisms in patch-rework.sh script
This script has a '#!/bin/sh' shabang and might be running on a POSIX
shell. So replace bash-specific constructions (pushd/popd, for((...)),
read with '-u' option) to POSIX-shell equivalents.

Signed-off-by: Led ledest@gmail.com
2015-01-11 20:24:15 +02:00
Bryan Hundven
e549e3cc2a Merge pull request #25 from bhundven/patchworks-bernhard_walle
Patchwork bernhard walle
2015-01-10 23:39:01 -08:00
Ray Donnelly
45fea7447e config.{sub,guess}: Update to latest
From http://git.savannah.gnu.org/gitweb/?p=config.git

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-01-10 12:54:35 +00: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