Commit Graph

1141 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Alexey Neyman
5920157fdd Supply --disable-build-with-cxx instead of requiring C++
... when building native GDB/gdbserver.

Suggested by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 22:14:36 -08:00
Alexey Neyman
a41978b95a Remove wrapping if in 300-gdb.sh
If GDB is turned off, the script will not be even sourced. Otherwise,
if GDB checkbox is set but none of the cross/native/gdbserver are
selected, debug.sh gives a bogus error message.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 21:21:57 -08:00
Alexey Neyman
5e0b489b12 External addons supported by glibc even now
... though none are provided by default.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 18:05:36 -08:00
Alexey Neyman
f6ef2be9f3 Revert "glibc: Remove support for downloading and extracting add-ons"
This reverts commit 39273e0843.
2017-02-09 18:05:36 -08:00
Carlos Santos
755de234cb elf2flt: use CT_ARCH to set target CPU, not CT_TARGET
CT_TARGET is composed as "${CT_ARCH}${CT_ARCH_SUFFIX}", so CT_TARGET may
become something like "armv7", for example. This is used by the configure
script to set the "CPU" variable in the Makefile, leading to a commad line
containing

    -DTARGET_armv7 -DTARGET_CPU="armv7"

In this case the compilation of elf2flt.c fails with "Don't know how to
support your CPU architecture??". Passsing "CPU=${CT_ARCH}" in the make
command line overrides the configured value and solves the problem.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
2017-02-06 22:20:21 -08:00
Alexey Neyman
46bfc8a4dc Merge pull request #575 from stilor/ncurses-configure
Allow some tunables for ncurses
2017-02-06 00:04:33 -08:00
Alexey Neyman
a459a33936 Merge pull request #574 from stilor/uclibc-obstack
3 unrelated uClibc changes, see individual commits
2017-02-05 20:42:02 -08:00
Alexey Neyman
d91277e377 Add zlib as a companion lib
with version 1.2.11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:26:02 -08:00
Alexey Neyman
ef841ea312 Allow some tunables for ncurses
- Allow user to specify configure arguments to pass through to host/target
ncurses.
- Checkbox for --disable-database
- String option for --with-fallbacks

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:20:01 -08:00
Alexey Neyman
df68f203b4 Use 'make olddefconfig' in uClibc/uClibc-ng configuration
instead of 'make oldconfig' and responding 'y'. This avoids 'Broken pipe'
errors in the log, as well as selects default setting for all options not
explicitly set.

This requires a small fix in the old uClibc. Won't have to maintain that fix
for long though :)

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-04 21:16:10 -08:00
Alexey Neyman
623fdf15a6 Add support for AArch64 in uClibc-ng
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-02 23:37:57 -08:00
Alexey Neyman
c83335c5a3 Use 'make install' to install DUMA
This serves two purposes:
- installs its manpage
- installs headers, without them it does not make sense to install a
static library

Unfortunately, there's no way to select shared-only build of DUMA.
Hence, disable selection for static library.

Also, allow user to select whether to use stock or ct-ng's wrapper.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:11:37 -08:00
Alexey Neyman
bd318e886b Fix installation of manuals for binutils
It was running 'make gas ld ...', which was succeeding, but didn't install
anything.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:11:37 -08:00
Alexey Neyman
6c9e949ae3 Fix location where libc manual is built
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-30 12:11:37 -08:00
Alexey Neyman
5b084c005b Merge pull request #564 from stilor/comptools-default-to-y-if-missing
Rework configure logic wrt GNU autotools
2017-01-28 13:34:14 -08:00
Alexey Neyman
7a94c81e5b Rework configure logic wrt GNU autotools
Rather than requiring them of a certain version, detect if they are present
(and have sufficient version) and select an appropriate companion tool
otherwise. The reason is that, for example, most recent gettext requires
automake 1.15, but the newest available CentOS has 1.13. Hence, the option
to "upgrade your system" does not apply, and the warning comment above
the companion tools is rather scary.

With this approach, it will work out of the box - either by using the host's
tools, or by building them as needed. Note that the user can still change
the setting in the config.

While there, propagate the new version checking macro to awk/bash/host binutils,
and switch from --with-foo=xxx to officially blessed FOO=xxx: the latter
does not require checking for bogus values (i.e., --with-foo, --without-foo)
and AC_PROG_* macros recognize the corresponding settings without further
modifications. For now, I kept --with-foo=, if only to complain and steer
people to the new way. To be cleaned up after a release.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-27 20:40:47 -08:00
Alexey Neyman
d7b043e360 Create <sgidefs.h> if MUSL doesn't create one
Document the status quo and work around for mips-musl.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 13:50:18 -08:00
Alexey Neyman
3fc7c1ef69 Fix handling of ltrace 0.5.3 peculiarity.
Also, remove 0.5.2 selection - no longer available for download.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
7186e39f32 Run all configure scripts using ${CONFIG_SHELL}
... as its help message says in menuconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-25 00:06:28 -08:00
Alexey Neyman
a5c48a5d0a Fix loglevel for steps in companion tools
(was EXTRA, should be INFO to be consistent with the rest).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 18:48:22 -08:00
Alexey Neyman
65e037b654 Merge pull request #552 from stilor/uclibc-ng-for-buildroot
Restore uClibc-ng usability in buildroot
2017-01-23 16:12:18 -08:00
Alexey Neyman
aa24e9d913 Add selection for RPC
So that uClibc config can be matched to Buildroot's expectations via
the menu, without the need for a saved config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 14:37:18 -08:00
Li-Hang Lin
1f6c6d3f32 mingw: compile the mingw-w64 companion tools as well
There are some useful tools such as widl, gendef, genidl ... etc.
provided by mingw-w64 and do not waste the developers' works.

Signed-off-by: Li-Hang Lin <lihang.lin@gmail.com>
2017-01-22 18:09:49 +08:00
Alexey Neyman
fb426ac912 Replace strace workaround with a patch.
The correct solution was checked in to strace GIT; will be part of the
next release. Backport patch to 4.10..4.15, and remove the workaround
from 500-strace.sh. Versions 4.9 and older should build fine even
without the workaround (they would be picking up wrong definitions,
but they need different patch and I don't feel like spending any time
on these versions).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16 09:07:59 -08:00
Alexey Neyman
ef58f6c01c Merge pull request #535 from stilor/broke-newlib-cxx-canadian
Restore copying headers for gcc_build
2017-01-16 09:01:20 -08:00
Alexey Neyman
d47e64711e Restore copying headers for gcc_build.
Only needed in canadian configurations to build libstdc++.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14 14:51:38 -08:00
Alexey Neyman
c1612e9295 Use ${CT_CC} instead of gcc ...
... when refering to target's compiler.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
d34a6bd8a0 GDB 7.12 needs c++.
Also, minor fixes in 300-gdb.sh

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
949cc86ab7 Merge pull request #526 from stilor/double-include
Avoid creating include/include
2017-01-13 21:44:33 -08:00
Alexey Neyman
9f5a92a783 Unify fetching Linaro components.
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alexey Neyman
fddbf8f99e AVR32 support has been retired.
Scripts no longer download avr-headers.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
01a4bed794 install_root has no effect on newlib install.
And never had, at least since newlib 1.17 (first version added to
crosstool-ng). Apparently, copy-pasted from glibc.sh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
ec9ddee933 Remove 2nd copy of the option.
Added above, as part of the list.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
59a784c572 No need to copy header; libc_start_file does it.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:20 -08:00
Alexey Neyman
eff79ab714 Merge pull request #519 from InfernoEmbedded/newlib-enhancements
Newlib enhancements
2017-01-10 18:17:21 -08:00
Alexey Neyman
c69e593a92 Pick up <linux/ioctl.h> and friends from TARGET.
Otherwise, cross-compiling fails on non-Linux build machines.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
7989e5d743 ${LD_TARGET} -> ${CT_TARGET}.
Obvious typo, worked by some miracle.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
4a138d8407 Shut clang's warning that confuses configure.
Warning causes gdb's configure to not detect <limit.h> declarations
of LONG_MIN/MAX.

Found-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
25bc99f4d0 Darwin needs -liconv when building glibc.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
c1b7324fc3 Avoid trampling user's LDFLAGS_FOR_HOST...
... by passing BUILD_LDFLAGS twice (the 2nd argument overrides the first).
Also, no need to pass -I/-L for BUILD_CFLAGS/LDFLAGS, they are already included
by crosstool-NG.sh (but keep for BUILD_CPPFLAGS, as we set it up here).
Remove -Wl,-Bstatic/-Wl,-Bdynamic (we only build static complibs).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
9f62ca8deb Select libintl from gettext we built.
Also, require gettext for NLS, and require iconv/ncurses for gettext.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
8e7ac5fcd9 Change when libiconv/gettext are built.
Make them configurable, default to y when build!=host (i.e.
canadian or cross-native) because we don't know what libraries the host
will provide. GLIBC, as previously, selects them explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
ca0700010e Simplify a bit, no functional changes.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alexey Neyman
11f87cfa5d Kill CT_COMPLIBS_SHARED.
There is no such option so the check is always true.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:38:08 -08:00
Alastair D'Silva
14896a2600 Support building Newlib with Link Time Optimisation
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-10 10:51:32 +11:00
Alastair D'Silva
2ac39621bc Add more newlib options 2017-01-10 09:47:35 +11:00
Alexey Neyman
cccb8d8481 Merge pull request #508 from stilor/drop-dmalloc
Drop dmalloc
2016-12-17 14:26:13 -08:00
Alexey Neyman
b1ac2e7a7d Pass original multi_os_dir to iterator.
This is needed for callbacks that use that directory to look inside
GCC internal directories, e.g. moving the libraries. This broke
when I made libexpat for target honor ${CT_SHARED_LIBS}.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17 12:10:10 -08:00
Alexey Neyman
53758f34ef Avoid host libs when compiling gettext.
On Travis, old libxml2 is picked up from host and breaks the build.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17 12:05:23 -08:00
Alexey Neyman
83d9e6a49a Kill dmalloc.
- No new releases in almost 10 year.
- No public bug tracker or VCS.
- No responses from maintainer over sent patches.

