[PATCH rendercheck v3 1/4] Add a meson build system.
Peter Hutterer
peter.hutterer at who-t.net
Fri Mar 31 05:20:35 UTC 2017
On Wed, Mar 29, 2017 at 01:19:32PM -0700, Eric Anholt wrote:
> Meson allows the configure step to be run faster (.3 seconds compared to
> autogen.sh's 3.9 seconds on my system) and a full rebuild (touch
> rendercheck.h; make) to run faster (.05s instead of .07s).
>
> Rendercheck is pretty much the best case scenario for autotools, with
> limited configure-time autodetection, non-recursive make, and no
> libtool, so it seems like an interesting test-case to start with for
> meson conversion.
>
> v2: Add missing check for err.h
> v3: Add a linebreak after printing the version (by Peter),
> fix manpage variable substitution (anholt).
>
> Signed-off-by: Eric Anholt <eric at anholt.net>
series: Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
> ---
> .gitignore | 1 +
> main.c | 7 +++++++
> meson.build | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 75 insertions(+)
> create mode 100644 meson.build
>
> diff --git a/.gitignore b/.gitignore
> index 0c428075e54f..009669fbff0e 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -77,3 +77,4 @@ core
> # For example, !report.pc overrides *.pc. See 'man gitignore'
> #
> rendercheck
> +version.h
> diff --git a/main.c b/main.c
> index 0d3d14637aaa..86346f031707 100644
> --- a/main.c
> +++ b/main.c
> @@ -26,6 +26,9 @@
> #include <string.h>
> #include <strings.h>
> #include <getopt.h>
> +#ifdef HAVE_VERSION_H
> +#include "version.h"
> +#endif
>
> bool is_verbose = false, minimalrendering = false;
> int enabled_tests = ~0; /* Enable all tests by default */
> @@ -289,7 +292,11 @@ int main(int argc, char **argv)
> /* Print the version string. Bail out if --version was requested and
> * continue otherwise.
> */
> +#ifdef HAVE_VERSION_H
> + printf("rendercheck %s\n", VERSION);
> +#else
> puts(PACKAGE_STRING);
> +#endif
> if (print_version)
> return 0;
>
> diff --git a/meson.build b/meson.build
> new file mode 100644
> index 000000000000..bb4171d598c0
> --- /dev/null
> +++ b/meson.build
> @@ -0,0 +1,67 @@
> +project('rendercheck', 'c')
> +project_version = '1.5'
> +cc = meson.get_compiler('c')
> +
> +if cc.has_header('err.h')
> + add_project_arguments('-DHAVE_ERR_H', language: 'c')
> +endif
> +
> +add_project_arguments('-D_GNU_SOURCE', language: 'c')
> +add_project_arguments('-DHAVE_VERSION_H', language: 'c')
> +
> +srcs = [
> + 'main.c',
> + 'ops.c',
> + 'tests.c',
> + 't_blend.c',
> + 't_bug7366.c',
> + 't_composite.c',
> + 't_dstcoords.c',
> + 't_fill.c',
> + 't_gradient.c',
> + 't_gtk_argb_xbgr.c',
> + 't_libreoffice_xrgb.c',
> + 't_repeat.c',
> + 't_shmblend.c',
> + 't_srccoords.c',
> + 't_tsrccoords.c',
> + 't_tsrccoords2.c',
> + 't_triangles.c',
> +]
> +
> +version_config = configuration_data()
> +version_config.set_quoted('VERSION', project_version)
> +
> +configure_file(
> + output: 'version.h',
> + configuration: version_config,
> +)
> +
> +executable(
> + 'rendercheck',
> + srcs,
> + dependencies: [
> + dependency('xrender'),
> + dependency('xext'),
> + dependency('x11'),
> + dependency('xproto', version: '>= 7.0.17'),
> + ],
> + install: true,
> +)
> +
> +man_xorgversion = '"rendercheck @0@" "X Version 11"'.format(project_version)
> +
> +custom_target(
> + 'manpage',
> + input: 'man/rendercheck.man',
> + output: 'rendercheck.1',
> + command: [
> + 'sed',
> + '-e',
> + 's/__xorgversion__/@0@/'.format(man_xorgversion),
> + '@INPUT@'
> + ],
> + capture: true,
> + install: true,
> + install_dir: join_paths(get_option('mandir'), 'man1'),
> +)
> --
> 2.11.0
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list