rules.mk: Create TARGET_ASFLAGS; force -mno-mips16
[openwrt/openwrt.git] / Config.in
index 36ca48881f5573e966167f544c1bf952cc67f839..8de6e1aa877498ae998cf49fc82d15fd9f80f685 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.
@@ -81,7 +81,8 @@ menu "Target Images"
        config TARGET_ROOTFS_ISO
                bool "iso"
                default n
-               depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
+               depends on TARGET_x86_generic
+               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Create some bootable ISO image
 
@@ -124,6 +125,13 @@ menu "Target Images"
                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 TARGET_ROOTFS_EXT4FS
+               default 0
+               help
+                   Allows you to change the percentage of reserved blocks in the root filesystem
+
 endmenu
 
 menu "Global build settings"
@@ -193,16 +201,21 @@ menu "Global build settings"
                  debugging files into. Enable this option to be able to read and
                  write to these files.
 
+       config KERNEL_PERF_EVENTS
+               bool
+               default n
+
        config KERNEL_PROFILING
                bool "Compile the kernel with profiling enabled"
                default n
+               select KERNEL_PERF_EVENTS
                help
                  Enable the extended profiling support mechanisms used by profilers such
                  as OProfile.
 
        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
 
@@ -221,7 +234,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.
@@ -255,12 +268,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
@@ -272,6 +293,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 KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_FREEZER
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_DEVICE
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CPUSETS
+               bool
+               default y if KERNEL_CGROUP_CPUACCT
+               depends KERNEL_CGROUPS
+
+       config KERNEL_PROC_PID_CPUSET
+               bool
+               default y if KERNEL_CGROUP_CPUACCT
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_CPUACCT
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_RESOURCE_COUNTERS
+               bool
+               default y if KERNEL_CGROUP_MEM_RES_CTLR
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_SWAP
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_MEM_RES_CTLR_KMEM
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CGROUP_PERF
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_CFS_BANDWIDTH
+               bool
+               default y if KERNEL_FAIR_GROUP_SCHED
+               depends KERNEL_CGROUP_SCHED
+
+       config KERNEL_FAIR_GROUP_SCHED
+               bool
+               default y if KERNEL_CGROUP_SCHED
+               depends KERNEL_CGROUP_SCHED
+
+       config KERNEL_RT_GROUP_SCHED
+               bool
+               default y if KERNEL_CGROUP_SCHED
+               depends KERNEL_CGROUP_SCHED
+
+       config KERNEL_CGROUP_SCHED
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_NET_CLS_CGROUP
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_NETPRIO_CGROUP
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_BLK_CGROUP
+               bool
+               depends KERNEL_CGROUPS
+
+       config KERNEL_DEBUG_BLK_CGROUP
+               bool
+               default n if KERNEL_CGROUPS
+               depends 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 KERNEL_NAMESPACES
+
+       config KERNEL_IPC_NS
+               bool
+               depends KERNEL_NAMESPACES
+
+       config KERNEL_USER_NS
+               bool
+               depends KERNEL_NAMESPACES
+
+       config KERNEL_PID_NS
+               bool
+               depends KERNEL_NAMESPACES
+
+       config KERNEL_NET_NS
+               bool
+               depends KERNEL_NAMESPACES
+
+       config KERNEL_DEVPTS_MULTIPLE_INSTANCES
+               bool
+               depends 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
@@ -291,23 +462,12 @@ menu "Global build settings"
        config PKG_BUILD_PARALLEL
                bool
                prompt "Compile certain packages parallelized"
-               default n
+               default y
                help
                  This adds a -jX option to certain packages that are known to
-                 behave well for parallel build.
-
-                 Note that this may overcommit CPU resources depending on the
-                 -j level of the main make process, the number of package
-                 submake jobs selected below and the number of actual CPUs present.
-                 Example: If the main make is passed a -j4 and the submake -j
-                 is also set to 4, we may end up with 16 parallel make processes
-                 in the worst case.
-
-                 You get maximum build performance, if you set the package build
-                 jobs to the number of CPUs (cores) available and also start the main
-                 make process with -jX, where X is the number of CPUs (cores).
-                 However, make sure you have enough RAM available for
-                 NR_CPUS to the power of two (NR_CPUS^2) make jobs.
+                 behave well for parallel build. By default the package make processes
+                 use the main jobserver, in which case this option only takes effect
+                 when you add -jX to the make command.
 
                  If you are unsure, select N.
 
@@ -320,6 +480,14 @@ menu "Global build settings"
                  This passes the main make process jobserver fds to package builds,
                  enabling full parallelization across different packages
 
+                 Note that disabling this may overcommit CPU resources depending on the
+                 -j level of the main make process, the number of package
+                 submake jobs selected below and the number of actual CPUs present.
+                 Example: If the main make is passed a -j4 and the submake -j
+                 is also set to 4, we may end up with 16 parallel make processes
+                 in the worst case.
+
+
        config PKG_BUILD_JOBS
                int
                prompt "Number of package submake jobs (2-512)"
@@ -345,26 +513,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.
@@ -413,20 +567,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