mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
107
support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch
Normal file
107
support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
confdata.c | 4 ++--
|
||||
gconf.glade | 2 +-
|
||||
mconf.c | 4 ++--
|
||||
zconf.tab.c_shipped | 2 +-
|
||||
zconf.y | 2 +-
|
||||
5 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: kconfig/gconf.glade
|
||||
===================================================================
|
||||
--- kconfig.orig/gconf.glade
|
||||
+++ kconfig/gconf.glade
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<widget class="GtkWindow" id="window1">
|
||||
<property name="visible">True</property>
|
||||
- <property name="title" translatable="yes">Gtk Kernel Configurator</property>
|
||||
+ <property name="title" translatable="yes">Gtk Buildroot Configurator</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
Index: kconfig/mconf.c
|
||||
===================================================================
|
||||
--- kconfig.orig/mconf.c
|
||||
+++ kconfig/mconf.c
|
||||
@@ -176,9 +176,9 @@ menu_instructions[] = N_(
|
||||
"Arrow keys navigate the menu. "
|
||||
"<Enter> selects submenus ---> (or empty submenus ----). "
|
||||
"Highlighted letters are hotkeys. "
|
||||
- "Pressing <Y> includes, <N> excludes, <M> modularizes features. "
|
||||
+ "Pressing <Y> selects a feature, while <N> excludes a feature. "
|
||||
"Press <Esc><Esc> to exit, <?> for Help, </> for Search. "
|
||||
- "Legend: [*] built-in [ ] excluded <M> module < > module capable"),
|
||||
+ "Legend: [*] feature is selected [ ] feature is excluded"),
|
||||
radiolist_instructions[] = N_(
|
||||
"Use the arrow keys to navigate this window or "
|
||||
"press the hotkey of the item you wish to select "
|
||||
@@ -962,7 +962,7 @@ static int handle_exit(void)
|
||||
if (conf_get_changed())
|
||||
res = dialog_yesno(NULL,
|
||||
_("Do you wish to save your new configuration?\n"
|
||||
- "(Press <ESC><ESC> to continue kernel configuration.)"),
|
||||
+ "(Press <ESC><ESC> to continue Buildroot configuration.)"),
|
||||
6, 60);
|
||||
else
|
||||
res = -1;
|
||||
Index: kconfig/zconf.tab.c_shipped
|
||||
===================================================================
|
||||
--- kconfig.orig/zconf.tab.c_shipped
|
||||
+++ kconfig/zconf.tab.c_shipped
|
||||
@@ -1515,7 +1515,7 @@ yyreduce:
|
||||
* later regardless of whether it comes from the 'prompt' in
|
||||
* mainmenu_stmt or here
|
||||
*/
|
||||
- menu_add_prompt(P_MENU, xstrdup("Linux Kernel Configuration"), NULL);
|
||||
+ menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL);
|
||||
}
|
||||
|
||||
break;
|
||||
Index: kconfig/zconf.y
|
||||
===================================================================
|
||||
--- kconfig.orig/zconf.y
|
||||
+++ kconfig/zconf.y
|
||||
@@ -127,7 +127,7 @@ no_mainmenu_stmt: /* empty */
|
||||
* later regardless of whether it comes from the 'prompt' in
|
||||
* mainmenu_stmt or here
|
||||
*/
|
||||
- menu_add_prompt(P_MENU, xstrdup("Linux Kernel Configuration"), NULL);
|
||||
+ menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL);
|
||||
};
|
||||
|
||||
|
||||
Index: kconfig/confdata.c
|
||||
===================================================================
|
||||
--- kconfig.orig/confdata.c
|
||||
+++ kconfig/confdata.c
|
||||
@@ -30,7 +30,7 @@ static void conf_message(const char *fmt
|
||||
static const char *conf_filename;
|
||||
static int conf_lineno, conf_warnings;
|
||||
|
||||
-const char conf_defname[] = "arch/$ARCH/defconfig";
|
||||
+const char conf_defname[] = ".defconfig";
|
||||
|
||||
static void conf_warning(const char *fmt, ...)
|
||||
{
|
||||
@@ -69,7 +69,7 @@ static void conf_message(const char *fmt
|
||||
|
||||
const char *conf_get_configname(void)
|
||||
{
|
||||
- char *name = getenv("KCONFIG_CONFIG");
|
||||
+ char *name = getenv("BR2_CONFIG");
|
||||
|
||||
return name ? name : ".config";
|
||||
}
|
||||
Index: kconfig/qconf.cc
|
||||
===================================================================
|
||||
--- kconfig.orig/qconf.cc
|
||||
+++ kconfig/qconf.cc
|
||||
@@ -55,7 +55,7 @@ static inline QString qgettext(const QSt
|
||||
}
|
||||
|
||||
ConfigSettings::ConfigSettings()
|
||||
- : QSettings("kernel.org", "qconf")
|
||||
+ : QSettings("buildroot.org", "qconf")
|
||||
{
|
||||
}
|
||||
|
||||
74
support/kconfig/patches/06-br-build-system-integration.patch
Normal file
74
support/kconfig/patches/06-br-build-system-integration.patch
Normal file
@@ -0,0 +1,74 @@
|
||||
Index: kconfig/Makefile
|
||||
===================================================================
|
||||
--- kconfig.orig/Makefile
|
||||
+++ kconfig/Makefile
|
||||
@@ -205,7 +205,35 @@ qconf-cxxobjs := qconf.o
|
||||
qconf-objs := zconf.tab.o
|
||||
gconf-objs := gconf.o zconf.tab.o
|
||||
|
||||
-hostprogs-y := conf nconf mconf kxgettext qconf gconf
|
||||
+hostprogs-y := conf
|
||||
+
|
||||
+ifeq ($(MAKECMDGOALS),nconf)
|
||||
+ hostprogs-y += nconf
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(MAKECMDGOALS),mconf)
|
||||
+ hostprogs-y += mconf
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(MAKECMDGOALS),update-po-config)
|
||||
+ hostprogs-y += kxgettext
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(MAKECMDGOALS),qconf)
|
||||
+ qconf-target := 1
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(MAKECMDGOALS),gconf)
|
||||
+ gconf-target := 1
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(qconf-target),1)
|
||||
+ hostprogs-y += qconf
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(gconf-target),1)
|
||||
+ hostprogs-y += gconf
|
||||
+endif
|
||||
|
||||
targets += zconf.lex.c
|
||||
clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
|
||||
@@ -243,7 +271,7 @@ HOSTLOADLIBES_nconf = $(shell \
|
||||
|| echo "-lmenu -lpanel -lncurses" )
|
||||
$(obj)/qconf.o: $(obj)/.tmp_qtcheck
|
||||
|
||||
-ifeq ($(MAKECMDGOALS),xconfig)
|
||||
+ifeq ($(MAKECMDGOALS),qconf)
|
||||
$(obj)/.tmp_qtcheck: $(src)/Makefile
|
||||
-include $(obj)/.tmp_qtcheck
|
||||
|
||||
@@ -270,9 +298,8 @@ $(obj)/.tmp_qtcheck:
|
||||
echo "KC_QT_MOC=$$moc" >> $@
|
||||
endif
|
||||
|
||||
+ifeq ($(MAKECMDGOALS),gconf)
|
||||
$(obj)/gconf.o: $(obj)/.tmp_gtkcheck
|
||||
-
|
||||
-ifeq ($(MAKECMDGOALS),gconfig)
|
||||
-include $(obj)/.tmp_gtkcheck
|
||||
|
||||
# GTK+ needs some extra effort, too...
|
||||
@@ -300,11 +327,8 @@ $(obj)/zconf.tab.o: $(obj)/zconf.lex.c
|
||||
|
||||
$(obj)/qconf.o: $(obj)/qconf.moc
|
||||
|
||||
-quiet_cmd_moc = MOC $@
|
||||
- cmd_moc = $(KC_QT_MOC) -i $< -o $@
|
||||
-
|
||||
$(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck
|
||||
- $(call cmd,moc)
|
||||
+ $(KC_QT_MOC) -i $< -o $@
|
||||
|
||||
# Extract gconf menu items for i18n support
|
||||
$(obj)/gconf.glade.h: $(obj)/gconf.glade
|
||||
80
support/kconfig/patches/10-br-build-system.patch
Normal file
80
support/kconfig/patches/10-br-build-system.patch
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
Makefile.br | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
foo.h | 12 ++++++++++++
|
||||
2 files changed, 65 insertions(+)
|
||||
|
||||
Index: kconfig/Makefile.br
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ kconfig/Makefile.br
|
||||
@@ -0,0 +1,53 @@
|
||||
+src := .
|
||||
+top_srcdir=../../
|
||||
+top_builddir=../../
|
||||
+srctree := .
|
||||
+obj ?= .
|
||||
+
|
||||
+include Makefile
|
||||
+#HOSTCFLAGS+=-Dinline="" -include foo.h
|
||||
+-include $(obj)/.depend
|
||||
+$(obj)/.depend: $(wildcard *.h *.c)
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) -MM *.c > $@ 2>/dev/null || :
|
||||
+
|
||||
+__hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
|
||||
+host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
|
||||
+host-cmulti := $(foreach m,$(__hostprogs),\
|
||||
+ $(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
|
||||
+host-cxxmulti := $(foreach m,$(__hostprogs),\
|
||||
+ $(if $($(m)-cxxobjs),$(m),$(if $($(m)-objs),)))
|
||||
+host-cobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-objs))))
|
||||
+host-cxxobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs))))
|
||||
+
|
||||
+HOST_EXTRACFLAGS += -I$(obj) -DCONFIG_=\"\"
|
||||
+
|
||||
+$(host-csingle): %: %.c
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< -o $(obj)/$@
|
||||
+
|
||||
+$(host-cmulti): %: $(host-cobjs) $(host-cshlib)
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(addprefix $(obj)/,$($(@F)-objs)) $(HOSTLOADLIBES_$(@F)) -o $(obj)/$@
|
||||
+
|
||||
+$(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
|
||||
+ $(HOSTCXX) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) $(addprefix $(obj)/,$($(@F)-objs) $($(@F)-cxxobjs)) $(HOSTLOADLIBES_$(@F)) -o $(obj)/$@
|
||||
+
|
||||
+$(obj)/%.o: %.c
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) -c $< -o $@
|
||||
+
|
||||
+$(obj)/%.o: $(obj)/%.c
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) -c $< -o $@
|
||||
+
|
||||
+$(obj)/%.o: %.cc
|
||||
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$(@F)) -c $< -o $@
|
||||
+
|
||||
+$(obj)/%:: $(src)/%_shipped
|
||||
+ $(Q)cat $< > $@
|
||||
+
|
||||
+clean:
|
||||
+ $(Q)rm -f $(addprefix $(obj)/,$(clean-files))
|
||||
+distclean: clean
|
||||
+ $(Q)rm -f $(addprefix $(obj)/,$(lxdialog) $(conf-objs) $(mconf-objs) $(kxgettext-objs) \
|
||||
+ $(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \
|
||||
+ mconf .depend)
|
||||
+
|
||||
+FORCE:
|
||||
+.PHONY: FORCE clean distclean
|
||||
Index: kconfig/foo.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ kconfig/foo.h
|
||||
@@ -0,0 +1,12 @@
|
||||
+#ifndef __KCONFIG_FOO_H
|
||||
+#define __KCONFIG_FOO_H
|
||||
+
|
||||
+#ifndef __APPLE__
|
||||
+#include <features.h>
|
||||
+#endif
|
||||
+#include <limits.h>
|
||||
+
|
||||
+#ifndef PATH_MAX
|
||||
+#define PATH_MAX 1024
|
||||
+#endif
|
||||
+#endif /* __KCONFIG_FOO_H */
|
||||
17
support/kconfig/patches/11-use-mktemp-for-lxdialog.patch
Normal file
17
support/kconfig/patches/11-use-mktemp-for-lxdialog.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
lxdialog/check-lxdialog.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: kconfig/lxdialog/check-lxdialog.sh
|
||||
===================================================================
|
||||
--- kconfig.orig/lxdialog/check-lxdialog.sh
|
||||
+++ kconfig/lxdialog/check-lxdialog.sh
|
||||
@@ -41,7 +41,7 @@ ccflags()
|
||||
}
|
||||
|
||||
# Temp file, try to clean up after us
|
||||
-tmp=.lxdialog.tmp
|
||||
+tmp=$(mktemp)
|
||||
trap "rm -f $tmp" 0 1 2 3 15
|
||||
|
||||
# Check if we can link to ncurses
|
||||
17
support/kconfig/patches/12-fix-glade-file-path.patch
Normal file
17
support/kconfig/patches/12-fix-glade-file-path.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
gconf.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: kconfig/gconf.c
|
||||
===================================================================
|
||||
--- kconfig.orig/gconf.c
|
||||
+++ kconfig/gconf.c
|
||||
@@ -1462,7 +1462,7 @@ int main(int ac, char *av[])
|
||||
/* Determine GUI path */
|
||||
env = getenv(SRCTREE);
|
||||
if (env)
|
||||
- glade_file = g_strconcat(env, "/scripts/kconfig/gconf.glade", NULL);
|
||||
+ glade_file = g_strconcat(env, "/support/kconfig/gconf.glade", NULL);
|
||||
else if (av[0][0] == '/')
|
||||
glade_file = g_strconcat(av[0], ".glade", NULL);
|
||||
else
|
||||
207
support/kconfig/patches/14-support-out-of-tree-config.patch
Normal file
207
support/kconfig/patches/14-support-out-of-tree-config.patch
Normal file
@@ -0,0 +1,207 @@
|
||||
---
|
||||
conf.c | 1
|
||||
confdata.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++---------------
|
||||
util.c | 16 +++++++++++++--
|
||||
3 files changed, 61 insertions(+), 18 deletions(-)
|
||||
|
||||
Index: kconfig/conf.c
|
||||
===================================================================
|
||||
--- kconfig.orig/conf.c
|
||||
+++ kconfig/conf.c
|
||||
@@ -565,7 +565,6 @@ int main(int ac, char **av)
|
||||
}
|
||||
name = av[optind];
|
||||
conf_parse(name);
|
||||
- //zconfdump(stdout);
|
||||
if (sync_kconfig) {
|
||||
name = conf_get_configname();
|
||||
if (stat(name, &tmpstat)) {
|
||||
Index: kconfig/confdata.c
|
||||
===================================================================
|
||||
--- kconfig.orig/confdata.c
|
||||
+++ kconfig/confdata.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
+#include <libgen.h>
|
||||
|
||||
#include "lkc.h"
|
||||
|
||||
@@ -76,9 +77,7 @@ const char *conf_get_configname(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)
|
||||
@@ -748,6 +747,9 @@ int conf_write(const char *name)
|
||||
char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1];
|
||||
char *env;
|
||||
|
||||
+ if (!name)
|
||||
+ name = conf_get_configname();
|
||||
+
|
||||
dirname[0] = 0;
|
||||
if (name && name[0]) {
|
||||
struct stat st;
|
||||
@@ -842,6 +844,7 @@ static int conf_split_config(void)
|
||||
{
|
||||
const char *name;
|
||||
char path[PATH_MAX+1];
|
||||
+ char *opwd, *dir, *_name;
|
||||
char *s, *d, c;
|
||||
struct symbol *sym;
|
||||
struct stat sb;
|
||||
@@ -851,8 +854,20 @@ static int conf_split_config(void)
|
||||
conf_read_simple(name, S_DEF_AUTO);
|
||||
sym_calc_value(modules_sym);
|
||||
|
||||
- if (chdir("include/config"))
|
||||
- return 1;
|
||||
+ opwd = malloc(256);
|
||||
+ _name = strdup(name);
|
||||
+ if (opwd == NULL || _name == NULL)
|
||||
+ return 1;
|
||||
+ opwd = getcwd(opwd, 256);
|
||||
+ dir = dirname(_name);
|
||||
+ if (dir == NULL) {
|
||||
+ res = 1;
|
||||
+ goto err;
|
||||
+ }
|
||||
+ if (chdir(dir)) {
|
||||
+ res = 1;
|
||||
+ goto err;
|
||||
+ }
|
||||
|
||||
res = 0;
|
||||
for_all_symbols(i, sym) {
|
||||
@@ -945,9 +960,11 @@ static int conf_split_config(void)
|
||||
close(fd);
|
||||
}
|
||||
out:
|
||||
- if (chdir("../.."))
|
||||
- return 1;
|
||||
-
|
||||
+ if (chdir(opwd))
|
||||
+ res = 1;
|
||||
+err:
|
||||
+ free(opwd);
|
||||
+ free(_name);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -957,25 +974,38 @@ int conf_write_autoconf(void)
|
||||
const char *name;
|
||||
FILE *out, *tristate, *out_h;
|
||||
int i;
|
||||
+ char dir[PATH_MAX+1], buf[PATH_MAX+1];
|
||||
+ char *s;
|
||||
+
|
||||
+ strcpy(dir, conf_get_configname());
|
||||
+ s = strrchr(dir, '/');
|
||||
+ if (s)
|
||||
+ s[1] = 0;
|
||||
+ else
|
||||
+ dir[0] = 0;
|
||||
|
||||
sym_clear_all_valid();
|
||||
|
||||
- file_write_dep("include/config/auto.conf.cmd");
|
||||
+ sprintf(buf, "%s.config.cmd", dir);
|
||||
+ file_write_dep(buf);
|
||||
|
||||
if (conf_split_config())
|
||||
return 1;
|
||||
|
||||
- out = fopen(".tmpconfig", "w");
|
||||
+ sprintf(buf, "%s.tmpconfig", dir);
|
||||
+ out = fopen(buf, "w");
|
||||
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);
|
||||
fclose(tristate);
|
||||
@@ -1007,19 +1037,22 @@ int conf_write_autoconf(void)
|
||||
name = getenv("KCONFIG_AUTOHEADER");
|
||||
if (!name)
|
||||
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_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.
|
||||
*/
|
||||
- if (rename(".tmpconfig", name))
|
||||
+ sprintf(buf, "%s.tmpconfig", dir);
|
||||
+ if (rename(buf, name))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
Index: kconfig/util.c
|
||||
===================================================================
|
||||
--- kconfig.orig/util.c
|
||||
+++ kconfig/util.c
|
||||
@@ -34,6 +34,8 @@ struct file *file_lookup(const char *nam
|
||||
/* write a dependency file as used by kbuild to track dependencies */
|
||||
int file_write_dep(const char *name)
|
||||
{
|
||||
+ char *str;
|
||||
+ char buf[PATH_MAX+1], buf2[PATH_MAX+1], dir[PATH_MAX+1];
|
||||
struct symbol *sym, *env_sym;
|
||||
struct expr *e;
|
||||
struct file *file;
|
||||
@@ -41,7 +43,16 @@ int file_write_dep(const char *name)
|
||||
|
||||
if (!name)
|
||||
name = ".kconfig.d";
|
||||
- out = fopen("..config.tmp", "w");
|
||||
+
|
||||
+ strcpy(dir, conf_get_configname());
|
||||
+ str = strrchr(dir, '/');
|
||||
+ if (str)
|
||||
+ str[1] = 0;
|
||||
+ else
|
||||
+ dir[0] = 0;
|
||||
+
|
||||
+ sprintf(buf, "%s..config.tmp", dir);
|
||||
+ out = fopen(buf, "w");
|
||||
if (!out)
|
||||
return 1;
|
||||
fprintf(out, "deps_config := \\\n");
|
||||
@@ -72,7 +83,8 @@ int file_write_dep(const char *name)
|
||||
|
||||
fprintf(out, "\n$(deps_config): ;\n");
|
||||
fclose(out);
|
||||
- rename("..config.tmp", name);
|
||||
+ sprintf(buf2, "%s%s", dir, name);
|
||||
+ rename(buf, buf2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
commit 6faa447282fe90d42e0513af46c13f20b4b327d4
|
||||
Author: Yann E. MORIN <yann.morin.1998@free.fr>
|
||||
Date: Wed Nov 13 22:45:02 2013 +0100
|
||||
|
||||
support/kconfig: fix 'space' to (de)select options
|
||||
|
||||
In case a menu has comment without letters/numbers (eg. characters
|
||||
matching the regexp '^[^[:alpha:][:digit:]]+$', for example - or *),
|
||||
hitting space will cycle through those comments, rather than
|
||||
selecting/deselecting the currently-highlighted option.
|
||||
|
||||
This is the behaviour of hitting any letter/digit: jump to the next
|
||||
option which prompt starts with that letter. The only letters that
|
||||
do not behave as such are 'y' 'm' and 'n'. Prompts that start with
|
||||
one of those three letters are instead matched on the first letter
|
||||
that is not 'y', 'm' or 'n'.
|
||||
|
||||
Fix that by treating 'space' as we treat y/m/n, ie. as an action key,
|
||||
not as shortcut to jump to prompt.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Cc: Peter Korsgaard <jacmet@uclibc.org>
|
||||
Cc: Samuel Martin <s.martin49@gmail.com>
|
||||
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
|
||||
---
|
||||
Note: I'll be running this upstream soonish.
|
||||
|
||||
Index: kconfig/lxdialog/menubox.c
|
||||
===================================================================
|
||||
--- kconfig.orig/lxdialog/menubox.c
|
||||
+++ kconfig/lxdialog/menubox.c
|
||||
@@ -285,7 +285,7 @@ do_resize:
|
||||
if (key < 256 && isalpha(key))
|
||||
key = tolower(key);
|
||||
|
||||
- if (strchr("ynmh", key))
|
||||
+ if (strchr("ynmh ", key))
|
||||
i = max_choice;
|
||||
else {
|
||||
for (i = choice + 1; i < max_choice; i++) {
|
||||
26
support/kconfig/patches/17-backport-kecho.patch
Normal file
26
support/kconfig/patches/17-backport-kecho.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
This commit added kecho to scripts/Kbuild.include (and doc).
|
||||
Backported just Kbuild.include part to Makefile
|
||||
|
||||
commit 5410ecc0def8955ab99810c5626cc7e156991896
|
||||
Author: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Thu Nov 6 03:31:34 2008 -0500
|
||||
|
||||
kbuild: introduce $(kecho) convenience echo
|
||||
|
||||
Index: kconfig/Makefile
|
||||
===================================================================
|
||||
--- kconfig.orig/Makefile
|
||||
+++ kconfig/Makefile
|
||||
@@ -6,6 +6,12 @@
|
||||
PHONY += xconfig gconfig menuconfig config syncconfig update-po-config \
|
||||
localmodconfig localyesconfig
|
||||
|
||||
+# Easy method for doing a status message
|
||||
+ kecho := :
|
||||
+ quiet_kecho := echo
|
||||
+silent_kecho := :
|
||||
+kecho := $($(quiet)kecho)
|
||||
+
|
||||
ifdef KBUILD_KCONFIG
|
||||
Kconfig := $(KBUILD_KCONFIG)
|
||||
else
|
||||
@@ -0,0 +1,27 @@
|
||||
commit 0f56304521db42bd2c05867fd78a247104a4ad95
|
||||
Author: Henrique Marks <henrique.marks@datacom.ind.br>
|
||||
Date: Mon, 7 Dec 2015 12:08:45 -0200
|
||||
|
||||
merge_config.sh: create temporary files in /tmp
|
||||
|
||||
Creating temporary files in /tmp (or the path pointed by $TMPDIR) allows the
|
||||
buildroot top directory to be read-only and shareable between multible builds.
|
||||
This follows what other scripts do, e.g. check-kernel-headers.sh.
|
||||
|
||||
Signed-off-by: Henrique Marks <henrique.marks@datacom.ind.br>
|
||||
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
|
||||
Index: kconfig/merge_config.sh
|
||||
===================================================================
|
||||
--- kconfig.orig/merge_config.sh
|
||||
+++ kconfig/merge_config.sh
|
||||
@@ -100,7 +100,7 @@ fi
|
||||
|
||||
MERGE_LIST=$*
|
||||
SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
|
||||
-TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX)
|
||||
+TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX)
|
||||
|
||||
echo "Using $INITFILE as base"
|
||||
cat $INITFILE > $TMP_FILE
|
||||
@@ -0,0 +1,47 @@
|
||||
commit 28fac3973b3c693c453594b007c08c1e1e5c4af3
|
||||
Author: Ilya Kuzmich <ilya.kuzmich@gmail.com>
|
||||
Date: Tue, 9 Jan 2018 14:37:43 +0300
|
||||
|
||||
merge_config.sh: add br2-external support
|
||||
|
||||
Pass BR2_EXTERNAL value via -e option.
|
||||
This will prevent merge_config.sh from silently eating any symbols defined in
|
||||
external trees on a clean buildroot tree invocation.
|
||||
|
||||
Signed-off-by: Ilya Kuzmich <ilya.kuzmich@gmail.com>
|
||||
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
|
||||
Index: kconfig/merge_config.sh
|
||||
===================================================================
|
||||
--- kconfig.orig/merge_config.sh
|
||||
+++ kconfig/merge_config.sh
|
||||
@@ -33,6 +33,7 @@ usage() {
|
||||
echo " -n use allnoconfig instead of alldefconfig"
|
||||
echo " -r list redundant entries when merging fragments"
|
||||
echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead."
|
||||
+ echo " -e colon-separated list of br2-external trees to use (optional)"
|
||||
}
|
||||
|
||||
RUNMAKE=true
|
||||
@@ -71,6 +72,11 @@ while true; do
|
||||
shift 2
|
||||
continue
|
||||
;;
|
||||
+ "-e")
|
||||
+ EXTERNAL_ARG="BR2_EXTERNAL=$2"
|
||||
+ shift 2
|
||||
+ continue
|
||||
+ ;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
@@ -151,7 +157,7 @@ fi
|
||||
# Use the merged file as the starting point for:
|
||||
# alldefconfig: Fills in any missing symbols with Kconfig default
|
||||
# allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
|
||||
-make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
|
||||
+make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET
|
||||
|
||||
|
||||
# Check all specified config values took (might have missed-dependency issues)
|
||||
@@ -0,0 +1,31 @@
|
||||
Index: kconfig/merge_config.sh
|
||||
===================================================================
|
||||
--- kconfig.orig/merge_config.sh
|
||||
+++ kconfig/merge_config.sh
|
||||
@@ -34,12 +34,16 @@ usage() {
|
||||
echo " -r list redundant entries when merging fragments"
|
||||
echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead."
|
||||
echo " -e colon-separated list of br2-external trees to use (optional)"
|
||||
+ echo
|
||||
+ echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_
|
||||
+ environment variable."
|
||||
}
|
||||
|
||||
RUNMAKE=true
|
||||
ALLTARGET=alldefconfig
|
||||
WARNREDUN=false
|
||||
OUTPUT=.
|
||||
+CONFIG_PREFIX=${CONFIG_-CONFIG_}
|
||||
|
||||
while true; do
|
||||
case $1 in
|
||||
@@ -105,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then
|
||||
fi
|
||||
|
||||
MERGE_LIST=$*
|
||||
-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
|
||||
+SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p"
|
||||
+
|
||||
TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX)
|
||||
|
||||
echo "Using $INITFILE as base"
|
||||
@@ -0,0 +1,32 @@
|
||||
Index: kconfig/merge_config.sh
|
||||
===================================================================
|
||||
--- kconfig.orig/merge_config.sh
|
||||
+++ kconfig/merge_config.sh
|
||||
@@ -109,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then
|
||||
fi
|
||||
|
||||
MERGE_LIST=$*
|
||||
-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p"
|
||||
+SED_CONFIG_EXP1="s/^\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)=.*/\1/p"
|
||||
+SED_CONFIG_EXP2="s/^# \(${CONFIG_PREFIX}[a-zA-Z0-9_]*\) is not set$/\1/p"
|
||||
|
||||
TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX)
|
||||
|
||||
@@ -123,7 +124,7 @@ for MERGE_FILE in $MERGE_LIST ; do
|
||||
echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2
|
||||
exit 1
|
||||
fi
|
||||
- CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE)
|
||||
+ CFG_LIST=$(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $MERGE_FILE)
|
||||
|
||||
for CFG in $CFG_LIST ; do
|
||||
grep -q -w $CFG $TMP_FILE || continue
|
||||
@@ -166,7 +167,7 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERN
|
||||
|
||||
|
||||
# Check all specified config values took (might have missed-dependency issues)
|
||||
-for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
|
||||
+for CFG in $(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $TMP_FILE); do
|
||||
|
||||
REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE)
|
||||
ACTUAL_VAL=$(grep -w -e "$CFG" "$KCONFIG_CONFIG")
|
||||
12
support/kconfig/patches/series
Normal file
12
support/kconfig/patches/series
Normal file
@@ -0,0 +1,12 @@
|
||||
01-kconfig-kernel-to-buildroot.patch
|
||||
06-br-build-system-integration.patch
|
||||
10-br-build-system.patch
|
||||
11-use-mktemp-for-lxdialog.patch
|
||||
12-fix-glade-file-path.patch
|
||||
14-support-out-of-tree-config.patch
|
||||
16-fix-space-to-de-select-options.patch
|
||||
17-backport-kecho.patch
|
||||
18-merge-config.sh-create-temporary-files-in-tmp.patch
|
||||
19-merge_config.sh-add-br2-external-support.patch
|
||||
20-merge_config.sh-Allow-to-define-config-prefix.patch
|
||||
21-Avoid-false-positive-matches-from-comment-lines.patch
|
||||
Reference in New Issue
Block a user