github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/toolchains/clang6/repo.bzl (about) 1 """Repository rule for Debian 8 Jessie Clang-6.0 portable Linux builds.""" 2 3 def _clang6_configure(ctx): 4 # TODO(jart): It'd probably be better to use Bazel's struct.to_proto() 5 # method to generate a gigantic CROSSTOOL file that allows 6 # Clang to support everything. 7 ctx.symlink( 8 ctx.os.environ.get( 9 "TF_LLVM_PATH", 10 "/usr/lib/llvm-6.0", 11 ), 12 "clang6/llvm", 13 ) 14 ctx.symlink( 15 ctx.os.environ.get("STRIP", "/usr/bin/strip"), 16 "clang6/sbin/strip", 17 ) 18 ctx.symlink( 19 ctx.os.environ.get("OBJDUMP", "/usr/bin/objdump"), 20 "clang6/sbin/objdump", 21 ) 22 ctx.symlink(ctx.attr._build, "clang6/BUILD") 23 ctx.template("clang6/CROSSTOOL", ctx.attr._crosstool, { 24 "%package(@local_config_clang6//clang6)%": str(ctx.path("clang6")), 25 }) 26 27 clang6_configure = repository_rule( 28 implementation = _clang6_configure, 29 attrs = { 30 "_build": attr.label( 31 default = str(Label("//third_party/toolchains/clang6:clang.BUILD")), 32 ), 33 "_crosstool": attr.label( 34 default = str(Label("//third_party/toolchains/clang6:CROSSTOOL.tpl")), 35 ), 36 }, 37 )