From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 03/10] docs/manual: document the waf-package infra
Date: Sun, 30 Oct 2016 17:31:01 +0100 [thread overview]
Message-ID: <f3643009-90a7-30fa-94ae-e7bc41c452d5@gmail.com> (raw)
In-Reply-To: <e41ab5eee8961c89c1fe9c4566383844e36b24f9.1477843328.git.yann.morin.1998@free.fr>
Hi Yann, All,
Le 30/10/2016 ? 17:02, Yann E. MORIN a ?crit :
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Best regards,
Romain
> ---
> docs/manual/adding-packages-waf.txt | 67 +++++++++++++++++++++++++++++++++++++
> docs/manual/adding-packages.txt | 2 ++
> 2 files changed, 69 insertions(+)
> create mode 100644 docs/manual/adding-packages-waf.txt
>
> diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.txt
> new file mode 100644
> index 0000000..31c7167
> --- /dev/null
> +++ b/docs/manual/adding-packages-waf.txt
> @@ -0,0 +1,67 @@
> +// -*- mode:doc; -*-
> +// vim: set syntax=asciidoc:
> +
> +=== Infrastructure for Waf-based packages
> +
> +[[waf-package-tutorial]]
> +
> +==== +waf-package+ tutorial
> +
> +First, let's see how to write a +.mk+ file for a Waf-based package, with
> +an example :
> +
> +------------------------
> +01: ################################################################################
> +02: #
> +03: # libfoo
> +04: #
> +05: ################################################################################
> +06:
> +07: LIBFOO_VERSION = 1.0
> +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz
> +09: LIBFOO_SITE = http://www.foosoftware.org/download
> +10: LIBFOO_CONF_OPTS = --eanble-bar --disable-baz
> +11: LIBFOO_DEPENDENCIES = bar
> +12:
> +13: $(eval $(waf-package))
> +------------------------
> +
> +On line 7, we declare the version of the package.
> +
> +On line 8 and 9, we declare the name of the tarball (xz-ed tarball
> +recommended) and the location of the tarball on the Web. Buildroot
> +will automatically download the tarball from this location.
> +
> +On line 10, we tell Buildroot what options to enable for libfoo.
> +
> +On line 11, we tell Buildroot the depednencies of libfoo.
> +
> +Finally, on line line 13, we invoke the +waf-package+
> +macro that generates all the Makefile rules that actually allows the
> +package to be built.
> +
> +[[waf-package-reference]]
> +
> +==== +waf-package+ reference
> +
> +The main macro of the Waf package infrastructure is +waf-package+.
> +It is similar to the +generic-package+ macro.
> +
> +Just like the generic infrastructure, the Waf infrastructure works
> +by defining a number of variables before calling the +waf-package+
> +macro.
> +
> +First, all the package metadata information variables that exist in
> +the generic infrastructure also exist in the Waf infrastructure:
> ++LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+,
> ++LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+,
> ++LIBFOO_INSTALL_TARGET+.
> +
> +An additional variable, specific to the Waf infrastructure, can
> +also be defined.
> +
> +* +LIBFOO_BUNDLED_WAF+ can be set to +YES+ or +NO+ to tell Buildroot to
> + use the bundled +waf+ executable. If set to +YES+, the default, then
> + Buildroot will use the waf executable in the package source tree; if
> + set to +NO+, then Buidlroot will download and install waf as a
> + host-tool.
> diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt
> index 76f90c9..4595991 100644
> --- a/docs/manual/adding-packages.txt
> +++ b/docs/manual/adding-packages.txt
> @@ -29,6 +29,8 @@ include::adding-packages-kconfig.txt[]
>
> include::adding-packages-rebar.txt[]
>
> +include::adding-packages-waf.txt[]
> +
> include::adding-packages-kernel-module.txt[]
>
> include::adding-packages-asciidoc.txt[]
>
next prev parent reply other threads:[~2016-10-30 16:31 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-30 16:02 [Buildroot] [PATCH 00/10] core: add waf-package infra, convert packages Yann E. MORIN
2016-10-30 16:02 ` [Buildroot] [PATCH 01/10] package/waf: new host package Yann E. MORIN
2016-10-30 16:21 ` Romain Naour
2016-12-02 22:55 ` Thomas Petazzoni
2016-10-30 16:02 ` [Buildroot] [PATCH 02/10] core: add waf-package infra Yann E. MORIN
2016-10-30 16:30 ` Romain Naour
2016-11-16 23:02 ` Thomas Petazzoni
2016-11-17 20:44 ` Yann E. MORIN
2016-11-17 23:54 ` Arnout Vandecappelle
2016-11-17 23:52 ` Arnout Vandecappelle
2016-11-18 8:45 ` Thomas Petazzoni
2016-11-25 7:16 ` Lionel Orry
2016-12-02 22:56 ` Thomas Petazzoni
2016-10-30 16:02 ` [Buildroot] [PATCH 03/10] docs/manual: document the " Yann E. MORIN
2016-10-30 16:31 ` Romain Naour [this message]
2016-11-16 23:04 ` Thomas Petazzoni
2016-11-17 20:47 ` Yann E. MORIN
2016-11-18 8:46 ` Thomas Petazzoni
2016-12-02 22:57 ` Thomas Petazzoni
2016-10-30 16:02 ` [Buildroot] [PATCH 04/10] developpers: add myself as pkg-waf devel Yann E. MORIN
2016-10-30 16:31 ` Romain Naour
2016-10-30 16:02 ` [Buildroot] [PATCH 05/10] package/glmark2: make it a waf-package Yann E. MORIN
2016-10-30 16:33 ` Romain Naour
2016-10-30 16:02 ` [Buildroot] [PATCH 06/10] package/gst1-imx: " Yann E. MORIN
2016-10-30 16:35 ` Romain Naour
2016-11-01 10:52 ` Gary Bisson
2016-10-30 16:02 ` [Buildroot] [PATCH 07/10] package/jack2: " Yann E. MORIN
2016-10-30 16:38 ` Romain Naour
2016-10-30 16:02 ` [Buildroot] [PATCH 08/10] package/libimxvpuapi: " Yann E. MORIN
2016-10-30 16:39 ` Romain Naour
2016-11-01 10:52 ` Gary Bisson
2016-10-30 16:02 ` [Buildroot] [PATCH 09/10] package/mpv: " Yann E. MORIN
2016-11-02 22:42 ` Romain Naour
2016-12-02 22:58 ` Thomas Petazzoni
2016-10-30 16:02 ` [Buildroot] [PATCH 10/10] package/norm: " Yann E. MORIN
2016-10-30 16:40 ` Romain Naour
2016-10-30 16:12 ` [Buildroot] [PATCH 00/10] core: add waf-package infra, convert packages Romain Naour
2016-12-02 22:55 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f3643009-90a7-30fa-94ae-e7bc41c452d5@gmail.com \
--to=romain.naour@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox