diff --git a/vlib/v/ast/cflags.v b/vlib/v/ast/cflags.v index 77b155592d..347f1919a0 100644 --- a/vlib/v/ast/cflags.v +++ b/vlib/v/ast/cflags.v @@ -18,7 +18,7 @@ fn (t &Table) has_cflag(flag cflag.CFlag) bool { // parse the flags to (ast.cflags) []CFlag // Note: clean up big time (joe-c) pub fn (mut t Table) parse_cflag(cflg string, mod string, ctimedefines []string) ?bool { - allowed_flags := ['framework', 'library', 'Wa', 'Wl', 'Wp', 'I', 'l', 'L'] + allowed_flags := ['framework', 'library', 'Wa', 'Wl', 'Wp', 'I', 'l', 'L', 'D'] flag_orig := cflg.trim_space() mut flag := flag_orig if flag == '' { diff --git a/vlib/v/ast/cflags_test.v b/vlib/v/ast/cflags_test.v index a64fe8c32b..51e29c9267 100644 --- a/vlib/v/ast/cflags_test.v +++ b/vlib/v/ast/cflags_test.v @@ -20,6 +20,10 @@ fn test_parse_valid_cflags() { make_flag('windows', '-l', 'gdi32'), make_flag(no_os, '-l', 'mysqlclient'), make_flag(no_os, no_name, '-test'), + make_flag('linux', '-I', '/usr/include/SDL2'), + make_flag('linux', '-D', '_REENTRANT'), + make_flag('linux', '-L', '/usr/lib/x86_64-linux-gnu'), + make_flag('linux', '-l', 'SDL2'), ] parse_valid_flag(mut t, '-lmysqlclient') parse_valid_flag(mut t, '-test') @@ -29,6 +33,7 @@ fn test_parse_valid_cflags() { parse_valid_flag(mut t, 'mingw -mwindows') parse_valid_flag(mut t, 'solaris -L/opt/local/lib') parse_valid_flag(mut t, 'windows -lgdi32') + parse_valid_flag(mut t, 'linux -I/usr/include/SDL2 -D_REENTRANT -L/usr/lib/x86_64-linux-gnu -lSDL2') assert t.cflags.len == expected_flags.len for f in expected_flags { assert t.has_cflag(f)