Commit Graph

3865 Commits

Author SHA1 Message Date
Bryan Hundven
a5057713a0 gcc: Fix CC_GCC_ENABLE_CXX_FLAGS for mode=baremetal
When creating a baremetal toolchain, CC_GCC_ENABLE_CXX_FLAGS has no
effect. This closes #298

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-06 11:22:58 -08:00
Bryan Hundven
7aff139719 Merge pull request #313 from bhundven/remove_gcc_extra_env_array
gcc: remove CC_GCC_EXTRA_ENV_ARRAY
2016-01-06 11:12:49 -08:00
Bryan Hundven
225b96ebc8 gcc: remove CC_GCC_EXTRA_ENV_ARRAY
I was noticing that $extra_user_env was inconsistently used in
100-gcc.sh. I don't feel comfortable having just any make flag or
environment variable passed to make from a config file. If a specific
option needs to be passed to make for gcc, then a specific kconfig
option should be added for that make flag/option/env.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-06 11:07:06 -08:00
Bryan Hundven
31c6ebab07 Merge pull request #312 from bhundven/sync_gcc_backends
gcc: Sync backend functions
2016-01-06 11:00:58 -08:00
Bryan Hundven
311a78d6e1 gcc: Sync backend functions
The two gcc backend functions are getting very close to being duplicated
code. To help in the process of merging the two backends, this change
syncronizes the two functions so they are easier to diff.

This commit has no functional changes.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-06 10:59:26 -08:00
Bryan Hundven
50248e37e8 Merge pull request #296 from FreddieChopin/add-gmp-6.1.0
gmp: add version 6.1.0
2016-01-06 10:19:23 -08:00
Bryan Hundven
ce74282be4 Merge pull request #309 from bhundven/remove_old_binutils_versions
Remove old binutils versions
2016-01-05 21:45:48 -08:00
Bryan Hundven
9375a9e411 Merge pull request #291 from diorcety-ctng/cygwin-more-fixes
Cygwin more fixes
2016-01-03 08:10:24 -08:00
Ray Donnelly
24d17220a1 libelf: Cygwin fix for UNC paths
If destdir was / and prefix began with /
then we would attempt to install libelf
to a path beginning with // which is a
UNC path on Cygwin. This is generally
incorrect.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:53:09 +00:00
Ray Donnelly
644522fcd0 libiconv: configure with --disable-nls
On Windows a build failure can be triggered during the
build of the static iconv if a dynamic iconv is already
present:

There's a circular dependency between libiconv and gettext
which (on a system with a dynamic gettext (and thus iconv)
installed in the system prefix) causes a failure to build
iconv.exe statically if it is built with nls ..

.. Which needs gettext
.. which depends on libiconv
.. so libtool finds a dynamically linked libgettext.la
.. and therefore presents ld with the dll import library
     libiconv.dll.a when linking iconv.exe
.. as well as the static libiconv.a that it has just built!
.. leading to multiply defined symbols from iconv.

Therefore, we build it without nls. If it later turns out
that we need it to be built with nls, then I will have to
build it in two passes (common practice when bootstrapping
GNU/Linux distros, MSYS2 and probably Cygwin and Homebrew).

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:53:07 +00:00
Ray Donnelly
9b4b569741 POSIX: Fix GCC 5+ plugin build failure on Cygwin
Cygwin follows POSIX IEEE Std 1003.1, 2004 Edition spec
for the select() fuction as described at:

http://pubs.opengroup.org/onlinepubs/009695399/functions/pselect.html

.. so we must #include <sys/select.h> for the declaration.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:52:52 +00:00
Ray Donnelly
29f03e3295 Cygwin + MinGW-w64: GCC 5+ plugin support
Define PICFLAG, UNDEFINEDPREAMBLE and UNDEFINEDCODE to nothing since Windows
doesn't have -fPIC (GCC warns) and can't handle undefined variable references
(which are not needed anyway).

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:52:26 +00:00
Ray Donnelly
44ee416289 expat: Tidy up and correct configure flags
Build shared builds for host unless CT_STATIC_TOOLCHAIN.
In all other situations, build statically, as before.

It is necessary that the static/shared-ness of expat matches
that of gettext on Cygwin/MinGW-w64 as they can't be linked
together if they don't match, so we follow the same logic.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2016-01-03 15:52:23 +00:00
Bryan Hundven
91520c2b36 patches/binutils: Sync patches with buildroot
The buildroot patches have xtensa for the supported versions of binutils
we use, and a few others that might help us keep away from host
polution.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-03 03:05:27 -08:00
Bryan Hundven
ba8713947e patches/binutils: Remove old patches for binutils
Since we removed older binutils versions, remove patches as well.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-03 01:22:02 -08:00
Bryan Hundven
5543f85feb binutils: Remove older versions of binutils
Since older GCC versions have been removed, older versions of binutils
are not needed.

