blob: 66f6f477b554cb97a5a6542e869d935ff7cfe2b4 [file] [log] [blame]
# Copyright 2016 The Fuchsia Authors. All Rights Reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
import("//packages/package.gni")
config("re2_config") {
include_dirs = [ "." ]
}
config("re2_warnings") {
cflags = [
"-Wall",
"-Wextra",
"-Wno-missing-field-initializers",
"-Wno-tautological-unsigned-zero-compare",
"-Wno-unused-parameter",
]
}
static_library("re2") {
sources = [
"re2/bitmap256.h",
"re2/bitstate.cc",
"re2/compile.cc",
"re2/dfa.cc",
"re2/filtered_re2.cc",
"re2/filtered_re2.h",
"re2/mimics_pcre.cc",
"re2/nfa.cc",
"re2/onepass.cc",
"re2/parse.cc",
"re2/perl_groups.cc",
"re2/prefilter.cc",
"re2/prefilter.h",
"re2/prefilter_tree.cc",
"re2/prefilter_tree.h",
"re2/prog.cc",
"re2/prog.h",
"re2/re2.cc",
"re2/re2.h",
"re2/regexp.cc",
"re2/regexp.h",
"re2/set.cc",
"re2/set.h",
"re2/simplify.cc",
"re2/stringpiece.cc",
"re2/stringpiece.h",
"re2/tostring.cc",
"re2/unicode_casefold.cc",
"re2/unicode_casefold.h",
"re2/unicode_groups.cc",
"re2/unicode_groups.h",
"re2/walker-inl.h",
"util/flags.h",
"util/hash.cc",
"util/logging.cc",
"util/logging.h",
"util/mutex.h",
"util/rune.cc",
"util/sparse_array.h",
"util/sparse_set.h",
"util/stringprintf.cc",
"util/strutil.cc",
"util/utf.h",
"util/util.h",
"util/valgrind.cc",
"util/valgrind.h",
]
public_configs = [ ":re2_config" ]
configs -= [ "//build/config:default_warnings" ]
configs += [ ":re2_warnings" ]
}
source_set("testing") {
testonly = true
sources = [
"re2/testing/backtrack.cc",
"re2/testing/dump.cc",
"re2/testing/exhaustive_tester.cc",
"re2/testing/exhaustive_tester.h",
"re2/testing/null_walker.cc",
"re2/testing/regexp_generator.cc",
"re2/testing/regexp_generator.h",
"re2/testing/string_generator.cc",
"re2/testing/string_generator.h",
"re2/testing/tester.cc",
"re2/testing/tester.h",
"util/benchmark.h",
"util/pcre.cc",
"util/pcre.h",
"util/random.cc",
"util/random.h",
"util/test.h",
"util/thread.cc",
"util/thread.h",
]
public_deps = [
":re2",
]
configs -= [ "//build/config:default_warnings" ]
configs += [ ":re2_warnings" ]
}
executable("re2_tests_bin") {
testonly = true
output_name = "re2_tests"
sources = [
"re2/testing/charclass_test.cc",
"re2/testing/compile_test.cc",
"re2/testing/filtered_re2_test.cc",
"re2/testing/mimics_pcre_test.cc",
"re2/testing/parse_test.cc",
"re2/testing/possible_match_test.cc",
"re2/testing/re2_arg_test.cc",
"re2/testing/re2_test.cc",
"re2/testing/regexp_test.cc",
"re2/testing/required_prefix_test.cc",
"re2/testing/search_test.cc",
"re2/testing/set_test.cc",
"re2/testing/simplify_test.cc",
"re2/testing/string_generator_test.cc",
"util/test.cc",
]
deps = [
":testing",
]
configs -= [ "//build/config:default_warnings" ]
configs += [ ":re2_warnings" ]
}
executable("re2_slow_tests") {
testonly = true
sources = [
"re2/testing/dfa_test.cc",
"re2/testing/exhaustive1_test.cc",
"re2/testing/exhaustive2_test.cc",
"re2/testing/exhaustive3_test.cc",
"re2/testing/exhaustive_test.cc",
"re2/testing/random_test.cc",
"util/test.cc",
]
deps = [
":testing",
]
configs -= [ "//build/config:default_warnings" ]
configs += [ ":re2_warnings" ]
}
source_set("benchmark") {
testonly = true
sources = [
"util/benchmark.cc",
]
deps = [
":re2",
]
public_deps = [
":testing",
]
}
executable("regexp_benchmark") {
testonly = true
sources = [
"re2/testing/regexp_benchmark.cc",
]
deps = [
":benchmark",
]
}
package("re2_tests") {
testonly = true
deps = [
":re2_slow_tests",
":re2_tests_bin",
":regexp_benchmark",
]
binaries = [
{
name = "re2_tests"
},
{
name = "re2_slow_tests"
},
{
name = "regexp_benchmark"
},
]
}