diff -Nru vixl-5.1.0/debian/changelog vixl-5.1.0/debian/changelog --- vixl-5.1.0/debian/changelog 2021-11-22 20:49:20.000000000 +0000 +++ vixl-5.1.0/debian/changelog 2022-01-13 11:24:36.000000000 +0000 @@ -1,3 +1,11 @@ +vixl (5.1.0-3) unstable; urgency=medium + + * d/control: add Vcs fields + * d/control: Build-Depend on libtext-markdown-perl or markdown + * d/patches: update patches to latest revision + + -- Andrea Pappacoda Thu, 13 Jan 2022 12:24:36 +0100 + vixl (5.1.0-2) unstable; urgency=medium * Patch: do not force HARDFLOAT when using soft fp (fix armel build) diff -Nru vixl-5.1.0/debian/control vixl-5.1.0/debian/control --- vixl-5.1.0/debian/control 2021-10-14 19:47:08.000000000 +0000 +++ vixl-5.1.0/debian/control 2022-01-13 11:24:36.000000000 +0000 @@ -2,10 +2,12 @@ Section: libs Priority: optional Maintainer: Andrea Pappacoda -Build-Depends: debhelper-compat (= 13), meson (>= 0.49.0), markdown +Build-Depends: debhelper-compat (= 13), meson (>= 0.49.0), libtext-markdown-perl | markdown Standards-Version: 4.6.0 Homepage: https://github.com/Linaro/vixl Rules-Requires-Root: no +Vcs-Git: https://salsa.debian.org/debian/vixl.git +Vcs-Browser: https://salsa.debian.org/debian/vixl Package: libvixl5 Architecture: any diff -Nru vixl-5.1.0/debian/gbp.conf vixl-5.1.0/debian/gbp.conf --- vixl-5.1.0/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ vixl-5.1.0/debian/gbp.conf 2022-01-13 11:24:36.000000000 +0000 @@ -0,0 +1,10 @@ +[DEFAULT] + +pristine-tar = True +pristine-tar-commit = True +sign-tags = True +debian-branch = debian/latest +upstream-branch = upstream/latest +dist = DEP14 +pbuilder = True +postbuild = lintian $GBP_CHANGES_FILE diff -Nru vixl-5.1.0/debian/patches/armel-fix.patch vixl-5.1.0/debian/patches/armel-fix.patch --- vixl-5.1.0/debian/patches/armel-fix.patch 2021-11-22 20:49:20.000000000 +0000 +++ vixl-5.1.0/debian/patches/armel-fix.patch 2022-01-13 11:24:36.000000000 +0000 @@ -1,10 +1,10 @@ -Origin: upstream, https://github.com/Linaro/vixl/pull/8/commits/f140a8eb67fd5539b3e5825f5d6c6c63f5d1b5dc -Last-Update: 2021-11-23 +Origin: upstream, https://github.com/Linaro/vixl/commit/c4470cfce965c6efaa24926c7040025694a9a63e +Last-Update: 2022-01-13 -From f140a8eb67fd5539b3e5825f5d6c6c63f5d1b5dc Mon Sep 17 00:00:00 2001 +From c4470cfce965c6efaa24926c7040025694a9a63e Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda -Date: Tue, 23 Nov 2021 10:41:44 +0100 -Subject: [PATCH] fix: do not force HARDFLOAT when using soft fp +Date: Thu, 13 Jan 2022 11:13:42 +0100 +Subject: [PATCH] fix: do not force HARDFLOAT when using soft fp (#8) Fixes compilation on Debian armel, see https://buildd.debian.org/status/fetch.php?pkg=vixl&arch=armel&ver=5.1.0-1&stamp=1637517716&raw=0 diff -Nru vixl-5.1.0/debian/patches/build-meson.patch vixl-5.1.0/debian/patches/build-meson.patch --- vixl-5.1.0/debian/patches/build-meson.patch 2021-10-14 19:47:08.000000000 +0000 +++ vixl-5.1.0/debian/patches/build-meson.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,407 +0,0 @@ -Description: build: add Meson support -Origin: upstream, https://github.com/Linaro/vixl/pull/7/commits/a456476f157a79ef98baa51ec202c8162e9078ae -Forwarded: https://github.com/Linaro/vixl/pull/7 -Last-Update: 2021-10-15 - -From a456476f157a79ef98baa51ec202c8162e9078ae Mon Sep 17 00:00:00 2001 -From: Andrea Pappacoda -Date: Wed, 13 Oct 2021 22:06:34 +0200 -Subject: [PATCH] build: add Meson support - -I was trying to package Vixl, but the SCons build system does not -provide an install target, so I would've had to add it. It seemed too -difficult, so I directly created a quite basic Meson build script. - -It provides most features of the SCons script, except for tests and -benchmarks, while adding a rich install target, with library soname -versioning and a pkg-config file. - -Meson is a simple yet powerful build system, and you're interested in -using it as your main build system I could add tests and benchmarks :) ---- - doc/aarch32/meson.build | 9 ++ - doc/aarch64/meson.build | 18 ++++ - doc/aarch64/topics/meson.build | 18 ++++ - doc/meson.build | 18 ++++ - meson.build | 147 +++++++++++++++++++++++++++++++++ - meson_options.txt | 34 ++++++++ - src/aarch32/meson.build | 31 +++++++ - src/aarch64/meson.build | 45 +++++++++++ - 8 files changed, 320 insertions(+) - create mode 100644 doc/aarch32/meson.build - create mode 100644 doc/aarch64/meson.build - create mode 100644 doc/aarch64/topics/meson.build - create mode 100644 doc/meson.build - create mode 100644 meson.build - create mode 100644 meson_options.txt - create mode 100644 src/aarch32/meson.build - create mode 100644 src/aarch64/meson.build - -diff --git a/doc/aarch32/meson.build b/doc/aarch32/meson.build -new file mode 100644 -index 00000000..8bdba0a6 ---- /dev/null -+++ b/doc/aarch32/meson.build -@@ -0,0 +1,9 @@ -+custom_target( -+ 'doc_aarch32', -+ command: [markdown, '@INPUT@'], -+ input: 'getting-started-aarch32.md', -+ output: '@BASENAME@.html', -+ capture: true, -+ install: true, -+ install_dir: doc_dir/'aarch32' -+) -diff --git a/doc/aarch64/meson.build b/doc/aarch64/meson.build -new file mode 100644 -index 00000000..1bee41f4 ---- /dev/null -+++ b/doc/aarch64/meson.build -@@ -0,0 +1,18 @@ -+doc_aarch64_files = [ -+ 'getting-started-aarch64', -+ 'supported-instructions-aarch64' -+] -+ -+foreach file : doc_aarch64_files -+ custom_target( -+ 'doc_aarch64_' + file, -+ command: [markdown, '@INPUT@'], -+ input: file + '.md', -+ output: file + '.html', -+ capture: true, -+ install: true, -+ install_dir: doc_dir/'aarch64' -+ ) -+endforeach -+ -+subdir('topics') -diff --git a/doc/aarch64/topics/meson.build b/doc/aarch64/topics/meson.build -new file mode 100644 -index 00000000..40a4f7df ---- /dev/null -+++ b/doc/aarch64/topics/meson.build -@@ -0,0 +1,18 @@ -+doc_aarch64_topics_files = [ -+ 'extending-the-disassembler', -+ 'index', -+ 'state-trace', -+ 'ycm' -+] -+ -+foreach file : doc_aarch64_topics_files -+ custom_target( -+ 'doc_aarch64_topics_' + file, -+ command: [markdown, '@INPUT@'], -+ input: file + '.md', -+ output: file + '.html', -+ capture: true, -+ install: true, -+ install_dir: doc_dir/'aarch64'/'topics' -+ ) -+endforeach -diff --git a/doc/meson.build b/doc/meson.build -new file mode 100644 -index 00000000..bca18c95 ---- /dev/null -+++ b/doc/meson.build -@@ -0,0 +1,18 @@ -+doc_dir = get_option('datadir')/'doc'/meson.project_name() -+ -+custom_target( -+ 'doc', -+ command: [markdown, '@INPUT@'], -+ input: '..'/'README.md', -+ output: '@BASENAME@.html', -+ capture: true, -+ install: true, -+ install_dir: doc_dir -+) -+ -+if build_a32 or build_t32 -+ subdir('aarch32') -+endif -+if build_a64 -+ subdir('aarch64') -+endif -diff --git a/meson.build b/meson.build -new file mode 100644 -index 00000000..35b718b8 ---- /dev/null -+++ b/meson.build -@@ -0,0 +1,147 @@ -+# SPDX-FileCopyrightText: 2021 Andrea Pappacoda -+# -+# SPDX-License-Identifier: BSD-3-Clause -+ -+project( -+ 'vixl', -+ 'cpp', -+ version: '5.1.0', -+ license: 'BSD-3-Clause', -+ meson_version: '>=0.49.0', -+ default_options: [ -+ 'cpp_std=c++14', -+ 'buildtype=release', -+ 'warning_level=3', -+ 'werror=true', -+ 'd_ndebug=if-release', -+ 'b_lto=true' -+ ] -+) -+ -+if get_option('debug') -+ add_project_arguments('-DVIXL_DEBUG', language: 'cpp') -+endif -+ -+hosts_32bit = ['arc', 'arm', 'c2000', 'csky', 'mips', 'ppc', 'riscv32', 'rx', 'sparc', 'wasm32', 'x86'] -+can_target_aarch64 = not (host_machine.cpu_family() in hosts_32bit) -+ -+build_a32 = false -+build_t32 = false -+build_a64 = false -+ -+targets = get_option('target') -+if 'auto' in targets or 'all' in targets -+ if can_target_aarch64 or 'all' in targets -+ add_project_arguments( -+ '-DVIXL_INCLUDE_TARGET_A32', -+ '-DVIXL_INCLUDE_TARGET_T32', -+ '-DVIXL_INCLUDE_TARGET_A64', -+ language: 'cpp' -+ ) -+ build_a32 = true -+ build_t32 = true -+ build_a64 = true -+ else -+ add_project_arguments( -+ '-DVIXL_INCLUDE_TARGET_A32', -+ '-DVIXL_INCLUDE_TARGET_T32', -+ language: 'cpp' -+ ) -+ build_a32 = true -+ build_t32 = true -+ endif -+else -+ if 'a32' in targets or 'aarch32' in targets -+ add_project_arguments( -+ '-DVIXL_INCLUDE_TARGET_A32', -+ language: 'cpp' -+ ) -+ build_a32 = true -+ endif -+ if 't32' in targets or 'aarch32' in targets -+ add_project_arguments( -+ '-DVIXL_INCLUDE_TARGET_T32', -+ language: 'cpp' -+ ) -+ build_t32 = true -+ endif -+ if 'a64' in targets or 'aarch64' in targets -+ add_project_arguments( -+ '-DVIXL_INCLUDE_TARGET_A64', -+ language: 'cpp' -+ ) -+ build_a64 = true -+ endif -+endif -+ -+target_sources = [] -+if build_a32 or build_t32 -+ subdir('src'/'aarch32') -+endif -+if build_a64 -+ subdir('src'/'aarch64') -+endif -+ -+if get_option('simulator') == 'auto' -+ if not (host_machine.cpu_family() == 'aarch64') and can_target_aarch64 -+ add_project_arguments('-DVIXL_INCLUDE_SIMULATOR_AARCH64', language: 'cpp') -+ endif -+elif get_option('simulator') == 'aarch64' -+ if can_target_aarch64 and build_a64 -+ add_project_arguments('-DVIXL_INCLUDE_SIMULATOR_AARCH64', language: 'cpp') -+ else -+ error('Building an AArch64 simulator implies that VIXL targets AArch64. Set `target` to include `aarch64` or `a64`.') -+ endif -+endif -+ -+allocator = get_option('code_buffer_allocator') -+if (allocator == 'auto' and host_machine.system() == 'linux') or allocator == 'mmap' -+ add_project_arguments('-DVIXL_CODE_BUFFER_MMAP', language: 'cpp') -+else -+ add_project_arguments('-DVIXL_CODE_BUFFER_MALLOC', language: 'cpp') -+endif -+ -+markdown = find_program('markdown', required: get_option('doc')) -+if markdown.found() -+ subdir('doc') -+endif -+ -+libvixl = library( -+ 'vixl', -+ 'src'/'code-buffer-vixl.cc', -+ 'src'/'compiler-intrinsics-vixl.cc', -+ 'src'/'cpu-features.cc', -+ 'src'/'utils-vixl.cc', -+ sources: target_sources, -+ include_directories: 'src', -+ version: meson.project_version(), -+ install: true -+) -+ -+vixl_dep = declare_dependency(link_with: libvixl, include_directories: 'src') -+ -+if meson.version().version_compare('>=0.54.0') -+ meson.override_dependency('vixl', vixl_dep) -+endif -+ -+install_headers( -+ 'src'/'assembler-base-vixl.h', -+ 'src'/'code-buffer-vixl.h', -+ 'src'/'code-generation-scopes-vixl.h', -+ 'src'/'compiler-intrinsics-vixl.h', -+ 'src'/'cpu-features.h', -+ 'src'/'globals-vixl.h', -+ 'src'/'invalset-vixl.h', -+ 'src'/'macro-assembler-interface.h', -+ 'src'/'platform-vixl.h', -+ 'src'/'pool-manager-impl.h', -+ 'src'/'pool-manager.h', -+ 'src'/'utils-vixl.h', -+ subdir: 'vixl' -+) -+ -+import('pkgconfig').generate( -+ libvixl, -+ description: 'ARMv8 Runtime Code Generation Library', -+ url: 'https://github.com/Linaro/vixl' -+) -diff --git a/meson_options.txt b/meson_options.txt -new file mode 100644 -index 00000000..602d4c82 ---- /dev/null -+++ b/meson_options.txt -@@ -0,0 +1,34 @@ -+# SPDX-FileCopyrightText: 2021 Andrea Pappacoda -+# -+# SPDX-License-Identifier: BSD-3-Clause -+ -+option( -+ 'target', -+ type: 'array', -+ choices: ['auto', 'all', 'aarch32', 'a32', 't32', 'aarch64', 'a64'], -+ value: ['auto'], -+ description: 'Target ISA/Architecture' -+) -+ -+option( -+ 'simulator', -+ type: 'combo', -+ choices: ['auto', 'aarch64', 'none'], -+ value: 'auto', -+ description: 'Simulators to include' -+) -+ -+option( -+ 'code_buffer_allocator', -+ type: 'combo', -+ choices: ['auto', 'malloc', 'mmap'], -+ value: 'auto', -+ description: 'Configure the allocation mechanism in the CodeBuffer' -+) -+ -+option( -+ 'doc', -+ type: 'feature', -+ value: 'auto', -+ description: 'Convert documentation to HTML (requires the `markdown` program)' -+) -diff --git a/src/aarch32/meson.build b/src/aarch32/meson.build -new file mode 100644 -index 00000000..0e0dd8eb ---- /dev/null -+++ b/src/aarch32/meson.build -@@ -0,0 +1,31 @@ -+# SPDX-FileCopyrightText: 2021 Andrea Pappacoda -+# -+# SPDX-License-Identifier: BSD-3-Clause -+ -+# Need to wrap the filenames in files() otherwise this array would be treated -+# as a simple array of strings, and when used in the master meson.build they -+# would refer to nonexistent paths. Wrapping in files() ensures that the -+# filenames will be always relative to this directory, even if referenced in -+# a different one. As a general rule, when I need to refer to a file from a -+# different build directory I should wrap it in files(). -+ -+target_sources += [files( -+ 'assembler-aarch32.cc', -+ 'constants-aarch32.cc', -+ 'disasm-aarch32.cc', -+ 'instructions-aarch32.cc', -+ 'location-aarch32.cc', -+ 'macro-assembler-aarch32.cc', -+ 'operands-aarch32.cc' -+)] -+ -+install_headers( -+ 'assembler-aarch32.h', -+ 'constants-aarch32.h', -+ 'disasm-aarch32.h', -+ 'instructions-aarch32.h', -+ 'location-aarch32.h', -+ 'macro-assembler-aarch32.h', -+ 'operands-aarch32.h', -+ subdir: 'vixl'/'aarch32' -+) -diff --git a/src/aarch64/meson.build b/src/aarch64/meson.build -new file mode 100644 -index 00000000..c4a4b85b ---- /dev/null -+++ b/src/aarch64/meson.build -@@ -0,0 +1,45 @@ -+# SPDX-FileCopyrightText: 2021 Andrea Pappacoda -+# -+# SPDX-License-Identifier: BSD-3-Clause -+ -+# Need to wrap the filenames in files() otherwise this array would be treated -+# as a simple array of strings, and when used in the master meson.build they -+# would refer to nonexistent paths. Wrapping in files() ensures that the -+# filenames will be always relative to this directory, even if referenced in -+# a different one. As a general rule, when I need to refer to a file from a -+# different build directory I should wrap it in files(). -+ -+target_sources += [files( -+ 'assembler-aarch64.cc', -+ 'assembler-sve-aarch64.cc', -+ 'cpu-aarch64.cc', -+ 'cpu-features-auditor-aarch64.cc', -+ 'decoder-aarch64.cc', -+ 'disasm-aarch64.cc', -+ 'instructions-aarch64.cc', -+ 'logic-aarch64.cc', -+ 'macro-assembler-aarch64.cc', -+ 'macro-assembler-sve-aarch64.cc', -+ 'operands-aarch64.cc', -+ 'pointer-auth-aarch64.cc', -+ 'registers-aarch64.cc', -+ 'simulator-aarch64.cc' -+)] -+ -+install_headers( -+ 'abi-aarch64.h', -+ 'assembler-aarch64.h', -+ 'constants-aarch64.h', -+ 'cpu-aarch64.h', -+ 'cpu-features-auditor-aarch64.h', -+ 'decoder-aarch64.h', -+ 'decoder-constants-aarch64.h', -+ 'disasm-aarch64.h', -+ 'instructions-aarch64.h', -+ 'macro-assembler-aarch64.h', -+ 'operands-aarch64.h', -+ 'registers-aarch64.h', -+ 'simulator-aarch64.h', -+ 'simulator-constants-aarch64.h', -+ subdir: 'vixl'/'aarch64' -+) diff -Nru vixl-5.1.0/debian/patches/meson.patch vixl-5.1.0/debian/patches/meson.patch --- vixl-5.1.0/debian/patches/meson.patch 1970-01-01 00:00:00.000000000 +0000 +++ vixl-5.1.0/debian/patches/meson.patch 2022-01-13 11:24:36.000000000 +0000 @@ -0,0 +1,421 @@ +Origin: upstream, https://github.com/Linaro/vixl/pull/7 +Last-Update: 2021-10-15 + +From 21ac158c034e725442208fef93c7e67fcf92ac36 Mon Sep 17 00:00:00 2001 +From: Andrea Pappacoda +Date: Wed, 13 Oct 2021 22:06:34 +0200 +Subject: [PATCH] build: add Meson support + +I was trying to package Vixl, but the SCons build system does not +provide an install target, so I would've had to add it. It seemed too +difficult, so I directly created a quite basic Meson build script. + +It provides most features of the SCons script, except for tests and +benchmarks, while adding a rich install target, with library soname +versioning and a pkg-config file. + +Meson is a simple yet powerful build system, and you're interested in +using it as your main build system I could add tests and benchmarks :) +--- + doc/aarch32/meson.build | 13 +++ + doc/aarch64/meson.build | 22 +++++ + doc/aarch64/topics/meson.build | 18 ++++ + doc/meson.build | 22 +++++ + meson.build | 151 +++++++++++++++++++++++++++++++++ + meson_options.txt | 34 ++++++++ + src/aarch32/meson.build | 31 +++++++ + src/aarch64/meson.build | 45 ++++++++++ + 8 files changed, 337 insertions(+) + create mode 100644 doc/aarch32/meson.build + create mode 100644 doc/aarch64/meson.build + create mode 100644 doc/aarch64/topics/meson.build + create mode 100644 doc/meson.build + create mode 100644 meson.build + create mode 100644 meson_options.txt + create mode 100644 src/aarch32/meson.build + create mode 100644 src/aarch64/meson.build + +diff --git a/doc/aarch32/meson.build b/doc/aarch32/meson.build +new file mode 100644 +index 00000000..6baf8d57 +--- /dev/null ++++ b/doc/aarch32/meson.build +@@ -0,0 +1,13 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++custom_target( ++ 'doc_aarch32', ++ command: [markdown, '@INPUT@'], ++ input: 'getting-started-aarch32.md', ++ output: '@BASENAME@.html', ++ capture: true, ++ install: true, ++ install_dir: doc_dir/'aarch32' ++) +diff --git a/doc/aarch64/meson.build b/doc/aarch64/meson.build +new file mode 100644 +index 00000000..d6fe068d +--- /dev/null ++++ b/doc/aarch64/meson.build +@@ -0,0 +1,22 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++doc_aarch64_files = [ ++ 'getting-started-aarch64', ++ 'supported-instructions-aarch64' ++] ++ ++foreach file : doc_aarch64_files ++ custom_target( ++ 'doc_aarch64_' + file, ++ command: [markdown, '@INPUT@'], ++ input: file + '.md', ++ output: file + '.html', ++ capture: true, ++ install: true, ++ install_dir: doc_dir/'aarch64' ++ ) ++endforeach ++ ++subdir('topics') +diff --git a/doc/aarch64/topics/meson.build b/doc/aarch64/topics/meson.build +new file mode 100644 +index 00000000..40a4f7df +--- /dev/null ++++ b/doc/aarch64/topics/meson.build +@@ -0,0 +1,18 @@ ++doc_aarch64_topics_files = [ ++ 'extending-the-disassembler', ++ 'index', ++ 'state-trace', ++ 'ycm' ++] ++ ++foreach file : doc_aarch64_topics_files ++ custom_target( ++ 'doc_aarch64_topics_' + file, ++ command: [markdown, '@INPUT@'], ++ input: file + '.md', ++ output: file + '.html', ++ capture: true, ++ install: true, ++ install_dir: doc_dir/'aarch64'/'topics' ++ ) ++endforeach +diff --git a/doc/meson.build b/doc/meson.build +new file mode 100644 +index 00000000..f23f5c94 +--- /dev/null ++++ b/doc/meson.build +@@ -0,0 +1,22 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++doc_dir = get_option('datadir')/'doc'/meson.project_name() ++ ++custom_target( ++ 'doc', ++ command: [markdown, '@INPUT@'], ++ input: '..'/'README.md', ++ output: '@BASENAME@.html', ++ capture: true, ++ install: true, ++ install_dir: doc_dir ++) ++ ++if build_a32 or build_t32 ++ subdir('aarch32') ++endif ++if build_a64 ++ subdir('aarch64') ++endif +diff --git a/meson.build b/meson.build +new file mode 100644 +index 00000000..96d8165e +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,151 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++project( ++ 'vixl', ++ 'cpp', ++ default_options: [ ++ 'cpp_std=c++14', ++ 'buildtype=release', ++ 'warning_level=3', ++ 'werror=true', ++ 'd_ndebug=if-release', ++ 'b_lto=true' ++ ], ++ license: 'BSD-3-Clause', ++ meson_version: '>=0.49.0', ++ version: '5.1.0', ++) ++ ++extra_args = [] ++ ++if get_option('debug') ++ extra_args += '-DVIXL_DEBUG' ++endif ++ ++hosts_32bit = ['arc', 'arm', 'c2000', 'csky', 'mips', 'ppc', 'riscv32', 'rx', 'sparc', 'wasm32', 'x86'] ++can_target_aarch64 = not (host_machine.cpu_family() in hosts_32bit) ++ ++build_a32 = false ++build_t32 = false ++build_a64 = false ++ ++targets = get_option('target') ++if 'auto' in targets or 'all' in targets ++ if can_target_aarch64 or 'all' in targets ++ extra_args += [ ++ '-DVIXL_INCLUDE_TARGET_A32', ++ '-DVIXL_INCLUDE_TARGET_T32', ++ '-DVIXL_INCLUDE_TARGET_A64' ++ ] ++ build_a32 = true ++ build_t32 = true ++ build_a64 = true ++ else ++ extra_args += [ ++ '-DVIXL_INCLUDE_TARGET_A32', ++ '-DVIXL_INCLUDE_TARGET_T32' ++ ] ++ build_a32 = true ++ build_t32 = true ++ endif ++else ++ if 'a32' in targets or 'aarch32' in targets ++ extra_args += [ ++ '-DVIXL_INCLUDE_TARGET_A32' ++ ] ++ build_a32 = true ++ endif ++ if 't32' in targets or 'aarch32' in targets ++ extra_args += [ ++ '-DVIXL_INCLUDE_TARGET_T32' ++ ] ++ build_t32 = true ++ endif ++ if 'a64' in targets or 'aarch64' in targets ++ extra_args += [ ++ '-DVIXL_INCLUDE_TARGET_A64' ++ ] ++ build_a64 = true ++ endif ++endif ++ ++target_sources = [] ++if build_a32 or build_t32 ++ subdir('src'/'aarch32') ++endif ++if build_a64 ++ subdir('src'/'aarch64') ++endif ++ ++if get_option('simulator') == 'auto' ++ if not (host_machine.cpu_family() == 'aarch64') and can_target_aarch64 ++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64' ++ endif ++elif get_option('simulator') == 'aarch64' ++ if can_target_aarch64 and build_a64 ++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64' ++ else ++ error('Building an AArch64 simulator implies that VIXL targets AArch64. Set `target` to include `aarch64` or `a64`.') ++ endif ++endif ++ ++allocator = get_option('code_buffer_allocator') ++if (allocator == 'auto' and host_machine.system() == 'linux') or allocator == 'mmap' ++ extra_args += '-DVIXL_CODE_BUFFER_MMAP' ++else ++ extra_args += '-DVIXL_CODE_BUFFER_MALLOC' ++endif ++ ++markdown = find_program('markdown', required: get_option('doc')) ++if markdown.found() ++ subdir('doc') ++endif ++ ++libvixl = library( ++ 'vixl', ++ 'src'/'code-buffer-vixl.cc', ++ 'src'/'compiler-intrinsics-vixl.cc', ++ 'src'/'cpu-features.cc', ++ 'src'/'utils-vixl.cc', ++ cpp_args: extra_args, ++ include_directories: 'src', ++ install: true, ++ sources: target_sources, ++ version: meson.project_version() ++) ++ ++vixl_dep = declare_dependency( ++ compile_args: extra_args, ++ include_directories: 'src', ++ link_with: libvixl ++) ++ ++if meson.version().version_compare('>=0.54.0') ++ meson.override_dependency('vixl', vixl_dep) ++endif ++ ++install_headers( ++ 'src'/'assembler-base-vixl.h', ++ 'src'/'code-buffer-vixl.h', ++ 'src'/'code-generation-scopes-vixl.h', ++ 'src'/'compiler-intrinsics-vixl.h', ++ 'src'/'cpu-features.h', ++ 'src'/'globals-vixl.h', ++ 'src'/'invalset-vixl.h', ++ 'src'/'macro-assembler-interface.h', ++ 'src'/'platform-vixl.h', ++ 'src'/'pool-manager-impl.h', ++ 'src'/'pool-manager.h', ++ 'src'/'utils-vixl.h', ++ subdir: 'vixl' ++) ++ ++import('pkgconfig').generate( ++ libvixl, ++ description: 'ARMv8 Runtime Code Generation Library', ++ extra_cflags: extra_args, ++ subdirs: 'vixl', ++ url: 'https://github.com/Linaro/vixl' ++) +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 00000000..602d4c82 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,34 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++option( ++ 'target', ++ type: 'array', ++ choices: ['auto', 'all', 'aarch32', 'a32', 't32', 'aarch64', 'a64'], ++ value: ['auto'], ++ description: 'Target ISA/Architecture' ++) ++ ++option( ++ 'simulator', ++ type: 'combo', ++ choices: ['auto', 'aarch64', 'none'], ++ value: 'auto', ++ description: 'Simulators to include' ++) ++ ++option( ++ 'code_buffer_allocator', ++ type: 'combo', ++ choices: ['auto', 'malloc', 'mmap'], ++ value: 'auto', ++ description: 'Configure the allocation mechanism in the CodeBuffer' ++) ++ ++option( ++ 'doc', ++ type: 'feature', ++ value: 'auto', ++ description: 'Convert documentation to HTML (requires the `markdown` program)' ++) +diff --git a/src/aarch32/meson.build b/src/aarch32/meson.build +new file mode 100644 +index 00000000..f4997860 +--- /dev/null ++++ b/src/aarch32/meson.build +@@ -0,0 +1,31 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++# Need to wrap the filenames in files() otherwise this array would be treated ++# as a simple array of strings, and when used in the master meson.build they ++# would refer to nonexistent paths. Wrapping in files() ensures that the ++# filenames will be always relative to this directory, even if referenced in ++# a different one. As a general rule, when I need to refer to a file from a ++# different build directory I should wrap it in files(). ++ ++target_sources += files( ++ 'assembler-aarch32.cc', ++ 'constants-aarch32.cc', ++ 'disasm-aarch32.cc', ++ 'instructions-aarch32.cc', ++ 'location-aarch32.cc', ++ 'macro-assembler-aarch32.cc', ++ 'operands-aarch32.cc' ++) ++ ++install_headers( ++ 'assembler-aarch32.h', ++ 'constants-aarch32.h', ++ 'disasm-aarch32.h', ++ 'instructions-aarch32.h', ++ 'location-aarch32.h', ++ 'macro-assembler-aarch32.h', ++ 'operands-aarch32.h', ++ subdir: 'vixl'/'aarch32' ++) +diff --git a/src/aarch64/meson.build b/src/aarch64/meson.build +new file mode 100644 +index 00000000..7cd353a3 +--- /dev/null ++++ b/src/aarch64/meson.build +@@ -0,0 +1,45 @@ ++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda ++# ++# SPDX-License-Identifier: BSD-3-Clause ++ ++# Need to wrap the filenames in files() otherwise this array would be treated ++# as a simple array of strings, and when used in the master meson.build they ++# would refer to nonexistent paths. Wrapping in files() ensures that the ++# filenames will be always relative to this directory, even if referenced in ++# a different one. As a general rule, when I need to refer to a file from a ++# different build directory I should wrap it in files(). ++ ++target_sources += files( ++ 'assembler-aarch64.cc', ++ 'assembler-sve-aarch64.cc', ++ 'cpu-aarch64.cc', ++ 'cpu-features-auditor-aarch64.cc', ++ 'decoder-aarch64.cc', ++ 'disasm-aarch64.cc', ++ 'instructions-aarch64.cc', ++ 'logic-aarch64.cc', ++ 'macro-assembler-aarch64.cc', ++ 'macro-assembler-sve-aarch64.cc', ++ 'operands-aarch64.cc', ++ 'pointer-auth-aarch64.cc', ++ 'registers-aarch64.cc', ++ 'simulator-aarch64.cc' ++) ++ ++install_headers( ++ 'abi-aarch64.h', ++ 'assembler-aarch64.h', ++ 'constants-aarch64.h', ++ 'cpu-aarch64.h', ++ 'cpu-features-auditor-aarch64.h', ++ 'decoder-aarch64.h', ++ 'decoder-constants-aarch64.h', ++ 'disasm-aarch64.h', ++ 'instructions-aarch64.h', ++ 'macro-assembler-aarch64.h', ++ 'operands-aarch64.h', ++ 'registers-aarch64.h', ++ 'simulator-aarch64.h', ++ 'simulator-constants-aarch64.h', ++ subdir: 'vixl'/'aarch64' ++) diff -Nru vixl-5.1.0/debian/patches/series vixl-5.1.0/debian/patches/series --- vixl-5.1.0/debian/patches/series 2021-11-22 20:49:20.000000000 +0000 +++ vixl-5.1.0/debian/patches/series 2022-01-13 11:24:36.000000000 +0000 @@ -1,2 +1,2 @@ -build-meson.patch +meson.patch armel-fix.patch