Commit Graph

1768 Commits

Author SHA1 Message Date
Nye Liu
50df064004 Add option to build gdbserver for target that does not require libstdc++.so 2017-06-16 22:28:07 -07:00
Alexey Neyman
1e37cd5450 Honor CFLAGS_FOR_BUILD
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-15 23:07:00 -07:00
Chris Packham
a4feec224c Set CT_BUILD_DIR prior to using it
Fixes #731

CT_BUILD_DIR is used in CT_DoExecLog. We need to ensure that it is
set before the first call to CT_DoExecLog.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2017-06-15 16:29:21 +12:00
Alexey Neyman
1b4e784a0b Fix debuild warnings/errors
- Update .gitignore, do not place .gitignore into directories installed
in bulk
- Remove executable permissions and shebangs from the scripts that are
supposed to be invoked only via ct-ng frontent; prepend them with $(bash).
Despite what showSamples.sh said, it already has some bashisms.
- Remove --with autotools-dev and override dh_update_autotools_config
to avoid having config.{sub,guess} clobbered with older versions
- Install bash completion where Debian (now) expects it
- Update man page to use .\" as the comment delimiter, instead of
undefined macro (."); also, minor text edits.
- Install kconfig.mk without execute permission.
- Remove shell wrappers from 170-localedef-fix-trampoline.patch, we
do not use that for applying patches
- Revoke execute permissions on 210-expat.sh
- Get flags from dpkg-buildflags if available

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-07 22:38:53 -07:00
Alexey Neyman
72a5a1d6de Add GDB 8.0 ...
... which now requires C++.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-04 23:23:09 -07:00
Andrew Wygle
61d1fa57c9 Added a sample of the MSP430 architecture and removed config.sub
override from msp430.sh

Signed-off-by: Andrew Wygle <awygle@gmail.com>
2017-06-02 15:32:55 -07:00
Andrew Wygle
68d0cfd0e0 Added MSP430 architecture support.
Signed-off-by: Andrew Wygle <awygle@gmail.com>
2017-06-02 13:06:29 -07:00
Alexey Neyman
20a8525e8b Retire CT_CC_GCC_TARGET_FINAL
Make this behavior default in case the core gcc backend is used
for final compiler (i.e., for baremetal configurations). Not
setting this option breaks canadian baremetal configurations,
and not setting it makes little sense at all in any baremetal
configuration (since in baremetal we don't have any libc to begin
with).

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-24 23:03:34 -07:00
Alexey Neyman
753236ea22 Handle ming32 as a host
zlib refuses to run configure with mingw32 host and insists that
win32/Makefile.gcc is used instead.

This requires a change in this Makefile to support static-only builds.

Fixes #694.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-24 23:03:02 -07:00
Alexey Neyman
8e7947cb35 Print gcc version in the same way as the rest
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-14 15:23:41 -07:00
hyc
8762c7698c Preliminary bionic/Android support
Mostly from Crystax NDK
2017-05-14 15:23:34 -07:00
Alexey Neyman
ef762bfe8e Merge pull request #716 from stilor/gcc7
Add GCC 7.1.0
2017-05-14 09:51:28 -07:00
Alexey Neyman
842915db44 Separate uclibc's multilib headers on MIPS, too
The generated sysnum.h is different for o32/n32/64 ABIs.

This needs to be revisited; either do this for all architecutres or
perhaps, compare the headers for various multilibs and combine them
if the are identical.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-14 00:04:05 -07:00
bRad
8543414be6 Simplified error message for CC 2017-05-10 13:00:23 -07:00
bRad
f4ef083099 Fixed up representation of PATH env. var in error message 2017-05-10 07:23:53 -07:00
bRad
079bdf1c91 Added CT_TestAndAbort trivial sanity checks for CC and CXX to avoid libiconnv build failures https://github.com/crosstool-ng/crosstool-ng/issues/711 2017-05-10 04:48:59 -07:00
Alexey Neyman
c9dad33728 Use config from the install location
... no need to create a local symlink.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 23:33:36 -07:00
Alexey Neyman
105e4b59b7 Get rid of config.gen
Instead, prepare the files as a part of bootstrap and install them.
This avoids rebuilding these files in each working directory; they
don't change anyway as they are generated from the same installed
source.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 18:41:50 -07:00
Alexey Neyman
368a0169a2 Merge pull request #690 from stilor/fix-empty-symlinks
Avoid creating symlinks with empty prefix
2017-04-13 08:43:42 -07:00
Alexey Neyman
8f5dfe97c2 Avoid creating symlinks with empty prefix
(regression after Cygwin fix)

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-13 00:08:36 -07:00
Alexey Neyman
9976611216 Doc renames & issue template
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-13 00:07:29 -07:00
Alexey Neyman
59651566a5 Make guidelines for bug reporting more explicit
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-10 14:01:08 -07:00
Alexey Neyman
9a91220aa2 Fix MINGW_SECURE_API test
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-07 13:57:56 -07:00
Alexey Neyman
16e703a4e5 Merge pull request #676 from tamird/mingw-secure-api
MinGW: add --enable-secure-api config option
2017-04-07 10:13:06 -07:00
Tamir Duberstein
2e9863531f libc/mingw: quote variable in comparison
Building with CT_MINGW_TOOLS unset before this change produces:

	/usr/local/ct-ng/lib/crosstool-ng-1.23.0-rc2/scripts/build/libc/mingw.sh: line 212: [: =: unary operator expected
2017-04-06 20:14:36 -07:00
Tamir Duberstein
89468256ec
MinGW: add --enable-secure-api config option
Without this flag, MinGW does not expose secure variants of functions
such as strcpy_s.

See https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/crt/sec_api/string_s.h#l11.
2017-04-06 21:23:49 -04:00
Alexey Neyman
0fc6f1c47e CC_FOR_BUILD in gdb.sh
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-02 15:55:07 -07:00
Alexey Neyman
9a9b02acef Pass HOSTCC to uclibc's make
Else it looks for 'gcc'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-02 13:25:41 -07:00
Alexey Neyman
ae58824a7e Pass CC_FOR_BUILD to binutils
Otherwise, it fails if 'gcc' is not available.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-02 13:18:07 -07:00
Alexey Neyman
4562aa2cff Handle Python with non-default names
Check for python2/python3 and if found, pass them to --with-python.
Allow user to override the choice via a new config option. This
fixes systems where there is no "python", only "python2" or "python3".

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-01 19:19:35 -07:00
Alexey Neyman
91c192e318 Always build ncurses-for-build
If the build machine lacks tic, we need to build it in the first pass
even if host==build: ncurses Makefiles are not smart enough to build
'tic' first and use the just-built tic to compile fallback terminfo.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-01 19:17:31 -07:00
Alexey Neyman
d6bf8e2d98 Fix symlinking to multiarch tools on Cygwin
On cygwin, creating both "foo.exe" and "foo" results in 'ln -sf'
returning an error ("File exists"). However, ln silently removes
the "foo.exe" in this case, so an attempt to re-run the same command
manually then succeeds.

Hence, make binutils.sh also create symlinks with .exe prefix,
using the new & shiny routine.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-01 10:12:05 -07:00
Alexey Neyman
7111f95dc3 MinGW-W64 fixes
- libpthread requires iteration over multilibs, unlike the core, it
does not detect and build multilibs by itself.

- Disable parallel builds for mingw-w64 components; until mingw-w64 core
builds clean, I am not trusting it.

- Make the list of tools to build configurable

- Turn on multilib in x86_64 sample.

- Make warnings about tuple less redundant. As in, "one WARN is enough,
no need to shout it three times".

- Messages about various steps/substeps are more aligned with the rest
of the components.

- Use 'make' instead of ${make} to invoke the companion make just built,
if applicable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-30 19:11:33 -07:00
Alexey Neyman
a7edff1820 Merge pull request #667 from stilor/cross-gdb-deps
cross-gdb: account for canadian/crossnative toolchains
2017-03-29 23:13:08 -07:00
Alexey Neyman
6af04d822b cross-gdb: account for canadian/crossnative toolchains
... when determining if it can be linked statically, and if Python
scripting should default to y.

Prompted by a failure of i686-w64-mingw32,nios2-spico-elf sample
on a system where configure didn't report static linking support.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-29 18:50:09 -07:00
Alexey Neyman
d83a003618 Add symlinks from the libraries' original location to the new one.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-29 13:29:31 -07:00
Alexey Neyman
a596ec5b39 Fix up the sysroot issue for sh4 in a different way
(see the comments in the code for details on the issue)

Old workaround in 100-gcc.sh stopped working (probably, due to one
of GCC version upgrades), so switch to the other approach originally
described there: adjust the list of multilibs to not include the
default target explicitly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-26 23:32:27 -07:00
Alexey Neyman
67ab129fc5 Do not create multilib symlinks if not using sysroot
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-23 09:13:51 -07:00
Alexey Neyman
3d1678a7f6 Make creation of ld.so.conf optional
... enabled by default for multilib and disabled otherwise. Buildroot
has been complaining about /etc/ld.so.conf presence for almost a year
now and I missed that.

After the release, xldd will be modified to query the compiler for
the list of multilibs to search. This would be too invasive change
before 1.23, though.

Note that it may lead to configurations where xldd currently does not
find the libraries (if both DEMULTILIB and CREATE_LDSO_CONF are turned
off). This is not the default setting in Kconfig, though.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-22 10:57:45 -07:00
Alexey Neyman
de4433298a Add a release creation script
One TBD left is the signing of the tarballs.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-21 14:04:12 -07:00
Alexey Neyman
3906acc007 Move some scripts to a new directory, maintainer
... which are not of much interest to the end user.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-21 14:03:31 -07:00
Alexey Neyman
9ed513c2d8 Cross-ldd: handling e_flags is tricky and depends on arch
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-20 14:51:17 -07:00
Alexey Neyman
89f0971391 Merge pull request #639 from stilor/tweak-gcc-movelibs
When moving gcc libs, prefer the same directory as libc
2017-03-19 00:34:51 -07:00
Alexey Neyman
63b2a19de4 Add an option to "demultilib"
It turns out buildroot does not currently accept a toolchain where a dynamic
linker does not reside in the multi-os-directory. Unfortunately this is
how glibc installs itself on AArch64 without any extra tricks.

So, provide an option to force everything into /lib or /usr/lib; patch to
buildroot will be worked on separately.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-17 14:31:17 -07:00
Alexey Neyman
b00dea9951 Check libraries for compatibility
... as we are going through various multilibs in ld.so.conf

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-14 19:28:26 -07:00
Alexey Neyman
11b52ab6d7 Create ld.so.conf
Also a fix for CT_IterateMultilibs: it didn't pass multi_os_dir_gcc, so
it only worked if the caller did *not* declare it as a local variable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-13 01:08:13 -07:00
Alexey Neyman
b090e0f74d Fix up ld.so symlinks for musl
Convert absolute targets to relative so that they are valid on the host,
too. The procedure is very similar to uclibc, so it is moved into a
common function.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 19:41:09 -07:00
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
dd55349646 Disable Guile in make if building for host in canadian
make's configure uses pkg-config to detect if Guile should be enabled;
on ArchLinux, this picks up Guile from build machine's pkgconfig and then
it fails to compile.

A better solution might be to create a ${CT_HOST}-pkg-config in
buildtools/bin that would report "unsupported" for all packages.
However a quick grep only showed pkg-config being used by GCJ
(not sure if it will build in canadian cross - we don't have any
samples with GCJ) and Blackfin simulator in GDB (Blackfin is not
currently supported by crosstool-ng). Hence, leave such pkg-config
implementation and testing for another day.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-10 11:59:52 -08: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