Commit Graph

3451 Commits

Author SHA1 Message Date
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
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
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
Bryan Hundven
3c072d6206 binutils/gdb: Fix configure options when building from binutils-gdb repo
When building from:
{git,http}://sourceware.org/git/binutils-gdb.git

and setting BINUTILS_CUSTOM or GDB_CUSTOM, they could be the same
source.

These config options should not affect normal released versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-24 20:40:44 -08:00
Bryan Hundven
c4a1428ab3 Merge pull request #286 from bhundven/uclibc_ipv6
uClibc: Add kconfig option to enable IPv6 support
2015-11-22 22:19:47 -08:00
Bryan Hundven
8478376a86 uClibc: Add kconfig option to enable IPv6 support
This commit adds a kconfig option to enable IPv6 support.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-22 22:18:08 -08:00
Bryan Hundven
49cdcd16f2 Merge pull request #283 from diorcety-ctng/osx-build-2
Fixes binutils and gold (raspi2 sample builds ok if you disable the static toolchain options)
2015-11-22 17:35:28 -08:00
Ray Donnelly
b0743fdcda Clang: Use {C,CXX}FLAG -fbracket-depth=512 for GCC build
https://llvm.org/bugs/show_bug.cgi?id=19650
https://gcc.gnu.org/ml/gcc/2014-05/msg00014.html

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-22 14:39:26 +00:00
Ray Donnelly
f001b0605e darwin-host: Three build fixes for binutils 2.25{,.1}
1. Need to include <string> not <cstring> in gold's binary.cc
2. wcsncasecmp isn't always defined in Mac SDK
3. PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}}, so can't be trivially
    assigned in an intializer list.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-22 14:38:22 +00:00
Bryan Hundven
ead1358ae5 Merge pull request #281 from bhundven/remove_sh64
uClibc: remove references to sh64*
2015-11-21 02:21:08 -08:00
Bryan Hundven
d5eb7360d5 uClibc: remove references to sh64*
As per the change notes of GCC-6:

https://gcc.gnu.org/gcc-6/changes.html

and conversations I've had with the buildroot folks, there is no need
to support sh5/sh64.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-21 01:26:42 -08:00
Bryan Hundven
ced321f73c Merge pull request #279 from bhundven/mingw-w64-experimental
mingw-w64: Set it as experimental
2015-11-19 15:11:06 -08:00
Bryan Hundven
e0fd82bb01 mingw-w64: Set it as experimental
With the upcoming release of 1.22.0, mingw-w64 is still in an
experimental state, and is not considered to be fully supported yet.

This change should be reverted after the release.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-19 15:09:12 -08:00
Bryan Hundven
ba7ca97523 Merge pull request #278 from bhundven/fix-uninstall
Makefile.in: Fix uninstall target
2015-11-19 14:37:06 -08:00
Bryan Hundven
1b48c9bd83 Makefile.in: Fix uninstall target
`make uninstall` is ran against `$(TARGETS)`, which includes `lib-kconfig`.
`lib-kconfig` is installed as a part of the `lib` target, so during
uninstall, removing `lib` is enough to also remove `lib-kconfig`.

Filter out `lib-kconfig` during `real-uninstall`.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-19 14:30:20 -08:00
Bryan Hundven
7b69ac2fbb Merge pull request #276 from jcmvbkbc/xtensa-doc
Xtensa docs update
2015-11-18 23:29:57 -08:00
Max Filippov
2eeab4a4c6 docs: document Xtensa configuration overlay
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-19 09:49:46 +03:00