X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f52d66ff00b24111f87c274d3d7085ef2e1d27b1..7e450a1c869a5b227e3c91c4e71049059f1193e6:/scripts/gen_busybox_menuconfig.pl diff --git a/scripts/gen_busybox_menuconfig.pl b/scripts/gen_busybox_menuconfig.pl old mode 100644 new mode 100755 index 5fe64783e..0128bf78d --- a/scripts/gen_busybox_menuconfig.pl +++ b/scripts/gen_busybox_menuconfig.pl @@ -16,9 +16,9 @@ my %config; open CONFIG, $DEFCONFIG or die 'cannot open config file'; while () { - /^([\w_]+)=([ym])/ and $config{$1} = $2; - /^([\w_]+)=(\d+)/ and $config{$1} = $2; - /^([\w_]+)=(".+")/ and $config{$1} = $2; + /^CONFIG_([\w_]+)=([ym])/ and $config{$1} = $2; + /^CONFIG_([\w_]+)=(\d+)/ and $config{$1} = $2; + /^CONFIG_([\w_]+)=(".+")/ and $config{$1} = $2; } close CONFIG; @@ -39,8 +39,8 @@ while () { next if $line =~ /^\s*mainmenu/; # FIXME: make this dynamic - $line =~ s/default CONFIG_FEATURE_BUFFERS_USE_MALLOC/default CONFIG_FEATURE_BUFFERS_GO_ON_STACK/; - $line =~ s/default BUSYBOX_CONFIG_FEATURE_SH_IS_NONE/default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH/; + $line =~ s/default FEATURE_BUFFERS_USE_MALLOC/default FEATURE_BUFFERS_GO_ON_STACK/; + $line =~ s/default FEATURE_SH_IS_NONE/default FEATURE_SH_IS_ASH/; if ($line =~ /^\s*config\s*([\w_]+)/) { $cur = $1; @@ -52,10 +52,12 @@ while () { } $line =~ s/^(\s*source\s+)/$1package\/busybox\/config\//; - $line =~ s/(\s+)((CONFIG|FDISK|USING|CROSS|EXTRA|PREFIX|FEATURE|HAVE|BUSYBOX)[\w_]*)/$1BUSYBOX_$2/g; + $line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g; + $line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g; + $line =~ s/(\( ?!?)([A-Z_]+ (\|\||&&))/$1BUSYBOX_CONFIG_$2/g; if ($cur) { - ($cur !~ /^CONFIG/ or $cur eq 'CONFIG_LFS') and do { + ($cur eq 'LFS') and do { $line =~ s/^(\s*(bool|tristate|string))\s*".+"$/$1/; }; if ($line =~ /^\s*default/) {