global: introduce ALL_NONSHARED symbol

Introduce a new symbol ALL_NONSHARED which selects all non-sharable packages
by default. This option is mainly intented for buildbot setups to build the
target dependant software subset only.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-04-13 17:24:12 +02:00
parent bf4bfd8ccc
commit 941fc5e8c8
3 changed files with 13 additions and 4 deletions

View file

@ -1,4 +1,5 @@
# Copyright (C) 2006-2013 OpenWrt.org
# Copyright (C) 2016 LEDE Project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -6,6 +7,10 @@
menu "Global build settings"
config ALL_NONSHARED
bool "Select all target specific packages by default"
default ALL
config ALL_KMODS
bool "Select all kernel module packages by default"
default ALL

View file

@ -2,6 +2,7 @@
grep \^CONFIG_TARGET_ .config | head -n3 > tmp/.diffconfig.head
grep '^CONFIG_ALL=y' .config >> tmp/.diffconfig.head
grep '^CONFIG_ALL_KMODS=y' .config >> tmp/.diffconfig.head
grep '^CONFIG_ALL_NONSHARED=y' .config >> tmp/.diffconfig.head
grep '^CONFIG_DEVEL=y' .config >> tmp/.diffconfig.head
grep '^CONFIG_TOOLCHAINOPTS=y' .config >> tmp/.diffconfig.head
grep '^CONFIG_BUSYBOX_CUSTOM=y' .config >> tmp/.diffconfig.head

View file

@ -558,11 +558,14 @@ sub print_package_config_category($) {
print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n";
print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n";
unless ($pkg->{hidden}) {
if ($pkg->{name} =~ /^kmod-/) {
$pkg->{default} ||= "m if ALL_KMODS";
} else {
$pkg->{default} ||= "m if ALL";
my @def = ("ALL");
if (!exists($pkg->{repository})) {
push @def, "ALL_NONSHARED";
}
if ($pkg->{name} =~ /^kmod-/) {
push @def, "ALL_KMODS";
}
$pkg->{default} ||= "m if " . join("||", @def);
}
if ($pkg->{default}) {
foreach my $default (split /\s*,\s*/, $pkg->{default}) {