mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
meson: src: build libvirt-admin.so library
We have to compile the libvirt-admin.so outside of src/admin directory because it depends on libvirt.so. 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:
parent
4bb4faf977
commit
1657b5d77f
@ -91,7 +91,6 @@ PKG_PROG_PKG_CONFIG
|
|||||||
|
|
||||||
|
|
||||||
dnl MinGW checks
|
dnl MinGW checks
|
||||||
LIBVIRT_WIN_CHECK_SYMBOLS
|
|
||||||
LIBVIRT_WIN_CHECK_WINDRES
|
LIBVIRT_WIN_CHECK_WINDRES
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
dnl The MinGW symbols checks
|
|
||||||
dnl
|
|
||||||
dnl Copyright (C) 2016 Red Hat, Inc.
|
|
||||||
dnl
|
|
||||||
dnl This library is free software; you can redistribute it and/or
|
|
||||||
dnl modify it under the terms of the GNU Lesser General Public
|
|
||||||
dnl License as published by the Free Software Foundation; either
|
|
||||||
dnl version 2.1 of the License, or (at your option) any later version.
|
|
||||||
dnl
|
|
||||||
dnl This library is distributed in the hope that it will be useful,
|
|
||||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
dnl Lesser General Public License for more details.
|
|
||||||
dnl
|
|
||||||
dnl You should have received a copy of the GNU Lesser General Public
|
|
||||||
dnl License along with this library. If not, see
|
|
||||||
dnl <http://www.gnu.org/licenses/>.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([LIBVIRT_WIN_CHECK_SYMBOLS], [
|
|
||||||
LIBVIRT_ADMIN_SYMBOL_FILE=admin/libvirt_admin.syms
|
|
||||||
case "$host" in
|
|
||||||
*-*-mingw* )
|
|
||||||
# Also set the symbol file to .def, so src/Makefile generates libvirt.def
|
|
||||||
# from libvirt.syms and passes libvirt.def instead of libvirt.syms to the
|
|
||||||
# linker
|
|
||||||
LIBVIRT_ADMIN_SYMBOL_FILE=admin/libvirt_admin.def
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST([LIBVIRT_ADMIN_SYMBOL_FILE])
|
|
||||||
])
|
|
@ -30,7 +30,6 @@ BUILT_SOURCES =
|
|||||||
nodist_conf_DATA =
|
nodist_conf_DATA =
|
||||||
DRIVER_SOURCE_FILES =
|
DRIVER_SOURCE_FILES =
|
||||||
STATEFUL_DRIVER_SOURCE_FILES =
|
STATEFUL_DRIVER_SOURCE_FILES =
|
||||||
lib_LTLIBRARIES =
|
|
||||||
noinst_LTLIBRARIES =
|
noinst_LTLIBRARIES =
|
||||||
mod_LTLIBRARIES =
|
mod_LTLIBRARIES =
|
||||||
INSTALL_DATA_DIRS =
|
INSTALL_DATA_DIRS =
|
||||||
|
@ -1,67 +1,9 @@
|
|||||||
# vim: filetype=automake
|
# vim: filetype=automake
|
||||||
|
|
||||||
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x
|
|
||||||
|
|
||||||
ADMIN_PROTOCOL_GENERATED = \
|
|
||||||
admin/admin_client.h \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
|
|
||||||
|
|
||||||
GENERATED_SYM_FILES += admin/libvirt_admin.syms admin/libvirt_admin.def
|
|
||||||
|
|
||||||
ADMIN_SYM_FILES = $(srcdir)/admin/libvirt_admin_private.syms
|
ADMIN_SYM_FILES = $(srcdir)/admin/libvirt_admin_private.syms
|
||||||
|
|
||||||
conf_DATA += admin/libvirt-admin.conf
|
conf_DATA += admin/libvirt-admin.conf
|
||||||
|
|
||||||
lib_LTLIBRARIES += libvirt-admin.la
|
|
||||||
|
|
||||||
libvirt_admin_la_SOURCES = \
|
|
||||||
admin/libvirt-admin.c \
|
|
||||||
$(DATATYPES_SOURCES)
|
|
||||||
|
|
||||||
nodist_libvirt_admin_la_SOURCES = \
|
|
||||||
$(ADMIN_PROTOCOL_GENERATED)
|
|
||||||
|
|
||||||
libvirt_admin_la_LDFLAGS = \
|
|
||||||
$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE) \
|
|
||||||
-version-info $(LIBVIRT_VERSION_INFO) \
|
|
||||||
$(LIBVIRT_NODELETE) \
|
|
||||||
$(AM_LDFLAGS) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
libvirt_admin_la_LIBADD = \
|
|
||||||
libvirt.la \
|
|
||||||
$(XDR_LIBS) \
|
|
||||||
$(CAPNG_LIBS) \
|
|
||||||
$(YAJL_LIBS) \
|
|
||||||
$(DEVMAPPER_LIBS) \
|
|
||||||
$(LIBXML_LIBS) \
|
|
||||||
$(GLIB_LIBS) \
|
|
||||||
$(SSH2_LIBS) \
|
|
||||||
$(SASL_LIBS) \
|
|
||||||
$(GNUTLS_LIBS) \
|
|
||||||
$(LIBSSH_LIBS)
|
|
||||||
|
|
||||||
if WITH_DTRACE_PROBES
|
|
||||||
libvirt_admin_la_LIBADD += libvirt_probes.lo
|
|
||||||
endif WITH_DTRACE_PROBES
|
|
||||||
|
|
||||||
libvirt_admin_la_CFLAGS = \
|
|
||||||
$(AM_CFLAGS) \
|
|
||||||
-I$(builddir)/admin \
|
|
||||||
-I$(builddir)/access \
|
|
||||||
-I$(srcdir)/remote \
|
|
||||||
-I$(srcdir)/rpc \
|
|
||||||
-I$(builddir)/rpc \
|
|
||||||
$(XDR_CFLAGS) \
|
|
||||||
$(CAPNG_CFLAGS) \
|
|
||||||
$(YAJL_CFLAGS) \
|
|
||||||
$(SSH2_CFLAGS) \
|
|
||||||
$(SASL_CFLAGS) \
|
|
||||||
$(GNUTLS_CFLAGS) \
|
|
||||||
$(LIBSSH_CFLAGS)
|
|
||||||
|
|
||||||
if WITH_LINUX
|
if WITH_LINUX
|
||||||
check-admin-symfile: admin/libvirt_admin.syms libvirt-admin.la
|
check-admin-symfile: admin/libvirt_admin.syms libvirt-admin.la
|
||||||
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-symfile.py \
|
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) $(top_srcdir)/scripts/check-symfile.py \
|
||||||
@ -79,22 +21,3 @@ check-admin-drivername:
|
|||||||
$(srcdir)/admin/libvirt_admin_public.syms
|
$(srcdir)/admin/libvirt_admin_public.syms
|
||||||
|
|
||||||
check-admin: check-admin-symfile check-admin-symsorting check-admin-drivername
|
check-admin: check-admin-symfile check-admin-symsorting check-admin-drivername
|
||||||
|
|
||||||
admin/admin_client.h: $(srcdir)/rpc/gendispatch.pl \
|
|
||||||
$(ADMIN_PROTOCOL) Makefile.am
|
|
||||||
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
|
|
||||||
admin ADMIN $(ADMIN_PROTOCOL) \
|
|
||||||
> admin/admin_client.h
|
|
||||||
|
|
||||||
admin/libvirt_admin.syms: admin/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)/admin/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 admin/libvirt_admin.syms
|
|
||||||
|
@ -35,6 +35,51 @@ admin_driver_generated += custom_target(
|
|||||||
capture: true,
|
capture: true,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
admin_sources = files(
|
||||||
|
'libvirt-admin.c',
|
||||||
|
)
|
||||||
|
|
||||||
|
admin_client_generated = custom_target(
|
||||||
|
'admin_client.h',
|
||||||
|
input: admin_driver_protocol,
|
||||||
|
output: 'admin_client.h',
|
||||||
|
command: [
|
||||||
|
gendispatch_prog, '--mode=client', 'admin', 'ADMIN', '@INPUT@',
|
||||||
|
],
|
||||||
|
capture: true,
|
||||||
|
)
|
||||||
|
|
||||||
|
libvirt_admin_syms = custom_target(
|
||||||
|
'libvirt_admin.syms',
|
||||||
|
input: [
|
||||||
|
'libvirt_admin_public.syms',
|
||||||
|
'libvirt_admin_private.syms',
|
||||||
|
],
|
||||||
|
output: 'libvirt_admin.syms',
|
||||||
|
command: [
|
||||||
|
meson_python_prog, python3_prog.path(), meson_gen_sym_prog.path(),
|
||||||
|
'@OUTPUT@', 'LIBVIRT_ADMIN_PRIVATE_' + meson.project_version(), '@INPUT@',
|
||||||
|
],
|
||||||
|
)
|
||||||
|
libvirt_admin_syms_file = libvirt_admin_syms
|
||||||
|
if host_machine.system() == 'windows'
|
||||||
|
libvirt_admin_def = custom_target(
|
||||||
|
'libvirt_admin.def',
|
||||||
|
input: libvirt_admin_syms,
|
||||||
|
output: 'libvirt_admin.def',
|
||||||
|
command: [
|
||||||
|
meson_python_prog, python3_prog.path(), meson_gen_def_prog.path(),
|
||||||
|
'@INPUT@', '@OUTPUT@',
|
||||||
|
],
|
||||||
|
)
|
||||||
|
libvirt_admin_syms_file = libvirt_admin_def
|
||||||
|
endif
|
||||||
|
|
||||||
|
libvirt_admin_syms_flags = '@0@@1@'.format(
|
||||||
|
version_script_flags,
|
||||||
|
libvirt_admin_syms_file.full_path(),
|
||||||
|
)
|
||||||
|
|
||||||
admin_driver_lib = static_library(
|
admin_driver_lib = static_library(
|
||||||
'virt_admin_driver',
|
'virt_admin_driver',
|
||||||
[
|
[
|
||||||
@ -48,3 +93,5 @@ admin_driver_lib = static_library(
|
|||||||
xdr_dep,
|
xdr_dep,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
admin_inc_dir = include_directories('.')
|
||||||
|
@ -373,3 +373,47 @@ libvirt_lxc_lib = shared_library(
|
|||||||
version: libvirt_lib_version,
|
version: libvirt_lib_version,
|
||||||
soversion: libvirt_so_version,
|
soversion: libvirt_so_version,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# libvirt-admin.so
|
||||||
|
|
||||||
|
libvirt_admin_lib = shared_library(
|
||||||
|
'virt-admin',
|
||||||
|
[
|
||||||
|
admin_sources,
|
||||||
|
admin_client_generated,
|
||||||
|
admin_driver_generated,
|
||||||
|
datatypes_sources,
|
||||||
|
dtrace_gen_objects,
|
||||||
|
],
|
||||||
|
dependencies: [
|
||||||
|
capng_dep,
|
||||||
|
devmapper_dep,
|
||||||
|
gnutls_dep,
|
||||||
|
libssh2_dep,
|
||||||
|
libssh_dep,
|
||||||
|
sasl_dep,
|
||||||
|
src_dep,
|
||||||
|
rpc_dep,
|
||||||
|
xdr_dep,
|
||||||
|
yajl_dep,
|
||||||
|
],
|
||||||
|
include_directories: [
|
||||||
|
admin_inc_dir,
|
||||||
|
remote_inc_dir,
|
||||||
|
],
|
||||||
|
link_args: [
|
||||||
|
libvirt_admin_syms_flags,
|
||||||
|
libvirt_nodelete,
|
||||||
|
],
|
||||||
|
link_with: [
|
||||||
|
libvirt_lib,
|
||||||
|
],
|
||||||
|
link_depends: [
|
||||||
|
libvirt_admin_syms_file,
|
||||||
|
],
|
||||||
|
install: true,
|
||||||
|
install_rpath: libdir,
|
||||||
|
version: libvirt_lib_version,
|
||||||
|
soversion: libvirt_so_version,
|
||||||
|
)
|
||||||
|
@ -65,3 +65,5 @@ if conf.has('WITH_REMOTE')
|
|||||||
else
|
else
|
||||||
sym_files += 'libvirt_remote.syms'
|
sym_files += 'libvirt_remote.syms'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
remote_inc_dir = include_directories('.')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user