toolchain: get rid of eglibc version kconfig symbol overloading
[openwrt/openwrt.git] / Config.in
index 08c1edf2eed229e13ba73051684ca085448aa964..0268cdd8e47e0bb09648891e08eaf96e67b2cd31 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -6,6 +6,10 @@
 
 mainmenu "OpenWrt Configuration"
 
+config MODULES
+       bool
+       default y
+
 config HAVE_DOT_CONFIG
        bool
        default y
@@ -25,7 +29,7 @@ menu "Target Images"
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
                        default TARGET_INITRAMFS_COMPRESSION_NONE
-                       depends TARGET_ROOTFS_INITRAMFS
+                       depends on TARGET_ROOTFS_INITRAMFS
                        help
                          Select ramdisk compression.
 
@@ -74,7 +78,7 @@ menu "Target Images"
        config TARGET_ROOTFS_EXT4FS
                bool "ext4"
                default y if USES_EXT4
-               depends !TARGET_ROOTFS_INITRAMFS
+               depends on !TARGET_ROOTFS_INITRAMFS
                help
                  Ext4 file system with some free space for uml images
 
@@ -82,27 +86,28 @@ menu "Target Images"
                bool "iso"
                default n
                depends on TARGET_x86_generic
+               depends on !TARGET_ROOTFS_INITRAMFS
                help
                  Create some bootable ISO image
 
        config TARGET_ROOTFS_JFFS2
                bool "jffs2"
                default y if USES_JFFS2
-               depends !TARGET_ROOTFS_INITRAMFS
+               depends on !TARGET_ROOTFS_INITRAMFS
                help
                  Build a jffs2 root filesystem
 
        config TARGET_ROOTFS_SQUASHFS
                bool "squashfs"
                default y if USES_SQUASHFS
-               depends !TARGET_ROOTFS_INITRAMFS
+               depends on !TARGET_ROOTFS_INITRAMFS
                help
                  Build a squashfs-lzma root filesystem
 
        config TARGET_ROOTFS_UBIFS
                bool "ubifs"
                default y if USES_UBIFS
-               depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
+               depends on !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
                help
                  Build a ubifs root filesystem
 
@@ -112,18 +117,25 @@ menu "Target Images"
 
        config TARGET_ROOTFS_PARTSIZE
                int "Root filesystem partition size (in MB)"
-               depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
+               depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
                default 48
                help
                    Allows you to change the root filesystem partition size
 
        config TARGET_ROOTFS_MAXINODE
                int "Maximum number of inodes in root filesystem"
-               depends TARGET_ROOTFS_EXT4FS
+               depends on TARGET_ROOTFS_EXT4FS
                default 6000
                help
                    Allows you to change the maximum number of inodes in the root filesystem
 
+       config TARGET_ROOTFS_RESERVED_PCT
+               int "Percentage of reserved blocks in root filesystem"
+               depends on TARGET_ROOTFS_EXT4FS
+               default 0
+               help
+                   Allows you to change the percentage of reserved blocks in the root filesystem
+
 endmenu
 
 menu "Global build settings"
@@ -207,7 +219,7 @@ menu "Global build settings"
 
        config KERNEL_KALLSYMS
                bool "Compile the kernel with symbol table information"
-               default n
+               default y
                help
                  This will give you more information in stack traces from kernel oopses
 
@@ -226,7 +238,7 @@ menu "Global build settings"
 
        config KERNEL_DEBUG_INFO
                bool "Compile the kernel with debug information"
-               default n
+               default y
                select KERNEL_DEBUG_KERNEL
                help
                  This will compile your kernel and modules with debug information.
@@ -260,12 +272,20 @@ menu "Global build settings"
                bool "Compile the kernel with asynchronous IO support"
                default n
 
+       config KERNEL_DIRECT_IO
+               bool "Compile the kernel with direct IO support"
+               default n
+
        config KERNEL_MAGIC_SYSRQ
                bool "Compile the kernel with SysRq support"
                default y
 
+       config KERNEL_COREDUMP
+               bool
+
        config KERNEL_ELF_CORE
                bool "Enable process core dump support"
+               select KERNEL_COREDUMP
                default y
 
        config KERNEL_PROVE_LOCKING
@@ -277,6 +297,156 @@ menu "Global build settings"
                bool "Enable printk timestamps"
                default y
 
