blob: d488f2abf7f242c10651401f04587ea749a1ff63 [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
Ulf Adams2aad9d72015-09-08 08:43:40 +00007cc_library(
8 name = "blaze_util",
9 srcs = [
10 "blaze_util.cc",
Laszlo Csomor32086b22016-11-24 15:23:55 +000011 "global_variables.h",
12 "startup_options.h",
Ulf Adams2aad9d72015-09-08 08:43:40 +000013 ] + select({
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000014 "//src:darwin": [
15 "blaze_util_darwin.cc",
16 "blaze_util_posix.cc",
17 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000018 "//src:darwin_x86_64": [
19 "blaze_util_darwin.cc",
20 "blaze_util_posix.cc",
21 ],
Doug Rabson709bc612015-08-25 14:12:00 +000022 "//src:freebsd": [
23 "blaze_util_freebsd.cc",
24 "blaze_util_posix.cc",
25 ],
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000026 "//src:windows": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000027 "blaze_util_windows.cc",
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000028 ],
Laszlo Csomor8896dad2016-09-28 15:02:13 +000029 "//src:windows_msvc": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000030 "blaze_util_windows.cc",
Laszlo Csomor8896dad2016-09-28 15:02:13 +000031 ],
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000032 "//conditions:default": [
33 "blaze_util_linux.cc",
34 "blaze_util_posix.cc",
35 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010036 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000037 hdrs = [
38 "blaze_util.h",
39 "blaze_util_platform.h",
40 ],
Brian4e7ed502015-09-28 12:58:42 +000041 linkopts = select({
42 "//src:darwin": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000043 "-framework CoreFoundation",
Brian4e7ed502015-09-28 12:58:42 +000044 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000045 "//src:darwin_x86_64": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000046 "-framework CoreFoundation",
Chris Parsons5d96a282015-10-29 17:14:20 +000047 ],
Brian4e7ed502015-09-28 12:58:42 +000048 "//src:freebsd": [
49 ],
Laszlo Csomor3b89d2d2016-11-28 14:04:27 +000050 "//src:windows_msvc": [
Laszlo Csomor41ee5912016-12-15 12:26:06 +000051 "-Wl,advapi32.lib", # GetUserNameW
52 "-Wl,ws2_32.lib", # grpc
Laszlo Csomor3b89d2d2016-11-28 14:04:27 +000053 ],
Brian4e7ed502015-09-28 12:58:42 +000054 "//conditions:default": [
55 "-lrt",
56 ],
57 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000058 deps = [
59 "//src/main/cpp/util",
60 "//src/main/cpp/util:blaze_exit_code",
Laszlo Csomorb9d77672016-11-09 10:08:19 +000061 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010062)
63
64cc_binary(
65 name = "client",
66 srcs = [
67 "blaze.cc",
Julio Merino28774852016-09-14 16:59:46 +000068 "blaze.h",
Thiago Farina676cb9f2016-10-06 11:00:43 +000069 "global_variables.cc",
70 "global_variables.h",
Julio Merino28774852016-09-14 16:59:46 +000071 "main.cc",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010072 "option_processor.cc",
Philipp Wollermanna6a57872015-08-21 14:38:16 +000073 "option_processor.h",
Julio Merino28774852016-09-14 16:59:46 +000074 "startup_options.cc",
75 "startup_options.h",
Julio Merino211a95c2016-08-29 11:01:35 +000076 "workspace_layout.cc",
77 "workspace_layout.h",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010078 ],
79 copts = [
Thiago Farina463508b2015-05-13 13:06:23 +000080 "-Wno-sign-compare",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010081 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010082 linkopts = select({
83 "//src:darwin": [
84 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000085 "//src:darwin_x86_64": [
86 ],
Doug Rabson709bc612015-08-25 14:12:00 +000087 "//src:freebsd": [
88 "-lprocstat",
Piotr Sikora47fc5b32016-10-19 09:45:47 +000089 "-lm",
Doug Rabson709bc612015-08-25 14:12:00 +000090 ],
Laszlo Csomor3b89d2d2016-11-28 14:04:27 +000091 "//src:windows_msvc": [
92 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010093 "//conditions:default": [
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010094 "-lrt",
Lukacs Berkie21e5922016-04-12 12:22:20 +000095 "-ldl",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010096 ],
97 }),
98 visibility = ["//src:__pkg__"],
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +000099 deps = [
Ulf Adams2aad9d72015-09-08 08:43:40 +0000100 ":blaze_util",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000101 "//src/main/cpp/util",
László Csomor6f1e31a2017-01-27 11:01:41 +0000102 "//src/main/cpp/util:errors",
Chloe Calvarin78f1c852016-11-22 21:58:50 +0000103 "//src/main/cpp/util:logging",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000104 "//src/main/cpp/util:strings",
Lukacs Berkie21e5922016-04-12 12:22:20 +0000105 "//src/main/protobuf:command_server_cc_proto",
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +0000106 "//third_party/ijar:zip",
107 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100108)
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000109
110filegroup(
111 name = "srcs",
112 srcs = glob(["**"]) + ["//src/main/cpp/util:srcs"],
113 visibility = ["//src:__pkg__"],
114)