aboutsummaryrefslogtreecommitdiff
path: root/scripts/build
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle Python with non-default namesAlexey Neyman2017-04-011-2/+15
| | | | | | | | 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>
* Always build ncurses-for-buildAlexey Neyman2017-04-011-25/+5
| | | | | | | | 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>
* Fix symlinking to multiarch tools on CygwinAlexey Neyman2017-04-011-20/+6
| | | | | | | | | | | | 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>
* MinGW-W64 fixesAlexey Neyman2017-03-302-52/+99
| | | | | | | | | | | | | | | | | | | | | | | - 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>
* Add symlinks from the libraries' original location to the new one.Alexey Neyman2017-03-291-0/+3
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix up the sysroot issue for sh4 in a different wayAlexey Neyman2017-03-263-53/+31
| | | | | | | | | | | (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>
* Do not create multilib symlinks if not using sysrootAlexey Neyman2017-03-231-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Make creation of ld.so.conf optionalAlexey Neyman2017-03-221-2/+2
| | | | | | | | | | | | | | | | ... 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>
* Move some scripts to a new directory, maintainerAlexey Neyman2017-03-211-34/+0
| | | | | | ... which are not of much interest to the end user. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #639 from stilor/tweak-gcc-movelibsAlexey Neyman2017-03-195-92/+91
|\ | | | | When moving gcc libs, prefer the same directory as libc
| * Add an option to "demultilib"Alexey Neyman2017-03-171-20/+38
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Create ld.so.confAlexey Neyman2017-03-132-2/+31
| | | | | | | | | | | | | | 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>
| * Fix up ld.so symlinks for muslAlexey Neyman2017-03-122-48/+4
| | | | | | | | | | | | | | | | 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>
| * Move tools alias creation to a common functionAlexey Neyman2017-03-123-19/+6
| | | | | | | | | | | | | | | | ... 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>
| * When moving gcc libs, prefer the same directory as libcAlexey Neyman2017-03-091-3/+12
| | | | | | | | | | | | | | 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>
* | Disable Guile in make if building for host in canadianAlexey Neyman2017-03-101-1/+7
|/ | | | | | | | | | | | | | | | 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>
* Correct warning text to include newer glibc versionsAlexey Neyman2017-03-081-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #635 from stilor/macos-skip-localesAlexey Neyman2017-03-072-1/+6
|\ | | | | Skip locales on macos
| * Disable format warnings for clangAlexey Neyman2017-03-071-0/+5
| | | | | | | | | | | | | | 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>
| * Skip building locales on macos, tooAlexey Neyman2017-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | --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>
* | Merge pull request #634 from stilor/macos-canadianAlexey Neyman2017-03-072-5/+33
|\ \ | | | | | | A couple of fixes for canadian samples on macos
| * | Only add clang-specific flags to clangAlexey Neyman2017-03-061-4/+32
| | | | | | | | | | | | | | | | | | I.e., only to CFLAGS_FOR_BUILD if the build is canadian. Signed-off-by: Alexey Neyman <stilor@att.net>
| * | Use CHOST instead of CROSS_PREFIXAlexey Neyman2017-03-061-1/+1
| |/ | | | | | | | | | | | | 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>
* | Merge pull request #627 from dankm/freebsdAlexey Neyman2017-03-074-15/+37
|\ \ | |/ |/| FreeBSD build support
| * Explicitly use gcc for GMPDan McGregor2017-03-061-0/+3
| | | | | | | | | | | | | | | | 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>
| * glibc: hide native c++ executable from buildDan McGregor2017-03-011-0/+4
| | | | | | | | | | | | | | | | | | 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>
| * Bring in FreeBSD supportDan McGregor2017-03-013-15/+30
| | | | | | | | | | | | Check for FreeBSD specific issues, it is mostly the same as Darwin. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
* | Do not pretend we're downloading anythingAlexey Neyman2017-03-031-3/+1
|/ | | | | | ... when we're actually don't. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #625 from stilor/skip-localedefAlexey Neyman2017-02-281-0/+9
|\ | | | | Skip localedef
| * Skip locale build on CygwinAlexey Neyman2017-02-281-0/+9
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* | Avoid -T, it is not available on macosAlexey Neyman2017-02-281-3/+1
|/ | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Require GNU sedAlexey Neyman2017-02-261-22/+0
| | | | | | | | | | | | 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>
* Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman2017-02-2610-29/+27
| | | | This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
* Merge pull request #614 from stilor/elf2flt-cygwinAlexey Neyman2017-02-221-1/+0
|\ | | | | Fix the build of elf2flt on Cygwin
| * Fix the build of elf2flt on CygwinAlexey Neyman2017-02-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Added new gcc config option CC_GCC_CONFIG_TLSJasmin Jessich2017-02-211-0/+12
|/ | | | | | | 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>
* Merge pull request #608 from stilor/static-no-pluginsAlexey Neyman2017-02-191-48/+34
|\ | | | | Disable LTO for static toolchain
| * More garbage collectionAlexey Neyman2017-02-181-14/+6
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
| * Have LTO depend-on non-static buildsAlexey Neyman2017-02-181-0/+2
| | | | | | | | | | | | | | | | | | 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>
| * More GCAlexey Neyman2017-02-181-22/+16
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
| * Garbage collection for GCC options that are sameAlexey Neyman2017-02-181-12/+10
| | | | | | | | | | | | ... on all supported versions. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Add --disable-database and --with-fallbacks separatelyAlexey Neyman2017-02-171-3/+12
|/ | | | | | The dependency between them has been removed in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #599 from stilor/avoid-gettext-for-linux-hostAlexey Neyman2017-02-152-12/+24
|\ | | | | Skip gettext/libiconv on linux-gnu
| * Skip gettext/libiconv on linux-gnuAlexey Neyman2017-02-142-12/+24
| | | | | | | | | | | | | | 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>
* | Determine whether -E/-r option selects extended regexpAlexey Neyman2017-02-1310-27/+29
|/ | | | | | | | | | | | | | ... 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>
* Merge pull request #589 from stilor/skip-complibs-check-on-host-canadianAlexey Neyman2017-02-126-12/+42
|\ | | | | Skip complibs check on host for canadian
| * Skip comp.libs checking on host for canadianAlexey Neyman2017-02-116-12/+42
| | | | | | | | | | | | | | ... they all want to run the binaries they produced, which fails when build!=host. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Remove 'relocs' from archscripts being builtAlexey Neyman2017-02-111-0/+11
|/ | | | | | | ... 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>
* Merge pull request #587 from stilor/select-uclibceavi-suffixAlexey Neyman2017-02-101-1/+1
|\ | | | | Allow one to select uclibceabi/uclibcgnueabi suffix
| * Allow one to select uclibceabi/uclibcgnueabi suffixAlexey Neyman2017-02-091-1/+1
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>