package/pkg-waf: add support for <pkg>_SUBDIR
authorLionel Orry <lionel.orry@gmail.com>
Thu, 11 Oct 2018 09:57:52 +0000 (11:57 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 6 Feb 2019 16:21:25 +0000 (17:21 +0100)
In the Buildroot manual, it is specified that the Waf-based
infrastructure supports the <pkg>_SUBDIR variable, which was not true.

This patch:
* makes use of this variable by changing to the given sub-directory
  before executing waf commands,
* documents the usage of <pkg>_SUBDIR in the waf-specific section of
  the manual.

Signed-off-by: Lionel Orry <lionel.orry@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
docs/manual/adding-packages-waf.txt
package/pkg-waf.mk

index 12e122fb87cc68f66701cbf3807ba61886484639..ffc004c290f334db5da966813d9395d14645fbcc 100644 (file)
@@ -60,6 +60,12 @@ the generic infrastructure also exist in the Waf infrastructure:
 An additional variable, specific to the Waf infrastructure, can
 also be defined.
 
+* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the
+  package that contains the main wscript file. This is useful,
+  if for example, the main wscript file is not at the root of
+  the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not
+  specified, it defaults to +LIBFOO_SUBDIR+.
+
 * +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell
   Buildroot to use the bundled +waf+ executable. If set to +NO+, the
   default, then Buildroot will use the waf executable provided in the
index 3288dd63a022da18d7a23ceb15c38850e5a1a098..a32d5dab33795d997b0c9f73a4f8eed26816d47f 100644 (file)
@@ -60,7 +60,7 @@ $(2)_WAF_OPTS                         ?=
 #
 ifndef $(2)_CONFIGURE_CMDS
 define $(2)_CONFIGURE_CMDS
-       cd $$(@D) && \
+       cd $$($$(PKG)_SRCDIR) && \
        $$(TARGET_CONFIGURE_OPTS) \
        $$($(2)_CONF_ENV) \
        $$(HOST_DIR)/bin/python2 $$($(2)_WAF) configure \
@@ -77,7 +77,7 @@ endif
 #
 ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
-       cd $$(@D) && \
+       cd $$($$(PKG)_SRCDIR) && \
        $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \
                build -j $$(PARALLEL_JOBS) $$($(2)_BUILD_OPTS) \
                $$($(2)_WAF_OPTS)
@@ -90,7 +90,7 @@ endif
 #
 ifndef $(2)_INSTALL_STAGING_CMDS
 define $(2)_INSTALL_STAGING_CMDS
-       cd $$(@D) && \
+       cd $$($$(PKG)_SRCDIR) && \
        $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \
                install --destdir=$$(STAGING_DIR) \
                $$($(2)_INSTALL_STAGING_OPTS) \
@@ -104,7 +104,7 @@ endif
 #
 ifndef $(2)_INSTALL_TARGET_CMDS
 define $(2)_INSTALL_TARGET_CMDS
-       cd $$(@D) && \
+       cd $$($$(PKG)_SRCDIR) && \
        $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \
                install --destdir=$$(TARGET_DIR) \
                $$($(2)_INSTALL_TARGET_OPTS) \