-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmeson.build
More file actions
120 lines (110 loc) · 2.95 KB
/
Copy pathmeson.build
File metadata and controls
120 lines (110 loc) · 2.95 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
project(
'xsh',
'c',
version: '2.0.0',
license: 'GPL-3.0-or-later',
default_options: [
'c_std=c23',
'warning_level=3',
]
)
conf_data = configuration_data()
conf_data.set_quoted('XSH_VERSION', meson.project_version())
conf_data.set('XSH_DEFAULT_HISTSIZE', get_option('default_histsize'))
conf_data.set('XSH_DEFAULT_HISTFILESIZE', get_option('default_histfilesize'))
conf_data.set_quoted('XSH_DEFAULT_RCFILE', get_option('default_rcfile'))
conf_data.set_quoted('XSH_DEFAULT_HISTFILE', get_option('default_histfile'))
conf_data.set_quoted('XSH_DEFAULT_COMPLETION_DRIVERS', get_option('default_completion_drivers'))
conf_data.set('XSH_MAX_PATH_LEN', get_option('max_path_len'))
conf_data.set('XSH_MAX_LINE_LEN', get_option('max_line_len'))
conf_data.set_quoted('XSH_SYSCONFDIR', get_option('prefix') / get_option('sysconfdir'))
conf_data.set_quoted('XSH_DATADIR', get_option('prefix') / get_option('datadir'))
conf_data.set_quoted('XSH_LOCALEDIR', get_option('prefix') / get_option('localedir'))
conf_data.set_quoted('XSH_PREFIX', get_option('prefix'))
config_h = configure_file(
output: 'xsh_config.h',
configuration: conf_data
)
i18n = import('i18n')
subdir('po')
readline_dep = dependency('readline')
src = files(
'src/main.c',
'src/array.c',
'src/brace.c',
'src/hooks.c',
'src/exec.c',
'src/lexer.c',
'src/parser.c',
'src/expand.c',
'src/arith.c',
'src/jobs.c',
'src/func.c',
'src/alias.c',
'src/complete.c',
'src/comp_engine.c',
'src/fish_comp.c',
'src/bash_comp.c',
'src/zsh_comp.c',
'src/line_editor.c',
'src/builtins/builtins.c',
'src/builtins/cd.c',
'src/builtins/pwd.c',
'src/builtins/echo.c',
'src/builtins/printf.c',
'src/builtins/times.c',
'src/builtins/exit.c',
'src/builtins/help.c',
'src/builtins/export.c',
'src/builtins/unset.c',
'src/builtins/jobs.c',
'src/builtins/fg.c',
'src/builtins/bg.c',
'src/builtins/disown.c',
'src/builtins/test.c',
'src/builtins/loop_ctrl.c',
'src/builtins/history.c',
'src/builtins/bind.c',
'src/builtins/source.c',
'src/builtins/complete.c',
'src/builtins/eval.c',
'src/builtins/exec.c',
'src/builtins/wait.c',
'src/builtins/kill.c',
'src/builtins/trap.c',
'src/builtins/read.c',
'src/builtins/shift.c',
'src/builtins/getopts.c',
'src/builtins/umask.c',
'src/builtins/alias.c',
'src/builtins/type.c',
'src/builtins/command.c',
'src/builtins/set.c',
'src/builtins/ulimit.c',
)
inc = include_directories('include', '.')
xsh_exe = executable(
'xsh',
src,
include_directories: inc,
dependencies: [readline_dep],
install: true
)
install_man('doc/xsh.1')
test_files = [
'test_basic.xsh',
'test_redirection.xsh',
'test_control.xsh',
'test_expansions.xsh',
'test_brace.xsh',
'test_ansi_c.xsh',
'test_arrays.xsh',
'test_functions.xsh',
'test_posix.xsh',
'test_ulimit.xsh',
'test_hooks.xsh',
'test_i18n.xsh',
]
foreach tf : test_files
test(tf, xsh_exe, args: [meson.current_source_dir() / 'tests' / tf])
endforeach