+++ /dev/null
-From 713a3e09fbd5948823ac0c396249537329b878e4 Mon Sep 17 00:00:00 2001
-From: Frediano Ziglio <fziglio@redhat.com>
-Date: Thu, 12 Mar 2020 03:45:54 +0000
-Subject: [PATCH] build: Allow to build disabling code generation
-
-Reduce dependencies if used by agents which do not need
-marshallers/demarshallers code.
-
-Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
----
- common/meson.build | 28 +++++++++++++++-------------
- meson.build | 24 +++++++++++++-----------
- meson_options.txt | 2 +-
- tests/meson.build | 34 ++++++++++++++++++----------------
- 4 files changed, 47 insertions(+), 41 deletions(-)
-
---- a/subprojects/spice-common/common/meson.build
-+++ b/subprojects/spice-common/common/meson.build
-@@ -67,19 +67,21 @@ spice_common_dep = declare_dependency(li
-
-
- # client_demarshallers
--codegen_cmd = [python, spice_codegen]
--codegen_args = ['--generate-demarshallers',
-- '--client',
-- '--include', 'common/messages.h',
-- '--generated-declaration-file', '@OUTPUT1@',
-- '@INPUT@', '@OUTPUT0@']
-+if spice_common_generate_client_code or spice_common_generate_server_code
-+ codegen_cmd = [python, spice_codegen]
-+ 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],
-- depend_files : [spice_codegen_files, 'messages.h'])
-+ client_demarshallers = custom_target('client_demarshallers',
-+ input : [spice_proto],
-+ output : ['generated_client_demarshallers.c', 'generated_messages.h'],
-+ install : false,
-+ command : [codegen_cmd, codegen_args],
-+ depend_files : [spice_codegen_files, 'messages.h'])
-+endif
-
- #
- # libspice-common-client
---- a/subprojects/spice-common/meson.build
-+++ b/subprojects/spice-common/meson.build
-@@ -131,17 +131,19 @@ foreach dep, version : optional_deps
- endforeach
-
- # Python
--py_module = import('python')
--python = py_module.find_installation()
-+if spice_common_generate_client_code or spice_common_generate_server_code
-+ py_module = import('python')
-+ python = py_module.find_installation()
-
--if get_option('python-checks')
-- foreach module : ['six', 'pyparsing']
-- message('Checking for python module @0@'.format(module))
-- cmd = run_command(python, '-m', module)
-- if cmd.returncode() != 0
-- error('Python module @0@ not found'.format(module))
-- endif
-- endforeach
-+ if get_option('python-checks')
-+ foreach module : ['six', 'pyparsing']
-+ message('Checking for python module @0@'.format(module))
-+ cmd = run_command(python, '-m', module)
-+ if cmd.returncode() != 0
-+ error('Python module @0@ not found'.format(module))
-+ endif
-+ endforeach
-+ endif
- endif
-
- # smartcard check
---- a/subprojects/spice-common/meson_options.txt
-+++ b/subprojects/spice-common/meson_options.txt
-@@ -45,7 +45,7 @@ option('manual',
-
- option('generate-code',
- type : 'combo',
-- choices : ['all', 'server', 'client'],
-+ choices : ['all', 'server', 'client', 'none'],
- description : 'Which code should be built')
-
- option('tests',
---- a/subprojects/spice-common/tests/meson.build
-+++ b/subprojects/spice-common/tests/meson.build
-@@ -15,26 +15,28 @@ endforeach
- #
- # test_marshallers
- #
--test_proto = files('test-marshallers.proto')
-+if spice_common_generate_client_code or spice_common_generate_server_code
-+ test_proto = files('test-marshallers.proto')
-
--test_marshallers_sources = ['test-marshallers.c', 'test-marshallers.h']
-+ test_marshallers_sources = ['test-marshallers.c', 'test-marshallers.h']
-
--targets = [
-- ['test_marshallers', test_proto, 'generated_test_marshallers.c', ['--generate-marshallers', '--server', '--include', 'test-marshallers.h', '@INPUT@', '@OUTPUT@']],
-- ['test_marshallers_h', test_proto, 'generated_test_marshallers.h', ['--generate-marshallers', '--server', '--include', 'test-marshallers.h', '-H', '@INPUT@', '@OUTPUT@']],
-- ['test_demarshallers', test_proto, 'generated_test_demarshallers.c', ['--generate-demarshallers', '--client', '--include', 'test-marshallers.h', '@INPUT@', '@OUTPUT@']],
-- ['test_enums_h', test_proto, 'generated_test_enums.h', ['-e', '@INPUT@', '@OUTPUT@']],
--]
-+ targets = [
-+ ['test_marshallers', test_proto, 'generated_test_marshallers.c', ['--generate-marshallers', '--server', '--include', 'test-marshallers.h', '@INPUT@', '@OUTPUT@']],
-+ ['test_marshallers_h', test_proto, 'generated_test_marshallers.h', ['--generate-marshallers', '--server', '--include', 'test-marshallers.h', '-H', '@INPUT@', '@OUTPUT@']],
-+ ['test_demarshallers', test_proto, 'generated_test_demarshallers.c', ['--generate-demarshallers', '--client', '--include', 'test-marshallers.h', '@INPUT@', '@OUTPUT@']],
-+ ['test_enums_h', test_proto, 'generated_test_enums.h', ['-e', '@INPUT@', '@OUTPUT@']],
-+ ]
-
--foreach t : targets
-- cmd = [python, spice_codegen] + t[3]
-- test_marshallers_sources += custom_target(t[0], input: t[1], output : t[2], command: cmd, depend_files : spice_codegen_files)
--endforeach
-+ foreach t : targets
-+ cmd = [python, spice_codegen] + t[3]
-+ test_marshallers_sources += custom_target(t[0], input: t[1], output : t[2], command: cmd, depend_files : spice_codegen_files)
-+ endforeach
-
--test('test_marshallers',
-- executable('test_marshallers', test_marshallers_sources,
-- dependencies : spice_common_dep,
-- install : false))
-+ test('test_marshallers',
-+ executable('test_marshallers', test_marshallers_sources,
-+ dependencies : spice_common_dep,
-+ install : false))
-+endif
-
- #
- # test_quic