summaryrefslogtreecommitdiff
path: root/scripts/build/cc
AgeCommit message (Collapse)AuthorFilesLines
2019-02-20Duh! do not override ${cflags}Alexey Neyman1-2/+3
... in the backend function with ${CFLAGS_FOR_HOST}. The caller either supplies them already, or (in case of pass-1/2 of the canadian cross) passes ${CFLAGS_FOR_BUILD} there. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-18Use -idirafter instead of copying headers.Alexey Neyman1-13/+20
Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-13Implement an option to store downloads in subdirsAlexey Neyman1-2/+2
... following the buildroot model. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-01-15Canonicalize prefix dir and sysrootAlexey Neyman1-5/+14
... because GCC prints the sysroot with symlinks resolved. Fixes #892. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-11Add a symlink to LTO for binutilsAlexey Neyman1-0/+14
... so that ar can find the plugin even when invoked directly, not via the gcc-ar plugin. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07Set ALL_TARGET_CFLAGS initially for !MULTILIBAlexey Neyman1-21/+23
Fixes #1107. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-11-03Merge pull request #985 from antmak/platform_headersAlexey Neyman1-6/+5
Use the platform headers in the pass-2 and canadian gcc stages
2018-10-22Supply "very old" and "very new" glibc versionsAlexey Neyman1-1/+5
... as 1.0 and 99.99, respectively, to gcc configure. Fixes #1031. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-12Use the platform headers in the pass-2 and canadian gcc stagesAnton Maklakov1-6/+5
2018-06-05Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman1-3/+9
... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-12cc/gcc: use correct sysroot arg for do_gcc_core_backendM1cha1-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>
2017-09-28Add an ability to verify the digest/signatureAlexey Neyman1-1/+2
Fixes #611. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03Workaround for static uClibc-ng issue with -lpthreadAlexey Neyman1-2/+9
Also, preserve .config when running test-package.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-09-03Super-H multilib toolchain fixesAlexey Neyman1-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>
2017-09-01config: Add package versioning flexibilityNathan Chancellor1-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>
2017-08-26Fix glibc-ports with the new frameworkAlexey Neyman1-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>
2017-08-22Fix PPC64LE by supplying --with-glibc-versionAlexey Neyman1-0/+10
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-21Save export status for environment varsAlexey Neyman1-2/+2
... and limit our modifications to our variables. Fixes #762. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-19Use per-package list of formats to determine downloadsAlexey Neyman1-1/+1
Fixes #789 Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-10Resolve a few more TBDsAlexey Neyman1-4/+5
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Some locations were missed while renaming kconfig symbolsAlexey Neyman1-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>
2017-07-08Building packages using the new frameworkAlexey Neyman1-0/+1
(fails at building GMP off the VCS because it needs to run bootstrap scripts) Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Fix the references to old config variablesAlexey Neyman1-33/+11
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-16Honor CFLAGS_FOR_BUILDAlexey Neyman1-1/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-05-25Retire CT_CC_GCC_TARGET_FINALAlexey Neyman1-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>
2017-03-29Add symlinks from the libraries' original location to the new one.Alexey Neyman1-0/+3
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-27Fix up the sysroot issue for sh4 in a different wayAlexey Neyman1-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>
2017-03-23Do not create multilib symlinks if not using sysrootAlexey Neyman1-1/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
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-13Create ld.so.confAlexey Neyman1-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>
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-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-02-27Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman1-1/+1
This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
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-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-14Determine whether -E/-r option selects extended regexpAlexey Neyman1-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>
2017-01-25Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman1-16/+18
... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16Merge pull request #535 from stilor/broke-newlib-cxx-canadianAlexey Neyman1-0/+7
Restore copying headers for gcc_build
2017-01-14Restore copying headers for gcc_build.Alexey Neyman1-0/+7
Only needed in canadian configurations to build libstdc++. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14Use ${CT_CC} instead of gcc ...Alexey Neyman1-12/+12
... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14Merge pull request #526 from stilor/double-includeAlexey Neyman1-3/+0
Avoid creating include/include
2017-01-13Unify fetching Linaro components.Alexey Neyman1-24/+12
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13No need to copy header; libc_start_file does it.Alexey Neyman1-3/+0
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Select libintl from gettext we built.Alexey Neyman1-2/+10
Also, require gettext for NLS, and require iconv/ncurses for gettext. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Kill CT_COMPLIBS_SHARED.Alexey Neyman1-14/+12
There is no such option so the check is always true. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17Pass original multi_os_dir to iterator.Alexey Neyman1-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>
2016-11-29Pass FOR_BUILD flags when building the pass-1/2 core GCC.Alexey Neyman1-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>