Vorschlag: Neue configure-Optionen --[enable|disable]-busybox-[flash|yadd]-optionen=<list>. Z.B.
Code: Alles auswählen
./configure .... --enable-busybox-flash-options=CONFIG_NC,CONFIG_UNZIP
m4 -Dflash_enable=CONFIG_NC,CONFIG_UNZIP ... busybox.config.m4
Dazu braucht man etwas neues am m4 Macros in busybox.config.m4. Dies kann wie folgt aussehen:
Code: Alles auswählen
define(`define_disenables', `ifelse(`$#', `1', , `$#', `2',
`define(`$2'_`$1')',
`define(`$2'_`$1')define_disenables(`$1',shift(shift($@)))')')dnl
dnl
define(`dooption',`ifdef(`$1'`_enable', `$1=y',
`ifdef(`$1'`_disable', `# $1 is not set',
`ifelse(`$2',`n', `# $1 is not set', `$1=y')')')')dnl
dnl
ifdef(`yadd',
`define(`option',`dooption($1,$2)')dnl
ifdef(`yadd_enable',`define_disenables(`enable', yadd_enable)')dnl,
ifdef(`yadd_disable',`define_disenables(`disable', yadd_disable)')dnl',
`define(`option',`dooption($1,$3)')dnl
ifdef(`flash_enable',`define_disenables(`enable', flash_enable)')dnl
ifdef(`flash_disable',`define_disenables(`disable', flash_disable)')')dnl
Die Implementierung in configure.ac und make/busybox.mk "ist trivial und wird dem Leser als Übung überlassen".
