Commit Graph

1720 Commits

Author SHA1 Message Date
Alexey Neyman
8600f3ce56 Move tools alias creation to a common function
... and in addition to final toolchain aliasing, use it when configuring
multilibs for glibc/musl. Note that uClibc does not need it, it is
explicitly selecting the tools using CROSS_PREFIX.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 16:56:19 -07:00
Alexey Neyman
fc2f73fc08 When moving gcc libs, prefer the same directory as libc
If libc ended up in a directory other than /lib, place GCC's libs
in that directory as well.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-09 19:07:21 -08:00
Alexey Neyman
55c806a360 Correct warning text to include newer glibc versions
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-08 15:47:48 -08:00
Alexey Neyman
bfcc1e112a Merge pull request #635 from stilor/macos-skip-locales
Skip locales on macos
2017-03-07 08:51:43 -08:00
Alexey Neyman
456cccc0a7 Merge pull request #634 from stilor/macos-canadian
A couple of fixes for canadian samples on macos
2017-03-07 08:51:35 -08:00
Alexey Neyman
ea7f559ef4 Merge pull request #627 from dankm/freebsd
FreeBSD build support
2017-03-07 08:50:43 -08:00
Alexey Neyman
2ef7d36efb Disable format warnings for clang
It picks up gettext string and results in [ERROR] messages from ct-ng
when gettext strings happen inside an error() call.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-07 00:15:29 -08:00
Alexey Neyman
3e94b4f680 Skip building locales on macos, too
--enable-hacker-mode is not sufficient, in 2.25 configure then
fails while checking for sysdeps fragments that apply to a given
configuration, and with that worked around, fails on binutils &
compiler version check.

In brief: if someone wants locales on cygwin/macos, you'd have to
implement cross-localedef (similar to cross-rpcgen) in glibc and
submit it upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 23:12:16 -08:00
Alexey Neyman
b3b94e4807 Only add clang-specific flags to clang
I.e., only to CFLAGS_FOR_BUILD if the build is canadian.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 18:57:12 -08:00
Alexey Neyman
6cdf0df01b Use CHOST instead of CROSS_PREFIX
The latter does not prevent zlib's configure from overriding 'AR' with
/usr/bin/libtool on macos, and that breaks canadian crosses.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 18:57:12 -08:00
Dan McGregor
7f961026c1 Explicitly use gcc for GMP
GMP's configure script tries to be too smart, and if it determines
that it's not cross-compiling it chooses gcc or cc instead of the
wrapper we create at the start of the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-06 08:56:36 -06:00
Alexey Neyman
120792a97d Sanitize CT_PREFIX_DIR, too
Having .. in it breaks GCC's relocatability.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-05 16:22:40 -08:00
Alexey Neyman
2f24d5cd75 Add libiconv 1.15
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:50:31 -08:00
Alexey Neyman
865a095d70 Do not pretend we're downloading anything
... when we're actually don't.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:45:05 -08:00
Dan McGregor
c88621f740 glibc: hide native c++ executable from build
If glibc's configure finds the host c++ executable it assumes that
c++ should be enabled for the build. In case we don't have cross g++
built yet (ie, for headers), this causes the build to fail creating
C++ headers. So hide C++ from the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:23:39 -06:00
Dan McGregor
a0ab14c4a7 Use BUILD_PREFIX and BUILD_SUFFIX for gcc version
It's possible that "gcc" is not the compiler being used for the build,
so respect BUILD_PREFIX and BUILD_SUFFIX when finding its version.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:23:38 -06:00
Dan McGregor
6d1bcaa2f5 Use configure to find the processor count
configure.ac now finds how to count the CPUs in a system. Currently
the getconf method and sysctl methods are supported. Adding more is
easy enough.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:22:13 -06:00
Dan McGregor
f2f782dd1c Bring in FreeBSD support
Check for FreeBSD specific issues, it is mostly the same as Darwin.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:22:02 -06:00
Alexey Neyman
864d1358e0 Merge pull request #625 from stilor/skip-localedef
Skip localedef
2017-02-28 21:52:06 -08:00
Alexey Neyman
e7163a46c4 Skip locale build on Cygwin
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28 20:35:14 -08:00
Alexey Neyman
b04d2e84a8 Avoid -T, it is not available on macos
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28 18:40:51 -08:00
Alexey Neyman
439cab379e Require xz to be present
Some software starts to adopt xz-only distribution (strace,
gcc-linaro, ...). Better that than deal with cryptic errors like
"cannot find strace-.tar.bz2".

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-27 22:55:57 -08:00
Alexey Neyman
2dae1cf816 Require GNU sed
After much struggling with macos (BSD) sed and even getting everything
work in crosstool-ng itself, I had to abandon that because some
components rely on GNU syntax. Specifically, GNU libc uses '/.../{H;g}'
(note absense of the separator after 'g').

