aboutsummaryrefslogtreecommitdiff
path: root/buildconf/common.ninja
diff options
context:
space:
mode:
Diffstat (limited to 'buildconf/common.ninja')
-rw-r--r--buildconf/common.ninja97
1 files changed, 89 insertions, 8 deletions
diff --git a/buildconf/common.ninja b/buildconf/common.ninja
index 256df10..a2dab9d 100644
--- a/buildconf/common.ninja
+++ b/buildconf/common.ninja
@@ -27,6 +27,8 @@ cxxflags = $common_cxxflags -Wall -Wextra -Wno-logical-op-parentheses $
-Wno-sign-compare $cxxflags
third_party_cxxflags = $common_cxxflags $third_party_cxxflags
+re2cflags = --empty-class error --no-generation-date -W $re2cflags
+
rule antlr
command = antlr4 $antlrflags $in
description = Generating parser from $in
@@ -45,6 +47,61 @@ rule link
command = g++ $ldflags -o $out $in $libs -pthread
description = Linking $out
+rule re2c
+ command = re2c $re2cflags $in -o $out
+ description = Generating DFAs in $out
+
+build goldfishterm/internal/emit.o: cxx goldfishterm/internal/emit.cc
+build goldfishterm/internal/string_capability.cc: re2c $
+ goldfishterm/internal/string_capability.re
+ re2cflags = $re2cflags
+build goldfishterm/internal/string_capability.o: cxx $
+ goldfishterm/internal/string_capability.cc
+build goldfishterm/simple.o: cxx goldfishterm/simple.cc
+build goldfishterm/terminfo.o: cxx goldfishterm/terminfo.cc
+
+build goldfishterm/internal/string_capability_test.o: cxx $
+ goldfishterm/internal/string_capability_test.cc
+build goldfishterm/internal/string_capability_test: link $
+ goldfishterm/internal/emit.o goldfishterm/internal/string_capability.o $
+ goldfishterm/internal/string_capability_test.o goldfishterm/terminfo.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/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 $
+ $absl/strings/str_format_internal.a $absl/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/types/bad_optional_access.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 goldfishterm/terminfo_system_test.o: cxx $
+ goldfishterm/terminfo_system_test.cc
+build goldfishterm/terminfo_system_test: link goldfishterm/terminfo.o $
+ goldfishterm/terminfo_system_test.o $absl/types/bad_optional_access.a $
+ $absl/strings/str_format_internal.a $absl/strings/strings.a $
+ $absl/strings/internal.a $absl/base/base.a $absl/base/spinlock_wait.a $
+ $absl/numeric/int128.a $absl/base/throw_delegate.a $
+ $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lrt
+
+build goldfishterm/terminfo_test.o: cxx goldfishterm/terminfo_test.cc
+build goldfishterm/terminfo_test: link goldfishterm/terminfo.o $
+ goldfishterm/terminfo_test.o $absl/strings/str_format_internal.a $
+ $absl/strings/strings.a $absl/strings/internal.a $absl/base/base.a $
+ $absl/base/spinlock_wait.a $absl/numeric/int128.a $
+ $absl/base/throw_delegate.a $absl/types/bad_optional_access.a $
+ $absl/base/raw_logging_internal.a $absl/base/log_severity.a
+ libs = -lgmock_main -lgmock -lgtest -lrt
+
build | src/CalculatorBaseVisitor.cpp src/CalculatorBaseVisitor.h $
src/Calculator.interp src/CalculatorLexer.cpp src/CalculatorLexer.h $
src/CalculatorLexer.interp src/CalculatorLexer.tokens $
@@ -128,21 +185,24 @@ build src/parser_driver_test: link src/builtin.o src/CalculatorBaseVisitor.o $
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 $
+ src/ui/terminal.o src/ui/terminal/line.o goldfishterm/internal/emit.o $
+ goldfishterm/internal/string_capability.o goldfishterm/simple.o $
+ goldfishterm/terminfo.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/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/container/hashtablez_sampler.a $absl/profiling/exponential_biased.a $
+ $absl/strings/str_format_internal.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 $
$absl/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
+ $absl/numeric/int128.a $absl/time/time_zone.a $
+ $absl/types/bad_optional_access.a $absl/base/throw_delegate.a $
+ $absl/types/bad_variant_access.a $absl/base/raw_logging_internal.a $
+ $absl/base/log_severity.a
libs = -lantlr4-runtime -lm -lrt
# //absl/base
@@ -372,6 +432,27 @@ build $absl/strings/internal/ostringstream.o: cxx $
build $absl/strings/internal/utf8.o: cxx $absl/strings/internal/utf8.cc
cxxflags = $third_party_cxxflags
+# //absl/strings:str_format_internal
+build $absl/strings/str_format_internal.a: ar $
+ $absl/strings/internal/str_format/arg.o $
+ $absl/strings/internal/str_format/bind.o $
+ $absl/strings/internal/str_format/extension.o $
+ $absl/strings/internal/str_format/float_conversion.o $
+ $absl/strings/internal/str_format/output.o $
+ $absl/strings/internal/str_format/parser.o
+build $absl/strings/internal/str_format/arg.o: cxx $absl/strings/internal/str_format/arg.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/str_format/bind.o: cxx $absl/strings/internal/str_format/bind.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/str_format/extension.o: cxx $absl/strings/internal/str_format/extension.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/str_format/float_conversion.o: cxx $absl/strings/internal/str_format/float_conversion.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/str_format/output.o: cxx $absl/strings/internal/str_format/output.cc
+ cxxflags = $third_party_cxxflags
+build $absl/strings/internal/str_format/parser.o: cxx $absl/strings/internal/str_format/parser.cc
+ cxxflags = $third_party_cxxflags
+
# //absl/synchronization
build $absl/synchronization/synchronization.a: ar $
$absl/synchronization/barrier.o $absl/synchronization/blocking_counter.o $