summaryrefslogtreecommitdiffstats
path: root/package/config/patches/14-support-out-of-tree-config.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-08-21 17:00:49 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-09-01 12:26:49 +0200
commit52a142a6314905422f14f05fccafdce35bea7f08 (patch)
tree8eeda1ea9da4aade3e64d06306140f523c289700 /package/config/patches/14-support-out-of-tree-config.patch
parent7c524dd0b683e1e8fac4e4084ac7678576bfbe07 (diff)
downloadbuildroot-novena-52a142a6314905422f14f05fccafdce35bea7f08.tar.gz
buildroot-novena-52a142a6314905422f14f05fccafdce35bea7f08.zip
Bump package/config to 2.6.36-rc1
The goal is to be able to use savedefconfig to generate minimal defconfig files. Four of our patches are removed since the modifications have been merged upstream. The new nconf configuration utility has appeared. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/config/patches/14-support-out-of-tree-config.patch')
-rw-r--r--package/config/patches/14-support-out-of-tree-config.patch158
1 files changed, 57 insertions, 101 deletions
diff --git a/package/config/patches/14-support-out-of-tree-config.patch b/package/config/patches/14-support-out-of-tree-config.patch
index 4aae0c154..fb1cca1a8 100644
--- a/package/config/patches/14-support-out-of-tree-config.patch
+++ b/package/config/patches/14-support-out-of-tree-config.patch
@@ -1,52 +1,37 @@
---
- conf.c | 8 +++---
- confdata.c | 71 ++++++++++++++++++++++++++++++++++++++++++++-----------------
- lkc.h | 1
- util.c | 22 ++++++++++++++----
- 4 files changed, 74 insertions(+), 28 deletions(-)
+ conf.c | 1
+ confdata.c | 65 +++++++++++++++++++++++++++++++++++++++++++++----------------
+ util.c | 16 +++++++++++++--
+ 3 files changed, 62 insertions(+), 20 deletions(-)
-Index: config.clean/conf.c
+Index: config/conf.c
===================================================================
---- config.clean.orig/conf.c
-+++ config.clean/conf.c
-@@ -496,16 +496,16 @@
+--- config.orig/conf.c
++++ config/conf.c
+@@ -503,7 +503,6 @@
}
name = av[optind];
conf_parse(name);
- //zconfdump(stdout);
if (sync_kconfig) {
-- if (stat(".config", &tmpstat)) {
-+ name = conf_get_configname();
-+ if (stat(name, &tmpstat)) {
- fprintf(stderr, _("***\n"
- "*** You have not yet configured Buildroot!\n"
-- "*** (missing .config file)\n"
-+ "*** (missing .config file \"%s\")\n"
- "***\n"
- "*** Please run some configurator (e.g. \"make oldconfig\" or\n"
- "*** \"make menuconfig\" or \"make xconfig\").\n"
-- "***\n"));
-+ "***\n"), name);
- exit(1);
- }
- }
-Index: config.clean/confdata.c
+ name = conf_get_configname();
+ if (stat(name, &tmpstat)) {
+Index: config/confdata.c
===================================================================
---- config.clean.orig/confdata.c
-+++ config.clean/confdata.c
-@@ -42,6 +42,11 @@
- return name ? name : ".config";
- }
+--- config.orig/confdata.c
++++ config/confdata.c
+@@ -44,9 +44,7 @@
-+const char *conf_get_autoconfig_name(void)
-+{
+ const char *conf_get_autoconfig_name(void)
+ {
+- char *name = getenv("KCONFIG_AUTOCONFIG");
+-
+- return name ? name : "include/config/auto.conf";
+ return getenv("KCONFIG_AUTOCONFIG");
-+}
-+
+ }
+
static char *conf_expand_value(const char *in)
- {
- struct symbol *sym;
-@@ -399,6 +404,9 @@
+@@ -542,6 +540,9 @@
int use_timestamp = 1;
char *env;
@@ -56,30 +41,24 @@ Index: config.clean/confdata.c
dirname[0] = 0;
if (name && name[0]) {
struct stat st;
-@@ -550,19 +558,31 @@
-
- int conf_split_config(void)
+@@ -656,6 +657,7 @@
{
-- char *name, path[128];
-+ const char *name;
-+ char path[128];
+ const char *name;
+ char path[128];
+ char *opwd, *dir, *_name;
char *s, *d, c;
struct symbol *sym;
struct stat sb;
- int res, i, fd;
-
-- name = getenv("KCONFIG_AUTOCONFIG");
-- if (!name)
-- name = "include/config/auto.conf";
-+ name = conf_get_autoconfig_name();
+@@ -664,8 +666,20 @@
+ name = conf_get_autoconfig_name();
conf_read_simple(name, S_DEF_AUTO);
- if (chdir("include/config"))
+- return 1;
+ opwd = malloc(256);
+ _name = strdup(name);
+ if (opwd == NULL || _name == NULL)
- return 1;
++ return 1;
+ opwd = getcwd(opwd, 256);
+ dir = dirname(_name);
+ if (dir == NULL) {
@@ -93,7 +72,7 @@ Index: config.clean/confdata.c
res = 0;
for_all_symbols(i, sym) {
-@@ -655,9 +675,11 @@
+@@ -758,9 +772,11 @@
close(fd);
}
out:
@@ -108,15 +87,10 @@ Index: config.clean/confdata.c
return res;
}
-@@ -665,23 +687,35 @@
- {
- struct symbol *sym;
- const char *str;
-- char *name;
-+ const char *name;
- FILE *out, *out_h;
+@@ -772,25 +788,38 @@
+ FILE *out, *tristate, *out_h;
time_t now;
- int i, l;
+ int i;
+ char dir[PATH_MAX+1], buf[PATH_MAX+1];
+ char *s;
+
@@ -142,13 +116,21 @@ Index: config.clean/confdata.c
if (!out)
return 1;
+- tristate = fopen(".tmpconfig_tristate", "w");
++ sprintf(buf, "%s.tmpconfig_tristate", dir);
++ tristate = fopen(buf, "w");
+ if (!tristate) {
+ fclose(out);
+ return 1;
+ }
+
- out_h = fopen(".tmpconfig.h", "w");
+ sprintf(buf, "%s.tmpconfig.h", dir);
+ out_h = fopen(buf, "w");
if (!out_h) {
fclose(out);
- return 1;
-@@ -698,8 +732,7 @@
+ fclose(tristate);
+@@ -811,8 +840,7 @@
fprintf(out_h, "/*\n"
" * Automatically generated C config: don't edit\n"
" * %s"
@@ -158,18 +140,22 @@ Index: config.clean/confdata.c
ctime(&now));
for_all_symbols(i, sym) {
-@@ -764,16 +797,16 @@
+@@ -866,19 +894,22 @@
name = getenv("KCONFIG_AUTOHEADER");
if (!name)
- name = "include/linux/autoconf.h";
+ name = "include/generated/autoconf.h";
- if (rename(".tmpconfig.h", name))
+ sprintf(buf, "%s.tmpconfig.h", dir);
+ if (rename(buf, name))
return 1;
-- name = getenv("KCONFIG_AUTOCONFIG");
-- if (!name)
-- name = "include/config/auto.conf";
-+ name = conf_get_autoconfig_name();
+ name = getenv("KCONFIG_TRISTATE");
+ if (!name)
+ name = "include/config/tristate.conf";
+- if (rename(".tmpconfig_tristate", name))
++ sprintf(buf, "%s.tmpconfig_tristate", dir);
++ if (rename(buf, name))
+ return 1;
+ name = conf_get_autoconfig_name();
/*
* This must be the last step, kbuild has a dependency on auto.conf
* and this marks the successful completion of the previous steps.
@@ -180,22 +166,10 @@ Index: config.clean/confdata.c
return 1;
return 0;
-Index: config.clean/lkc.h
+Index: config/util.c
===================================================================
---- config.clean.orig/lkc.h
-+++ config.clean/lkc.h
-@@ -74,6 +74,7 @@
-
- /* confdata.c */
- const char *conf_get_configname(void);
-+const char *conf_get_autoconfig_name(void);
- char *conf_get_default_confname(void);
- void sym_set_change_count(int count);
- void sym_add_change_count(int count);
-Index: config.clean/util.c
-===================================================================
---- config.clean.orig/util.c
-+++ config.clean/util.c
+--- config.orig/util.c
++++ config/util.c
@@ -144,6 +144,8 @@
/* write a dependency file as used by kbuild to track dependencies */
int file_write_dep(const char *name)
@@ -223,25 +197,7 @@ Index: config.clean/util.c
if (!out)
return 1;
fprintf(out, "deps_config := \\\n");
-@@ -161,8 +172,8 @@
- else
- fprintf(out, "\t%s\n", file->name);
- }
-- fprintf(out, "\ninclude/config/auto.conf: \\\n"
-- "\t$(deps_config)\n\n");
-+ fprintf(out, "\n%s: \\\n"
-+ "\t$(deps_config)\n\n", conf_get_autoconfig_name());
-
- expr_list_for_each_sym(sym_env_list, e, sym) {
- struct property *prop;
-@@ -176,13 +187,14 @@
- if (!value)
- value = "";
- fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value);
-- fprintf(out, "include/config/auto.conf: FORCE\n");
-+ fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name());
- fprintf(out, "endif\n");
- }
+@@ -182,7 +193,8 @@
fprintf(out, "\n$(deps_config): ;\n");
fclose(out);