This commit removes these older versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-03 01:18:32 -08:00
Bryan Hundven
6f1f55e9d2 Merge pull request #308 from bhundven/update_kernel
linux: Update kernel versions
2016-01-02 23:38:36 -08:00
Bryan Hundven
b38fddfecd linux: Update kernel versions
The following versions were updated:
 * 4.3       -> 4.3.3 (stable)
 * 4.2.6     -> 4.2.8 (EOL)
 * 4.1.13    -> 4.1.15
 * 3.18.24   -> 3.18.25
 * 3.14.57   -> 3.14.58
 * 3.12.50   -> 3.12.51
 * 3.10.93   -> 3.10.94
 * 3.2.72    -> 3.2.75
 * 2.6.32.68 -> 2.6.32.69

4.3 mainline is now 4.3.3 stable
The 4.2 series is now EOL. You should move to 4.3.3!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 23:32:43 -08:00
Bryan Hundven
eeb193a602 Merge pull request #307 from bhundven/update_gcc_linaro
Update gcc linaro
2016-01-02 22:34:51 -08:00
Bryan Hundven
3e4b88e434 gcc: Add new linaro version: 5.2-2015.11
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 22:33:24 -08:00
Bryan Hundven
7c7bcecd2e gcc: Add new linaro download path
It seems that linaro is changing where they release, again.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 22:33:23 -08:00
Bryan Hundven
4be30098af Merge pull request #306 from bhundven/update_gcc
gcc: Update gcc 5 to 5.3.0
2016-01-02 19:16:20 -08:00
Bryan Hundven
8f4019e693 gcc: Update gcc 5 to 5.3.0
Reported-by: Freddie Chopin <freddie.chopin@gmail.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 18:24:41 -08:00
Bryan Hundven
8115774ea7 Merge pull request #305 from bhundven/binutils_fix_install_libiberty
binutils: Fix installing libiberty for target
2016-01-02 18:05:57 -08:00
Bryan Hundven
84486b46d3 binutils: Fix installing libiberty for target
If CT_BINUTILS_FOR_TARGET_IBERTY is set, then it seems that we also must
set `--enable-install-libiberty` for configure to pickup that it needs
to be installed.

This closes #302

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-02 03:15:07 -08:00
Bryan Hundven
a0d58f4871 Merge pull request #303 from nekromant/master
Add initial debian packaging info
2015-12-27 19:17:01 -08:00
Andrew Andrianov
ffdd552315 Add initial debian packaging info
Signed-off-by: Andrew Andrianov <andrew@ncrmnt.org>
2015-12-18 15:15:06 +03:00
Bryan Hundven
7f949eafaf Merge pull request #288 from bhundven/custom_locations_rewrite
Custom locations rewrite
2015-12-18 01:42:09 -08:00
Bryan Hundven
9f89e082c5 Whitespace: We don't use tabs in shell or kconfig files
We indent by multiples of 4.
This change cleans up whitespace in offending files.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:17 -08:00
Bryan Hundven
514f1546d7 config: Update kconfig for new CT_GetCustom
This commit sort of unifies the kconfigs to handle custom files and
directories.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:16 -08:00
Bryan Hundven
4e2227e8a5 scripts: Update usage of CT_GetCustom
This commit updates the build scripts to match the new usage of
CT_GetCustom from the previous change.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:13 -08:00
Bryan Hundven
1b31314488 CT_GetCustom: Rewrite function to meet expectations
The previous version of CT_GetCustom was a bit... funky.
It didn't handle custom versions to location very well.

This new version is exactly as it appears:

CT_GetCustom <name> <version> <location>

The name is the beginning of the archive (file or directory).
The version is the second half of the archive.
The location is where it can be found. This should be made an absolute
path, but this version is expecting the path in kconfig to be absolute.

A file should extract to a directory: <name>-<version>
A directory will be copied to: <name>-<version>

This keeps our expectations of what we should get.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-12-08 07:20:35 -08:00
Bryan Hundven
5d967e8b39 Linux: Remove obsolete Linux custom headers
This option allowed you to use a custom headers directory/tarball to use
in your sysroot.

Not to be confused with using a custom source, that option is the
preferred method.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-12-08 07:20:35 -08:00
Bryan Hundven
9d835eddcf config: Remove CUSTOM_LOCATION_ROOT_DIR
On top of making <component>_CUSTOM much more complicated to rewrite,
you couldn't depend on a requirement for all of the components to treat
custom sources the same with it around.

If you need a custom source for a component, define it in the component.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-12-08 07:20:35 -08:00
Bryan Hundven
83f8efa61f xtensa: Remove support for CT_CUSTOM_LOCATION_ROOT_DIR
Since CUSTOM_LOCATION_ROOT_DIR was removed from config/global/paths.in
in commit c499ccb, xtensa should depend only on it's
ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-12-08 07:20:35 -08:00
Bryan Hundven
0041a8b105 CT_Extract: Move check extracted up
If we are using a custom location, and that custom location is a
directory that does not have an associated tarball, then we shouldn't
warn about not finding a tarball in CT_TARBALLS_DIR if
CT_SRC_DIR/.<basename>.extracted is found.

If the extracted file is not found, then we can warn that the tarball
was not found then error out that the tarball is missing.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-12-08 07:20:16 -08:00
Bryan Hundven
2d3c70dd3d Merge pull request #282 from bhundven/less_gcc_versions_part2
Less gcc versions part2
2015-12-07 18:41:02 -08:00
Bryan Hundven
8a87716fbf Merge pull request #299 from bhundven/fix_static_binutils
binutils: Fix LDFLAGS for static toolchain
2015-12-07 11:26:49 -08:00
Bryan Hundven
ed21bcaf89 binutils: Fix LDFLAGS for static toolchain
If building a static toolchain, the ldflags option passed to
do_binutils_backend is overridden when we set `LDFLAGS=-all-static`.

We should pass `LDFLAGS=${ldflags} -all-static` in this case.

This fixes #297

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-07 11:21:34 -08:00
Freddie Chopin
0b435d61f8 gmp: add version 6.1.0
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2015-12-07 15:00:00 +01:00
Bryan Hundven
c92387e2a8 Merge pull request #292 from bhundven/fix_binutils_manual
binutils: Fix binutils manuals_install variable
2015-12-05 06:48:53 -08:00
Bryan Hundven
d06cb88596 binutils: Fix binutils manuals_install variable
In commit: 74d555b2
A regex in a parameter subsitution replaces a '#' hash symbol, but it is
not made literal '\#', so from the hash to the end of the line is a
comment.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-05 06:45:08 -08:00
Bryan Hundven
cfd2a6b69c gcc: Gnu OpenMP support depends on threading
Instead of checking if thread support is enabled during the build, move
the check to kconfig-time. Since if threading support is not availble,
libgomp should not be available either.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:40:08 -08:00
Bryan Hundven
8b40ab0d6e gcc: CLooG should be optional for configure
Because >= gcc-5.x does not require cloog, it should not be forced on
the command line arguments for configure if graphite is enabled.

Make CLooG optionally added, if it is needed (aka: <= gcc-4.9).

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
0e0ecc8bcf PPL: Remove support for PPL and CLooG/PPL
Now that versions of gcc that required PPL are no longer supported
( >= gcc-4.5.x AND <= gcc-4.7.x )
...we no longer require PPL or CLooG/PPL.

This commit:

* Removes PPL
* Removes CLooG/PPL
* Updates the documentation
* Updates build script for CLooG and GCC
* Removes PPL and CLooG/PPL from scripts/addToolVersion.sh and
  scripts/showSamples.sh
* Adds ISL to scripts/addToolVersion.sh and scripts/showSamples.sh

I know that sounds like a lot for one commit, but it was all kind of
inter-tangled.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
c0bd1bbc4c gcc: remove patches for removed gcc versions
This commit simply removes the patches for gcc versions that are no
longer supported.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
2a89c32193 gcc: Remove gcc <= 4.7.x
As per #222, in crosstool-NG >= 1.23.0, we will only support:

 [upstream supported gcc versions] - 1

As of this writing, these versions are:

* 5.2.0
* 4.9.3
* 4.8.5 (the -1, since development on 4.8.x is now closed)

I plan to keep 4.8.5 around because of some architectures having issues
with over-optimization or just faulty optimization in the 4.9.x and
possibly newer versions.

I also cleaned up a requirement for glibc to depend on >= gcc-4.6.x for
>= glibc-2.20, but since the lowest gcc we support after this change is
>= 4.8.5, this condition can go away.

Patches for older gcc versions are removed in the next commit.

This closes #222

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-29 17:36:58 -08:00
Bryan Hundven
0e85151c19 Merge pull request #289 from bhundven/binutils_patch
binutils: add patch that fixes mac os x gold build
2015-11-26 09:45:32 -08:00
Bryan Hundven
6484adb13f binutils: add patch that fixes mac os x gold build
https://sourceware.org/bugzilla/show_bug.cgi?id=19281

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-26 09:38:05 -08:00
Bryan Hundven
e68eff0754 Merge pull request #287 from bhundven/binutils_gdb_configure
binutils/gdb: Fix configure options when building from binutils-gdb repo
2015-11-24 20:45:05 -08:00