forked from Bitarrays/42hs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeson.build
77 lines (72 loc) · 2.02 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
project(
'42sh',
'c',
version : '1.0',
default_options: [
'c_std=c99',
'warning_level=2',
'werror=true',
],
)
# add_project_arguments('-fsanitize=address', language : 'c')
# add_project_link_arguments('-fsanitize=address', language : 'c')
cflags = ['-D_GNU_SOURCE', '-D_POSIX_C_SOURCE=200809L']
add_project_arguments(cflags, language: 'c')
incdirs = [
include_directories('./src/lexer'),
include_directories('./src/parser'),
include_directories('./src/shell_input'),
include_directories('./src/ast_evaluation'),
include_directories('./src/builtins'),
include_directories('./src/variables'),
include_directories('./src/loops'),
include_directories('./src/functions'),
include_directories('./src/'),
]
common = [
'src/lexer/lexer.c',
'src/lexer/lexer_print.c',
'src/lexer/ionumbers.c',
'src/lexer/create_token.c',
'src/lexer/keywords.c',
'src/lexer/split_input.c',
'src/lexer/spaces.c',
'src/lexer/export.c',
'src/lexer/alias.c',
'src/parser/parser.c',
'src/parser/parser_high_level.c',
'src/parser/parser_conditions.c',
'src/parser/parser_commands.c',
'src/parser/parser_loops.c',
'src/parser/ast.c',
'src/ast_evaluation/pretty_print.c',
'src/ast_evaluation/ast_evaluation.c',
'src/ast_evaluation/builtin_exec.c',
'src/ast_evaluation/inner_exec.c',
'src/ast_evaluation/prog_exec.c',
'src/ast_evaluation/pipe.c',
'src/ast_evaluation/redir.c',
'src/ast_evaluation/redir_tools.c',
'src/shell_input/shell_input.c',
'src/builtins/builtins.c',
'src/variables/var_list.c',
'src/builtins/echo.c',
'src/builtins/cd.c',
'src/builtins/continue.c',
'src/builtins/break.c',
'src/builtins/dot.c',
'src/parser/parse_functions.c',
'src/loops/loop_stack.c',
'src/builtins/exit.c',
'src/builtins/export.c',
'src/functions/functions.c',
'src/builtins/unset.c',
]
token_printer = executable(
# name of the output executable
'42sh',
# source files for the executable
common + [ 'src/42sh.c' ],
# these are passed as -I
include_directories: incdirs
)