Merge "Only enable rpath flag for host."
diff --git a/cc_toolchain_config.bzl b/cc_toolchain_config.bzl
index 0534c8a..906b3fe 100644
--- a/cc_toolchain_config.bzl
+++ b/cc_toolchain_config.bzl
@@ -76,7 +76,7 @@
     ]
 
 # Set tools used for all actions in Android's C++ builds.
-def _create_action_configs(tool_paths):
+def _create_action_configs(tool_paths, target_os):
     action_configs = []
 
     tool_name_to_tool = {}
@@ -127,6 +127,10 @@
         ],
     ))
 
+    rpath_features = []
+    if target_os not in ("android", "windows"):
+        rpath_features.append("runtime_library_search_directories")
+
     # use clang++ for dynamic linking
     # https://cs.android.com/android/_/android/platform/build/soong/+/a14b18fb31eada7b8b58ecd469691c20dcb371b3:cc/builder.go;l=790;drc=769a51cc6aa9402c1c55e978e72f528c26b6a48f
     for action_name in [_actions.cpp_link_dynamic_library, _actions.cpp_link_nodeps_dynamic_library]:
@@ -138,13 +142,12 @@
                 "shared_flag",
                 "linkstamps",
                 "output_execpath_flags",
-                "runtime_library_search_directories",
                 "library_search_directories",
                 "libraries_to_link",
                 "pic",
                 "user_link_flags",
                 "linker_param_file",
-            ],
+            ] + rpath_features,
         ))
 
     # use clang++ for linking cc executables
@@ -155,12 +158,11 @@
         implies = [
             "linkstamps",
             "output_execpath_flags",
-            "runtime_library_search_directories",
             "library_search_directories",
             "libraries_to_link",
             "user_link_flags",
             "linker_param_file",
-        ],
+        ] + rpath_features,
     ))
 
     # use llvm-ar for creating static archives
@@ -186,7 +188,7 @@
     clang_version_info = ctx.attr.clang_version[_ClangVersionInfo]
     tool_paths = _tool_paths(clang_version_info)
 
-    action_configs = _create_action_configs(tool_paths)
+    action_configs = _create_action_configs(tool_paths, ctx.attr.target_os)
 
     # This is so that Bazel doesn't validate .d files against the set of headers
     # declared in BUILD files (Blueprint files don't contain that data)