Daniel P. Berrangé wrote: > We are currently adding -lutil and -lkvm to the linker using the > add_project_link_arguments method. On FreeBSD 11.4, this results in > build errors because the args appear too early in the command line. > > We need to pass the libraries as dependencies so that they get placed > at the same point in the linker args as other dependencies. > > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > --- > meson.build | 16 +++++++--------- > src/bhyve/meson.build | 15 +++++++++++---- > src/util/meson.build | 26 +++++++++++++++++--------- > 3 files changed, 35 insertions(+), 22 deletions(-) > > Using the CI patch I posted earlier to add FreeBSD 11: > > https://gitlab.com/berrange/libvirt/-/pipelines/185834799 > > > diff --git a/meson.build b/meson.build > index 1eadea33bf..c30ff187aa 100644 > --- a/meson.build > +++ b/meson.build > @@ -1086,7 +1086,8 @@ endif > # Check for BSD kvm (kernel memory interface) > if host_machine.system() == 'freebsd' > kvm_dep = cc.find_library('kvm') > - add_project_link_arguments('-lkvm', language: 'c') > +else > + kvm_dep = disabler() > endif > > libiscsi_version = '1.18.0' > @@ -1203,11 +1204,9 @@ have_gnu_gettext_tools = false > if not get_option('nls').disabled() > have_gettext = cc.has_function('gettext') > if not have_gettext > - intl_lib = cc.find_library('intl', required: false) > - have_gettext = intl_lib.found() > - if have_gettext > - add_project_link_arguments('-lintl', language: 'c') > - endif > + intl_dep = cc.find_library('intl', required: false) > + else > + intl_dep = disabler() > endif > if not have_gettext and get_option('nls').enabled() > error('gettext() is required to build libvirt') Looks like this error is issued even if we found intl_dep. Should this check be updated to: if not (have_gettext or intl_dep.found()) and get_option('nls').enabled() error(...) ? > @@ -1235,6 +1234,8 @@ if not get_option('nls').disabled() > have_gnu_gettext_tools = true > endif > endif > +else > + intl_dep = disabler() > endif > > numactl_dep = cc.find_library('numa', required: get_option('numactl')) > @@ -1402,9 +1403,6 @@ if udev_dep.found() > endif > > util_dep = cc.find_library('util', required: false) > -if util_dep.found() > - add_project_link_arguments('-lutil', language: 'c') > -endif > > if not get_option('virtualport').disabled() > if cc.has_header_symbol('linux/if_link.h', 'IFLA_PORT_MAX') Roman Bogorodskiy
Attachment:
signature.asc
Description: PGP signature