1#
2#  Copyright (C) 2016, 2018 Codethink Limited
3#
4#  This program is free software; you can redistribute it and/or
5#  modify it under the terms of the GNU Lesser General Public
6#  License as published by the Free Software Foundation; either
7#  version 2 of the License, or (at your option) any later version.
8#
9#  This library is distributed in the hope that it will be useful,
10#  but WITHOUT ANY WARRANTY; without even the implied warranty of
11#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
12#  Lesser General Public License for more details.
13#
14#  You should have received a copy of the GNU Lesser General Public
15#  License along with this library. If not, see <http://www.gnu.org/licenses/>.
16#
17#  Authors:
18#        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
19
20"""
21autotools - Autotools build element
22===================================
23This is a :mod:`BuildElement <buildstream.buildelement>` implementation for
24using Autotools build scripts (also known as the `GNU Build System
25<https://en.wikipedia.org/wiki/GNU_Build_System>`_).
26
27You will often want to pass additional arguments to ``configure``. This should
28be done on a per-element basis by setting the ``conf-local`` variable.  Here is
29an example:
30
31.. code:: yaml
32
33   variables:
34     conf-local: |
35       --disable-foo --enable-bar
36
37If you want to pass extra options to ``configure`` for every element in your
38project, set the ``conf-global`` variable in your project.conf file. Here is
39an example of that:
40
41.. code:: yaml
42
43   elements:
44     autotools:
45       variables:
46         conf-global: |
47           --disable-gtk-doc --disable-static
48
49Here is the default configuration for the ``autotools`` element in full:
50
51  .. literalinclude:: ../../../buildstream/plugins/elements/autotools.yaml
52     :language: yaml
53"""
54
55from buildstream import BuildElement
56
57
58# Element implementation for the 'autotools' kind.
59class AutotoolsElement(BuildElement):
60    pass
61
62
63# Plugin entry point
64def setup():
65    return AutotoolsElement
66