From a62f0d02ec82d8a4c9618076a7893665dc21cf78 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 23 Sep 2014 10:41:15 +0000
Subject: [PATCH] build: allow packages with build variants to explicitly
 select a default variant

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42654
---
 include/package-defaults.mk | 1 +
 include/package-dumpinfo.mk | 3 ++-
 scripts/metadata.pl         | 2 +-
 scripts/metadata.pm         | 1 +
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index 051cde5020..19f2a16045 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -53,6 +53,7 @@ define Package/Default
   HIDDEN:=
   URL:=
   VARIANT:=
+  DEFAULT_VARIANT:=
   USERID:=
 endef
 
diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk
index 0241580522..5d1d76fee5 100644
--- a/include/package-dumpinfo.mk
+++ b/include/package-dumpinfo.mk
@@ -34,7 +34,8 @@ Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS))
 Menu-Depends: $(MDEPENDS)
 Provides: $(PROVIDES)
 $(if $(VARIANT),Build-Variant: $(VARIANT)
-)$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS)
+$(if $(DEFAULT_VARIANT),Default-Variant: $(VARIANT)
+))$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS)
 )$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS)
 )$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES)
 )Section: $(SECTION)
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 79f930c5ea..4014613de6 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -684,7 +684,7 @@ sub gen_package_mk() {
 			$pkg->{buildonly} and $config = "";
 			print "package-$config += $pkg->{subdir}$pkg->{src}\n";
 			if ($pkg->{variant}) {
-				if (!defined($done{$pkg->{src}})) {
+				if (!defined($done{$pkg->{src}}) or $pkg->{variant_default}) {
 					print "\$(curdir)/$pkg->{subdir}$pkg->{src}/default-variant := $pkg->{variant}\n";
 				}
 				print "\$(curdir)/$pkg->{subdir}$pkg->{src}/variants += \$(if $config,$pkg->{variant})\n"
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 0e55c8ebed..ab5abc0363 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -115,6 +115,7 @@ sub parse_package_metadata($) {
 		/^Depends: \s*(.+)\s*$/ and $pkg->{depends} = [ split /\s+/, $1 ];
 		/^Hidden: \s*(.+)\s*$/ and $pkg->{hidden} = 1;
 		/^Build-Variant: \s*([\w\-]+)\s*/ and $pkg->{variant} = $1;
+		/^Default-Variant: .*/ and $pkg->{variant_default} = 1;
 		/^Build-Only: \s*(.+)\s*$/ and $pkg->{buildonly} = 1;
 		/^Build-Depends: \s*(.+)\s*$/ and $pkg->{builddepends} = [ split /\s+/, $1 ];
 		/^Build-Depends\/(\w+): \s*(.+)\s*$/ and $pkg->{"builddepends/$1"} = [ split /\s+/, $2 ];
-- 
GitLab