In a similar way as done in libvirt (and pointed out by Martin Kletzander), let's have our private symbols also exported so they can be used in our tests. This approach is pretty much identical to the libvirt one and now we've libosinfo_public.syms and libosinfo_private.syms, which will be used to generate the libosinfo.syms. Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> --- .gitignore | 1 + osinfo/Makefile.am | 12 ++++++++++++ osinfo/libosinfo_private.syms | 7 +++++++ osinfo/{libosinfo.syms => libosinfo_public.syms} | 0 4 files changed, 20 insertions(+) create mode 100644 osinfo/libosinfo_private.syms rename osinfo/{libosinfo.syms => libosinfo_public.syms} (100%) diff --git a/.gitignore b/.gitignore index 951c8a4..1f95c5a 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ stamp-h1 tags tests/test-skeleton tests/test-skeleton.sh +osinfo/libosinfo.syms osinfo/libosinfo.pc osinfo/Libosinfo-1.0.gir osinfo/Libosinfo-1.0.typelib diff --git a/osinfo/Makefile.am b/osinfo/Makefile.am index 058653a..e533ee9 100644 --- a/osinfo/Makefile.am +++ b/osinfo/Makefile.am @@ -6,6 +6,18 @@ EXTRA_DIST = libosinfo.syms \ BUILT_SOURCES = osinfo_enum_types.c \ osinfo_enum_types.h +libosinfo.syms: libosinfo_public.syms libosinfo_private.syms + $(AM_V_GEN)rm -rf $@-tmp $@ ; \ + printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \ + cat $(srcdir)/libosinfo_public.syms >>$@-tmp && \ + printf '\n\n# Private symbols\n\n' >>$@-tmp && \ + printf 'LIBOSINFO_PRIVATE_$(VERSION) {\n\n' >>$@-tmp && \ + printf 'global:\n\n' >>$@-tmp && \ + cat libosinfo_private.syms >>$@-tmp && \ + printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \ + chmod a-w $@-tmp && \ + mv $@-tmp libosinfo.syms + if USE_VERSION_DEFS LIBOSINFO_VERSION_FILE = $(builddir)/libosinfo.def BUILT_SOURCES += $(LIBOSINFO_VERSION_FILE) diff --git a/osinfo/libosinfo_private.syms b/osinfo/libosinfo_private.syms new file mode 100644 index 0000000..df8c37e --- /dev/null +++ b/osinfo/libosinfo_private.syms @@ -0,0 +1,7 @@ +/* + * General private symbols. + * + * Add symbols here, abd see Makefile.am for more details. + * + * Keep this file sorted by header name, then by symbols with each header! + */ diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo_public.syms similarity index 100% rename from osinfo/libosinfo.syms rename to osinfo/libosinfo_public.syms -- 2.19.1 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo