toolchain: add gcc configure default PIE and SSP
[openwrt/openwrt.git] / toolchain / gcc / Config.in
index 03f7eddc84f33097e5dd18d56edf1c4267f3a514..0fe0ea2957c38b322d502f61b17925f9fb5e0bc2 100644 (file)
@@ -2,54 +2,84 @@
 
 choice
        prompt "GCC compiler Version" if TOOLCHAINOPTS
-       default GCC_VERSION_3_4_6 if LINUX_2_4
-       default GCC_VERSION_4_2_0 if TARGET_magicbox
-       default GCC_VERSION_4_1_2
+       default GCC_USE_VERSION_7_1_ARC if arc
+       default GCC_USE_VERSION_5
        help
          Select the version of gcc you wish to use.
 
-       config GCC_VERSION_3_4_6
-               bool "gcc 3.4.6"
+       config GCC_USE_VERSION_7_1_ARC
+               select GCC_VERSION_7_1_ARC
+               bool "gcc 7.1.x with support of ARC cores"
+               depends on arc
 
-       config GCC_VERSION_4_1_2
-               depends !LINUX_2_4
-               bool "gcc 4.1.2"
+       config GCC_USE_VERSION_5
+               bool "gcc 5.x"
+               depends on !arc
 
-       config GCC_VERSION_4_2_0
-               depends !LINUX_2_4
-               bool "gcc 4.2.0"
+       config GCC_USE_VERSION_6
+               bool "gcc 6.x"
+               depends on !arc
 
-       config GCC_VERSION_4_2_1
-               depends !LINUX_2_4
-               bool "gcc 4.2.1"
-
-       config GCC_VERSION_4_2_2
-               depends !LINUX_2_4
-               bool "gcc 4.2.2"
-
-       config GCC_VERSION_4_2_3
-               depends !LINUX_2_4
-               bool "gcc 4.2.3"
+       config GCC_USE_VERSION_7
+               bool "gcc 7.x"
+               depends on !arc
 
 endchoice
 
+config GCC_USE_GRAPHITE
+       bool
+       prompt "Compile in support for the new Graphite framework in GCC 4.4+" if TOOLCHAINOPTS
+
 config EXTRA_GCC_CONFIG_OPTIONS
        string
-       prompt "Additional gcc options" if TOOLCHAINOPTS
+       prompt "Additional gcc configure options" if TOOLCHAINOPTS
        default ""
        help
            Any additional gcc options you may want to include....
 
-config INSTALL_LIBSTDCPP
+config GCC_DEFAULT_PIE
+       bool
+       prompt "Build executable with PIE enabled by default" if TOOLCHAINOPTS
+       depends on !GCC_USE_VERSION_5
+       default n
+       help
+           Use gcc configure option --enable-default-pie to turn on -fPIE and -pie by default.
+
+config GCC_DEFAULT_SSP
+       bool
+       prompt "Build executable with Stack-Smashing Protection enabled by default" if TOOLCHAINOPTS
+       default n
+       help
+           Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default.
+
+config SSP_SUPPORT
+       bool
+       prompt "Enable Stack-Smashing Protection support" if TOOLCHAINOPTS
+       depends on !USE_MUSL
+       default y if !USE_MUSL
+       help
+           Enable Stack-Smashing Protection support
+
+config SJLJ_EXCEPTIONS
        bool
-       prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS
-       default y
+       prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS
+       default n
+       help
+           Use old setjump()/longjump() exceptions instead of the newer
+           frame unwinding exceptions handling routines.  Warning: increases
+           code size and runtime memory usage.
+
+config INSTALL_GFORTRAN
+       bool
+       prompt "Build/install fortran compiler?" if TOOLCHAINOPTS
+       default n
        help
-           Build/install c++ compiler and libstdc++?
+           Build/install GNU fortran compiler ?
 
-config INSTALL_LIBGCJ
+config INSTALL_GCCGO
        bool
-       prompt "Build/install java compiler and GNU classpath ?" if TOOLCHAINOPTS
+       prompt "Build/install Go compiler?" if TOOLCHAINOPTS
+       depends on USE_GLIBC || BROKEN
        default n
        help
-           Build/install java compiler and GNU classpath ?
+           Build/install GNU gccgo compiler ?