Faster compilation. Removed autotools patches. Backported meson patch to fix compilation and pkgconfig file. Before: time make package/spice/compile -j 12 Executed in 62.85 secs fish external usr time 56.45 secs 276.00 micros 56.45 secs sys time 8.06 secs 46.00 micros 8.06 secs Before + PKG_BUILD_PARALLEL: Executed in 45.40 secs fish external usr time 63.08 secs 253.00 micros 63.08 secs sys time 8.57 secs 44.00 micros 8.57 secs After: time make package/spice/compile -j 12 Executed in 16.54 secs fish external usr time 41.29 secs 266.00 micros 41.29 secs sys time 4.76 secs 45.00 micros 4.76 secs Signed-off-by: Rosen Penev <rosenp@gmail.com>lilik-openwrt-22.03
@ -1,26 +0,0 @@ | |||||
From 9380ff5a8849ea5a772958b5dcfc5462182f1597 Mon Sep 17 00:00:00 2001 | |||||
From: Yousong Zhou <yszhou4tech@gmail.com> | |||||
Date: Fri, 20 Mar 2020 17:06:31 +0800 | |||||
Subject: [PATCH] build: skip tests | |||||
Tests build can fail for arc700 for the following causes | |||||
- Missing -stack-protector-all argument when building test progs | |||||
- Missing linker flag -lgmodule-2.0 -lffi | |||||
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> | |||||
--- | |||||
server/Makefile.am | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
diff --git a/server/Makefile.am b/server/Makefile.am | |||||
index 2d148c14..5b927a1b 100644 | |||||
--- a/server/Makefile.am | |||||
+++ b/server/Makefile.am | |||||
@@ -1,5 +1,5 @@ | |||||
NULL = | |||||
-SUBDIRS = . tests | |||||
+SUBDIRS = . | |||||
check-valgrind: | |||||
$(MAKE) -C tests check-valgrind |
@ -1,24 +0,0 @@ | |||||
From d37fe6af97a45f0567c47932fd5c66d451fcb128 Mon Sep 17 00:00:00 2001 | |||||
From: Yousong Zhou <yszhou4tech@gmail.com> | |||||
Date: Fri, 20 Mar 2020 17:07:03 +0800 | |||||
Subject: [PATCH] build: tools: fix build failure | |||||
Tools build can fail because -stack-protector-all is missing | |||||
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> | |||||
--- | |||||
tools/Makefile.am | 1 + | |||||
1 file changed, 1 insertion(+) | |||||
diff --git a/tools/Makefile.am b/tools/Makefile.am | |||||
index 702fcdd1..7dc70c4e 100644 | |||||
--- a/tools/Makefile.am | |||||
+++ b/tools/Makefile.am | |||||
@@ -8,6 +8,7 @@ AM_CPPFLAGS = \ | |||||
AM_LDFLAGS = \ | |||||
$(LIBRT) \ | |||||
+ $(WARN_LDFLAGS) \ | |||||
$(NULL) | |||||
if !OS_WIN32 |
@ -0,0 +1,28 @@ | |||||
From 26bbb85c150f882c05399e4c574208b8b1242082 Mon Sep 17 00:00:00 2001 | |||||
From: James Le Cuirot <chewi@gentoo.org> | |||||
Date: Tue, 7 Apr 2020 19:32:15 +0100 | |||||
Subject: [PATCH] build: Fix librt and libm dependencies in Meson | |||||
They need to be requested without the lib prefix, otherwise a | |||||
generated pkg-config file ends up with absolute paths instead of -l | |||||
flags. | |||||
Signed-off-by: James Le Cuirot <chewi@gentoo.org> | |||||
Acked-by: Frediano Ziglio <fziglio@redhat.com> | |||||
--- | |||||
meson.build | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
diff --git a/meson.build b/meson.build | |||||
index 1685c077..f9090a82 100644 | |||||
--- a/meson.build | |||||
+++ b/meson.build | |||||
@@ -102,7 +102,7 @@ foreach dep : ['libjpeg', 'zlib'] | |||||
endforeach | |||||
if host_machine.system() != 'windows' | |||||
- foreach dep : ['librt', 'libm'] | |||||
+ foreach dep : ['rt', 'm'] | |||||
spice_server_deps += compiler.find_library(dep) | |||||
endforeach | |||||
else |
@ -0,0 +1,155 @@ | |||||
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(-) | |||||
diff --git a/common/meson.build b/common/meson.build | |||||
index 7356cc0..14bf242 100644 | |||||
--- a/subprojects/spice-common/common/meson.build | |||||
+++ b/subprojects/spice-common/common/meson.build | |||||
@@ -67,19 +67,21 @@ spice_common_dep = declare_dependency(link_with : spice_common_lib, | |||||
# client_demarshallers | |||||
-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']) | |||||
+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']) | |||||
+endif | |||||
# | |||||
# libspice-common-client | |||||
diff --git a/meson.build b/meson.build | |||||
index 41a9419..b60a9fe 100644 | |||||
--- a/subprojects/spice-common/meson.build | |||||
+++ b/subprojects/spice-common/meson.build | |||||
@@ -119,17 +119,19 @@ foreach dep, version : optional_deps | |||||
endforeach | |||||
# Python | |||||
-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 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 | |||||
+ endif | |||||
endif | |||||
# smartcard check | |||||
diff --git a/meson_options.txt b/meson_options.txt | |||||
index d30858f..d93d74b 100644 | |||||
--- a/subprojects/spice-common/meson_options.txt | |||||
+++ b/subprojects/spice-common/meson_options.txt | |||||
@@ -39,7 +39,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', | |||||
diff --git a/tests/meson.build b/tests/meson.build | |||||
index d315056..1ad5bc5 100644 | |||||
--- a/subprojects/spice-common/tests/meson.build | |||||
+++ b/subprojects/spice-common/tests/meson.build | |||||
@@ -20,26 +20,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 | |||||
-- | |||||
GitLab | |||||
@ -0,0 +1,36 @@ | |||||
From 0ce9cecd0912f78b75600f3f428bdd943bf9622b Mon Sep 17 00:00:00 2001 | |||||
From: Rosen Penev <rosenp@gmail.com> | |||||
Date: Fri, 9 Oct 2020 04:19:01 -0700 | |||||
Subject: [PATCH] don't regenerate [de]marshallers | |||||
The release tarballs already include these files. | |||||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
--- | |||||
subprojects/spice-common/common/meson.build | 13 +++++++++++++ | |||||
1 file changed, 13 insertions(+) | |||||
diff --git a/subprojects/spice-common/common/meson.build b/subprojects/spice-common/common/meson.build | |||||
index 7356cc0..5796989 100644 | |||||
--- a/subprojects/spice-common/common/meson.build | |||||
+++ b/subprojects/spice-common/common/meson.build | |||||
@@ -180,6 +180,19 @@ if spice_common_generate_server_code | |||||
endif | |||||
endforeach | |||||
+ spice_common_server_lib = static_library('spice-common-server', spice_common_server_sources, | |||||
+ install : false, | |||||
+ dependencies : spice_common_dep) | |||||
+ | |||||
+ spice_common_server_dep = declare_dependency(sources : spice_common_server_dep_sources, | |||||
+ link_with : spice_common_server_lib, | |||||
+ dependencies : spice_common_dep) | |||||
+else | |||||
+ spice_common_server_sources = ['generated_server_marshallers.c', 'generated_server_marshallers.h'] | |||||
+ spice_common_server_sources += ['generated_server_demarshallers.c'] | |||||
+ spice_common_server_dep_sources = ['generated_server_marshallers.c', 'generated_server_marshallers.h'] | |||||
+ spice_common_server_dep_sources += ['generated_server_demarshallers.c'] | |||||
+ | |||||
spice_common_server_lib = static_library('spice-common-server', spice_common_server_sources, | |||||
install : false, | |||||
dependencies : spice_common_dep) |
@ -0,0 +1,19 @@ | |||||
--- a/meson.build | |||||
+++ b/meson.build | |||||
@@ -192,8 +192,6 @@ add_project_arguments(compiler.get_supported_arguments(spice_server_global_cflag | |||||
# Subdirectories | |||||
# | |||||
subdir('server') | |||||
-subdir('tools') | |||||
-subdir('docs') | |||||
# | |||||
# write config.h | |||||
--- a/server/meson.build | |||||
+++ b/server/meson.build | |||||
@@ -186,5 +186,3 @@ spice_server_libs = both_libraries('spice-server', spice_server_sources, | |||||
spice_server_shared_lib = spice_server_libs.get_shared_lib() | |||||
spice_server_static_lib = spice_server_libs.get_static_lib() | |||||
- | |||||
-subdir('tests') |
@ -0,0 +1,29 @@ | |||||
From 60f49745eb80eb84ff293cfadf8092b66b6a088c Mon Sep 17 00:00:00 2001 | |||||
From: Rosen Penev <rosenp@gmail.com> | |||||
Date: Fri, 9 Oct 2020 04:22:31 -0700 | |||||
Subject: [PATCH] don't regenerate enums files | |||||
The release tarballs already include these files. | |||||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
--- | |||||
server/meson.build | 6 +----- | |||||
1 file changed, 1 insertion(+), 5 deletions(-) | |||||
diff --git a/server/meson.build b/server/meson.build | |||||
index b2eb410..b79b8d9 100644 | |||||
--- a/server/meson.build | |||||
+++ b/server/meson.build | |||||
@@ -36,11 +36,7 @@ spice_server_headers = [ | |||||
install_headers(spice_server_headers, subdir : 'spice-server') | |||||
-# generate enums | |||||
-gnome = import('gnome') | |||||
-spice_server_enums = gnome.mkenums_simple('spice-server-enums', | |||||
- sources : 'spice-server.h', | |||||
- symbol_prefix : 'SPICE') | |||||
+spice_server_enums = ['spice-server-enums.c', 'spice-server-enums.h'] | |||||
spice_server_sources = [ | |||||
spice_server_headers, |