From d092f888fb7271c9919eee397a4933df18b582e1 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 20 Feb 2014 18:49:45 -0600 Subject: [PATCH] Add CONFIG_DEFAULT_SMALL that will select default values for configuration settings based upon either more features or smaller footprint. Turns out not be be useful for modifying existing defconfig files because the defaults do not apply in that case --- ChangeLog | 6 ++++++ Kconfig | 13 +++++++++++++ fs/Kconfig | 5 +++-- sched/Kconfig | 8 +++++--- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index ab2b470c7a..45c4e2a56b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6635,4 +6635,10 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS that effectively can be set back out these recent changes in rmdir, mkdir, unlink, and rename for operations on the pseudo-filesystem (2014-2-20). + * Kconfig: Add an option to select default values for configuration + variables based upon whether you want a smaller footprint or more + features. CONFIG_DEFAULT_SMALL is used in sched/Kconfig and + fs/Kconfig and in apps/. It turns out this this is not very useful + if you are modifying existing configurations because then the + defaults do not apply (2014-2-20). diff --git a/Kconfig b/Kconfig index 1bf91e2a58..e4667d045d 100644 --- a/Kconfig +++ b/Kconfig @@ -21,6 +21,19 @@ menu "Build Setup" config EXPERIMENTAL bool "Prompt for development and/or incomplete code/drivers" +config DEFAULT_SMALL + bool "Default to smallest size" + default n + ---help--- + When options are present, the default value for certain options will + be the one the results in the smallest size (at a loss of featurs). + The default is a fuller feature set at a larger size. + + NOTE: This option does not prevent you from overriding the default + to select another alternative. Nor does it affect the settings that + have already been selected in your configuration file. This applies + only to new settings that require a default value. + choice prompt "Build Host Platform" default HOST_LINUX diff --git a/fs/Kconfig b/fs/Kconfig index defeba0111..b175276faf 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -10,8 +10,9 @@ config DISABLE_MOUNTPOINT default n config DISABLE_PSEUDOFS_OPERATIONS - bool "Disable pseudo-filesytem operations" - default n + bool "Disable pseudo-filesystem operations" + default y if DEFAULT_SMALL + default n if !DEFAULT_SMALL ---help--- Disable certain operations on pseudo-file systems include mkdir, rmdir, unlink, and rename. These are necessary for the logical diff --git a/sched/Kconfig b/sched/Kconfig index f559246f1b..8aeda33eab 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -181,7 +181,7 @@ config JULIAN_TIME config START_YEAR int "Start year" - default 2013 + default 2014 config START_MONTH int "Start month" @@ -353,7 +353,8 @@ config DISABLE_CLOCK config DISABLE_POSIX_TIMERS bool "Disable POSIX timers" depends on DISABLE_OS_API - default n + default y if DEFAULT_SMALL + default n if !DEFAULT_SMALL config DISABLE_PTHREAD bool "Disable pthread support" @@ -373,7 +374,8 @@ config DISABLE_MQUEUE config DISABLE_ENVIRON bool "Disable environment variable support" depends on DISABLE_OS_API - default n + default y if DEFAULT_SMALL + default n if !DEFAULT_SMALL if !DISABLE_SIGNALS comment "Signal Numbers"