blob: 9a6df3643e25f718b8960f86479dd78d867caed8 [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",
11 ] + select({
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000012 "//src:darwin": [
13 "blaze_util_darwin.cc",
14 "blaze_util_posix.cc",
15 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000016 "//src:darwin_x86_64": [
17 "blaze_util_darwin.cc",
18 "blaze_util_posix.cc",
19 ],
Doug Rabson709bc612015-08-25 14:12:00 +000020 "//src:freebsd": [
21 "blaze_util_freebsd.cc",
22 "blaze_util_posix.cc",
23 ],
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000024 "//src:windows": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000025 "blaze_util_windows.cc",
Dmitry Lomov197fd6a2015-12-06 21:53:16 +000026 ],
Laszlo Csomor8896dad2016-09-28 15:02:13 +000027 "//src:windows_msvc": [
Laszlo Csomora85f52d2016-11-08 13:43:23 +000028 "blaze_util_windows.cc",
Laszlo Csomor8896dad2016-09-28 15:02:13 +000029 ],
Dmitry Lomov78c0cc72015-08-11 16:44:21 +000030 "//conditions:default": [
31 "blaze_util_linux.cc",
32 "blaze_util_posix.cc",
33 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010034 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000035 hdrs = [
36 "blaze_util.h",
37 "blaze_util_platform.h",
38 ],
Brian4e7ed502015-09-28 12:58:42 +000039 linkopts = select({
40 "//src:darwin": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000041 "-framework CoreFoundation",
Brian4e7ed502015-09-28 12:58:42 +000042 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000043 "//src:darwin_x86_64": [
Dave MacLachlan75f367c2016-07-18 16:05:56 +000044 "-framework CoreFoundation",
Chris Parsons5d96a282015-10-29 17:14:20 +000045 ],
Brian4e7ed502015-09-28 12:58:42 +000046 "//src:freebsd": [
47 ],
48 "//conditions:default": [
49 "-lrt",
50 ],
51 }),
Ulf Adams2aad9d72015-09-08 08:43:40 +000052 deps = [
53 "//src/main/cpp/util",
54 "//src/main/cpp/util:blaze_exit_code",
Laszlo Csomorb9d77672016-11-09 10:08:19 +000055 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010056)
57
Nathan Harmatabf98f392016-01-07 22:58:29 +000058cc_library(
59 name = "blaze_abrupt_exit",
60 srcs = [
61 "blaze_abrupt_exit.cc",
62 ],
63 hdrs = [
64 "blaze_abrupt_exit.h",
65 ],
66 deps = [
67 "//src/main/cpp/util:blaze_exit_code",
68 ],
69)
70
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010071cc_binary(
72 name = "client",
73 srcs = [
74 "blaze.cc",
Julio Merino28774852016-09-14 16:59:46 +000075 "blaze.h",
Thiago Farina676cb9f2016-10-06 11:00:43 +000076 "global_variables.cc",
77 "global_variables.h",
Julio Merino28774852016-09-14 16:59:46 +000078 "main.cc",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010079 "option_processor.cc",
Philipp Wollermanna6a57872015-08-21 14:38:16 +000080 "option_processor.h",
Julio Merino28774852016-09-14 16:59:46 +000081 "startup_options.cc",
82 "startup_options.h",
Julio Merino211a95c2016-08-29 11:01:35 +000083 "workspace_layout.cc",
84 "workspace_layout.h",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010085 ],
86 copts = [
Thiago Farina463508b2015-05-13 13:06:23 +000087 "-Wno-sign-compare",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010088 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010089 linkopts = select({
90 "//src:darwin": [
91 ],
Chris Parsons5d96a282015-10-29 17:14:20 +000092 "//src:darwin_x86_64": [
93 ],
Doug Rabson709bc612015-08-25 14:12:00 +000094 "//src:freebsd": [
95 "-lprocstat",
Piotr Sikora47fc5b32016-10-19 09:45:47 +000096 "-lm",
Doug Rabson709bc612015-08-25 14:12:00 +000097 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010098 "//conditions:default": [
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010099 "-lrt",
Lukacs Berkie21e5922016-04-12 12:22:20 +0000100 "-ldl",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100101 ],
102 }),
103 visibility = ["//src:__pkg__"],
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +0000104 deps = [
Nathan Harmatabf98f392016-01-07 22:58:29 +0000105 ":blaze_abrupt_exit",
Ulf Adams2aad9d72015-09-08 08:43:40 +0000106 ":blaze_util",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000107 "//src/main/cpp/util",
Chloe Calvarin78f1c852016-11-22 21:58:50 +0000108 "//src/main/cpp/util:logging",
Ulf Adams3fe87d72015-07-23 09:54:33 +0000109 "//src/main/cpp/util:strings",
Lukacs Berkie21e5922016-04-12 12:22:20 +0000110 "//src/main/protobuf:command_server_cc_proto",
Damien Martin-Guillerezeb6e9032015-06-01 14:45:21 +0000111 "//third_party/ijar:zip",
112 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100113)
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000114
115filegroup(
116 name = "srcs",
117 srcs = glob(["**"]) + ["//src/main/cpp/util:srcs"],
118 visibility = ["//src:__pkg__"],
119)