blob: fc1880b5cb5ece902510b507911353b20f388de6 [file] [log] [blame]
Ulf Adams3fe87d72015-07-23 09:54:33 +00001# Description:
2# The Bazel launcher.
Ulf Adams5d737d62015-09-15 13:26:11 +00003package(
4 default_visibility = ["//visibility:public"],
5)
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01006
Yun Pengc7696b472017-05-30 12:39:13 +02007WIN_LINK_OPTS = [
Yun Peng86a9a502017-06-28 12:27:00 +02008 "-DEFAULTLIB:advapi32.lib", # GetUserNameW
9 "-DEFAULTLIB:ole32.lib", # CoTaskMemFree
10 "-DEFAULTLIB:shell32.lib", # SHGetKnownFolderPath
11 "-DEFAULTLIB:ws2_32.lib", # grpc
Yun Pengc7696b472017-05-30 12:39:13 +020012]
13
Ulf Adams2aad9d72015-09-08 08:43:40 +000014cc_library(
15 name = "blaze_util",
16 srcs = [
17 "blaze_util.cc",
Laszlo Csomor32086b22016-11-24 15:23:55 +000018 "global_variables.h",
19 "startup_options.h",
Ulf Adams2aad9d72015-09-08 08:43:40 +000020 ] + select({
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000021 "//src:darwin": [
22 "blaze_util_darwin.cc",
23 "blaze_util_posix.cc",
24 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000025 "//src:darwin_x86_64": [
26 "blaze_util_darwin.cc",
27 "blaze_util_posix.cc",
28 ],
Doug Rabson709bc612015-08-25 14:12:00 +000029 "//src:freebsd": [
30 "blaze_util_freebsd.cc",
31 "blaze_util_posix.cc",
32 ],
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000033 "//src:windows": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000034 "blaze_util_windows.cc",
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000035 ],
Yun Pengcb8a5e22017-03-08 14:30:49 +000036 "//src:windows_msys": [
37 "blaze_util_windows.cc",
38 ],
Laszlo Csomor8896dad2016-09-28 15:02:13 +000039 "//src:windows_msvc": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000040 "blaze_util_windows.cc",
Laszlo Csomor8896dad2016-09-28 15:02:13 +000041 ],
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000042 "//conditions:default": [
43 "blaze_util_linux.cc",
44 "blaze_util_posix.cc",
45 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010046 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000047 hdrs = [
48 "blaze_util.h",
49 "blaze_util_platform.h",
50 ],
Brian4e7ed502015-09-28 12:58:42 +000051 linkopts = select({
52 "//src:darwin": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000053 "-framework CoreFoundation",
Brian4e7ed502015-09-28 12:58:42 +000054 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000055 "//src:darwin_x86_64": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000056 "-framework CoreFoundation",
Chris Parsons5d96a282015-10-29 17:14:20 +000057 ],
Brian4e7ed502015-09-28 12:58:42 +000058 "//src:freebsd": [
59 ],
Yun Pengc7696b472017-05-30 12:39:13 +020060 "//src:windows": WIN_LINK_OPTS,
61 "//src:windows_msvc": WIN_LINK_OPTS,
Brian4e7ed502015-09-28 12:58:42 +000062 "//conditions:default": [
63 "-lrt",
64 ],
65 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000066 deps = [
67 "//src/main/cpp/util",
68 "//src/main/cpp/util:blaze_exit_code",
László Csomor72879212017-02-02 15:55:18 +000069 ] + select({
Laszlo Csomorf0702342017-06-28 16:05:23 +020070 "//src:windows": ["//src/main/native/windows:lib-file"],
71 "//src:windows_msys": ["//src/main/native/windows:lib-file"],
72 "//src:windows_msvc": ["//src/main/native/windows:lib-file"],
László Csomor72879212017-02-02 15:55:18 +000073 "//conditions:default": [],
74 }),
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010075)
76
77cc_binary(
78 name = "client",
79 srcs = [
80 "blaze.cc",
Julio Merino28774852016-09-14 16:59:46 +000081 "blaze.h",
Thiago Farina676cb9f2016-10-06 11:00:43 +000082 "global_variables.cc",
83 "global_variables.h",
Julio Merino28774852016-09-14 16:59:46 +000084 "main.cc",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010085 ],
Yun Peng86a9a502017-06-28 12:27:00 +020086 copts = select({
87 "//src:windows": ["/wd4018"],
88 "//src:windows_msvc": ["/wd4018"],
89 "//conditions:default": ["-Wno-sign-compare"],
90 }),
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010091 linkopts = select({
92 "//src:darwin": [
93 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000094 "//src:darwin_x86_64": [
95 ],
Doug Rabson709bc612015-08-25 14:12:00 +000096 "//src:freebsd": [
97 "-lprocstat",
Piotr Sikora47fc5b32016-10-19 09:45:47 +000098 "-lm",
Doug Rabson709bc612015-08-25 14:12:00 +000099 ],
Laszlo Csomor3b89d2d2016-11-28 14:04:27 +0000100 "//src:windows_msvc": [
101 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100102 "//conditions:default": [
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100103 "-lrt",
Lukacs Berkie21e5922016-04-12 12:22:20 +0000104 "-ldl",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100105 ],
106 }),
107 visibility = ["//src:__pkg__"],
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +0000108 deps = [
Ulf Adams2aad9d72015-09-08 08:43:40 +0000109 ":blaze_util",
lpino233b72d2017-07-05 11:08:40 -0400110 ":option_processor",
111 ":startup_options",
112 ":workspace_layout",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000113 "//src/main/cpp/util",
László Csomor6f1e31a2017-01-27 11:01:41 +0000114 "//src/main/cpp/util:errors",
Chloe Calvarin78f1c852016-11-22 21:58:50 +0000115 "//src/main/cpp/util:logging",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000116 "//src/main/cpp/util:strings",
Lukacs Berkie21e5922016-04-12 12:22:20 +0000117 "//src/main/protobuf:command_server_cc_proto",
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +0000118 "//third_party/ijar:zip",
119 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100120)
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000121
lpino233b72d2017-07-05 11:08:40 -0400122cc_library(
123 name = "option_processor",
124 srcs = ["option_processor.cc"],
125 hdrs = [
126 "option_processor.h",
127 "option_processor-internal.h",
128 ],
129 visibility = [
130 "//src:__pkg__",
131 "//src/test/cpp:__pkg__",
132 ],
133 deps = [
134 ":blaze_util",
135 ":startup_options",
136 ":workspace_layout",
137 "//src/main/cpp/util",
138 "//src/main/cpp/util:blaze_exit_code",
139 "//src/main/cpp/util:logging",
140 ],
141)
142
143cc_library(
144 name = "startup_options",
145 srcs = ["startup_options.cc"],
146 hdrs = ["startup_options.h"],
147 visibility = [
148 "//src:__pkg__",
149 "//src/test/cpp:__pkg__",
150 ],
151 deps = [
152 ":blaze_util",
153 ":workspace_layout",
154 "//src/main/cpp/util",
155 "//src/main/cpp/util:blaze_exit_code",
156 "//src/main/cpp/util:errors",
157 ],
158)
159
160cc_library(
161 name = "workspace_layout",
162 srcs = ["workspace_layout.cc"],
163 hdrs = ["workspace_layout.h"],
164 visibility = [
165 "//src:__pkg__",
166 "//src/test/cpp:__pkg__",
167 ],
168 deps = [
169 ":blaze_util",
170 "//src/main/cpp/util",
171 ],
172)
173
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000174filegroup(
175 name = "srcs",
176 srcs = glob(["**"]) + ["//src/main/cpp/util:srcs"],
177 visibility = ["//src:__pkg__"],
178)