diff --git a/scripts/meson-gen-def.py b/scripts/meson-gen-def.py new file mode 100755 index 0000000000..06c9bdf66a --- /dev/null +++ b/scripts/meson-gen-def.py @@ -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) diff --git a/scripts/meson.build b/scripts/meson.build index 5d3f0af479..09340bb6c6 100644 --- a/scripts/meson.build +++ b/scripts/meson.build @@ -18,6 +18,7 @@ scripts = [ 'header-ifdef.py', 'hvsupport.py', 'hyperv_wmi_generator.py', + 'meson-gen-def.py', 'meson-python.sh', 'mock-noinline.py', 'prohibit-duplicate-header.py', diff --git a/src/Makefile.am b/src/Makefile.am index 9764a648f9..36edda1616 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -307,14 +307,6 @@ libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \ chmod a-w $@-tmp && \ 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 libvirt_la_SOURCES = libvirt_la_LDFLAGS = \