All of lore.kernel.org
 help / color / mirror / Atom feed
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[]
> 

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.