aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #985 from antmak/platform_headersAlexey Neyman2018-11-031-6/+5
|\ | | | | Use the platform headers in the pass-2 and canadian gcc stages
| * Use the platform headers in the pass-2 and canadian gcc stagesAnton Maklakov2018-06-121-6/+5
| |
* | Supply "very old" and "very new" glibc versionsAlexey Neyman2018-10-211-1/+5
| | | | | | | | | | | | | | | | ... as 1.0 and 99.99, respectively, to gcc configure. Fixes #1031. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman2018-06-051-3/+9
|/ | | | | | ... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
* cc/gcc: use correct sysroot arg for do_gcc_core_backendM1cha2018-02-121-1/+2
| | | | | | | This fixes gccs LIMITS_H_TEST detection for baremetal targets so limits.h will be installed correctly. Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
* Add an ability to verify the digest/signatureAlexey Neyman2017-09-271-1/+2
| | | | | | Fixes #611. Signed-off-by: Alexey Neyman <stilor@att.net>
* Workaround for static uClibc-ng issue with -lpthreadAlexey Neyman2017-09-031-2/+9
| | | | | | Also, preserve .config when running test-package.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
* Super-H multilib toolchain fixesAlexey Neyman2017-09-031-1/+1
| | | | | | | | | | | | | | | 1. On SuperH, configuring GCC with explicit variant of the CPU (like "sh4") limits the default set of multilibs to just that CPU and requires --with-multilib-list to change. Allow for "unspecified" variant, so that we can defer to GCC to determine the list. 2. Support toolchains with both endiannesses at the same time. 3. Add a SuperH/newlib sample 4. Add more flags processing for uClibc Signed-off-by: Alexey Neyman <stilor@att.net>
* config: Add package versioning flexibilityNathan Chancellor2017-09-011-2/+2
| | | | | | | | | | | | | | Some users (like myself) may want to omit the crosstool-NG version from the binaries' versioning output, as it can be incredibly long and not too helpful. Add a config option to disable it. The possible combinations are as follows: - crosstool-NG version (default) - crosstool-NG version - custom toolchain ID - Custom toolchain ID - No crosstool-NG version OR custom toolchain ID Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* Fix glibc-ports with the new frameworkAlexey Neyman2017-08-261-1/+3
| | | | | | | While here, also consider patched by anything other than "bundled patches" as per-target sources. Add scary warnings in case of a failure. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix PPC64LE by supplying --with-glibc-versionAlexey Neyman2017-08-221-0/+10
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Save export status for environment varsAlexey Neyman2017-08-211-2/+2
| | | | | | | | ... and limit our modifications to our variables. Fixes #762. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use per-package list of formats to determine downloadsAlexey Neyman2017-08-191-1/+1
| | | | | | Fixes #789 Signed-off-by: Alexey Neyman <stilor@att.net>
* Resolve a few more TBDsAlexey Neyman2017-07-091-4/+5
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Some locations were missed while renaming kconfig symbolsAlexey Neyman2017-07-081-7/+6
| | | | | | | | | ... because there the symbols were constructer part by part. Also, remove cc.sh and source $(CT_CC).sh directly - we only build a single compiler at a time. Signed-off-by: Alexey Neyman <stilor@att.net>
* Building packages using the new frameworkAlexey Neyman2017-07-081-0/+1
| | | | | | (fails at building GMP off the VCS because it needs to run bootstrap scripts) Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-081-33/+11
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Honor CFLAGS_FOR_BUILDAlexey Neyman2017-06-151-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire CT_CC_GCC_TARGET_FINALAlexey Neyman2017-05-241-8/+4
| | | | | | | | | | | 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>
* 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-261-52/+2
| | | | | | | | | | | (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>
* 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-131-1/+1
| | | | | | | 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>
* 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>
* 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>
* Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman2017-02-261-1/+1
| | | | This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
* 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>
* 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>
* Determine whether -E/-r option selects extended regexpAlexey Neyman2017-02-131-1/+1
| | | | | | | | | | | | | | ... 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>
* Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman2017-01-251-16/+18
| | | | | | ... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #535 from stilor/broke-newlib-cxx-canadianAlexey Neyman2017-01-161-0/+7
|\ | | | | Restore copying headers for gcc_build
| * Restore copying headers for gcc_build.Alexey Neyman2017-01-141-0/+7
| | | | | | | | | | | | Only needed in canadian configurations to build libstdc++. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Use ${CT_CC} instead of gcc ...Alexey Neyman2017-01-131-12/+12
|/ | | | | | ... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #526 from stilor/double-includeAlexey Neyman2017-01-131-3/+0
|\ | | | | Avoid creating include/include
| * No need to copy header; libc_start_file does it.Alexey Neyman2017-01-121-3/+0
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* | Unify fetching Linaro components.Alexey Neyman2017-01-121-24/+12
|/ | | | | | Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib. Signed-off-by: Alexey Neyman <stilor@att.net>
* Select libintl from gettext we built.Alexey Neyman2017-01-101-2/+10
| | | | | | Also, require gettext for NLS, and require iconv/ncurses for gettext. Signed-off-by: Alexey Neyman <stilor@att.net>
* Kill CT_COMPLIBS_SHARED.Alexey Neyman2017-01-101-14/+12
| | | | | | There is no such option so the check is always true. Signed-off-by: Alexey Neyman <stilor@att.net>
* Pass original multi_os_dir to iterator.Alexey Neyman2016-12-171-2/+3
| | | | | | | | 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>
* Pass FOR_BUILD flags when building the pass-1/2 core GCC.Alexey Neyman2016-11-281-7/+8
| | | | | | | | | | | | 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>
* Partially revert 6f8e89cb5ca061e899bf3feaaf3fecf30d366c3e.Alexey Neyman2016-11-201-27/+27
| | | | | | | | | | | | | | | | | | 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>
* Do not run 'make install' in parallel in GCC.Alexey Neyman2016-11-091-3/+12
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Fine-tune moving gcc libraries to sysroot.Alexey Neyman2016-10-071-0/+12
| | | | | | | | | | | 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>
* Merge branch 'master' into x86-muslAlexey Neyman2016-10-041-2/+27
|\
| * GCC uses multi_os_dir for libgcc, not multi_dir.Alexey Neyman2016-10-021-1/+1
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
| * Fix issue #449.Alexey Neyman2016-10-021-2/+27
| | | | | | | | | | | | | | After building final gcc, place the libraries in non-sysroot libs into sysroot. Signed-off-by: Alexey Neyman <stilor@att.net>