--- /dev/null
+#!/usr/bin/env python3
+
+import sys
+
+if len(sys.argv) < 5:
+ print('invalid arguments')
+ print('usage: {0} OUTPUT VERSION PUBLIC PRIVATE ...')
+ sys.exit(1)
+
+outfilepath = sys.argv[1]
+version = sys.argv[2]
+public = sys.argv[3]
+private = sys.argv[4:]
+
+with open(outfilepath, 'w') as out:
+ out.write('# WARNING: generated from the following files:\n\n')
+
+ with open(public) as tmp:
+ out.write(tmp.read())
+
+ out.write('\n\n# Private symbols\n\n')
+ out.write('{0} {{\n\n'.format(version))
+ out.write('global:\n\n')
+
+ for priv in private:
+ with open(priv) as tmp:
+ out.write(tmp.read())
+
+ out.write('\n\nlocal:\n*;\n\n};')
BUILT_SOURCES += $(GENERATED_SYM_FILES)
-libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
- $(ACCESS_DRIVER_SYM_FILES) \
- $(top_builddir)/config.status
- $(AM_V_GEN)rm -f $@-tmp $@ ; \
- printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
- cat $(srcdir)/libvirt_public.syms >>$@-tmp && \
- printf '\n\n# Private symbols\n\n' >>$@-tmp && \
- printf 'LIBVIRT_PRIVATE_$(VERSION) {\n\n' >>$@-tmp && \
- printf 'global:\n\n' >>$@-tmp && \
- cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
- printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
- chmod a-w $@-tmp && \
- mv $@-tmp libvirt.syms
-
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
libvirt_la_LDFLAGS = \