From f0716643b41aaff6ba37ea629ccead7b2011f618 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 18 Feb 2017 18:16:25 -0800 Subject: Garbage collection for GCC options that are same ... on all supported versions. Signed-off-by: Alexey Neyman --- scripts/build/cc/100-gcc.sh | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'scripts/build/cc') diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 6d5a6af2..e14b5102 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -411,10 +411,9 @@ do_gcc_core_backend() { fi done - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") - fi + extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then extra_config+=("--enable-__cxa_atexit") else @@ -493,13 +492,13 @@ do_gcc_core_backend() { if [ "${CT_CLOOG}" = "y" ]; then extra_config+=("--with-cloog=${complibs}") fi - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then + else extra_config+=("--with-isl=no") extra_config+=("--with-cloog=no") fi if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then extra_config+=("--enable-lto") - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then + else extra_config+=("--disable-lto") fi @@ -893,10 +892,9 @@ do_gcc_backend() { done [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared") - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") - fi + extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") + case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in y) extra_config+=("--enable-sjlj-exceptions");; m) ;; @@ -1004,13 +1002,13 @@ do_gcc_backend() { if [ "${CT_CLOOG}" = "y" ]; then extra_config+=("--with-cloog=${complibs}") fi - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then + else extra_config+=("--with-isl=no") extra_config+=("--with-cloog=no") fi if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then extra_config+=("--enable-lto") - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then + else extra_config+=("--disable-lto") fi -- cgit v1.2.3 From 264b0c8686051f6a8fe08cc41a34d5225d83e7a6 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 18 Feb 2017 18:41:04 -0800 Subject: More GC Signed-off-by: Alexey Neyman --- config/cc/gcc.in | 10 ---------- config/cc/gcc.in.2 | 2 -- scripts/build/cc/100-gcc.sh | 38 ++++++++++++++++---------------------- 3 files changed, 16 insertions(+), 34 deletions(-) (limited to 'scripts/build/cc') diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 99bd3d28..a2f75ee1 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -130,8 +130,6 @@ config CC_GCC_4_8 select CC_GCC_4_8_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_SUPPORT_GOLANG config CC_GCC_4_8_or_later @@ -142,8 +140,6 @@ config CC_GCC_4_9 select CC_GCC_4_9_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_SUPPORT_GOLANG config CC_GCC_4_9_or_later @@ -155,8 +151,6 @@ config CC_GCC_5 select CC_GCC_5_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_GCC_HAS_LIBMPX select CC_SUPPORT_GOLANG @@ -169,8 +163,6 @@ config CC_GCC_6 select CC_GCC_6_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER select CC_GCC_HAS_LIBMPX select CC_SUPPORT_GOLANG @@ -183,8 +175,6 @@ config CC_GCC_latest select CC_GCC_6_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC - select CC_GCC_HAS_LIBQUADMATH - select CC_GCC_HAS_LIBSANITIZER # Only enable gcc's support for plugins if binutils has it as well # They are useful only when doing LTO, but it does no harm enabling diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 6c99f201..8818de6e 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -177,7 +177,6 @@ config CC_GCC_LIBSSP config CC_GCC_LIBQUADMATH bool prompt "Compile libquadmath" - depends on CC_GCC_HAS_LIBQUADMATH help libquadmath is a library which provides quad-precision mathematical functions on targets supporting the __float128 datatype. See: @@ -188,7 +187,6 @@ config CC_GCC_LIBQUADMATH config CC_GCC_LIBSANITIZER bool prompt "Compile libsanitizer" - depends on CC_GCC_HAS_LIBSANITIZER depends on THREADS_NATIVE depends on ! LIBC_uClibc && ! LIBC_musl # Currently lacks required headers (like netrom.h) help diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index e14b5102..43488a24 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -434,14 +434,12 @@ do_gcc_core_backend() { else extra_config+=(--disable-libssp) fi - if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then - if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then - extra_config+=(--enable-libquadmath) - extra_config+=(--enable-libquadmath-support) - else - extra_config+=(--disable-libquadmath) - extra_config+=(--disable-libquadmath-support) - fi + if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then + extra_config+=(--enable-libquadmath) + extra_config+=(--enable-libquadmath-support) + else + extra_config+=(--disable-libquadmath) + extra_config+=(--disable-libquadmath-support) fi core_LDFLAGS+=("${ldflags}") @@ -928,22 +926,18 @@ do_gcc_backend() { else extra_config+=(--disable-libssp) fi - if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then - if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then - extra_config+=(--enable-libquadmath) - extra_config+=(--enable-libquadmath-support) - else - extra_config+=(--disable-libquadmath) - extra_config+=(--disable-libquadmath-support) - fi + if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then + extra_config+=(--enable-libquadmath) + extra_config+=(--enable-libquadmath-support) + else + extra_config+=(--disable-libquadmath) + extra_config+=(--disable-libquadmath-support) fi - if [ "${CT_CC_GCC_HAS_LIBSANITIZER}" = "y" ]; then - if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then - extra_config+=(--enable-libsanitizer) - else - extra_config+=(--disable-libsanitizer) - fi + if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then + extra_config+=(--enable-libsanitizer) + else + extra_config+=(--disable-libsanitizer) fi if [ "${CT_CC_GCC_HAS_LIBMPX}" = "y" ]; then -- cgit v1.2.3 From 45512b003d04b5a89c5c3bb6b674683d82b87f42 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 18 Feb 2017 19:00:25 -0800 Subject: Have LTO depend-on non-static builds 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 --- config/cc/gcc.in.2 | 1 + scripts/build/cc/100-gcc.sh | 2 ++ 2 files changed, 3 insertions(+) (limited to 'scripts/build/cc') diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 8818de6e..638bfe93 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -124,6 +124,7 @@ config CC_GCC_USE_GRAPHITE config CC_GCC_USE_LTO bool "Enable LTO" default y + depends on ! STATIC_TOOLCHAIN help Enable the Link Time Optimisations. diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 43488a24..91ddd3da 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -1050,6 +1050,8 @@ do_gcc_backend() { if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then extra_config+=( --enable-plugin ) + else + extra_config+=( --disable-plugin ) fi if [ "${CT_CC_GCC_GOLD}" = "y" ]; then extra_config+=( --enable-gold ) -- cgit v1.2.3 From 4d723d08924a5746da2336410e39de5a7e363760 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 18 Feb 2017 23:14:52 -0800 Subject: More garbage collection Signed-off-by: Alexey Neyman --- config/cc/gcc.in | 29 +---------------------------- config/companion_libs.in | 6 +++--- scripts/build/cc/100-gcc.sh | 20 ++++++-------------- 3 files changed, 10 insertions(+), 45 deletions(-) (limited to 'scripts/build/cc') diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 0cbf0b61..e2fb8dba 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -7,6 +7,7 @@ ## select CC_SUPPORT_ADA ## select CC_SUPPORT_OBJC ## select CC_SUPPORT_OBJCXX +## select CC_SUPPORT_GOLANG ## ## help gcc is the full-blown GNU compiler. This is what most people will choose. ## help @@ -128,9 +129,6 @@ endif # ! CC_GCC_CUSTOM config CC_GCC_4_8 bool select CC_GCC_4_8_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_SUPPORT_GOLANG config CC_GCC_4_8_or_later bool @@ -138,9 +136,6 @@ config CC_GCC_4_8_or_later config CC_GCC_4_9 bool select CC_GCC_4_9_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC - select CC_SUPPORT_GOLANG config CC_GCC_4_9_or_later bool @@ -149,10 +144,7 @@ config CC_GCC_4_9_or_later config CC_GCC_5 bool select CC_GCC_5_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC select CC_GCC_HAS_LIBMPX - select CC_SUPPORT_GOLANG config CC_GCC_5_or_later bool @@ -161,10 +153,7 @@ config CC_GCC_5_or_later config CC_GCC_6 bool select CC_GCC_6_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC select CC_GCC_HAS_LIBMPX - select CC_SUPPORT_GOLANG config CC_GCC_6_or_later bool @@ -173,10 +162,7 @@ config CC_GCC_6_or_later config CC_GCC_latest bool select CC_GCC_6_or_later - select CC_GCC_USE_GMP_MPFR - select CC_GCC_USE_MPC select CC_GCC_HAS_LIBMPX - select CC_SUPPORT_GOLANG # Only enable gcc's support for plugins if binutils has it as well # They are useful only when doing LTO, but it does no harm enabling @@ -193,15 +179,6 @@ config CC_GCC_GOLD depends on BINUTILS_GOLD_INSTALLED default y -config CC_GCC_USE_GMP_MPFR - bool - select GMP_NEEDED - select MPFR_NEEDED - -config CC_GCC_USE_MPC - bool - select MPC_NEEDED - config CC_GCC_HAS_LIBMPX bool @@ -227,8 +204,4 @@ config CC_LANG_JAVA_USE_ECJ default y depends on CC_LANG_JAVA -# Fortran always requires GMP+MPFR, whatever the gcc version -config CC_LANG_FORTRAN - select CC_GCC_USE_GMP_MPFR - source "config/cc/gcc.in.2" diff --git a/config/companion_libs.in b/config/companion_libs.in index 02f2ecb2..fae49ec0 100644 --- a/config/companion_libs.in +++ b/config/companion_libs.in @@ -19,12 +19,12 @@ config GETTEXT_NEEDED select COMPLIBS_NEEDED config GMP_NEEDED - bool + def_bool y select GMP select COMPLIBS_NEEDED config MPFR_NEEDED - bool + def_bool y select MPFR select COMPLIBS_NEEDED @@ -39,7 +39,7 @@ config CLOOG_NEEDED select COMPLIBS_NEEDED config MPC_NEEDED - bool + def_bool y select MPC select COMPLIBS_NEEDED diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 91ddd3da..48f51220 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -476,13 +476,9 @@ do_gcc_core_backend() { core_LDFLAGS+=("-lm") fi - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then - extra_config+=("--with-gmp=${complibs}") - extra_config+=("--with-mpfr=${complibs}") - fi - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then - extra_config+=("--with-mpc=${complibs}") - fi + extra_config+=("--with-gmp=${complibs}") + extra_config+=("--with-mpfr=${complibs}") + extra_config+=("--with-mpc=${complibs}") if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then if [ "${CT_ISL}" = "y" ]; then extra_config+=("--with-isl=${complibs}") @@ -982,13 +978,9 @@ do_gcc_backend() { final_LDFLAGS+=("-lm") fi - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then - extra_config+=("--with-gmp=${complibs}") - extra_config+=("--with-mpfr=${complibs}") - fi - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then - extra_config+=("--with-mpc=${complibs}") - fi + extra_config+=("--with-gmp=${complibs}") + extra_config+=("--with-mpfr=${complibs}") + extra_config+=("--with-mpc=${complibs}") if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then if [ "${CT_ISL}" = "y" ]; then extra_config+=("--with-isl=${complibs}") -- cgit v1.2.3