-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
meson.build
55 lines (45 loc) · 1.51 KB
/
meson.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Copyright the lewis authors (AUTHORS.md) 2018
# SPDX-License-Identifier: MIT
project('lewis', 'cpp', default_options: ['cpp_std=c++20'])
frigg_project = subproject('frigg',
default_options: ['frigg_no_install=true'])
frigg_dep = frigg_project.get_variable('frigg_dep')
incl = include_directories('include')
lib = shared_library('lewis',
[
'lib/elf/create-headers-pass.cpp',
'lib/elf/file-emitter.cpp',
'lib/elf/internal-link-pass.cpp',
'lib/elf/layout-pass.cpp',
'lib/elf/object.cpp',
'lib/ir.cpp',
'lib/target-x86_64/alloc-regs.cpp',
'lib/target-x86_64/lower-code.cpp',
'lib/target-x86_64/mc-emitter.cpp'
],
include_directories: incl,
dependencies: frigg_dep,
install: true)
lib_dep = declare_dependency(link_with: lib,
include_directories: incl)
executable('test-elf', 'tools/test-elf.cpp',
dependencies: [frigg_dep, lib_dep])
install_headers(
'include/lewis/ir.hpp',
'include/lewis/hierarchy.hpp',
'include/lewis/passes.hpp',
subdir: 'lewis')
install_headers(
'include/lewis/util/byte-encode.hpp',
subdir: 'lewis/util')
install_headers(
'include/lewis/target-x86_64/arch-passes.hpp',
'include/lewis/target-x86_64/mc-emitter.hpp',
'include/lewis/target-x86_64/arch-ir.hpp',
subdir: 'lewis/target-x86_64')
install_headers(
'include/lewis/elf/object.hpp',
'include/lewis/elf/file-emitter.hpp',
'include/lewis/elf/utils.hpp',
'include/lewis/elf/passes.hpp',
subdir: 'lewis/elf')