blob: 053b0e4a30b0188bd1d5bfdc3675174c3cd54acc [file] [log] [blame]
Brian Silverman660d6092015-11-26 18:41:59 -05001package(default_visibility = ['//visibility:public'])
Brian Silverman12b3fc52015-10-11 19:38:33 -04002
3cc_library(
Brian Silverman63889f92015-11-27 01:33:56 -05004 name = 'empty_main',
5 srcs = [ 'empty_main.c' ],
6)
7
8cc_library(
Brian Silverman660d6092015-11-26 18:41:59 -05009 name = 'malloc',
Brian Silverman63889f92015-11-27 01:33:56 -050010 deps = select({
11 '//tools:has_asan': [],
12 '//tools:has_tsan': [],
13 '//conditions:default': ['//third_party/gperftools:tcmalloc'],
14 }),
Brian Silverman12b3fc52015-10-11 19:38:33 -040015)
16
17cc_library(
Brian Silverman660d6092015-11-26 18:41:59 -050018 name = 'stl',
Brian Silverman12b3fc52015-10-11 19:38:33 -040019)
20
21filegroup(
Brian Silverman660d6092015-11-26 18:41:59 -050022 name = 'empty',
23 srcs = [],
Brian Silverman12b3fc52015-10-11 19:38:33 -040024)
25
Brian Silvermanb200c172017-01-02 17:35:35 -080026# This is the entry point for --crosstool_top.
27cc_toolchain_suite(
Brian Silverman660d6092015-11-26 18:41:59 -050028 name = 'toolchain',
Brian Silvermanb200c172017-01-02 17:35:35 -080029 toolchains = {
30 'k8|clang': ':cc-compiler-k8',
31 'roborio|gcc': ':cc-compiler-roborio',
32 },
Brian Silvermanb466eef2015-11-28 20:33:44 -050033)
34
35# Compiler inputs given by --copt etc in //tools:bazel.rc.
36filegroup(
37 name = 'flags_compiler_inputs',
Brian Silverman0d57fc82016-01-24 21:02:53 -050038 srcs = select({
39 '//tools:has_asan': [
40 'asan-blacklist',
41 ],
42 '//tools:has_ubsan': [
43 'ubsan-blacklist',
44 ],
45 '//conditions:default': [],
46 }),
Brian Silverman12b3fc52015-10-11 19:38:33 -040047)
48
49cc_toolchain(
Brian Silverman660d6092015-11-26 18:41:59 -050050 name = 'cc-compiler-k8',
Brian Silvermanb466eef2015-11-28 20:33:44 -050051 all_files = ':flags_compiler_inputs',
52 compiler_files = ':flags_compiler_inputs',
Brian Silverman660d6092015-11-26 18:41:59 -050053 cpu = 'local',
54 dwp_files = ':empty',
55 dynamic_runtime_libs = [':empty'],
56 linker_files = ':empty',
57 objcopy_files = ':empty',
58 static_runtime_libs = [':empty'],
59 strip_files = ':empty',
60 supports_param_files = 1,
Brian Silverman12b3fc52015-10-11 19:38:33 -040061)
Austin Schuh23da18b2015-10-11 20:52:49 -070062
Austin Schuh55139fe2015-10-14 23:55:24 -070063filegroup(
64 name = 'roborio-compiler-files',
65 srcs = [
66 '//tools/cpp/arm-frc-linux-gnueabi:tool-wrappers',
Brian Silvermanb2215d02015-11-23 19:10:15 -050067 '//tools/cpp/arm-frc-linux-gnueabi:as',
Brian Silverman826e1cd2016-01-31 18:26:00 -050068 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Brian Silvermanb466eef2015-11-28 20:33:44 -050069 ':flags_compiler_inputs',
Austin Schuh55139fe2015-10-14 23:55:24 -070070 ],
71)
72
73filegroup(
74 name = 'roborio_linker_files',
75 srcs = [
76 '//tools/cpp/arm-frc-linux-gnueabi:ld',
77 '//tools/cpp/arm-frc-linux-gnueabi:ar',
Brian Silvermanb2215d02015-11-23 19:10:15 -050078 '//tools/cpp/arm-frc-linux-gnueabi:gcc',
Brian Silvermanb200c172017-01-02 17:35:35 -080079 '//tools/cpp/arm-frc-linux-gnueabi:libs',
Brian Silverman826e1cd2016-01-31 18:26:00 -050080 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Austin Schuh55139fe2015-10-14 23:55:24 -070081 ],
82)
83filegroup(
84 name = 'roborio_compiler_files',
85 srcs = [
86 '//tools/cpp/arm-frc-linux-gnueabi:gcc',
87 '//tools/cpp/arm-frc-linux-gnueabi:ld',
Brian Silvermanb200c172017-01-02 17:35:35 -080088 '@arm_frc_linux_gnueabi_repo//:compiler_components',
89 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Austin Schuh55139fe2015-10-14 23:55:24 -070090 ],
91)
92
Austin Schuh23da18b2015-10-11 20:52:49 -070093cc_toolchain(
Brian Silverman660d6092015-11-26 18:41:59 -050094 name = 'cc-compiler-roborio',
95 all_files = ':roborio-compiler-files',
96 compiler_files = ':roborio_compiler_files',
97 cpu = 'roborio',
98 dwp_files = ':empty',
99 dynamic_runtime_libs = [':empty'],
100 linker_files = ':roborio_linker_files',
101 objcopy_files = '//tools/cpp/arm-frc-linux-gnueabi:objcopy',
102 static_runtime_libs = [':empty'],
103 strip_files = '//tools/cpp/arm-frc-linux-gnueabi:strip',
104 supports_param_files = 1,
Austin Schuh23da18b2015-10-11 20:52:49 -0700105)
Brian Silverman0d57fc82016-01-24 21:02:53 -0500106
107filegroup(
108 name = 'linaro-gcc-files',
109 srcs = [
110 '//tools/cpp/linaro_linux_gcc:clang-symlinks',
111 '//tools/cpp/linaro_linux_gcc:tool-wrappers',
Austin Schuh61660832016-03-04 21:56:39 -0800112 '@linaro_linux_gcc_4_9_repo//:compiler_pieces',
Brian Silverman0d57fc82016-01-24 21:02:53 -0500113 ],
114)
115
116filegroup(
117 name = 'linaro_linux_linker_files',
118 srcs = [
119 '//tools/cpp/linaro_linux_gcc:gcc',
120 '//tools/cpp/linaro_linux_gcc:ld',
121 '//tools/cpp/linaro_linux_gcc:ar',
122 '//tools/cpp/linaro_linux_gcc:clang-ld',
123 '//tools/cpp/linaro_linux_gcc:clang',
Austin Schuh61660832016-03-04 21:56:39 -0800124 '@linaro_linux_gcc_4_9_repo//:compiler_pieces',
Brian Silverman0d57fc82016-01-24 21:02:53 -0500125 ],
126)
127
128filegroup(
129 name = 'linaro_linux_compiler_files',
130 srcs = [
131 '//tools/cpp/linaro_linux_gcc:gcc',
132 '//tools/cpp/linaro_linux_gcc:ld',
133 '//tools/cpp/linaro_linux_gcc:clang',
134 '//tools/cpp/linaro_linux_gcc:as',
135 ],
136)
137
138cc_toolchain(
139 name = 'cc-compiler-armhf-debian',
140 all_files = ':linaro-gcc-files',
141 compiler_files = ':linaro_linux_compiler_files',
142 cpu = 'armhf',
143 dwp_files = ':empty',
144 dynamic_runtime_libs = [':empty'],
145 linker_files = ':linaro_linux_linker_files',
146 objcopy_files = '//tools/cpp/linaro_linux_gcc:objcopy',
147 static_runtime_libs = [':empty'],
148 strip_files = '//tools/cpp/linaro_linux_gcc:strip',
149 supports_param_files = 1,
150)