meson: get glib compilation flags from GLIB_CFLAGS
The glib compilation flags were added to QEMU_CFLAGS. While we still want them to be added to all compilation commands (at least for now), do that via GLIB_CFLAGS rather than via QEMU_CFLAGS. This shows that glib is a special case and makes it clearer that QEMU_CFLAGS is only about compiler commands and not dependencies. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b6daf4d369
commit
215b0c2fa5
19
configure
vendored
19
configure
vendored
@ -3761,24 +3761,23 @@ if test "$plugins" = yes; then
|
||||
glib_modules="$glib_modules gmodule-2.0"
|
||||
fi
|
||||
|
||||
# This workaround is required due to a bug in pkg-config file for glib as it
|
||||
# doesn't define GLIB_STATIC_COMPILATION for pkg-config --static
|
||||
|
||||
if test "$static" = yes && test "$mingw32" = yes; then
|
||||
QEMU_CFLAGS="-DGLIB_STATIC_COMPILATION $QEMU_CFLAGS"
|
||||
fi
|
||||
|
||||
for i in $glib_modules; do
|
||||
if $pkg_config --atleast-version=$glib_req_ver $i; then
|
||||
glib_cflags=$($pkg_config --cflags $i)
|
||||
glib_libs=$($pkg_config --libs $i)
|
||||
QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
|
||||
LIBS="$glib_libs $LIBS"
|
||||
else
|
||||
error_exit "glib-$glib_req_ver $i is required to compile QEMU"
|
||||
fi
|
||||
done
|
||||
|
||||
# This workaround is required due to a bug in pkg-config file for glib as it
|
||||
# doesn't define GLIB_STATIC_COMPILATION for pkg-config --static
|
||||
|
||||
if test "$static" = yes && test "$mingw32" = yes; then
|
||||
glib_cflags="-DGLIB_STATIC_COMPILATION $glib_cflags"
|
||||
fi
|
||||
|
||||
if $pkg_config --atleast-version=$glib_req_ver gio-2.0; then
|
||||
gio=yes
|
||||
gio_cflags=$($pkg_config --cflags gio-2.0)
|
||||
@ -3813,7 +3812,7 @@ int main(void) {
|
||||
}
|
||||
EOF
|
||||
|
||||
if ! compile_prog "$CFLAGS" "$LIBS" ; then
|
||||
if ! compile_prog "$glib_cflags" "$glib_libs" ; then
|
||||
error_exit "sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T."\
|
||||
"You probably need to set PKG_CONFIG_LIBDIR"\
|
||||
"to point to the right pkg-config files for your"\
|
||||
@ -3828,7 +3827,7 @@ EOF
|
||||
if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
|
||||
if cc_has_warning_flag "-Wno-unknown-attributes"; then
|
||||
glib_cflags="-Wno-unknown-attributes $glib_cflags"
|
||||
QEMU_CFLAGS="-Wno-unknown-attributes $CFLAGS"
|
||||
CFLAGS="-Wno-unknown-attributes $CFLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -104,8 +104,11 @@ elif targetos == 'haiku'
|
||||
cc.find_library('network'),
|
||||
cc.find_library('bsd')]
|
||||
endif
|
||||
glib = declare_dependency(compile_args: config_host['GLIB_CFLAGS'].split(),
|
||||
link_args: config_host['GLIB_LIBS'].split())
|
||||
# The path to glib.h is added to all compilation commands. This was
|
||||
# grandfathered in from the QEMU Makefiles.
|
||||
add_project_arguments(config_host['GLIB_CFLAGS'].split(),
|
||||
native: false, language: ['c', 'cpp', 'objc'])
|
||||
glib = declare_dependency(link_args: config_host['GLIB_LIBS'].split())
|
||||
gio = not_found
|
||||
if 'CONFIG_GIO' in config_host
|
||||
gio = declare_dependency(compile_args: config_host['GIO_CFLAGS'].split(),
|
||||
|
Loading…
Reference in New Issue
Block a user