mirror of https://gitee.com/openkylin/libvirt.git
libvirt-admin: Generate symbols file
Since we're linking this into libvirtd we need some symbols to be public but not part of the public API so mark them as LIBVIRT_ADMIN_PRIVATE_<VERSION> as we do with libvirt. Making all other symbols local makes sure we don't accidentally leak unwanted ones.
This commit is contained in:
parent
6d71d54812
commit
a2c5d16a70
|
@ -2346,7 +2346,7 @@ WIN32_EXTRA_CFLAGS=
|
||||||
dnl libvirt.syms is generated in builddir, but libvirt_qemu.syms is in git;
|
dnl libvirt.syms is generated in builddir, but libvirt_qemu.syms is in git;
|
||||||
dnl hence the asymmetric naming of these two symbol files.
|
dnl hence the asymmetric naming of these two symbol files.
|
||||||
LIBVIRT_SYMBOL_FILE=libvirt.syms
|
LIBVIRT_SYMBOL_FILE=libvirt.syms
|
||||||
LIBVIRT_ADMIN_SYMBOL_FILE='$(srcdir)/libvirt_admin.syms'
|
LIBVIRT_ADMIN_SYMBOL_FILE=libvirt_admin.syms
|
||||||
LIBVIRT_LXC_SYMBOL_FILE='$(srcdir)/libvirt_lxc.syms'
|
LIBVIRT_LXC_SYMBOL_FILE='$(srcdir)/libvirt_lxc.syms'
|
||||||
LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'
|
LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'
|
||||||
MSCOM_LIBS=
|
MSCOM_LIBS=
|
||||||
|
|
|
@ -540,7 +540,7 @@ check-drivername:
|
||||||
$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
|
$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
|
||||||
$(srcdir)/driver.h \
|
$(srcdir)/driver.h \
|
||||||
$(srcdir)/libvirt_public.syms \
|
$(srcdir)/libvirt_public.syms \
|
||||||
$(srcdir)/libvirt_admin.syms \
|
$(srcdir)/libvirt_admin_public.syms \
|
||||||
$(srcdir)/libvirt_qemu.syms \
|
$(srcdir)/libvirt_qemu.syms \
|
||||||
$(srcdir)/libvirt_lxc.syms
|
$(srcdir)/libvirt_lxc.syms
|
||||||
|
|
||||||
|
@ -2010,8 +2010,9 @@ EXTRA_DIST += \
|
||||||
libvirt_public.syms \
|
libvirt_public.syms \
|
||||||
libvirt_lxc.syms \
|
libvirt_lxc.syms \
|
||||||
libvirt_qemu.syms \
|
libvirt_qemu.syms \
|
||||||
libvirt_admin.syms \
|
libvirt_admin_public.syms \
|
||||||
$(SYM_FILES) \
|
$(SYM_FILES) \
|
||||||
|
$(ADMIN_SYM_FILES) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
BUILT_SOURCES += $(GENERATED_SYM_FILES)
|
BUILT_SOURCES += $(GENERATED_SYM_FILES)
|
||||||
|
@ -2038,6 +2039,19 @@ libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
|
||||||
chmod a-w $@-tmp && \
|
chmod a-w $@-tmp && \
|
||||||
mv $@-tmp $@
|
mv $@-tmp $@
|
||||||
|
|
||||||
|
libvirt_admin.syms: libvirt_admin_public.syms $(ADMIN_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_admin_public.syms >>$@-tmp && \
|
||||||
|
printf '\n\n# Private symbols\n\n' >>$@-tmp && \
|
||||||
|
printf 'LIBVIRT_ADMIN_PRIVATE_$(VERSION) {\n\n' >>$@-tmp && \
|
||||||
|
printf 'global:\n\n' >>$@-tmp && \
|
||||||
|
cat $(ADMIN_SYM_FILES) >>$@-tmp && \
|
||||||
|
printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
|
||||||
|
chmod a-w $@-tmp && \
|
||||||
|
mv $@-tmp libvirt_admin.syms
|
||||||
|
|
||||||
lib_LTLIBRARIES += libvirt-admin.la
|
lib_LTLIBRARIES += libvirt-admin.la
|
||||||
libvirt_admin_la_SOURCES = \
|
libvirt_admin_la_SOURCES = \
|
||||||
libvirt-admin.c \
|
libvirt-admin.c \
|
||||||
|
@ -2077,6 +2091,8 @@ libvirt_admin_la_LIBADD += \
|
||||||
$(SASL_LIBS) \
|
$(SASL_LIBS) \
|
||||||
$(GNUTLS_LIBS)
|
$(GNUTLS_LIBS)
|
||||||
|
|
||||||
|
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms
|
||||||
|
|
||||||
if WITH_DTRACE_PROBES
|
if WITH_DTRACE_PROBES
|
||||||
libvirt_admin_la_LIBADD += libvirt_probes.lo
|
libvirt_admin_la_LIBADD += libvirt_probes.lo
|
||||||
endif WITH_DTRACE_PROBES
|
endif WITH_DTRACE_PROBES
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#
|
||||||
|
# General private symbols for libvirt_admin. Add symbols here, and see
|
||||||
|
# Makefile.am for more details.
|
||||||
|
#
|
||||||
|
# Keep this file sorted by header name, then by symbols with each header.
|
||||||
|
#
|
||||||
|
|
||||||
|
# admin/admin_protocol.x
|
||||||
|
xdr_admin_connect_open_args;
|
||||||
|
|
||||||
|
# Let emacs know we want case-insensitive sorting
|
||||||
|
# Local Variables:
|
||||||
|
# sort-fold-case: t
|
||||||
|
# End:
|
Loading…
Reference in New Issue