@@ -11,9 +11,10 @@ def get_make_env_vars(
11
11
user_vars ,
12
12
deps ,
13
13
inputs ,
14
- make_commands = []):
14
+ is_msvc ,
15
+ make_commands ):
15
16
vars = _get_make_variables (workspace_name , tools , flags , user_vars , make_commands )
16
- deps_flags = _define_deps_flags (deps , inputs )
17
+ deps_flags = _define_deps_flags (deps , inputs , is_msvc )
17
18
18
19
# For cross-compilation.
19
20
if "RANLIB" not in vars .keys ():
@@ -42,27 +43,31 @@ def get_ldflags_make_vars(
42
43
flags ,
43
44
user_vars ,
44
45
deps ,
45
- inputs ):
46
+ inputs ,
47
+ is_msvc ):
46
48
vars = _get_ldflags_vars (executable_ldflags_vars , shared_ldflags_vars , flags , user_vars )
47
49
48
- deps_flags = _define_deps_flags (deps , inputs )
50
+ deps_flags = _define_deps_flags (deps , inputs , is_msvc )
49
51
for key in vars .keys ():
50
52
vars [key ] = vars [key ] + deps_flags .libs
51
53
52
54
return " " .join (["{}=\" {}\" "
53
55
.format (key , _join_flags_list (workspace_name , vars [key ])) for key in vars ])
54
56
55
- def _define_deps_flags (deps , inputs ):
57
+ def _define_deps_flags (deps , inputs , is_msvc ):
56
58
# It is very important to keep the order for the linker => put them into list
57
59
lib_dirs = []
58
60
61
+ # msvc compiler uses -LIBPATH instead of -L
62
+ lib_flag = "-LIBPATH:" if is_msvc else "-L"
63
+
59
64
# Here go libraries built with Bazel
60
65
gen_dirs_set = {}
61
66
for lib in inputs .libs :
62
67
dir_ = lib .dirname
63
68
if not gen_dirs_set .get (dir_ ):
64
69
gen_dirs_set [dir_ ] = 1
65
- lib_dirs .append ("-L $$EXT_BUILD_ROOT$$/" + dir_ )
70
+ lib_dirs .append (lib_flag + " $$EXT_BUILD_ROOT$$/" + dir_ )
66
71
67
72
include_dirs_set = {}
68
73
for include_dir in inputs .include_dirs :
@@ -89,7 +94,7 @@ def _define_deps_flags(deps, inputs):
89
94
90
95
dir_name = artifact .gen_dir .basename
91
96
include_dirs .append ("-I$$EXT_BUILD_DEPS$$/{}/{}" .format (dir_name , artifact .include_dir_name ))
92
- lib_dirs .append ("-L $$EXT_BUILD_DEPS$$/{}/{}" .format (dir_name , artifact .lib_dir_name ))
97
+ lib_dirs .append (lib_flag + " $$EXT_BUILD_DEPS$$/{}/{}" .format (dir_name , artifact .lib_dir_name ))
93
98
94
99
return struct (
95
100
libs = lib_dirs ,
0 commit comments