+       config KERNEL_RELAY
+               bool
+
+       #
+       # CGROUP support symbols
+       #
+
+       config KERNEL_FREEZER
+               bool
+               default y if KERNEL_CGROUP_FREEZER
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_FREEZER
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_DEVICE
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CPUSETS
+               bool
+               default y if KERNEL_CGROUP_CPUACCT
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_PROC_PID_CPUSET
+               bool
+               default y if KERNEL_CGROUP_CPUACCT
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_CPUACCT
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_RESOURCE_COUNTERS
+               bool
+               default y if KERNEL_CGROUP_MEM_RES_CTLR
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_SWAP
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_KMEM
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_PERF
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CFS_BANDWIDTH
+               bool
+               default y if KERNEL_FAIR_GROUP_SCHED
+               depends on KERNEL_CGROUP_SCHED
+
+       config KERNEL_FAIR_GROUP_SCHED
+               bool
+               default y if KERNEL_CGROUP_SCHED
+               depends on KERNEL_CGROUP_SCHED
+
+       config KERNEL_RT_GROUP_SCHED
+               bool
+               default y if KERNEL_CGROUP_SCHED
+               depends on KERNEL_CGROUP_SCHED
+
+       config KERNEL_CGROUP_SCHED
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_NET_CLS_CGROUP
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_NETPRIO_CGROUP
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_BLK_CGROUP
+               bool
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_DEBUG_BLK_CGROUP
+               bool
+               default n if KERNEL_CGROUPS
+               depends on KERNEL_CGROUPS
+
+       config KERNEL_CGROUPS
+               bool "Enable kernel cgroups"
+               default n
+               select KERNEL_CGROUP_FREEZER
+               select KERNEL_CGROUP_DEVICE
+               select KERNEL_CGROUP_CPUACCT
+               select KERNEL_CGROUP_MEM_RES_CTLR
+               select KERNEL_CGROUP_MEM_RES_CTLR_SWAP
+               select KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
+               select KERNEL_CGROUP_MEM_RES_CTLR_KMEM
+               select KERNEL_CGROUP_PERF
+               select KERNEL_CGROUP_SCHED
+               select KERNEL_NET_CLS_CGROUP
+               select KERNEL_NETPRIO_CGROUP
+               select KERNEL_BLK_CGROUP
+
+       #
+       # Namespace support symbols
+       #
+
+       config KERNEL_UTS_NS
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_IPC_NS
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_USER_NS
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_PID_NS
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_NET_NS
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_DEVPTS_MULTIPLE_INSTANCES
+               bool
+               depends on KERNEL_NAMESPACES
+
+       config KERNEL_NAMESPACES
+               bool "Enable kernel namespaces"
+               default n
+               select KERNEL_UTS_NS
+               select KERNEL_IPC_NS
+               select KERNEL_USER_NS
+               select KERNEL_PID_NS
+               select KERNEL_NET_NS
+               select KERNEL_DEVPTS_MULTIPLE_INSTANCES
+
+
        comment "Package build options"
 
        config DEBUG
@@ -347,26 +517,12 @@ menu "Global build settings"
                  Only say Y, if you don't mind fixing broken packages.
                  Before reporting build bugs, set this to N and re-run the build.
 
-       config TOOLCHAIN_PARALLEL
-               bool
-               prompt "Parallelize the toolchain build (May break build)"
-               depends on PKG_BUILD_PARALLEL
-               depends on BROKEN
-               default n
-               help
-                 Build the toolchain with parallel make jobs.
-                 This speeds up the toolchain build on SMP machines, but may
-                 break the build for certain toolchain versions.
-
-                 If you say Y, toolchain build might break.
-                 Before reporting build bugs, set this to N and re-run the build.
-
        comment "Stripping options"
 
        choice
                prompt "Binary stripping method"
                default USE_STRIP   if EXTERNAL_TOOLCHAIN
-               default USE_STRIP   if USE_GLIBC || USE_EGLIBC
+               default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
                default USE_SSTRIP
                help
                  Select the binary stripping method you wish to use.
@@ -384,9 +540,9 @@ menu "Global build settings"
 
                config USE_SSTRIP
                        bool "sstrip"
-                       depends !DEBUG
-                       depends !USE_GLIBC
-                       depends !USE_EGLIBC
+                       depends on !DEBUG
+                       depends on !USE_GLIBC
+                       depends on !USE_EGLIBC
                        help
                          This will install binaries stripped using sstrip
        endchoice
@@ -394,7 +550,7 @@ menu "Global build settings"
        config STRIP_ARGS
                string
                prompt "Strip arguments"
-               depends USE_STRIP
+               depends on USE_STRIP
                default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
                default "--strip-all"
                help
@@ -415,20 +571,21 @@ menu "Global build settings"
                  Note that this will make the system libraries incompatible with most of the packages
                  that are not selected during the build process
 
-       choice
-               prompt "Preferred standard C++ library"
-               default USE_LIBSTDCXX if USE_EGLIBC
-               default USE_UCLIBCXX
-               help
-                 Select the preferred standard C++ library for all packages that support this.
-
-               config USE_UCLIBCXX
-                       bool "uClibc++"
+       if INSTALL_LIBSTDCPP
+               choice
+                       prompt "Preferred standard C++ library"
+                       default USE_LIBSTDCXX if USE_EGLIBC
+                       default USE_UCLIBCXX
+                       help
+                         Select the preferred standard C++ library for all packages that support this.
 
-               config USE_LIBSTDCXX
-                       bool "libstdc++"
+                       config USE_UCLIBCXX
+                               bool "uClibc++"
 
-       endchoice
+                       config USE_LIBSTDCXX
+                               bool "libstdc++"
+               endchoice
+       endif
 
 endmenu
 
@@ -519,7 +676,7 @@ menuconfig TARGET_OPTIONS
        config SOFT_FLOAT
                bool "Use software floating point by default" if TARGET_OPTIONS
                default y
-               depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
+               depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !HAS_FPU
                help
                  If your target CPU does not have a Floating Point Unit (FPU) or a
                  kernel FPU emulator, but you still wish to support floating point
@@ -528,6 +685,17 @@ menuconfig TARGET_OPTIONS
 
                  Most people will answer N.
 
+       config USE_MIPS16
+               bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
+               depends on HAS_MIPS16
+               help
+                  If your target CPU does support the MIPS16 instruction set
+                  and you want to use it for packages, enable this option.
+                  MIPS16 produces smaller binaries thus reducing pressure on
+                  caches and TLB.
+
+                  Most people will answer N.
+
 source "toolchain/Config.in"
 
 source "target/imagebuilder/Config.in"