From: Sam Ravnborg <sam@ravnborg.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets
Date: Sat, 10 Nov 2007 21:43:26 +0100 [thread overview]
Message-ID: <11947274091127-git-send-email-sam@ravnborg.org> (raw)
In-Reply-To: <11947274093185-git-send-email-sam@ravnborg.org>
The variable K64BIT can now be used to select the
value of CONFIG_64BIT.
This is for example useful for powerpc to generate
allmodconfig for both bit sizes - like this:
make ARCH=powerpc K64BIT=y
make ARCH=powerpc K64BIT=n
To use this the Kconfig file must use "64BIT" as the
config value to select between 32 and 64 bit.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
scripts/kconfig/conf.c | 1 +
scripts/kconfig/confdata.c | 27 +++++++++++++++++++++++++++
scripts/kconfig/lkc_proto.h | 1 +
3 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index a38787a..c6bee85 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -591,6 +591,7 @@ int main(int ac, char **av)
conf_read_simple(name, S_DEF_USER);
else if (!stat("all.config", &tmpstat))
conf_read_simple("all.config", S_DEF_USER);
+ conf_set_env_sym("K64BIT", "64BIT", S_DEF_USER);
break;
default:
break;
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index e0f402f..0cb7555 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -145,6 +145,33 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
return 0;
}
+/* Read an environment variable and assign the vaule to the symbol */
+int conf_set_env_sym(const char *env, const char *symname, int def)
+{
+ struct symbol *sym;
+ char *p;
+ int def_flags;
+
+ p = getenv(env);
+ if (p) {
+ char warning[100];
+ sprintf(warning, "Environment variable (%s = \"%s\")", env, p);
+ conf_filename = warning;
+ def_flags = SYMBOL_DEF << def;
+ if (def == S_DEF_USER) {
+ sym = sym_find(symname);
+ if (!sym)
+ return 1;
+ } else {
+ sym = sym_lookup(symname, 0);
+ if (sym->type == S_UNKNOWN)
+ sym->type = S_OTHER;
+ }
+ conf_set_sym_val(sym, def, def_flags, p);
+ }
+ return 0;
+}
+
int conf_read_simple(const char *name, int def)
{
FILE *in = NULL;
diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
index 4d09f6d..dca294e 100644
--- a/scripts/kconfig/lkc_proto.h
+++ b/scripts/kconfig/lkc_proto.h
@@ -1,6 +1,7 @@
/* confdata.c */
P(conf_parse,void,(const char *name));
+P(conf_set_env_sym,int,(const char *envname, const char *symname, int def));
P(conf_read,int,(const char *name));
P(conf_read_simple,int,(const char *name, int));
P(conf_write,int,(const char *name));
--
1.5.3.4.1157.g0e74-dirty
next prev parent reply other threads:[~2007-11-10 20:43 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-10 20:40 [PATCH 0/5] introduce K64BIT=y and backward compatibility ARCH={i386,x86_64} for x86 Sam Ravnborg
2007-11-10 20:43 ` [PATCH] kconfig: factor out code in confdata.c Sam Ravnborg
2007-11-10 20:43 ` Sam Ravnborg [this message]
2007-11-10 20:43 ` [PATCH] x86: Use CONFIG_64BIT to select between 32 and 64 bit in Kconfig Sam Ravnborg
2007-11-10 20:43 ` [PATCH] kconfig: document make K64BIT=y in README Sam Ravnborg
2007-11-10 20:43 ` [PATCH] x86: introduce ARCH=i386,ARCH=x86_64 to select 32/64 bit Sam Ravnborg
2007-11-10 22:23 ` [PATCH] kconfig: document make K64BIT=y in README Randy Dunlap
2007-11-10 22:18 ` [PATCH] x86: Use CONFIG_64BIT to select between 32 and 64 bit in Kconfig Randy Dunlap
2007-11-10 20:55 ` [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets Guillaume Chazarain
2007-11-11 5:14 ` Adrian Bunk
2007-11-11 12:43 ` Guillaume Chazarain
2007-11-11 13:07 ` Adrian Bunk
2007-11-11 14:59 ` Guillaume Chazarain
2007-11-11 15:30 ` Sam Ravnborg
2007-11-11 15:55 ` Guillaume Chazarain
2007-11-10 22:16 ` Randy Dunlap
2007-11-10 22:31 ` Sam Ravnborg
2007-11-14 20:57 ` Roman Zippel
2007-11-14 22:08 ` Sam Ravnborg
2007-11-15 15:43 ` Roman Zippel
2007-11-15 19:25 ` Sam Ravnborg
2007-11-15 19:43 ` Roman Zippel
2007-11-15 20:45 ` Sam Ravnborg
2007-11-15 21:24 ` Roman Zippel
2007-11-15 22:06 ` Sam Ravnborg
2007-11-16 1:28 ` Roman Zippel
2007-11-16 3:44 ` Randy Dunlap
2007-11-16 13:02 ` Roman Zippel
2007-11-16 5:41 ` Sam Ravnborg
2007-11-16 12:54 ` Roman Zippel
2008-01-06 13:26 ` kconfig: support option env="" [Was: kconfig: use $K64BIT to set 64BIT with all*config targets] Sam Ravnborg
2008-01-14 3:49 ` Roman Zippel
2008-01-14 5:58 ` Sam Ravnborg
2008-01-14 3:50 ` [PATCH 1/3] explicitly introduce expression list Roman Zippel
2008-01-14 3:50 ` [PATCH 2/3] environment symbol support Roman Zippel
2008-01-14 3:51 ` [PATCH 3/3] use environment option Roman Zippel
2007-11-10 22:33 ` [PATCH 0/5] introduce K64BIT=y and backward compatibility ARCH={i386,x86_64} for x86 Randy Dunlap
2007-11-10 22:50 ` Sam Ravnborg
2007-11-11 5:09 ` Adrian Bunk
2007-11-11 11:54 ` Sam Ravnborg
2007-11-12 2:47 ` Roman Zippel
2007-11-12 5:23 ` Sam Ravnborg
-- strict thread matches above, loose matches on Subject: below --
2007-11-12 20:54 [PATCH revised] enable make ARCH=x86 (and stay backward compatible) Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: unification of cfufreq/Kconfig Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: start unification of arch/x86/Kconfig.* Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: arch/x86/Kconfig.cpu unification Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386 Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64 Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: copy x86_64 specific Kconfig symbols to Kconfig.i386 Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: move all simple arch settings to Kconfig Sam Ravnborg
2007-11-12 21:00 ` [PATCH] x86: move the rest of the menu's " Sam Ravnborg
2007-11-12 21:00 ` [PATCH] kconfig: factor out code in confdata.c Sam Ravnborg
2007-11-12 21:00 ` [PATCH] kconfig: add helper to set config symbol from environment variable Sam Ravnborg
2007-11-12 21:00 ` [PATCH] kconfig: use $K64BIT to set 64BIT with all*config targets Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11947274091127-git-send-email-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox