diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-04-01 15:06:49 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-04-11 15:57:51 +0200 |
commit | 71a4899e18295995e0ea13438b4efe9b8ac16d5a (patch) | |
tree | f6a35e0c8431a2ed927baf53c1a83f0734cd56a6 | |
parent | 64cc568eda4c72d5e1fc05b5fc3a3792a8f7c22e (diff) | |
download | barebox-71a4899e18295995e0ea13438b4efe9b8ac16d5a.tar.gz barebox-71a4899e18295995e0ea13438b4efe9b8ac16d5a.tar.xz |
env: Make environment variable support optional
Environment variables are only useful in interactive environments.
Make it optional on our way to support a noninteractive barebox.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | commands/Kconfig | 2 | ||||
-rw-r--r-- | common/Kconfig | 5 | ||||
-rw-r--r-- | common/Makefile | 2 | ||||
-rw-r--r-- | include/environment.h | 12 |
4 files changed, 20 insertions, 1 deletions
diff --git a/commands/Kconfig b/commands/Kconfig index 9d0c72d83f..a443501f33 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -29,11 +29,13 @@ config CMD_LOADENV prompt "loadenv" config CMD_EXPORT + depends on ENVIRONMENT_VARIABLES tristate prompt "export" config CMD_PRINTENV tristate + depends on ENVIRONMENT_VARIABLES prompt "printenv" config CMD_READLINE diff --git a/common/Kconfig b/common/Kconfig index ac8323132d..b493a31a4e 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -62,6 +62,9 @@ config LOCALVERSION_AUTO config BOARDINFO string +config ENVIRONMENT_VARIABLES + bool "environment variables support" + menu "memory layout " config HAVE_MMU @@ -219,12 +222,14 @@ choice config SHELL_HUSH bool "hush parser" + select ENVIRONMENT_VARIABLES help Enable hush support. This is the most advanced shell available for barebox. config SHELL_SIMPLE bool "Simple parser" + select ENVIRONMENT_VARIABLES help simple shell. No if/then, no return values from commands, no loops endchoice diff --git a/common/Makefile b/common/Makefile index 3fc66f45e7..c8a4332139 100644 --- a/common/Makefile +++ b/common/Makefile @@ -15,7 +15,7 @@ obj-y += command.o obj-$(CONFIG_CONSOLE_FULL) += console.o obj-$(CONFIG_CONSOLE_SIMPLE) += console_simple.o obj-$(CONFIG_DIGEST) += digest.o -obj-y += env.o +obj-$(CONFIG_ENVIRONMENT_VARIABLES) += env.o obj-$(CONFIG_CMD_BOOTM) += image.o obj-y += startup.o obj-y += misc.o diff --git a/include/environment.h b/include/environment.h index 21a7ffa0e2..1f22fcb812 100644 --- a/include/environment.h +++ b/include/environment.h @@ -44,8 +44,20 @@ struct env_context *get_current_context(void); char *var_val(struct variable_d *); char *var_name(struct variable_d *); +#ifdef CONFIG_ENVIRONMENT_VARIABLES const char *getenv(const char *); int setenv(const char *, const char *); +#else +static inline char *getenv(const char *var) +{ + return NULL; +} + +static inline int setenv(const char *var, const char *val) +{ + return 0; +} +#endif int env_pop_context(void); int env_push_context(void); |