diff options
| -rw-r--r-- | meta-networking/classes/waf-samba.bbclass | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/meta-networking/classes/waf-samba.bbclass b/meta-networking/classes/waf-samba.bbclass index a63842cadc..1632c3c60e 100644 --- a/meta-networking/classes/waf-samba.bbclass +++ b/meta-networking/classes/waf-samba.bbclass | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # waf is a build system which is used by samba related project. | 1 | # waf is a build system which is used by samba related project. |
| 2 | # Obtain details from https://wiki.samba.org/index.php/Waf | 2 | # Obtain details from https://wiki.samba.org/index.php/Waf |
| 3 | # | 3 | # |
| 4 | inherit qemu pythonnative waf | 4 | inherit qemu pythonnative |
| 5 | 5 | ||
| 6 | DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python" | 6 | DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python" |
| 7 | 7 | ||
| @@ -21,6 +21,29 @@ CONFIGUREOPTS = " --prefix=${prefix} \ | |||
| 21 | ${PACKAGECONFIG_CONFARGS} \ | 21 | ${PACKAGECONFIG_CONFARGS} \ |
| 22 | " | 22 | " |
| 23 | 23 | ||
| 24 | # avoids build breaks when using no-static-libs.inc | ||
| 25 | DISABLE_STATIC = "" | ||
| 26 | |||
| 27 | def get_waf_parallel_make(d): | ||
| 28 | pm = d.getVar('PARALLEL_MAKE') | ||
| 29 | if pm: | ||
| 30 | # look for '-j' and throw other options (e.g. '-l') away | ||
| 31 | # because they might have different meaning in bjam | ||
| 32 | pm = pm.split() | ||
| 33 | while pm: | ||
| 34 | opt = pm.pop(0) | ||
| 35 | if opt == '-j': | ||
| 36 | v = pm.pop(0) | ||
| 37 | elif opt.startswith('-j'): | ||
| 38 | v = opt[2:].strip() | ||
| 39 | else: | ||
| 40 | continue | ||
| 41 | |||
| 42 | v = min(64, int(v)) | ||
| 43 | return '-j' + str(v) | ||
| 44 | |||
| 45 | return "" | ||
| 46 | |||
| 24 | # Three methods for waf cross compile: | 47 | # Three methods for waf cross compile: |
| 25 | # 1. answers: | 48 | # 1. answers: |
| 26 | # Only --cross-answers - try the cross-answers file, and if | 49 | # Only --cross-answers - try the cross-answers file, and if |
| @@ -86,6 +109,7 @@ do_configure() { | |||
| 86 | fi | 109 | fi |
| 87 | } | 110 | } |
| 88 | 111 | ||
| 112 | do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" | ||
| 89 | do_compile () { | 113 | do_compile () { |
| 90 | python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} | 114 | python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} |
| 91 | } | 115 | } |
