meson: scripts: introduce meson-gen-def.py script

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-05-03 13:48:37 +02:00
parent 8e7d93da76
commit cc409ac5ed
3 changed files with 24 additions and 8 deletions

23
scripts/meson-gen-def.py Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env python3
import re
import sys
if len(sys.argv) != 3:
print('invalid arguments')
print('usage: {0} INPUT OUTPUT'.format(sys.argv[0]))
sys.exit(1)
infilepath = sys.argv[1]
outfilepath = sys.argv[2]
with open(infilepath) as f:
text = f.read()
text = re.sub(r'^(|.*[#:}*].*|LIBVIRT_.*)\n?', '', text, flags=re.M)
text = re.sub(r'\n$', '', text)
text = re.sub(r'^[ ]*(.*);', r' \1', text, flags=re.M)
with open(outfilepath, 'w') as f:
f.write('EXPORTS\n')
f.write(text)

View File

@ -18,6 +18,7 @@ scripts = [
'header-ifdef.py', 'header-ifdef.py',
'hvsupport.py', 'hvsupport.py',
'hyperv_wmi_generator.py', 'hyperv_wmi_generator.py',
'meson-gen-def.py',
'meson-python.sh', 'meson-python.sh',
'mock-noinline.py', 'mock-noinline.py',
'prohibit-duplicate-header.py', 'prohibit-duplicate-header.py',

View File

@ -307,14 +307,6 @@ libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
chmod a-w $@-tmp && \ chmod a-w $@-tmp && \
mv $@-tmp libvirt.syms mv $@-tmp libvirt.syms
%.def: %.syms
$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
printf 'EXPORTS\n' > $@-tmp && \
sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d' \
-e 's/[ ]*\(.*\)\;/ \1/g' $^ >> $@-tmp && \
chmod a-w $@-tmp && \
mv $@-tmp $@
# Empty source list - it merely links a bunch of convenience libs together # Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES = libvirt_la_SOURCES =
libvirt_la_LDFLAGS = \ libvirt_la_LDFLAGS = \