Skip to content

Commit

Permalink
classes/waf: Add build and install arguments
Browse files Browse the repository at this point in the history
Adds variables that can be used to allow a recipe to pass extra
arguments to `waf build` and `waf install`. In most cases, you want to
pass the same arguments to `build` and `install` (since install is a
superset of `build`), so by default setting EXTRA_OEWAF_BUILD also
affects `waf install`, but this can be overridded.

Signed-off-by: Joshua Watt <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
  • Loading branch information
JPEWdev authored and rpurdie committed Oct 13, 2020
1 parent 189630c commit 493e17a
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions meta/classes/waf.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ B = "${WORKDIR}/build"

EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"

EXTRA_OEWAF_BUILD ??= ""
# In most cases, you want to pass the same arguments to `waf build` and `waf
# install`, but you can override it if necessary
EXTRA_OEWAF_INSTALL ??= "${EXTRA_OEWAF_BUILD}"

def waflock_hash(d):
# Calculates the hash used for the waf lock file. This should include
# all of the user controllable inputs passed to waf configure. Note
Expand Down Expand Up @@ -55,11 +60,11 @@ waf_do_configure() {

do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
waf_do_compile() {
(cd ${S} && ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)})
(cd ${S} && ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} ${EXTRA_OEWAF_BUILD})
}

waf_do_install() {
(cd ${S} && ./waf install --destdir=${D})
(cd ${S} && ./waf install --destdir=${D} ${EXTRA_OEWAF_INSTALL})
}

EXPORT_FUNCTIONS do_configure do_compile do_install

0 comments on commit 493e17a

Please sign in to comment.