RIP, dmalloc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-16 16:10:32 -08:00
Alexey Neyman
3dbb576c17 Make companion libs static.
This follows the trend set by 1*.sh scripts that configure ISL, GMP,
MPFR, CLooG, etc. Building with shared libraries presents all kinds
of problems:
- The shared libraries need to be installed into ${CT_PREFIX_DIR}.
- The binaries linked against companion libs need to have proper
RPATH, or they're looking for shared libs in
.build/${CT_PREFIX}/buildtools/lib.
- All libraries must agree as to whether they're built shared,
static, or both. Otherwise, gettext tries to link in static libncurses.a
into a shared library and fails (since libncurses was compiled without
the -fPIC switch and hence contains relocations that cannot be handled
in a shared library).

So this fixes the current mess. If we decide to re-enable building
the companion libs shared, we should probably make this dependent on
a separate suboption of CT_STATIC_TOOLCHAIN.

Add a config loosely based on one reported in the issue 274.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-11 00:46:06 -08:00
Alexey Neyman
f5a375e407 Merge pull request #443 from KirillSmirnov/gdb-native
debug/gdb: properly link with expat
2016-12-05 18:24:05 -08:00
Kirill K. Smirnov
ee1c04378c debug/gdb: restore comments
There are two separate issues with gdb configure usage:
1) inspecting build system libraries while cross-compiling;
2) preferring a shared library over static one.

The first usage issue is described and fixed now.
The second issue was described but the notes were removed
for some reason. This patch restores those notes.

