blob: a7495d9e4c7ac3893239da09737564c5d009cb95 [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',
Brian Silvermane5e2a252017-02-19 17:48:55 -080032 'armhf-debian|clang': 'cc-compiler-armhf-debian',
Brian Silvermanb200c172017-01-02 17:35:35 -080033 },
Brian Silvermanb466eef2015-11-28 20:33:44 -050034)
35
36# Compiler inputs given by --copt etc in //tools:bazel.rc.
37filegroup(
38 name = 'flags_compiler_inputs',
Brian Silverman0d57fc82016-01-24 21:02:53 -050039 srcs = select({
40 '//tools:has_asan': [
41 'asan-blacklist',
42 ],
43 '//tools:has_ubsan': [
44 'ubsan-blacklist',
45 ],
46 '//conditions:default': [],
47 }),
Brian Silverman12b3fc52015-10-11 19:38:33 -040048)
49
50cc_toolchain(
Brian Silverman660d6092015-11-26 18:41:59 -050051 name = 'cc-compiler-k8',
Brian Silvermanb466eef2015-11-28 20:33:44 -050052 all_files = ':flags_compiler_inputs',
53 compiler_files = ':flags_compiler_inputs',
Brian Silverman660d6092015-11-26 18:41:59 -050054 cpu = 'local',
55 dwp_files = ':empty',
56 dynamic_runtime_libs = [':empty'],
57 linker_files = ':empty',
58 objcopy_files = ':empty',
59 static_runtime_libs = [':empty'],
60 strip_files = ':empty',
61 supports_param_files = 1,
Brian Silverman12b3fc52015-10-11 19:38:33 -040062)
Austin Schuh23da18b2015-10-11 20:52:49 -070063
Austin Schuh55139fe2015-10-14 23:55:24 -070064filegroup(
65 name = 'roborio-compiler-files',
66 srcs = [
67 '//tools/cpp/arm-frc-linux-gnueabi:tool-wrappers',
Brian Silvermanb2215d02015-11-23 19:10:15 -050068 '//tools/cpp/arm-frc-linux-gnueabi:as',
Brian Silverman826e1cd2016-01-31 18:26:00 -050069 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Brian Silvermanb466eef2015-11-28 20:33:44 -050070 ':flags_compiler_inputs',
Austin Schuh55139fe2015-10-14 23:55:24 -070071 ],
72)
73
74filegroup(
75 name = 'roborio_linker_files',
76 srcs = [
77 '//tools/cpp/arm-frc-linux-gnueabi:ld',
78 '//tools/cpp/arm-frc-linux-gnueabi:ar',
Brian Silvermanb2215d02015-11-23 19:10:15 -050079 '//tools/cpp/arm-frc-linux-gnueabi:gcc',
Brian Silvermanb200c172017-01-02 17:35:35 -080080 '//tools/cpp/arm-frc-linux-gnueabi:libs',
Brian Silverman826e1cd2016-01-31 18:26:00 -050081 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Austin Schuh55139fe2015-10-14 23:55:24 -070082 ],
83)
84filegroup(
85 name = 'roborio_compiler_files',
86 srcs = [
87 '//tools/cpp/arm-frc-linux-gnueabi:gcc',
88 '//tools/cpp/arm-frc-linux-gnueabi:ld',
Brian Silvermanb200c172017-01-02 17:35:35 -080089 '@arm_frc_linux_gnueabi_repo//:compiler_components',
90 '@arm_frc_linux_gnueabi_repo//:compiler_pieces',
Austin Schuh55139fe2015-10-14 23:55:24 -070091 ],
92)
93
Austin Schuh23da18b2015-10-11 20:52:49 -070094cc_toolchain(
Brian Silverman660d6092015-11-26 18:41:59 -050095 name = 'cc-compiler-roborio',
96 all_files = ':roborio-compiler-files',
97 compiler_files = ':roborio_compiler_files',
98 cpu = 'roborio',
99 dwp_files = ':empty',
100 dynamic_runtime_libs = [':empty'],
101 linker_files = ':roborio_linker_files',
102 objcopy_files = '//tools/cpp/arm-frc-linux-gnueabi:objcopy',
103 static_runtime_libs = [':empty'],
104 strip_files = '//tools/cpp/arm-frc-linux-gnueabi:strip',
105 supports_param_files = 1,
Austin Schuh23da18b2015-10-11 20:52:49 -0700106)
Brian Silverman0d57fc82016-01-24 21:02:53 -0500107
108filegroup(
109 name = 'linaro-gcc-files',
110 srcs = [
111 '//tools/cpp/linaro_linux_gcc:clang-symlinks',
112 '//tools/cpp/linaro_linux_gcc:tool-wrappers',
Austin Schuh61660832016-03-04 21:56:39 -0800113 '@linaro_linux_gcc_4_9_repo//:compiler_pieces',
Brian Silverman0d57fc82016-01-24 21:02:53 -0500114 ],
115)
116
117filegroup(
118 name = 'linaro_linux_linker_files',
119 srcs = [
120 '//tools/cpp/linaro_linux_gcc:gcc',
121 '//tools/cpp/linaro_linux_gcc:ld',
122 '//tools/cpp/linaro_linux_gcc:ar',
123 '//tools/cpp/linaro_linux_gcc:clang-ld',
124 '//tools/cpp/linaro_linux_gcc:clang',
Austin Schuh61660832016-03-04 21:56:39 -0800125 '@linaro_linux_gcc_4_9_repo//:compiler_pieces',
Brian Silvermane5e2a252017-02-19 17:48:55 -0800126 '//tools/cpp/linaro_linux_gcc:clang-symlinks',
Brian Silverman0d57fc82016-01-24 21:02:53 -0500127 ],
128)
129
130filegroup(
131 name = 'linaro_linux_compiler_files',
132 srcs = [
133 '//tools/cpp/linaro_linux_gcc:gcc',
134 '//tools/cpp/linaro_linux_gcc:ld',
135 '//tools/cpp/linaro_linux_gcc:clang',
136 '//tools/cpp/linaro_linux_gcc:as',
137 ],
138)
139
140cc_toolchain(
141 name = 'cc-compiler-armhf-debian',
142 all_files = ':linaro-gcc-files',
143 compiler_files = ':linaro_linux_compiler_files',
144 cpu = 'armhf',
145 dwp_files = ':empty',
146 dynamic_runtime_libs = [':empty'],
147 linker_files = ':linaro_linux_linker_files',
148 objcopy_files = '//tools/cpp/linaro_linux_gcc:objcopy',
149 static_runtime_libs = [':empty'],
150 strip_files = '//tools/cpp/linaro_linux_gcc:strip',
151 supports_param_files = 1,
152)