So, revert the -r/-E detection and check for sed's being of GNU origin.
MacOS people, sorry, but you'd have to install GNU sed.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-26 20:42:32 -08:00
Alexey Neyman
59bab98b2d Revert "Determine whether -E/-r option selects extended regexp"
This reverts commit 7bcf18bfab.
2017-02-26 19:06:35 -08:00
Alexey Neyman
df1e3e32cf Revert "Fix breakage from sed_r change in some auxiliary scripts"
This reverts commit 5ea3f2967f.
2017-02-26 19:06:10 -08:00
Alexey Neyman
85ae00c1a6 Merge pull request #614 from stilor/elf2flt-cygwin
Fix the build of elf2flt on Cygwin
2017-02-22 22:19:28 -08:00
Alexey Neyman
8397ad2c1a Fix the build of elf2flt on Cygwin
The -lcygwin -lc actually breaks the build: elf2flt picks up the symbols for getopt/optarg via
<getopt.h> in binutils-X.Y/include, where optarg is declared without dllimport attribute.
Therefore it pulls in getopt() from libc/libcygwin, but since optarg is not prefixed with
_imp__, it is pulled from libiberty. But the object file in libiberty also contains getopt()
thus resulting in multiple definitions thereof.

While there, kill extraneous -ldl passed into configure - configure detects -ldl successfully.

Upstream: https://github.com/uclinux-dev/elf2flt/pull/6
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-22 22:17:49 -08:00
Alexey Neyman
4de4507a65 Merge pull request #375 from jasmin-j/add_tls_config
Added new gcc config option CC_GCC_CONFIG_TLS
2017-02-22 22:00:03 -08:00
Alexey Neyman
c72f7101c9 Kill a generated file
... and add it to .gitignore.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-21 23:10:24 -08:00
Jasmin Jessich
c8d7d79e20 Added new gcc config option CC_GCC_CONFIG_TLS
Adding new tristate configuration for TLS (Thread Local Storage) to
add "--enable-tls" (y), "--disable-tls" (n) or nothing (m).

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2017-02-21 09:10:22 +01:00
Alexey Neyman
6a1b5a3d77 Merge pull request #608 from stilor/static-no-plugins
Disable LTO for static toolchain
2017-02-19 23:27:21 -08:00
Alexey Neyman
4d723d0892 More garbage collection
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 23:20:55 -08:00
Alexey Neyman
45512b003d Have LTO depend-on non-static builds
Loading a dynamic library (LTO plugin) from a static binary fails
on ArchLinux. It is also prone to break if a system is ever upgraded.

Also, disable plugins if not enabled explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 19:00:25 -08:00
Alexey Neyman
264b0c8686 More GC
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 18:41:04 -08:00
Alexey Neyman
f0716643b4 Garbage collection for GCC options that are same
... on all supported versions.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-18 18:36:34 -08:00
Alexey Neyman
a417c31875 Add --disable-database and --with-fallbacks separately
The dependency between them has been removed in Kconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-17 12:07:39 -08:00
Alexey Neyman
5ea3f2967f Fix breakage from sed_r change in some auxiliary scripts
... do not overquote the variables from paths.sh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-16 12:45:51 -08:00
Alexey Neyman
2d1b469f88 Merge pull request #599 from stilor/avoid-gettext-for-linux-host
Skip gettext/libiconv on linux-gnu
2017-02-15 20:37:21 -08:00
Alexey Neyman
07e03aed8c Skip gettext/libiconv on linux-gnu
Previous version by Ray Donnelly was skipping them for all *linux*.
This skips it for GLIBC only.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-14 22:45:56 -08:00
Alexey Neyman
7bcf18bfab Determine whether -E/-r option selects extended regexp
... and then use the right option. See the note in scripts/functions
on where we should use ${foo} and where just 'foo'; this boils down to
whether we can expect the build tools override to be in effect (e.g. in
the actual build scripts) or not (i.e. outside of scripts/build).
While running in scripts/functions, or in scripts/crosstool-NG.sh the
build tools override directory (.build/tools/bin) may have not been
set up (yet, or at all).

Also, modify the installed scripts (populate, xldd) accordingly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13 22:47:40 -08:00
Alexey Neyman
f9bec4ed7c stat: determine whether it is BSD or GNU flavor
Seems like MacOS may have either in the path.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-12 22:02:28 -08:00
Alexey Neyman
41ba1d99c8 Update config.{guess,sub} while testing curl
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-12 22:02:28 -08:00
Alexey Neyman
35f89c4064 Detect both wget/curl and allow user to select the agent
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-12 22:02:23 -08:00
Alexey Neyman
c31ed45a65 Merge pull request #589 from stilor/skip-complibs-check-on-host-canadian
Skip complibs check on host for canadian
2017-02-12 11:19:31 -08:00
Alexey Neyman
7e6392a872 Remove 'relocs' from archscripts being built
... it is not needed to install headers and causes build failures
in more than one setup (cygwin, macos).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-11 16:20:53 -08:00
Alexey Neyman
c8e8281533 Skip comp.libs checking on host for canadian
... they all want to run the binaries they produced, which fails
when build!=host.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-11 12:49:48 -08:00
Alexey Neyman
57e1e7e742 Merge pull request #587 from stilor/select-uclibceavi-suffix
Allow one to select uclibceabi/uclibcgnueabi suffix
2017-02-10 23:55:47 -08:00
Alexey Neyman
4d49730711 Merge pull request #586 from stilor/restore-old-kernel-libc
Restore old kernel/glibc versions
2017-02-10 23:55:33 -08:00
Alexey Neyman
93db580091 Merge pull request #584 from stilor/disallow-gold-for-elf2flt
Require BFD linker if building for flat format
2017-02-10 23:55:16 -08:00
Alexey Neyman
0468f8daf1 Allow one to select uclibceabi/uclibcgnueabi suffix
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 23:48:56 -08:00