diff --git a/BUILD.ndk_clang.tpl b/BUILD.ndk_clang.tpl index 79cb41c..a2c9f60 100644 --- a/BUILD.ndk_clang.tpl +++ b/BUILD.ndk_clang.tpl @@ -41,6 +41,8 @@ cc_toolchain_suite( target_system_name = target_system_name, toolchain_identifier = "toolchain_identifier_%s" % target_system_name, executable_extension = "{executable_extension}", + ndk_path = "{ndk_path}", + clang_directory = "{clang_directory}", ) for target_system_name in TARGET_SYSTEM_NAMES] filegroup( diff --git a/ndk_cc_toolchain_config.bzl b/ndk_cc_toolchain_config.bzl index f668c3e..6158550 100644 --- a/ndk_cc_toolchain_config.bzl +++ b/ndk_cc_toolchain_config.bzl @@ -1459,24 +1459,24 @@ def ndk_cc_toolchain_config_rule_implementation(ctx): api_level = ctx.attr.api_level, target_system_name = ctx.attr.target_system_name, tools = { - "clang": "bin/clang" + ctx.attr.executable_extension, - "ar": "bin/llvm-ar" + ctx.attr.executable_extension, - "cpp": "bin/clang++" + ctx.attr.executable_extension, - "dwp": "bin/llvm-dwp" + ctx.attr.executable_extension, - "gcc": "bin/clang" + ctx.attr.executable_extension, - "gcov": "bin/gcov" + ctx.attr.executable_extension, - "ld": "bin/ld" + ctx.attr.executable_extension, - "nm": "bin/llvm-nm" + ctx.attr.executable_extension, - "objcopy": "bin/llvm-objcopy" + ctx.attr.executable_extension, - "objdump": "bin/llvm-objdump" + ctx.attr.executable_extension, - "strip": "bin/llvm-strip" + ctx.attr.executable_extension, + "clang": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/clang" + ctx.attr.executable_extension, + "ar": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-ar" + ctx.attr.executable_extension, + "cpp": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/clang++" + ctx.attr.executable_extension, + "dwp": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-dwp" + ctx.attr.executable_extension, + "gcc": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/clang" + ctx.attr.executable_extension, + "gcov": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/gcov" + ctx.attr.executable_extension, + "ld": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/ld" + ctx.attr.executable_extension, + "nm": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-nm" + ctx.attr.executable_extension, + "objcopy": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-objcopy" + ctx.attr.executable_extension, + "objdump": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-objdump" + ctx.attr.executable_extension, + "strip": ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/bin/llvm-strip" + ctx.attr.executable_extension, }, cxx_builtin_include_directories = [ - "sysroot/usr/include/c++/v1", - "sysroot/usr/local/include", - ctx.attr.clang_resource_directory, - "sysroot/usr/include/%s" % ctx.attr.target_system_name, - "sysroot/usr/include", + ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/sysroot/usr/include/c++/v1", + ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/sysroot/usr/local/include", + ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/" + ctx.attr.clang_resource_directory, + ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/sysroot/usr/include/%s" % ctx.attr.target_system_name, + ctx.attr.ndk_path + "/" + ctx.attr.clang_directory + "/sysroot/usr/include", ], toolchain_identifier = ctx.attr.toolchain_identifier, target_cpu = { @@ -1511,6 +1511,8 @@ ndk_cc_toolchain_config_rule = rule( ), "toolchain_identifier": attr.string(mandatory = True), "executable_extension": attr.string(default = ""), + "ndk_path": attr.string(default = ""), + "clang_directory": attr.string(default = ""), }, ) diff --git a/rules.bzl b/rules.bzl index 9f76a87..c8b3c88 100644 --- a/rules.bzl +++ b/rules.bzl @@ -88,6 +88,8 @@ def _android_ndk_repository_impl(ctx): "{clang_resource_directory}": clang_resource_directory, "{sysroot_directory}": sysroot_directory, "{executable_extension}": executable_extension, + "{ndk_path}": ndk_path, + "{clang_directory}": clang_directory, }, executable = False, )