aboutsummaryrefslogtreecommitdiff
path: root/scripts/build
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* | Merge pull request #586 from stilor/restore-old-kernel-libcAlexey Neyman2017-02-101-0/+64
|\ \ | | | | | | Restore old kernel/glibc versions
| * | External addons supported by glibc even nowAlexey Neyman2017-02-091-27/+24
| | | | | | | | | | | | | | | | | | ... though none are provided by default. Signed-off-by: Alexey Neyman <stilor@att.net>
| * | Revert "glibc: Remove support for downloading and extracting add-ons"Alexey Neyman2017-02-091-0/+67
| |/ | | | | | | This reverts commit 39273e0843cc5f7f91d50651b299a0472f59f472.
* | Merge pull request #584 from stilor/disallow-gold-for-elf2fltAlexey Neyman2017-02-101-4/+0
|\ \ | | | | | | Require BFD linker if building for flat format
| * | Remove wrapping if in 300-gdb.shAlexey Neyman2017-02-091-4/+0
| |/ | | | | | | | | | | | | | | 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>
* / Supply --disable-build-with-cxx instead of requiring C++Alexey Neyman2017-02-091-0/+6
|/ | | | | | | ... when building native GDB/gdbserver. Suggested by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Alexey Neyman <stilor@att.net>
* elf2flt: use CT_ARCH to set target CPU, not CT_TARGETCarlos Santos2017-02-061-1/+1
| | | | | | | | | | | | | | | 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>
* Merge pull request #575 from stilor/ncurses-configureAlexey Neyman2017-02-061-1/+21
|\ | | | | Allow some tunables for ncurses