[Spice-devel] [PATCH spice-common v2 1/2] meson: Fix dependency of generated files

Victor Toso victortoso at redhat.com
Thu Apr 4 08:08:52 UTC 2019


Hi,

On Wed, Apr 03, 2019 at 05:20:35PM +0100, Frediano Ziglio wrote:
> All generated file depends on generated_messages.h which is
> generated too.
> So add an explicit dependency from all generated file
> (except generated_messages.h generator) to generated_messages.h
> generator.
> This fixes compiling SPICE server where generated_messages.h
> was not generated at all.
> Add dependency to the include header to make Meson generate the
> proper include flag.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>

Acked-by: Victor Toso <victortoso at redhat.com>

You might want to wait a little while to see if Eduardo has any
comments but tested both patches and works fine.

> ---
>  common/meson.build | 49 ++++++++++++++++++++++++++++++----------------
>  1 file changed, 32 insertions(+), 17 deletions(-)
> 
> diff --git a/common/meson.build b/common/meson.build
> index 2d76d2b..2b7bef0 100644
> --- a/common/meson.build
> +++ b/common/meson.build
> @@ -59,25 +59,34 @@ 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
> +
>  #
>  # libspice-common-client
>  #
>  if spice_common_generate_client_code
>    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@'
> -      ]
> -    ],
> -    ['client_marshallers', spice_proto,
> +    ['client_marshallers', [ spice_proto, common_generated ],
>        ['generated_client_marshallers.c', 'generated_client_marshallers.h'],
>        ['--generate-marshallers', '--generate-header',
> -        '-P', '--client', '--include', 'client_marshallers.h',
> -        '@INPUT@', '@OUTPUT0@'
> +        '-P', '--client', '--include', 'common/client_marshallers.h',
> +        '@INPUT0@', '@OUTPUT0@'
>        ]
>      ]
>    ]
> @@ -88,9 +97,11 @@ if spice_common_generate_client_code
>      '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)
> +    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
>  
> @@ -128,11 +139,14 @@ if spice_common_generate_server_code
>    ]
>  
>    targets = [
> -    ['server_demarshallers', spice_proto, 'generated_server_demarshallers.c', ['--generate-demarshallers', '--server', '--include', 'common/messages.h', '@INPUT@', '@OUTPUT@']],
> -    ['server_marshallers', spice_proto,
> +    ['server_demarshallers', [ spice_proto, common_generated ],
> +      ['generated_server_demarshallers.c'],
> +      ['--generate-demarshallers', '--server', '--include', 'common/messages.h', '@INPUT0@', '@OUTPUT0@']
> +    ],
> +    ['server_marshallers', [ spice_proto, common_generated ],
>        ['generated_server_marshallers.c', 'generated_server_marshallers.h'],
>        ['--generate-marshallers', '--generate-header',
> -        '--server'] + structs_args + ['--include', 'common/messages.h', '@INPUT@', '@OUTPUT0@'
> +        '--server'] + structs_args + ['--include', 'common/messages.h', '@INPUT0@', '@OUTPUT0@'
>        ]
>      ],
>    ]
> @@ -141,7 +155,8 @@ if spice_common_generate_server_code
>  
>    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)
> +    target = custom_target(t[0], input : t[1], output : t[2], install : false, command : cmd,
> +                           depend_files : spice_codegen_files + ['messages.h'])
>      spice_common_server_sources += target
>    endforeach
>  
> -- 
> 2.20.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190404/2a1dfa27/attachment.sig>


More information about the Spice-devel mailing list