diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-01-14 15:13:47 -0500 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2022-01-15 23:50:14 +0530 |
commit | 96d000574450ed0a7a0589a069938b0f0dc5c05b (patch) | |
tree | eca1ee208de6670352a3fcacbbd36abc8c94bb7c /test cases | |
parent | f3a8e5d3b26410a3492952487a17909be0bfb217 (diff) | |
download | meson-96d000574450ed0a7a0589a069938b0f0dc5c05b.zip meson-96d000574450ed0a7a0589a069938b0f0dc5c05b.tar.gz meson-96d000574450ed0a7a0589a069938b0f0dc5c05b.tar.bz2 |
gnome.genmarshal: restore the ability to pass sources as Files objects
It used to support:
- a single string
- an array of anything
And as long as CustomTarget supported it too, everything worked fine.
So, a `files('foo')` worked but a `files('foo')[0]` did not, which is
silly... and it's not exactly terrible to use files() here, the input is
literally a list of source files.
Fixes building gnome-terminal
Fixes #9827
Test updated by Nirbheek Chauhan <nirbheek@centricular.com>
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/frameworks/7 gnome/genmarshal/main.c.in (renamed from test cases/frameworks/7 gnome/genmarshal/main.c) | 8 | ||||
-rw-r--r-- | test cases/frameworks/7 gnome/genmarshal/meson.build | 63 | ||||
-rw-r--r-- | test cases/frameworks/7 gnome/test.json | 7 |
3 files changed, 61 insertions, 17 deletions
diff --git a/test cases/frameworks/7 gnome/genmarshal/main.c b/test cases/frameworks/7 gnome/genmarshal/main.c.in index 83b08af..8e3ca7a 100644 --- a/test cases/frameworks/7 gnome/genmarshal/main.c +++ b/test cases/frameworks/7 gnome/genmarshal/main.c.in @@ -1,7 +1,7 @@ -#include<stdio.h> -#include<stdlib.h> -#include<glib-object.h> -#include"marshaller.h" +#include <stdio.h> +#include <stdlib.h> +#include <glib-object.h> +#include @MARSHALLER_HEADER@ static int singleton = 42; diff --git a/test cases/frameworks/7 gnome/genmarshal/meson.build b/test cases/frameworks/7 gnome/genmarshal/meson.build index d7189f5..7686b4b 100644 --- a/test cases/frameworks/7 gnome/genmarshal/meson.build +++ b/test cases/frameworks/7 gnome/genmarshal/meson.build @@ -1,12 +1,51 @@ -marshallers = gnome.genmarshal('marshaller', -sources : 'marshaller.list', -install_header : true, -install_dir : get_option('includedir'), -extra_args : ['-UG_ENABLE_DEBUG', '--prototypes']) - -marshaller_c = marshallers[0] -marshaller_h = marshallers[1] - -genmarshalexe = executable('genmarshalprog', 'main.c', marshaller_c, marshaller_h, -dependencies : gobj) -test('genmarshal test', genmarshalexe) +m_list = configure_file(input: 'marshaller.list', + output: 'm.list', + copy: true) + +idx = 0 +mlists = ['marshaller.list', files('marshaller.list'), m_list] + +foreach mlist : mlists + marshallers = gnome.genmarshal('marshaller-@0@'.format(idx), + sources : mlist, + install_header : true, + install_dir : get_option('includedir') / 'subdir-@0@'.format(idx), + extra_args : ['-UG_ENABLE_DEBUG', '--prototypes']) + + marshaller_c = marshallers[0] + marshaller_h = marshallers[1] + + cdata = configuration_data() + cdata.set_quoted('MARSHALLER_HEADER', 'marshaller-@0@.h'.format(idx)) + + main_c = configure_file(input: 'main.c.in', + output: 'main-@0@.c'.format(idx), + configuration: cdata) + + genmarshalexe = executable('genmarshalprog-@0@'.format(idx), + main_c, marshaller_c, marshaller_h, + dependencies : gobj) + test('genmarshal test @0@'.format(idx), genmarshalexe) + idx += 1 +endforeach + +foreach mlist : mlists + marshallers = gnome.genmarshal('marshaller-@0@'.format(idx), + sources : [mlist], + install_header : true, + install_dir : get_option('includedir') / 'subdir-@0@'.format(idx), + extra_args : ['-UG_ENABLE_DEBUG', '--prototypes']) + + marshaller_c = marshallers[0] + marshaller_h = marshallers[1] + + main_c = configure_file(input: 'main.c.in', + output: 'main-@0@.c'.format(idx), + configuration: cdata) + + genmarshalexe = executable('genmarshalprog-@0@'.format(idx), + main_c, marshaller_c, marshaller_h, + dependencies : gobj) + test('genmarshal test @0@'.format(idx), genmarshalexe) + idx += 1 +endforeach diff --git a/test cases/frameworks/7 gnome/test.json b/test cases/frameworks/7 gnome/test.json index d243cff..0d17384 100644 --- a/test cases/frameworks/7 gnome/test.json +++ b/test cases/frameworks/7 gnome/test.json @@ -4,7 +4,12 @@ {"type": "file", "file": "usr/include/enums2.h"}, {"type": "file", "file": "usr/include/enums3.h"}, {"type": "file", "file": "usr/include/enums5.h"}, - {"type": "file", "file": "usr/include/marshaller.h"}, + {"type": "file", "file": "usr/include/subdir-0/marshaller-0.h"}, + {"type": "file", "file": "usr/include/subdir-1/marshaller-1.h"}, + {"type": "file", "file": "usr/include/subdir-2/marshaller-2.h"}, + {"type": "file", "file": "usr/include/subdir-3/marshaller-3.h"}, + {"type": "file", "file": "usr/include/subdir-4/marshaller-4.h"}, + {"type": "file", "file": "usr/include/subdir-5/marshaller-5.h"}, {"type": "expr", "file": "usr/lib/?libgir_lib.so"}, {"type": "file", "platform": "cygwin", "file": "usr/lib/libgir_lib.dll.a"}, {"type": "expr", "file": "usr/lib/?libgir_lib2.so"}, |