summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2017-03-19Merge pull request #639 from stilor/tweak-gcc-movelibsAlexey Neyman7-101/+293
When moving gcc libs, prefer the same directory as libc
2017-03-17Add an option to "demultilib"Alexey Neyman1-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>
2017-03-15Check libraries for compatibilityAlexey Neyman1-2/+54
... as we are going through various multilibs in ld.so.conf Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-13Create ld.so.confAlexey Neyman3-10/+40
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-13Fix up ld.so symlinks for muslAlexey Neyman3-48/+91
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-12Move tools alias creation to a common functionAlexey Neyman4-19/+59
... 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-10Disable Guile in make if building for host in canadianAlexey Neyman1-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>
2017-03-10When moving gcc libs, prefer the same directory as libcAlexey Neyman1-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>
2017-03-08Correct warning text to include newer glibc versionsAlexey Neyman1-1/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-07Merge pull request #635 from stilor/macos-skip-localesAlexey Neyman2-1/+6
Skip locales on macos
2017-03-07Merge pull request #634 from stilor/macos-canadianAlexey Neyman2-5/+33
A couple of fixes for canadian samples on macos
2017-03-07Merge pull request #627 from dankm/freebsdAlexey Neyman5-17/+39
FreeBSD build support
2017-03-07Disable format warnings for clangAlexey Neyman1-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>
2017-03-07Skip building locales on macos, tooAlexey Neyman1-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>
2017-03-07Only add clang-specific flags to clangAlexey Neyman1-4/+32
I.e., only to CFLAGS_FOR_BUILD if the build is canadian. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-07Use CHOST instead of CROSS_PREFIXAlexey Neyman1-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>
2017-03-06Explicitly use gcc for GMPDan McGregor1-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>
2017-03-06Sanitize CT_PREFIX_DIR, tooAlexey Neyman1-3/+5
Having .. in it breaks GCC's relocatability. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-04Add libiconv 1.15Alexey Neyman1-1/+2
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-04Do not pretend we're downloading anythingAlexey Neyman2-5/+3
... when we're actually don't. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-02glibc: hide native c++ executable from buildDan McGregor1-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>
2017-03-02Use BUILD_PREFIX and BUILD_SUFFIX for gcc versionDan McGregor1-1/+1
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-02Use configure to find the processor countDan McGregor1-1/+1
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-02Bring in FreeBSD supportDan McGregor3-15/+30
Check for FreeBSD specific issues, it is mostly the same as Darwin. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01Merge pull request #625 from stilor/skip-localedefAlexey Neyman1-0/+9
Skip localedef
2017-03-01Skip locale build on CygwinAlexey Neyman1-0/+9
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-01Avoid -T, it is not available on macosAlexey Neyman1-3/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-28Require xz to be presentAlexey Neyman1-19/+3
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-27Require GNU sedAlexey Neyman5-50/+28
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-27Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman19-91/+83
This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
2017-02-27Revert "Fix breakage from sed_r change in some auxiliary scripts"Alexey Neyman5-29/+29
This reverts commit 5ea3f2967f105713ec0c707b4f3da9519912f9d0.
2017-02-23Merge pull request #614 from stilor/elf2flt-cygwinAlexey Neyman1-1/+0
Fix the build of elf2flt on Cygwin
2017-02-23Fix the build of elf2flt on CygwinAlexey Neyman1-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>
2017-02-23Merge pull request #375 from jasmin-j/add_tls_configAlexey Neyman1-0/+12
Added new gcc config option CC_GCC_CONFIG_TLS
2017-02-22Kill a generated fileAlexey Neyman2-64/+1
... and add it to .gitignore. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-21Added new gcc config option CC_GCC_CONFIG_TLSJasmin Jessich1-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>
2017-02-20Merge pull request #608 from stilor/static-no-pluginsAlexey Neyman1-48/+34
Disable LTO for static toolchain
2017-02-19More garbage collectionAlexey Neyman1-14/+6
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-19Have LTO depend-on non-static buildsAlexey Neyman1-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>
2017-02-19More GCAlexey Neyman1-22/+16
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-19Garbage collection for GCC options that are sameAlexey Neyman1-12/+10
... on all supported versions. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-17Add --disable-database and --with-fallbacks separatelyAlexey Neyman1-3/+12
The dependency between them has been removed in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-16Fix breakage from sed_r change in some auxiliary scriptsAlexey Neyman5-29/+29
... do not overquote the variables from paths.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-16Merge pull request #599 from stilor/avoid-gettext-for-linux-hostAlexey Neyman2-12/+24
Skip gettext/libiconv on linux-gnu
2017-02-15Skip gettext/libiconv on linux-gnuAlexey Neyman2-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>
2017-02-14Determine whether -E/-r option selects extended regexpAlexey Neyman19-83/+91
... 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-13stat: determine whether it is BSD or GNU flavorAlexey Neyman2-4/+68
Seems like MacOS may have either in the path. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13Update config.{guess,sub} while testing curlAlexey Neyman2-2/+8
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13Detect both wget/curl and allow user to select the agentAlexey Neyman2-25/+40
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-12Merge pull request #589 from stilor/skip-complibs-check-on-host-canadianAlexey Neyman6-12/+42
Skip complibs check on host for canadian