1*4882a593Smuzhiyuncomment "GCC Options" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunchoice 4*4882a593Smuzhiyun prompt "GCC compiler Version" 5*4882a593Smuzhiyun default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy 6*4882a593Smuzhiyun default BR2_GCC_VERSION_ARC if BR2_arc 7*4882a593Smuzhiyun default BR2_GCC_VERSION_8_X if BR2_powerpc_SPE 8*4882a593Smuzhiyun default BR2_GCC_VERSION_11_X 9*4882a593Smuzhiyun help 10*4882a593Smuzhiyun Select the version of gcc you wish to use. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig BR2_GCC_VERSION_ARC 13*4882a593Smuzhiyun bool "gcc arc (10.x)" 14*4882a593Smuzhiyun # Only supported architecture 15*4882a593Smuzhiyun depends on BR2_arc 16*4882a593Smuzhiyun select BR2_TOOLCHAIN_GCC_AT_LEAST_10 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunconfig BR2_GCC_VERSION_8_X 19*4882a593Smuzhiyun bool "gcc 8.x" 20*4882a593Smuzhiyun depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9 21*4882a593Smuzhiyun # ARC HS48 rel 31 only supported by gcc arc fork. 22*4882a593Smuzhiyun depends on !BR2_archs4x_rel31 23*4882a593Smuzhiyun # Broken or unsupported architectures 24*4882a593Smuzhiyun depends on !BR2_or1k 25*4882a593Smuzhiyun select BR2_TOOLCHAIN_GCC_AT_LEAST_8 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig BR2_GCC_VERSION_10_X 28*4882a593Smuzhiyun bool "gcc 10.x" 29*4882a593Smuzhiyun depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 30*4882a593Smuzhiyun # powerpc spe support has been deprecated since gcc 8.x. 31*4882a593Smuzhiyun # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html 32*4882a593Smuzhiyun depends on !BR2_powerpc_SPE 33*4882a593Smuzhiyun # ARC HS48 rel 31 only supported by gcc arc fork. 34*4882a593Smuzhiyun depends on !BR2_archs4x_rel31 35*4882a593Smuzhiyun select BR2_TOOLCHAIN_GCC_AT_LEAST_10 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig BR2_GCC_VERSION_11_X 38*4882a593Smuzhiyun bool "gcc 11.x" 39*4882a593Smuzhiyun depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 40*4882a593Smuzhiyun # powerpc spe support has been deprecated since gcc 8.x. 41*4882a593Smuzhiyun # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html 42*4882a593Smuzhiyun depends on !BR2_powerpc_SPE 43*4882a593Smuzhiyun # uClibc-ng broken on sparc due to recent gcc changes 44*4882a593Smuzhiyun # that need to be reverted since gcc 8.4, 9.3 and 10.1. 45*4882a593Smuzhiyun # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 46*4882a593Smuzhiyun depends on !BR2_sparc 47*4882a593Smuzhiyun # ARC HS48 rel 31 only supported by gcc arc fork. 48*4882a593Smuzhiyun depends on !BR2_archs4x_rel31 49*4882a593Smuzhiyun select BR2_TOOLCHAIN_GCC_AT_LEAST_11 50*4882a593Smuzhiyun 51*4882a593Smuzhiyunconfig BR2_GCC_VERSION_12_X 52*4882a593Smuzhiyun bool "gcc 12.x" 53*4882a593Smuzhiyun # powerpc spe support has been deprecated since gcc 8.x. 54*4882a593Smuzhiyun # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html 55*4882a593Smuzhiyun depends on !BR2_powerpc_SPE 56*4882a593Smuzhiyun # uClibc-ng broken on sparc due to recent gcc changes 57*4882a593Smuzhiyun # that need to be reverted since gcc 8.4, 9.3 and 10.1. 58*4882a593Smuzhiyun # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 59*4882a593Smuzhiyun depends on !BR2_sparc 60*4882a593Smuzhiyun # ARC HS48 rel 31 only supported by gcc arc fork. 61*4882a593Smuzhiyun depends on !BR2_archs4x_rel31 62*4882a593Smuzhiyun select BR2_TOOLCHAIN_GCC_AT_LEAST_12 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunendchoice 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x 67*4882a593Smuzhiyunconfig BR2_GCC_SUPPORTS_LIBCILKRTS 68*4882a593Smuzhiyun bool 69*4882a593Smuzhiyun default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunconfig BR2_GCC_SUPPORTS_DLANG 72*4882a593Smuzhiyun bool 73*4882a593Smuzhiyun default y if BR2_aarch64 74*4882a593Smuzhiyun default y if BR2_arm 75*4882a593Smuzhiyun default y if BR2_i386 76*4882a593Smuzhiyun default y if BR2_mips || BR2_mipsel 77*4882a593Smuzhiyun default y if BR2_mips64 || BR2_mips64el 78*4882a593Smuzhiyun default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le 79*4882a593Smuzhiyun default y if BR2_x86_64 80*4882a593Smuzhiyun default y if BR2_riscv && !BR2_RISCV_64 81*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 82*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_USES_GLIBC 83*4882a593Smuzhiyun # "The D front-end is now itself written in D, in order to build GDC, you 84*4882a593Smuzhiyun # will need a working GDC compiler (GCC version 9.1 or later)." 85*4882a593Smuzhiyun # https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=5fee5ec362f7a243f459e6378fd49dfc89dc9fb5 86*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_12 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig BR2_GCC_VERSION 89*4882a593Smuzhiyun string 90*4882a593Smuzhiyun default "8.4.0" if BR2_GCC_VERSION_8_X 91*4882a593Smuzhiyun default "10.4.0" if BR2_GCC_VERSION_10_X 92*4882a593Smuzhiyun default "11.3.0" if BR2_GCC_VERSION_11_X 93*4882a593Smuzhiyun default "12.2.0" if BR2_GCC_VERSION_12_X 94*4882a593Smuzhiyun default "arc-2020.09-release" if BR2_GCC_VERSION_ARC 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig BR2_EXTRA_GCC_CONFIG_OPTIONS 97*4882a593Smuzhiyun string "Additional gcc options" 98*4882a593Smuzhiyun default "" 99*4882a593Smuzhiyun help 100*4882a593Smuzhiyun Any additional gcc configure options you may want to 101*4882a593Smuzhiyun include. Those options are applied for all of the gcc 102*4882a593Smuzhiyun initial, gcc intermediate and gcc final passes. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunconfig BR2_TOOLCHAIN_BUILDROOT_CXX 105*4882a593Smuzhiyun bool "Enable C++ support" 106*4882a593Smuzhiyun select BR2_INSTALL_LIBSTDCPP 107*4882a593Smuzhiyun help 108*4882a593Smuzhiyun Enable this option if you want your toolchain to support the 109*4882a593Smuzhiyun C++ language and you want C++ libraries to be installed on 110*4882a593Smuzhiyun your target system. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyuncomment "Fortran support needs a toolchain w/ wchar" 113*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH 114*4882a593Smuzhiyun depends on !BR2_USE_WCHAR # libquadmath 115*4882a593Smuzhiyun 116*4882a593Smuzhiyunconfig BR2_TOOLCHAIN_BUILDROOT_FORTRAN 117*4882a593Smuzhiyun bool "Enable Fortran support" 118*4882a593Smuzhiyun # on architecture building libquadmath, wchar is required 119*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \ 120*4882a593Smuzhiyun (BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR) 121*4882a593Smuzhiyun select BR2_TOOLCHAIN_HAS_FORTRAN 122*4882a593Smuzhiyun help 123*4882a593Smuzhiyun Enable this option if you want your toolchain to support the 124*4882a593Smuzhiyun Fortran language and you want Fortran libraries to be 125*4882a593Smuzhiyun installed on your target system. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyunconfig BR2_TOOLCHAIN_BUILDROOT_DLANG 128*4882a593Smuzhiyun bool "Enable D language support" 129*4882a593Smuzhiyun depends on BR2_GCC_SUPPORTS_DLANG 130*4882a593Smuzhiyun select BR2_TOOLCHAIN_HAS_DLANG 131*4882a593Smuzhiyun help 132*4882a593Smuzhiyun Enable this option if you want your toolchain to support the 133*4882a593Smuzhiyun D language and you want D libraries to be installed on your 134*4882a593Smuzhiyun target system. 135*4882a593Smuzhiyun 136*4882a593Smuzhiyunconfig BR2_GCC_ENABLE_OPENMP 137*4882a593Smuzhiyun bool "Enable compiler OpenMP support" 138*4882a593Smuzhiyun depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze 139*4882a593Smuzhiyun select BR2_TOOLCHAIN_HAS_OPENMP 140*4882a593Smuzhiyun help 141*4882a593Smuzhiyun Enable OpenMP support for the compiler 142*4882a593Smuzhiyun 143*4882a593Smuzhiyunconfig BR2_GCC_ENABLE_GRAPHITE 144*4882a593Smuzhiyun bool "Enable graphite support" 145*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 146*4882a593Smuzhiyun help 147*4882a593Smuzhiyun This option enables the graphite optimizations in the 148*4882a593Smuzhiyun compiler. 149*4882a593Smuzhiyun 150*4882a593Smuzhiyuncomment "graphite support needs gcc >= 5.x" 151*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 152