浏览代码

package/pkg-generic: add check that target variant is defined before host variant

Update the documentation accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[yann.morin.1998@free.fr: slight rephrasing in error message, update manual]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Thomas Petazzoni 7 年之前
父节点
当前提交
38860fb21f
共有 2 个文件被更改,包括 10 次插入2 次删除
  1. 4 2
      docs/manual/adding-packages-generic.txt
  2. 6 0
      package/pkg-generic.mk

+ 4 - 2
docs/manual/adding-packages-generic.txt

@@ -179,8 +179,10 @@ some tools to be installed on the host. If the package name is
 variables of other packages, if they depend on +libfoo+ or
 variables of other packages, if they depend on +libfoo+ or
 +host-libfoo+.
 +host-libfoo+.
 
 
-The call to the +generic-package+ and/or +host-generic-package+ macro *must* be
-at the end of the +.mk+ file, after all variable definitions.
+The call to the +generic-package+ and/or +host-generic-package+ macro
+*must* be at the end of the +.mk+ file, after all variable definitions.
+The call to +host-generic-package+ *must* be after the call to
++generic-package+, if any.
 
 
 For the target package, the +generic-package+ uses the variables defined by
 For the target package, the +generic-package+ uses the variables defined by
 the .mk file and prefixed by the uppercased package name:
 the .mk file and prefixed by the uppercased package name:

+ 6 - 0
package/pkg-generic.mk

@@ -646,6 +646,12 @@ $(2)_POST_LEGAL_INFO_HOOKS      ?=
 $(2)_TARGET_FINALIZE_HOOKS      ?=
 $(2)_TARGET_FINALIZE_HOOKS      ?=
 $(2)_ROOTFS_PRE_CMD_HOOKS       ?=
 $(2)_ROOTFS_PRE_CMD_HOOKS       ?=
 
 
+ifeq ($$($(2)_TYPE),target)
+ifneq ($$(HOST_$(2)_KCONFIG_VAR),)
+$$(error "Package $(1) defines host variant before target variant!")
+endif
+endif
+
 # human-friendly targets and target sequencing
 # human-friendly targets and target sequencing
 $(1):			$(1)-install
 $(1):			$(1)-install