[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 02/24] modules: collect module meta-data
From: |
Gerd Hoffmann |
Subject: |
Re: [PATCH v3 02/24] modules: collect module meta-data |
Date: |
Mon, 21 Jun 2021 14:52:34 +0200 |
On Fri, Jun 18, 2021 at 06:09:55PM +0200, Paolo Bonzini wrote:
> On 18/06/21 06:53, Gerd Hoffmann wrote:
> > +def find_command(src, target, compile_commands):
> > + for command in compile_commands:
> > + if command['file'] != src:
> > + continue
> > + if target != '' and command['command'].find(target) == -1:
> > + continue
>
>
> Did you look into using extract_objects for this instead of looking for the
> target (which works, but yuck :))?
ninja: error: 'libui-curses.a.p/meson-generated_.._config-host.h.o', needed by
'ui-curses.modinfo.test', missing and no known rule to make it
Hmm, not sure where this comes from. meson doesn't try to link
config-host.h.o into libui-curses.a, so why does extract_all_objects()
return it?
Test patch (incremental to this series) below.
take care,
Gerd
>From 5453683429d7b08b959e2cd63ee00fdccfb0c7b7 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 21 Jun 2021 14:45:14 +0200
Subject: [PATCH] [wip] extract_all_objects experiments
---
meson.build | 7 +++++++
scripts/modinfo-test.sh | 8 ++++++++
2 files changed, 15 insertions(+)
create mode 100755 scripts/modinfo-test.sh
diff --git a/meson.build b/meson.build
index 03bacca7cddb..8e7ccccf176c 100644
--- a/meson.build
+++ b/meson.build
@@ -2042,6 +2042,7 @@ target_modules += { 'accel' : { 'qtest': qtest_module_ss,
modinfo_collect = find_program('scripts/modinfo-collect.py')
modinfo_generate = find_program('scripts/modinfo-generate.py')
+modinfo_test = find_program('scripts/modinfo-test.sh')
modinfo_files = []
block_mods = []
@@ -2063,6 +2064,12 @@ foreach d, list : modules
input: module_ss.sources(),
capture: true,
command: [modinfo_collect, '@INPUT@'])
+ custom_target(d + '-' + m + '.modinfo.test',
+ output: d + '-' + m + '.modinfo.test',
+ input: sl.extract_all_objects(recursive: true),
+ capture: true,
+ build_by_default: true, # to be removed when added to a
target
+ command: [modinfo_test, '@INPUT@'])
endif
else
if d == 'block'
diff --git a/scripts/modinfo-test.sh b/scripts/modinfo-test.sh
new file mode 100755
index 000000000000..979c9cc9aeef
--- /dev/null
+++ b/scripts/modinfo-test.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+if test "$1" = "--target"; then
+ echo "# target $2"
+ shift;shift
+fi
+for item in "$@"; do
+ echo "# input $item"
+done
--
2.31.1
- [PATCH v3 00/24] modules: add meta-data database, Gerd Hoffmann, 2021/06/18
- [PATCH v3 02/24] modules: collect module meta-data, Gerd Hoffmann, 2021/06/18
- [PATCH v3 01/24] modules: add modinfo macros, Gerd Hoffmann, 2021/06/18
- [PATCH v3 04/24] modules: add qxl module annotations, Gerd Hoffmann, 2021/06/18
- [PATCH v3 03/24] modules: generate modinfo.c, Gerd Hoffmann, 2021/06/18
- [PATCH v3 05/24] modules: add virtio-gpu module annotations, Gerd Hoffmann, 2021/06/18
- [PATCH v3 06/24] modules: add chardev module annotations, Gerd Hoffmann, 2021/06/18
- [PATCH v3 07/24] modules: add audio module annotations, Gerd Hoffmann, 2021/06/18
- [PATCH v3 08/24] modules: add usb-redir module annotations, Gerd Hoffmann, 2021/06/18