[Spice-devel] [PATCH spice-common] fixup! meson: Fix dependency of generated files
Frediano Ziglio
fziglio at redhat.com
Thu Apr 4 14:57:37 UTC 2019
>
> Signed-off-by: Eduardo Lima (Etrunko) <etrunko at redhat.com>
> ---
> common/meson.build | 78 +++++++++++++++++++++++-----------------------
> 1 file changed, 39 insertions(+), 39 deletions(-)
>
> diff --git a/common/meson.build b/common/meson.build
> index 2b7bef00..e5629af4 100644
> --- a/common/meson.build
> +++ b/common/meson.build
> @@ -59,57 +59,54 @@ spice_common_dep = declare_dependency(link_with :
> spice_common_lib,
> include_directories :
> spice_common_include,
> dependencies : spice_common_deps)
>
> -targets = [
> - ['client_demarshallers', spice_proto,
> - ['generated_client_demarshallers.c', 'generated_messages.h'],
> - ['--generate-demarshallers',
> - '--client',
> - '--include', 'common/messages.h',
> - '--generated-declaration-file', '@OUTPUT1@',
> - '@INPUT@', '@OUTPUT0@'
> - ]
> - ]
> -]
>
> -foreach t : targets
> - cmd = [python, spice_codegen] + t[3]
> - common_generated = custom_target(t[0], input : t[1], output : t[2],
> install : false, command : cmd,
> - depend_files : spice_codegen_files +
> ['messages.h'])
> -endforeach
> +# client_demarshallers
maybe
# client_demarshallers and message declarations (which is common to
# all other generated targets)
> +codegen_cmd = [python, spice_codegen]
that helps
> +codegen_args = ['--generate-demarshallers',
> + '--client',
> + '--include', 'common/messages.h',
> + '--generated-declaration-file', '@OUTPUT1@',
> + '@INPUT@', '@OUTPUT0@']
> +
> +client_demarshallers = custom_target('client_demarshallers',
> + input : [spice_proto],
> + output :
> ['generated_client_demarshallers.c', 'generated_messages.h'],
> + install : false,
> + command : [codegen_cmd, codegen_args],
maybe more clear "codegen_cmd + codegen_args".
Sometimes [array, array] is the same as array+array sometimes not.
> + depend_files : [spice_codegen_files,
> 'messages.h'])
>
> #
> # libspice-common-client
> #
> if spice_common_generate_client_code
> - targets = [
> - ['client_marshallers', [ spice_proto, common_generated ],
> - ['generated_client_marshallers.c', 'generated_client_marshallers.h'],
> - ['--generate-marshallers', '--generate-header',
> - '-P', '--client', '--include', 'common/client_marshallers.h',
> - '@INPUT0@', '@OUTPUT0@'
> - ]
> - ]
> - ]
> + # client_marshallers
> + codegen_args = ['--generate-marshallers',
> + '--generate-header',
> + '-P',
> + '--client',
> + '--include', 'common/client_marshallers.h',
> + '@INPUT0@', '@OUTPUT0@']
> +
> + client_marshallers = custom_target('client_marshallers',
> + input : [spice_proto,
> client_demarshallers],
> + output :
> ['generated_client_marshallers.c', 'generated_client_marshallers.h'],
> + install : false,
> + command : [codegen_cmd, codegen_args],
> + depend_files : [spice_codegen_files,
> 'client_marshallers.h'])
>
> spice_common_client_sources = [
> + client_demarshallers,
> + client_marshallers,
> 'client_marshallers.h',
> 'ssl_verify.c',
> 'ssl_verify.h',
> ]
>
> - spice_common_client_sources += common_generated
> - foreach t : targets
> - cmd = [python, spice_codegen] + t[3]
> - target = custom_target(t[0], input : t[1], output : t[2], install :
> false, command : cmd,
> - depend_files : spice_codegen_files +
> ['client_marshallers.h'])
> - spice_common_client_sources += target
> - endforeach
> -
> spice_common_client_lib = static_library('spice-common-client',
> spice_common_client_sources,
> install : false,
> dependencies : spice_common_dep)
>
> - spice_common_client_dep = declare_dependency(sources : target,
> + spice_common_client_dep = declare_dependency(sources : client_marshallers,
> link_with :
> spice_common_client_lib,
> dependencies :
> spice_common_dep)
> endif
> @@ -139,11 +136,11 @@ if spice_common_generate_server_code
> ]
>
> targets = [
> - ['server_demarshallers', [ spice_proto, common_generated ],
> + ['server_demarshallers', [ spice_proto, client_demarshallers ],
> ['generated_server_demarshallers.c'],
> ['--generate-demarshallers', '--server', '--include',
> 'common/messages.h', '@INPUT0@', '@OUTPUT0@']
> ],
> - ['server_marshallers', [ spice_proto, common_generated ],
> + ['server_marshallers', [ spice_proto, client_demarshallers ],
> ['generated_server_marshallers.c', 'generated_server_marshallers.h'],
> ['--generate-marshallers', '--generate-header',
> '--server'] + structs_args + ['--include', 'common/messages.h',
> '@INPUT0@', '@OUTPUT0@'
> @@ -154,9 +151,12 @@ if spice_common_generate_server_code
> spice_common_server_sources = []
>
> foreach t : targets
> - cmd = [python, spice_codegen] + t[3]
> - target = custom_target(t[0], input : t[1], output : t[2], install :
> false, command : cmd,
> - depend_files : spice_codegen_files +
> ['messages.h'])
> + target = custom_target(t[0],
> + input : t[1],
> + output : t[2],
> + install : false,
> + command : [codegen_cmd, t[3]],
> + depend_files : [spice_codegen_files,
> 'messages.h'])
> spice_common_server_sources += target
> endforeach
>
Fine with me, mostly removing the unneeded for if arrays contained
a single entry and some style/name changes.
Do you have CI results for spice-common/spice-gtk/spice-server ?
Frediano
More information about the Spice-devel
mailing list