aboutsummaryrefslogtreecommitdiff
path: root/buildconf/common.ninja
diff options
context:
space:
mode:
Diffstat (limited to 'buildconf/common.ninja')
-rw-r--r--buildconf/common.ninja389
1 files changed, 389 insertions, 0 deletions
diff --git a/buildconf/common.ninja b/buildconf/common.ninja
new file mode 100644
index 0000000..d31a1b4
--- /dev/null
+++ b/buildconf/common.ninja
@@ -0,0 +1,389 @@
+# Copyright 2021 Google LLC
+# Copyright 2021 Benjamin Barenblat
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+ninja_required_version = 1.3
+
+absl = third_party/abseil/absl
+
+antlrflags = -no-listener -visitor -package ec
+
+common_cxxflags = -I. -isystem third_party/abseil -I/usr/include/antlr4-runtime -isystem /usr/include/antlr4-runtime -DGTEST_HAS_PTHREAD=1 -pipe -pthread
+
+cxxflags = $common_cxxflags -std=c++17 -Wall -Wextra -Wno-logical-op-parentheses -Wno-sign-compare -fdiagnostics-show-template-tree $cxxflags
+third_party_cxxflags = $common_cxxflags -std=c++17 -fdiagnostics-show-template-tree $third_party_cxxflags
+
+third_party_cxxflags = $common_cxxflags $third_party_cxxflags
+
+rule antlr
+ command = antlr4 $antlrflags $in
+ description = Generating parser from $in
+
+rule antlrdep
+ command = gen/antlr4_dyndep $antlrflags $in >$out
+ description = Computing outputs from $in
+
+rule ar
+ command = rm -f $out && ar -rcs $out $in
+ description = Generating $out
+
+rule cxx
+ command = g++ -MD -MT $out -MF $out.d -c $in -o $out $cxxflags
+ description = Compiling $out
+ depfile = $out.d
+ deps = gcc
+
+rule link
+ command = g++ $ldflags -o $out $in $libs -pthread
+ description = Linking $out
+
+build | src/CalculatorBaseVisitor.cpp src/CalculatorBaseVisitor.h src/Calculator.interp src/CalculatorLexer.cpp src/CalculatorLexer.h src/CalculatorLexer.interp src/CalculatorLexer.tokens src/CalculatorParser.cpp src/CalculatorParser.h src/Calculator.tokens src/CalculatorVisitor.cpp src/CalculatorVisitor.h: antlr src/Calculator.g4
+
+build src/CalculatorBaseVisitor.o: cxx src/CalculatorBaseVisitor.cpp
+ cxxflags = $third_party_cxxflags
+build src/CalculatorLexer.o: cxx src/CalculatorLexer.cpp
+ cxxflags = $third_party_cxxflags
+build src/CalculatorParser.o: cxx src/CalculatorParser.cpp
+ cxxflags = $third_party_cxxflags
+build src/CalculatorVisitor.o: cxx src/CalculatorVisitor.cpp
+ cxxflags = $third_party_cxxflags
+build src/builtin.o: cxx src/builtin.cc
+build src/language.o: cxx src/language.cc
+build src/main.o: cxx src/main.cc
+build src/parser_driver.o: cxx src/parser_driver.cc || src/CalculatorBaseVisitor.h src/CalculatorLexer.h src/CalculatorParser.h
+build src/ui/stream.o: cxx src/ui/stream.cc
+build src/ui/terminal.o: cxx src/ui/terminal.cc
+build src/ui/terminal/line.o: cxx src/ui/terminal/line.cc
+build src/util.o: cxx src/util.cc
+
+build src/builtin_test.o: cxx src/builtin_test.cc
+build src/builtin_test: link $
+ src/builtin.o src/builtin_test.o src/language.o $
+ $absl/strings/cord.a $absl/strings/cordz_info.a $absl/strings/cord_internal.a $absl/strings/cordz_functions.a $absl/strings/cordz_handle.a $absl/hash/hash.a $absl/hash/city.a $absl/types/bad_variant_access.a $absl/hash/low_level_hash.a $absl/container/raw_hash_set.a $absl/types/bad_optional_access.a $absl/container/hashtablez_sampler.a $absl/profiling/exponential_biased.a $absl/synchronization/synchronization.a $absl/synchronization/graphcycles_internal.a $absl/debugging/stacktrace.a $absl/debugging/symbolize.a $absl/debugging/debugging_internal.a $absl/debugging/demangle_internal.a $absl/base/malloc_internal.a third_party/abseil/time/time.a $absl/time/civil_time.a $absl/strings/strings.a $absl/strings/internal.a $absl/base/base.a $absl/base/spinlock_wait.a $absl/numeric/int128.a $absl/time/time_zone.a $absl/base/throw_delegate.a $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lgmock_main -lgmock -lgtest -lm -lrt
+
+build src/language_test.o: cxx src/language_test.cc
+build src/language_test: link $
+ src/builtin.o src/language.o src/language_test.o $
+ $absl/strings/cord.a $absl/strings/cordz_info.a $absl/strings/cord_internal.a $absl/strings/cordz_functions.a $absl/strings/cordz_handle.a $absl/hash/hash.a $absl/hash/city.a $absl/types/bad_variant_access.a $absl/hash/low_level_hash.a $absl/container/raw_hash_set.a $absl/types/bad_optional_access.a $absl/container/hashtablez_sampler.a $absl/profiling/exponential_biased.a $absl/synchronization/synchronization.a $absl/synchronization/graphcycles_internal.a $absl/debugging/stacktrace.a $absl/debugging/symbolize.a $absl/debugging/debugging_internal.a $absl/debugging/demangle_internal.a $absl/base/malloc_internal.a third_party/abseil/time/time.a $absl/time/civil_time.a $absl/strings/strings.a $absl/strings/internal.a $absl/base/base.a $absl/base/spinlock_wait.a $absl/numeric/int128.a $absl/time/time_zone.a $absl/base/throw_delegate.a $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lgmock_main -lgmock -lgtest -lrt
+
+build src/parser_driver_test.o: cxx src/parser_driver_test.cc
+build src/parser_driver_test: link $
+ src/builtin.o src/CalculatorBaseVisitor.o src/CalculatorLexer.o src/CalculatorParser.o src/CalculatorVisitor.o src/language.o src/parser_driver.o src/parser_driver_test.o $
+ $absl/strings/cord.a $absl/strings/cordz_info.a $absl/strings/cord_internal.a $absl/strings/cordz_functions.a $absl/strings/cordz_handle.a $absl/hash/hash.a $absl/hash/city.a $absl/types/bad_variant_access.a $absl/hash/low_level_hash.a $absl/container/raw_hash_set.a $absl/types/bad_optional_access.a $absl/container/hashtablez_sampler.a $absl/profiling/exponential_biased.a $absl/synchronization/synchronization.a $absl/synchronization/graphcycles_internal.a $absl/debugging/stacktrace.a $absl/debugging/symbolize.a $absl/debugging/debugging_internal.a $absl/debugging/demangle_internal.a $absl/base/malloc_internal.a third_party/abseil/time/time.a $absl/time/civil_time.a $absl/strings/strings.a $absl/strings/internal.a $absl/base/base.a $absl/base/spinlock_wait.a $absl/numeric/int128.a $absl/time/time_zone.a $absl/base/throw_delegate.a $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lgmock_main -lgmock -lgtest -lantlr4-runtime -lrt
+
+build ec: link $
+ src/CalculatorBaseVisitor.o src/CalculatorLexer.o src/CalculatorParser.o src/CalculatorVisitor.o src/builtin.o src/language.o src/main.o src/parser_driver.o src/util.o src/ui/stream.o src/ui/terminal.o src/ui/terminal/line.o $
+ $absl/strings/cord.a $absl/strings/cordz_info.a $absl/strings/cord_internal.a $absl/strings/cordz_functions.a $absl/strings/cordz_handle.a $absl/hash/hash.a $absl/hash/city.a $absl/types/bad_variant_access.a $absl/hash/low_level_hash.a $absl/container/raw_hash_set.a $absl/types/bad_optional_access.a $absl/container/hashtablez_sampler.a $absl/profiling/exponential_biased.a $absl/synchronization/synchronization.a $absl/synchronization/graphcycles_internal.a $absl/debugging/stacktrace.a $absl/debugging/symbolize.a $absl/debugging/debugging_internal.a $absl/debugging/demangle_internal.a $absl/base/malloc_internal.a third_party/abseil/time/time.a $absl/time/civil_time.a $absl/strings/strings.a $absl/strings/internal.a $absl/base/base.a $absl/base/spinlock_wait.a $absl/numeric/int128.a $absl/time/time_zone.a $absl/base/throw_delegate.a $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lantlr4-runtime -lm -lrt
+
+# //absl/base
+build $absl/base/base.a: ar $
+ $absl/base/internal/cycleclock.o $
+ $absl/base/internal/spinlock.o $
+ $absl/base/internal/sysinfo.o $
+ $absl/base/internal/thread_identity.o $
+ $absl/base/internal/unscaledcycleclock.o
+build $absl/base/internal/cycleclock.o: cxx $absl/base/internal/cycleclock.cc
+ cxxflags = $third_party_cxxflags
+build $absl/base/internal/spinlock.o: cxx $absl/base/internal/spinlock.cc
+ cxxflags = $third_party_cxxflags
+build $absl/base/internal/sysinfo.o: cxx $absl/base/internal/sysinfo.cc
+ cxxflags = $third_party_cxxflags
+build $absl/base/internal/thread_identity.o: cxx $absl/base/internal/thread_identity.cc
+ cxxflags = $third_party_cxxflags
+build $absl/base/internal/unscaledcycleclock.o: cxx $absl/base/internal/unscaledcycleclock.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/base:log_severity
+build $absl/base/log_severity.a: ar $absl/base/log_severity.o
+build $absl/base/log_severity.o: cxx $absl/base/log_severity.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/base:malloc_internal
+build $absl/base/malloc_internal.a: ar $absl/base/internal/low_level_alloc.o
+build $absl/base/internal/low_level_alloc.o: cxx $absl/base/internal/low_level_alloc.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/base:raw_logging_internal
+build $absl/base/raw_logging_internal.a: ar $absl/base/internal/raw_logging.o
+build $absl/base/internal/raw_logging.o: cxx $absl/base/internal/raw_logging.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/base:spinlock_wait
+build $absl/base/spinlock_wait.a: ar $absl/base/internal/spinlock_wait.o
+build $absl/base/internal/spinlock_wait.o: cxx $absl/base/internal/spinlock_wait.cc | $absl/base/internal/spinlock_linux.inc
+ cxxflags = $third_party_cxxflags
+
+# //absl/base:throw_delegate
+build $absl/base/throw_delegate.a: ar $absl/base/internal/throw_delegate.o
+build $absl/base/internal/throw_delegate.o: cxx $absl/base/internal/throw_delegate.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/container:hashtablez_sampler
+build $absl/container/hashtablez_sampler.a: ar $
+ $absl/container/internal/hashtablez_sampler.o $
+ $absl/container/internal/hashtablez_sampler_force_weak_definition.o
+build $absl/container/internal/hashtablez_sampler.o: cxx $absl/container/internal/hashtablez_sampler.cc
+ cxxflags = $third_party_cxxflags
+build $absl/container/internal/hashtablez_sampler_force_weak_definition.o: cxx $absl/container/internal/hashtablez_sampler_force_weak_definition.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/container:raw_hash_set
+build $absl/container/raw_hash_set.a: ar $absl/container/internal/raw_hash_set.o
+build $absl/container/internal/raw_hash_set.o: cxx $absl/container/internal/raw_hash_set.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/debugging:debugging_internal
+build $absl/debugging/debugging_internal.a: ar $
+ $absl/debugging/internal/address_is_readable.o $
+ $absl/debugging/internal/elf_mem_image.o $
+ $absl/debugging/internal/vdso_support.o
+build $absl/debugging/internal/address_is_readable.o: cxx $absl/debugging/internal/address_is_readable.cc
+ cxxflags = $third_party_cxxflags
+build $absl/debugging/internal/elf_mem_image.o: cxx $absl/debugging/internal/elf_mem_image.cc
+ cxxflags = $third_party_cxxflags
+build $absl/debugging/internal/vdso_support.o: cxx $absl/debugging/internal/vdso_support.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl:debugging:demangle_internal
+build $absl/debugging/demangle_internal.a: ar $absl/debugging/internal/demangle.o
+build $absl/debugging/internal/demangle.o: cxx $absl/debugging/internal/demangle.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/debugging:stacktrace
+build $absl/debugging/stacktrace.a: ar $absl/debugging/stacktrace.o
+build $absl/debugging/stacktrace.o: cxx $absl/debugging/stacktrace.cc | $absl/debugging/internal/stacktrace_config.h $absl/debugging/internal/stacktrace_x86-inl.inc
+ cxxflags = $third_party_cxxflags
+
+# //absl/debugging:symbolize
+build $absl/debugging/symbolize.a: ar $absl/debugging/symbolize.o
+build $absl/debugging/symbolize.o: cxx $absl/debugging/symbolize.cc | $absl/debugging/symbolize_elf.inc
+ cxxflags = $third_party_cxxflags
+
+# //absl/hash
+build $absl/hash/hash.a: ar $absl/hash/internal/hash.o
+build $absl/hash/internal/hash.o: cxx $absl/hash/internal/hash.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/hash:city
+build $absl/hash/city.a: ar $absl/hash/internal/city.o
+build $absl/hash/internal/city.o: cxx $absl/hash/internal/city.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/hash:low_level_hash
+build $absl/hash/low_level_hash.a: ar $absl/hash/internal/low_level_hash.o
+build $absl/hash/internal/low_level_hash.o: cxx $absl/hash/internal/low_level_hash.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/numeric:int128
+build $absl/numeric/int128.a: ar $absl/numeric/int128.o
+build $absl/numeric/int128.o: cxx $absl/numeric/int128.cc | $absl/numeric/int128_have_intrinsic.inc $absl/numeric/int128_no_intrinsic.inc
+ cxxflags = $third_party_cxxflags
+
+# //absl/profiling:exponential_biased
+build $absl/profiling/exponential_biased.a: ar $absl/profiling/internal/exponential_biased.o
+build $absl/profiling/internal/exponential_biased.o: cxx $absl/profiling/internal/exponential_biased.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings
+build $absl/strings/strings.a: ar $
+ $absl/strings/ascii.o $
+ $absl/strings/charconv.o $
+ $absl/strings/escaping.o $
+ $absl/strings/internal/charconv_bigint.o $
+ $absl/strings/internal/charconv_parse.o $
+ $absl/strings/internal/memutil.o $
+ $absl/strings/match.o $
+ $absl/strings/numbers.o $
+ $absl/strings/str_cat.o $
+ $absl/strings/str_replace.o $
+ $absl/strings/str_split.o $
+ $absl/strings/string_view.o $
+ $absl/strings/substitute.o
+build $absl/strings/ascii.o: cxx $absl/strings/ascii.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/charconv.o: cxx $absl/strings/charconv.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/escaping.o: cxx $absl/strings/escaping.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/charconv_bigint.o: cxx $absl/strings/internal/charconv_bigint.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/charconv_parse.o: cxx $absl/strings/internal/charconv_parse.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/memutil.o: cxx $absl/strings/internal/memutil.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/match.o: cxx $absl/strings/match.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/numbers.o: cxx $absl/strings/numbers.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/str_cat.o: cxx $absl/strings/str_cat.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/str_replace.o: cxx $absl/strings/str_replace.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/str_split.o: cxx $absl/strings/str_split.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/string_view.o: cxx $absl/strings/string_view.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/substitute.o: cxx $absl/strings/substitute.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:cord
+build $absl/strings/cord.a: ar $absl/strings/cord.o
+build $absl/strings/cord.o: cxx $absl/strings/cord.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:cord_internal
+build $absl/strings/cord_internal.a: ar $
+ $absl/strings/internal/cord_internal.o $
+ $absl/strings/internal/cord_rep_btree.o $
+ $absl/strings/internal/cord_rep_btree_navigator.o $
+ $absl/strings/internal/cord_rep_btree_reader.o $
+ $absl/strings/internal/cord_rep_consume.o $
+ $absl/strings/internal/cord_rep_ring.o
+build $absl/strings/internal/cord_internal.o: cxx $absl/strings/internal/cord_internal.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/cord_rep_btree.o: cxx $absl/strings/internal/cord_rep_btree.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/cord_rep_btree_navigator.o: cxx $absl/strings/internal/cord_rep_btree_navigator.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/cord_rep_btree_reader.o: cxx $absl/strings/internal/cord_rep_btree_reader.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/cord_rep_consume.o: cxx $absl/strings/internal/cord_rep_consume.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/cord_rep_ring.o: cxx $absl/strings/internal/cord_rep_ring.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:cordz_functions
+build $absl/strings/cordz_functions.a: ar $absl/strings/internal/cordz_functions.o
+build $absl/strings/internal/cordz_functions.o: cxx $absl/strings/internal/cordz_functions.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:cordz_handle
+build $absl/strings/cordz_handle.a: ar $absl/strings/internal/cordz_handle.o
+build $absl/strings/internal/cordz_handle.o: cxx $absl/strings/internal/cordz_handle.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:cordz_info
+build $absl/strings/cordz_info.a: ar $absl/strings/internal/cordz_info.o
+build $absl/strings/internal/cordz_info.o: cxx $absl/strings/internal/cordz_info.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/strings:internal
+build $absl/strings/internal.a: ar $
+ $absl/strings/internal/escaping.o $
+ $absl/strings/internal/ostringstream.o $
+ $absl/strings/internal/utf8.o
+build $absl/strings/internal/escaping.o: cxx $absl/strings/internal/escaping.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/ostringstream.o: cxx $absl/strings/internal/ostringstream.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/utf8.o: cxx $absl/strings/internal/utf8.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/synchronization
+build $absl/synchronization/synchronization.a: ar $
+ $absl/synchronization/barrier.o $
+ $absl/synchronization/blocking_counter.o $
+ $absl/synchronization/internal/create_thread_identity.o $
+ $absl/synchronization/internal/per_thread_sem.o $
+ $absl/synchronization/internal/waiter.o $
+ $absl/synchronization/notification.o $
+ $absl/synchronization/mutex.o
+build $absl/synchronization/barrier.o: cxx $absl/synchronization/barrier.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/blocking_counter.o: cxx $absl/synchronization/blocking_counter.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/internal/create_thread_identity.o: cxx $absl/synchronization/internal/create_thread_identity.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/internal/per_thread_sem.o: cxx $absl/synchronization/internal/per_thread_sem.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/internal/waiter.o: cxx $absl/synchronization/internal/waiter.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/notification.o: cxx $absl/synchronization/notification.cc
+ cxxflags = $third_party_cxxflags
+build $absl/synchronization/mutex.o: cxx $absl/synchronization/mutex.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/synchronization:graphcycles_internal
+build $absl/synchronization/graphcycles_internal.a: ar $absl/synchronization/internal/graphcycles.o
+build $absl/synchronization/internal/graphcycles.o: cxx $absl/synchronization/internal/graphcycles.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/time
+build third_party/abseil/time/time.a: ar $
+ $absl/time/civil_time.o $
+ $absl/time/clock.o $
+ $absl/time/duration.o $
+ $absl/time/format.o $
+ $absl/time/absl/time.o
+build $absl/time/civil_time.o: cxx $absl/time/civil_time.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/clock.o: cxx $absl/time/clock.cc | $absl/time/internal/get_current_time_posix.inc
+ cxxflags = $third_party_cxxflags
+build $absl/time/duration.o: cxx $absl/time/duration.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/format.o: cxx $absl/time/format.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/absl/time.o: cxx $absl/time/time.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/time:civil_time
+build $absl/time/civil_time.a: ar $absl/time/internal/cctz/src/civil_time_detail.o
+build $absl/time/internal/cctz/src/civil_time_detail.o: cxx $absl/time/internal/cctz/src/civil_time_detail.cc
+ cxxflags = $third_party_cxxflags
+
+# //absl/time:time_zone
+build $absl/time/time_zone.a: ar $
+ $absl/time/internal/cctz/src/time_zone_fixed.o $
+ $absl/time/internal/cctz/src/time_zone_format.o $
+ $absl/time/internal/cctz/src/time_zone_if.o $
+ $absl/time/internal/cctz/src/time_zone_impl.o $
+ $absl/time/internal/cctz/src/time_zone_info.o $
+ $absl/time/internal/cctz/src/time_zone_libc.o $
+ $absl/time/internal/cctz/src/time_zone_lookup.o $
+ $absl/time/internal/cctz/src/time_zone_posix.o $
+ $absl/time/internal/cctz/src/zone_info_source.o
+build $absl/time/internal/cctz/src/time_zone_fixed.o: cxx $absl/time/internal/cctz/src/time_zone_fixed.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_format.o: cxx $absl/time/internal/cctz/src/time_zone_format.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_if.o: cxx $absl/time/internal/cctz/src/time_zone_if.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_impl.o: cxx $absl/time/internal/cctz/src/time_zone_impl.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_info.o: cxx $absl/time/internal/cctz/src/time_zone_info.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_libc.o: cxx $absl/time/internal/cctz/src/time_zone_libc.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_lookup.o: cxx $absl/time/internal/cctz/src/time_zone_lookup.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/time_zone_posix.o: cxx $absl/time/internal/cctz/src/time_zone_posix.cc
+ cxxflags = $third_party_cxxflags
+build $absl/time/internal/cctz/src/zone_info_source.o: cxx $absl/time/internal/cctz/src/zone_info_source.cc
+ cxxflags = $third_party_cxxflags
+
+# // absl/types:bad_optional_access
+build $absl/types/bad_optional_access.a: ar $absl/types/bad_optional_access.o
+build $absl/types/bad_optional_access.o: cxx $absl/types/bad_optional_access.cc
+ cxxflags = $third_party_cxxflags
+
+# // absl/types:bad_variant_access
+build $absl/types/bad_variant_access.a: ar $absl/types/bad_variant_access.o
+build $absl/types/bad_variant_access.o: cxx $absl/types/bad_variant_access.cc
+ cxxflags = $third_party_cxxflags
+
+default ec