Suggested-by: Alexey Neyman <stilor@att.net>
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-12-05 23:39:55 +03:00
Alexey Neyman
4042269de6 Merge pull request #487 from stilor/host-comp-tools
Allow for installation of companion tools for host
2016-12-02 19:18:56 -08:00
Alexey Neyman
cf86df688a Add 'companion tools for host' step.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:03:15 -08:00
Alexey Neyman
3f7fbd7bed Move companion tool build into a separate step.
Also, rename "build" -> "for_build", since we're going to have a "for_host"
as well.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:03:15 -08:00
Alexey Neyman
51a3606b17 Fix use of custom location if it is a directory.
In that case, CT_GetCustom just creates a symlink to the original.
In that case, 'cp -a <path> .' gives an error and 'cp -a <path> <newdir>'
creates <newdir> as a symlink (which will then run the build inside
the shared directory, .build/src/<package>).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02 15:02:58 -08:00
Alexey Neyman
2091c5dd2d Pass FOR_BUILD flags when building the pass-1/2 core GCC.
Current build passes {CFLAGS,LDFLAGS}_FOR_HOST - which breaks canadian cross
(e.g. tried building for x86_64-unknown-linux-uclibc host). This dates
back to the days of yore when CFLAGS were set directly in the do_gcc_core_backend
(and that function is used as the final gcc's backend).

do_gcc_core_backend is now passed with CFLAGS/LDFLAGS to use, so let
the pass-1/pass-2/final-for-build steps pass the appropriate flags.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-28 22:55:54 -08:00
Max Filippov
6c6829a061 xtensa: fix endianness support
To build uClibc correctly we need correct endianness selected in the
crosstool-NG. Xtensa cores may be little- or big-endian, but this
property is static. The toolchain knows the core endianness and doesn't
need options to select it.
Enable ARCH_SUPPORTS_BOTH_ENDIAN and select LE by default. Specify empty
CT_ARCH_ENDIAN_CFLAG so that -m{big,little}-endian don't get added to
the TARGET_CFLAGS, as it's not supported by gcc. Specify empty
CT_ARCH_ENDIAN_LDFLAG so that -EB/-EL don't get added to the
TARGET_LDFLAGS as they are ignored. Select big-endian in the example
xtensa-unknown-linux-uclibc configuration.

This fixes uClibc toolchain build for little-endian cores.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22 10:48:34 -08:00
Alexey Neyman
87bfd55b3b Give companion tools some love.
Allow selection of make/m4/... version. Support imports of new versions
via addToolVersion.sh. Import newest versions of the companion tools.

One non-trivial change is the handling of make versions. Existing code
was not handling make companion tool as described (see the previous
commit). However, since most modern systems have make 4.x, that previous
commit made crosstool-ng always build make as a companion tool.

This traces back to the commit dd15c93 from 2014. That commit's log message
says that actually it was 3.81 which broke the build for certain component
(it was originally breaking eglibc, but I noticed it was breaking current
glibc on powerpc64), and introduced an option to force using 3.81 by
"components that really need it". It looks like in 2.5 years we haven't
seen any such components that really need make 3.81, and (given that make
has already had a few releases since 3.81) we're unlikely to see them
in the future.

Hence, the configure check is changed from "exactly 3.81" to "3.81 or newer".
In its current form, configure will accept make 3.80+, and will not require
make as a companion tool for 3.81+. We might want to bump the latter check
to even newer version given the claim from dd15c93. Killed
COMP_TOOLS_make_3_81_NEEDED.

Anyway, I retained 3.81 just in case; ditto for m4 1.14.3, autoconf 2.65
and automake 1.11.1.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-21 23:03:03 -08:00
Alexey Neyman
488b27f58b Partially revert 6f8e89cb5c.
The referenced commit replaced 'make' with '${make}' everywhere. This is
wrong for at least the utilities that we may build as companion tools
(make, libtool): this will always invoke the version detected by configure
by supplying the absolute path. In other words, the wrappers in
.build/tools/bin are not fallbacks - they are either temporary (in case
a respective companion tool is built) or permanent redirectors.

This is the reason why the PATH= has .build/*/buildtools/bin at higher
precedence than .build/tools/bin; the latter has the versions detected by
configure and the former has the versions built as companion tools.

Revert the rest of the gang (grep/sed/...) for consistency. After all,
we may decide to supply some of them as well (awk, for instance).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-20 23:50:17 -08:00
Bernhard Walle
6cb9e62f6c comptools/make: Fix CT_COMP_TOOLS_make_gmake option
Commit 6f8e89cb5c broke that option.
Since ${make} points to /usr/bin/make, making the symlink from gmake
to /usr/bin/make is obviously the wrong decision. gmake should link to
our (old-versioned) self-built make.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
2016-11-19 12:40:47 -08:00
Dmitry Pankratov
0d17d26005 Merge remote-tracking branch 'upstream/master' 2016-11-11 21:03:11 +01:00
Bryan Hundven
6a1bf36b48 Merge pull request #472 from stilor/unparallel-make-install
Do not run 'make install' in parallel in GCC.
2016-11-09 18:52:30 -08:00
Alexey Neyman
a76c549823 Merge pull request #452 from KirillSmirnov/janitorial
Janitorial: update patches
2016-11-09 17:35:27 -08:00
Alexey Neyman
f4c7688946 Do not run 'make install' in parallel in GCC.
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-09 16:46:01 -08:00
Bryan Hundven
dc280e477d Merge branch 'master' into janitorial 2016-10-24 10:07:16 -07:00
Alexey Neyman
91575d02c4 Merge branch 'master' into static-libgcc-more-fixes 2016-10-12 11:58:28 -07:00
Alexey Neyman
3330ad7197 Fine-tune moving gcc libraries to sysroot.
1. Check if anything was installed outside sysroot; on some [baremetal only?]
configurations GCC doesn't install anything to ${CT_PREFIX_DIR}/${CT_TARGET}/lib.
2. We need to create <sysroot>/lib/<multilib> if it doesn't exist
(MUSL only installs in <sysroot>/usr/lib).
3. Do not move the linker scripts; elf2flt expects to find them
in gcc's dir, not sysroot.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-07 10:34:33 -07:00
Alexey Neyman
8121be5b21 Fix m68k with uClibc-ng >= 1.0.15.
1.0.15 only kept a single LINUXTHREADS option, and renamed it, making it
no longer option-compatible with uClibc.

The option for "1.0.14 or later" version of uClibc-ng is not currently
used; rename it to "1.0.15 or later" and use it to handle newer
uClibc-ng's linuxthreads.

m68k happens to be the only sample using linuxthreads.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-10-04 17:47:15 -07:00
Kirill Smirnov
c7cb030fd5 Merge branch 'master' into janitorial 2016-10-05 02:59:48 +03:00