summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--BSDmakefile2
-rw-r--r--Config.in33
-rw-r--r--GNUmakefile2
-rw-r--r--Makefile17
-rw-r--r--adk/config/Makefile4
-rw-r--r--adk/config/conf.c337
-rw-r--r--adk/config/confdata.c796
-rw-r--r--adk/config/expr.c92
-rw-r--r--adk/config/expr.h46
-rw-r--r--adk/config/gconf.c200
-rw-r--r--adk/config/kconfig-language.txt (renamed from adk/config/Kconfig-language.txt)7
-rw-r--r--adk/config/kxgettext.c20
-rw-r--r--adk/config/lex.zconf.c_shipped137
-rw-r--r--adk/config/list.h131
-rw-r--r--adk/config/lkc.h56
-rw-r--r--adk/config/lkc_proto.h14
-rw-r--r--adk/config/lxdialog/checklist.c22
-rw-r--r--adk/config/lxdialog/dialog.h31
-rw-r--r--adk/config/lxdialog/inputbox.c135
-rw-r--r--adk/config/lxdialog/menubox.c59
-rw-r--r--adk/config/lxdialog/textbox.c183
-rw-r--r--adk/config/lxdialog/util.c94
-rw-r--r--adk/config/lxdialog/yesno.c8
-rw-r--r--adk/config/mconf.c569
-rw-r--r--adk/config/menu.c322
-rw-r--r--adk/config/nconf.c1556
-rw-r--r--adk/config/nconf.gui.c656
-rw-r--r--adk/config/nconf.h96
-rw-r--r--adk/config/qconf.h338
-rw-r--r--adk/config/symbol.c626
-rw-r--r--adk/config/util.c34
-rw-r--r--adk/config/zconf.gperf4
-rw-r--r--adk/config/zconf.hash.c_shipped171
-rw-r--r--adk/config/zconf.l68
-rw-r--r--adk/config/zconf.lex.c2420
-rw-r--r--adk/config/zconf.lex.c_shipped2420
-rw-r--r--adk/config/zconf.tab.c_shipped1663
-rw-r--r--adk/config/zconf.tab.h_shipped107
-rw-r--r--adk/config/zconf.y124
-rw-r--r--adk/tools/pkgmaker.c8
-rw-r--r--docs/common-usage.txt5
-rw-r--r--docs/make-tips.txt2
-rw-r--r--mk/build.mk74
-rw-r--r--mk/image.mk2
-rw-r--r--mk/vars.mk12
-rw-r--r--package/binutils/Makefile2
-rw-r--r--package/cxxtools/Makefile2
-rw-r--r--package/libgcc/Makefile2
-rw-r--r--package/musl/Makefile2
-rw-r--r--package/openssl/Makefile8
-rw-r--r--package/php/Makefile28
-rw-r--r--package/php/patches/patch-configure96
-rw-r--r--package/strace/Makefile2
-rw-r--r--rules.mk2
-rwxr-xr-xscripts/bulk-qemu.sh4
-rwxr-xr-xscripts/create-menu42
-rw-r--r--target/Makefile75
-rw-r--r--target/appliances/000default6
-rw-r--r--target/appliances/kodi34
-rw-r--r--target/appliances/mpd63
-rw-r--r--target/config/Config.in.abi.choice15
-rw-r--r--target/config/Config.in.abi.default10
-rw-r--r--target/config/Config.in.adk1
-rw-r--r--target/config/Config.in.arm.choice2
-rw-r--r--target/config/Config.in.cpu38
-rw-r--r--target/config/Config.in.cris.choice2
-rw-r--r--target/config/Config.in.endian.choice7
-rw-r--r--target/config/Config.in.kernelversion.choice2
-rw-r--r--target/config/Config.in.libc.choice56
-rw-r--r--target/config/Config.in.libc.default8
-rw-r--r--target/config/Config.in.target49
-rw-r--r--target/config/Config.in.toolchain85
-rw-r--r--target/config/Config.in.x86.choice2
-rw-r--r--target/linux/config/Config.in.addons7
-rw-r--r--target/linux/config/Config.in.debug2
-rw-r--r--target/linux/config/Config.in.kernel8
-rw-r--r--target/linux/config/Config.in.kvm2
-rw-r--r--target/linux/config/Config.in.leds1
-rw-r--r--target/linux/config/Config.in.network15
-rw-r--r--target/linux/patches/3.10.53/patch-dietnet (renamed from target/linux/patches/3.10.53/tcp-fastopen.patch)0
-rw-r--r--target/linux/patches/3.12.33/patch-dietnet (renamed from target/linux/patches/3.12.33/tcp-fastopen.patch)0
-rw-r--r--target/linux/patches/3.14.26/patch-dietnet (renamed from target/linux/patches/3.14.26/tcp-fastopen.patch)0
-rw-r--r--target/xtensa/Config.in9
-rw-r--r--toolchain/Makefile4
-rw-r--r--toolchain/binutils/Makefile4
-rw-r--r--toolchain/gcc/Makefile18
-rw-r--r--toolchain/kernel-headers/Makefile19
-rw-r--r--toolchain/uclibc-ng/Makefile10
-rw-r--r--toolchain/uclibc/Makefile10
90 files changed, 11952 insertions, 2507 deletions
diff --git a/.gitignore b/.gitignore
index 244b24f80..2a5c6bb3b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,11 +47,11 @@
/make.log
/dl
/package/Config.in.auto*
-/package/Config.in.collections
/package/pkgconfigs.d/
/extra/
/target/*/Config.in.arch
/target/*/Config.in.systems
+/target/config/Config.in.appliances
/target/config/Config.in.system*
/target/config/Config.in.arch*
/target/config/Config.in.scripts
diff --git a/BSDmakefile b/BSDmakefile
index d7f7992aa..ddf869106 100644
--- a/BSDmakefile
+++ b/BSDmakefile
@@ -19,7 +19,7 @@ ${.TARGETS}: _subdir
_subdir: ${_subdir_dep}
cd ${.CURDIR}/${subdir} && ADK_TOPDIR=${.CURDIR} DEVELOPER=1 \
- ${GMAKE} VERBOSE=1 ${.MFLAGS} ${_subdir}
+ ${GMAKE} ADK_VERBOSE=1 ${.MFLAGS} ${_subdir}
. include "${.CURDIR}/prereq.mk"
.else
diff --git a/Config.in b/Config.in
index 223c3dacb..aa41c14f7 100644
--- a/Config.in
+++ b/Config.in
@@ -1,17 +1,23 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-config MODULES
- boolean
+mainmenu "OpenADK Configuration"
+
+# enable tristate
+config ADK_MODULES
+ bool
+ option modules
default y
config ADK_HAVE_DOT_CONFIG
boolean
default y
-mainmenu "OpenADK Configuration"
+source "target/config/Config.in.appliances"
+
+menu "Target configuration"
+ visible if !ADK_CHOOSE_APPLIANCE
-source "target/config/Config.in.system.choose"
source "target/config/Config.in.cpu"
source "target/config/Config.in.hardware"
source "target/config/Config.in.kernel"
@@ -19,33 +25,28 @@ source "target/config/Config.in.arch"
source "target/config/Config.in.system"
source "target/config/Config.in.endian"
source "target/config/Config.in.arm"
-source "target/config/Config.in.abi"
source "target/config/Config.in.cris"
source "target/config/Config.in.x86"
source "target/config/Config.in.qemu"
source "target/config/Config.in.qemuopts"
-
-menu "Target configuration"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
source "target/config/Config.in.kernelversion"
source "target/config/Config.in.libc"
+source "target/config/Config.in.abi"
source "target/config/Config.in.target"
+
endmenu
source "target/config/Config.in"
-menu "Package collection"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
-source "package/Config.in.collections"
-endmenu
-
menu "Package selection"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+ visible if !ADK_CHOOSE_APPLIANCE
source "package/Config.in.auto.global"
source "package/Config.in"
menu "Package options"
+ visible if !ADK_CHOOSE_APPLIANCE
+
config ADK_LEAVE_ETC_ALONE
boolean "do not install anything into /etc"
default n
@@ -90,12 +91,12 @@ endmenu
endmenu
menu "Runtime configuration"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+ visible if !ADK_CHOOSE_APPLIANCE
source "target/config/Config.in.runtime"
endmenu
menu "Kernel configuration"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+ visible if !ADK_CHOOSE_APPLIANCE
source "target/linux/Config.in"
endmenu
diff --git a/GNUmakefile b/GNUmakefile
index 698c0ea68..1cd73044e 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -16,7 +16,7 @@ ${MAKECMDGOALS}: _subdir
_subdir: ${_subdir_dep}
cd ${subdir} && ADK_TOPDIR=${ADK_TOPDIR} DEVELOPER=1 \
- make VERBOSE=1 ${MAKEFLAGS} ${MAKECMDGOALS}
+ make ADK_VERBOSE=1 ${MAKEFLAGS} ${MAKECMDGOALS}
include prereq.mk
else
diff --git a/Makefile b/Makefile
index ce17b67f5..b0e240795 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ all: .prereq_done checkreloc
v: .prereq_done
@(echo; echo "Build started on $$(LC_ALL=C LANGUAGE=C date)"; \
- set -x; ${_UNLIMIT} ${GMAKE_FMK} VERBOSE=1 all) 2>&1 | tee -a make.log
+ set -x; ${_UNLIMIT} ${GMAKE_FMK} ADK_VERBOSE=1 all) 2>&1 | tee -a make.log
help:
@echo 'Configuration targets:'
@@ -17,8 +17,9 @@ help:
@echo ' menuconfig - Update current config utilising a menu based program'
@echo ' (default when .config does not exist)'
@echo ' oldconfig - Update current config utilising a provided .configs base'
- @echo ' allmodconfig - New config selecting all packages as modules when possible'
- @echo ' allconfig - New config selecting all packages when possible'
+ @echo ' defconfig - New config with defaults'
+ @echo ' allmodconfig - New config selecting all symbols with m'
+ @echo ' allyesconfig - New config selecting all symbols with y'
@echo ' allnoconfig - New config where all options are answered with no'
@echo ''
@echo 'Help targets:'
@@ -85,7 +86,7 @@ config: .prereq_done
@${GMAKE_INV} _config W=
oldconfig: .prereq_done
- @${GMAKE_INV} _config W=-o
+ @${GMAKE_INV} _config W=--oldconfig
download: .prereq_done
@${GMAKE_INV} toolchain/download
@@ -132,13 +133,13 @@ defconfig: .prereq_done
@${GMAKE_INV} defconfig
allnoconfig: .prereq_done
- @${GMAKE_INV} _config W=-n
+ @${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allnoconfig
-allconfig: .prereq_done
- @${GMAKE_INV} _mconfig W=-y RCONFIG=Config.in
+allyesconfig: .prereq_done
+ @${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allyesconfig
allmodconfig: .prereq_done
- @${GMAKE_INV} _mconfig W=-o RCONFIG=Config.in
+ @${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allmodconfig
package_index: .prereq_done
@${GMAKE_INV} package_index
diff --git a/adk/config/Makefile b/adk/config/Makefile
index 7e91da1bf..b6c253f18 100644
--- a/adk/config/Makefile
+++ b/adk/config/Makefile
@@ -78,7 +78,7 @@ lkc_defs.h: lkc_proto.h
# The following requires flex/bison
# By default we use the _shipped versions, uncomment the
# following line if you are modifying the flex/bison src.
-#LKC_GENPARSER:= 1
+# LKC_GENPARSER:= 1
ifdef LKC_GENPARSER
@@ -86,7 +86,7 @@ ifdef LKC_GENPARSER
bison -t -d -v -b $* -p $(notdir $*) $<
%.hash.c: %.gperf
- gperf < $< > $@
+ gperf -t --output-file zconf.hash.c -a -C -E -g -k '1,3,$$' -p -t zconf.gperf
lex.%.c: %.l
flex -P$(notdir $*) -o$@ $<
diff --git a/adk/config/conf.c b/adk/config/conf.c
index 412656fec..fef75fc75 100644
--- a/adk/config/conf.c
+++ b/adk/config/conf.c
@@ -10,42 +10,48 @@
#include <string.h>
#include <time.h>
#include <unistd.h>
+#include <getopt.h>
#include <sys/stat.h>
#include <sys/time.h>
+#include <errno.h>
-#define LKC_DIRECT_LINK
#include "lkc.h"
static void conf(struct menu *menu);
static void check_conf(struct menu *menu);
-
-enum {
- ask_all,
- ask_new,
- ask_silent,
- set_default,
- set_yes,
- set_mod,
- set_no,
- set_random
-} input_mode = ask_all;
-char *defconfig_file;
+static void xfgets(char *str, int size, FILE *in);
+
+enum input_mode {
+ oldaskconfig,
+ silentoldconfig,
+ oldconfig,
+ allnoconfig,
+ allyesconfig,
+ allmodconfig,
+ alldefconfig,
+ randconfig,
+ defconfig,
+ savedefconfig,
+ listnewconfig,
+ olddefconfig,
+} input_mode = oldaskconfig;
static int indent = 1;
+static int tty_stdio;
static int valid_stdin = 1;
static int sync_kconfig;
static int conf_cnt;
static char line[128];
static struct menu *rootEntry;
-static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n");
-
-static const char *get_help(struct menu *menu)
+static void print_help(struct menu *menu)
{
- if (menu_has_help(menu))
- return _(menu_get_help(menu));
- else
- return nohelp_text;
+ struct gstr help = str_new();
+
+ menu_get_ext_help(menu, &help);
+
+ printf("\n%s\n", str_get(&help));
+ str_free(&help);
}
static void strip(char *str)
@@ -68,9 +74,9 @@ static void strip(char *str)
static void check_stdin(void)
{
if (!valid_stdin) {
- printf("aborted!\n\n");
- printf("Console input/output is redirected. ");
- printf("Run 'make oldconfig' to update configuration.\n\n");
+ printf(_("aborted!\n\n"));
+ printf(_("Console input/output is redirected. "));
+ printf(_("Run 'make oldconfig' to update configuration.\n\n"));
exit(1);
}
}
@@ -80,7 +86,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
enum symbol_type type = sym_get_type(sym);
if (!sym_has_value(sym))
- printf("(NEW) ");
+ printf(_("(NEW) "));
line[0] = '\n';
line[1] = 0;
@@ -93,17 +99,20 @@ static int conf_askvalue(struct symbol *sym, const char *def)
}
switch (input_mode) {
- case ask_new:
- case ask_silent:
+ case oldconfig:
+ case silentoldconfig:
if (sym_has_value(sym)) {
printf("%s\n", def);
return 0;
}
check_stdin();
- case ask_all:
+ /* fall through */
+ case oldaskconfig:
fflush(stdout);
- if (fgets(line, 128, stdin) != NULL)
- return 1;
+ xfgets(line, 128, stdin);
+ if (!tty_stdio)
+ printf("\n");
+ return 1;
default:
break;
}
@@ -121,7 +130,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
return 1;
}
-int conf_string(struct menu *menu)
+static int conf_string(struct menu *menu)
{
struct symbol *sym = menu->sym;
const char *def;
@@ -140,10 +149,11 @@ int conf_string(struct menu *menu)
case '?':
/* print help */
if (line[1] == '\n') {
- printf("\n%s\n", get_help(menu));
+ print_help(menu);
def = NULL;
break;
}
+ /* fall through */
default:
line[strlen(line)-1] = 0;
def = line;
@@ -156,14 +166,12 @@ int conf_string(struct menu *menu)
static int conf_sym(struct menu *menu)
{
struct symbol *sym = menu->sym;
- int type;
tristate oldval, newval;
while (1) {
printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
if (sym->name)
printf("(%s) ", sym->name);
- type = sym_get_type(sym);
putchar('[');
oldval = sym_get_tristate_value(sym);
switch (oldval) {
@@ -220,7 +228,7 @@ static int conf_sym(struct menu *menu)
if (sym_set_tristate_value(sym, newval))
return 0;
help:
- printf("\n%s\n", get_help(menu));
+ print_help(menu);
}
}
@@ -228,11 +236,9 @@ static int conf_choice(struct menu *menu)
{
struct symbol *sym, *def_sym;
struct menu *child;
- int type;
bool is_new;
sym = menu->sym;
- type = sym_get_type(sym);
is_new = !sym_has_value(sym);
if (sym_is_changable(sym)) {
conf_sym(menu);
@@ -281,7 +287,7 @@ static int conf_choice(struct menu *menu)
if (child->sym->name)
printf(" (%s)", child->sym->name);
if (!sym_has_value(child->sym))
- printf(" (NEW)");
+ printf(_(" (NEW)"));
printf("\n");
}
printf(_("%*schoice"), indent - 1, "");
@@ -294,20 +300,21 @@ static int conf_choice(struct menu *menu)
printf("?");
printf("]: ");
switch (input_mode) {
- case ask_new:
- case ask_silent:
+ case oldconfig:
+ case silentoldconfig:
if (!is_new) {
cnt = def;
printf("%d\n", cnt);
break;
}
check_stdin();
- case ask_all:
+ /* fall through */
+ case oldaskconfig:
fflush(stdout);
- if (fgets(line, 128, stdin) != NULL)
- strip(line);
+ xfgets(line, 128, stdin);
+ strip(line);
if (line[0] == '?') {
- printf("\n%s\n", get_help(menu));
+ print_help(menu);
continue;
}
if (!line[0])
@@ -330,8 +337,8 @@ static int conf_choice(struct menu *menu)
}
if (!child)
continue;
- if (line[strlen(line) - 1] == '?') {
- printf("\n%s\n", get_help(child));
+ if (line[0] && line[strlen(line) - 1] == '?') {
+ print_help(child);
continue;
}
sym_set_choice_value(sym, child->sym);
@@ -360,10 +367,14 @@ static void conf(struct menu *menu)
switch (prop->type) {
case P_MENU:
- if (input_mode == ask_silent && rootEntry != menu) {
+ if ((input_mode == silentoldconfig ||
+ input_mode == listnewconfig ||
+ input_mode == olddefconfig) &&
+ rootEntry != menu) {
check_conf(menu);
return;
}
+ /* fall through */
case P_COMMENT:
prompt = menu_get_prompt(menu);
if (prompt)
@@ -418,10 +429,16 @@ static void check_conf(struct menu *menu)
if (sym && !sym_has_value(sym)) {
if (sym_is_changable(sym) ||
(sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {