diff mbox series

[1/1] pkg-waf: add support for <pkg>_SUBDIR

Message ID CAKAx1cj8sSdbR6_NJu=tiHB=EPO_bjb571k4Yu5rVo_g5h66dw@mail.gmail.com
State Changes Requested
Headers show
Series [1/1] pkg-waf: add support for <pkg>_SUBDIR | expand

Commit Message

Lionel Orry Sept. 19, 2018, 1:31 p.m. UTC
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.

Signed-off-by: Lionel Orry <lionel.orry@gmail.com>
---
 package/pkg-waf.mk | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Lionel Orry Sept. 28, 2018, 8:32 a.m. UTC | #1
Hello, does anyone have the time to look at this small patch ? Thanks a lot!

Best regards,
Lionel
On Wed, Sep 19, 2018 at 3:31 PM Lionel Orry <lionel.orry@gmail.com> wrote:
>
> 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.
>
> Signed-off-by: Lionel Orry <lionel.orry@gmail.com>
> ---
>  package/pkg-waf.mk | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk
> index e5b606f063..826b73291b 100644
> --- a/package/pkg-waf.mk
> +++ b/package/pkg-waf.mk
> @@ -54,13 +54,15 @@ $(2)_INSTALL_STAGING_OPTS        ?=
>  $(2)_INSTALL_TARGET_OPTS        ?=
>  $(2)_WAF_OPTS                ?=
>
> +$(2)_SRCDIR            = $$($(2)_DIR)/$$($(2)_SUBDIR)
> +
>  #
>  # Configure step. Only define it if not already defined by the package
>  # .mk file.
>  #
>  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 +79,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 +92,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 +106,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) \
> --
> 2.19.0
Thomas Petazzoni Oct. 10, 2018, 7:47 p.m. UTC | #2
Hello Lionel,

Thanks for your patch, sorry for the slow reply. See some feedback
below.

On Wed, 19 Sep 2018 15:31:40 +0200, Lionel Orry wrote:
> 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.
> 
> Signed-off-by: Lionel Orry <lionel.orry@gmail.com>

First, could you update the Buildroot manual to document this new
variable of the waf package infrastructure ?

> +$(2)_SRCDIR            = $$($(2)_DIR)/$$($(2)_SUBDIR)

Could you try after dropping this line? In fact the generic package
infrastructure already defines <pkg>_SRCDIR as <pkg>_DIR/<pkg>_SUBDIR,
so it shouldn't be needed to replicate that here.

And bonus point if you submit another patch that drops those redundant
lines from pkg-cmake, pkg-meson and pkg-python, of course after testing
that it still works fine :)

Thanks a lot!

Thomas
diff mbox series

Patch

diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk
index e5b606f063..826b73291b 100644
--- a/package/pkg-waf.mk
+++ b/package/pkg-waf.mk
@@ -54,13 +54,15 @@  $(2)_INSTALL_STAGING_OPTS        ?=
 $(2)_INSTALL_TARGET_OPTS        ?=
 $(2)_WAF_OPTS                ?=

+$(2)_SRCDIR            = $$($(2)_DIR)/$$($(2)_SUBDIR)
+
 #
 # Configure step. Only define it if not already defined by the package
 # .mk file.
 #
 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 +79,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 +92,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 +106,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) \