1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5config("re2_config") {
6  include_dirs = [ "." ]
7}
8
9static_library("re2") {
10  sources = [
11    "mswin/stdint.h",
12    "re2/bitstate.cc",
13    "re2/compile.cc",
14    "re2/dfa.cc",
15    "re2/filtered_re2.cc",
16    "re2/filtered_re2.h",
17    "re2/mimics_pcre.cc",
18    "re2/nfa.cc",
19    "re2/onepass.cc",
20    "re2/parse.cc",
21    "re2/perl_groups.cc",
22    "re2/prefilter.cc",
23    "re2/prefilter.h",
24    "re2/prefilter_tree.cc",
25    "re2/prefilter_tree.h",
26    "re2/prog.cc",
27    "re2/prog.h",
28    "re2/re2.cc",
29    "re2/re2.h",
30    "re2/regexp.cc",
31    "re2/regexp.h",
32    "re2/set.cc",
33    "re2/set.h",
34    "re2/simplify.cc",
35    "re2/stringpiece.h",
36    "re2/tostring.cc",
37    "re2/unicode_casefold.cc",
38    "re2/unicode_casefold.h",
39    "re2/unicode_groups.cc",
40    "re2/unicode_groups.h",
41    "re2/variadic_function.h",
42    "re2/walker-inl.h",
43    "util/arena.cc",
44    "util/arena.h",
45    "util/atomicops.h",
46    "util/flags.h",
47    "util/hash.cc",
48    "util/logging.h",
49    "util/mutex.h",
50    "util/rune.cc",
51    "util/sparse_array.h",
52    "util/sparse_set.h",
53    "util/stringpiece.cc",
54    "util/stringprintf.cc",
55    "util/strutil.cc",
56    "util/utf.h",
57    "util/util.h",
58  ]
59
60  configs -= [ "//build/config/compiler:chromium_code" ]
61  configs += [ "//build/config/compiler:no_chromium_code" ]
62  public_configs = [ ":re2_config" ]
63
64  deps = [
65    "//base/third_party/dynamic_annotations",
66  ]
67
68  if (is_win) {
69    include_dirs = [ "mswin" ]
70    cflags = [
71      "/wd4267",  # Conversion from size_t.
72      "/wd4722",  # Destructor never terminates.
73    ]
74  } else {
75    sources -= [ "mswin/stdint.h" ]
76  }
77}
78