| # Copyright 2019 Google LLC |
| # |
| # 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. |
| |
| # The Oniguruma library. |
| cc_library( |
| name = "oniguruma", |
| hdrs = [ |
| "src/oniguruma.h", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":ascii", |
| ":big5", |
| ":cp1251", |
| ":euc_jp", |
| ":euc_kr", |
| ":euc_tw", |
| ":gb18030", |
| ":iso8859", |
| ":koi8", |
| ":onig_init", |
| ":regcomp", |
| ":regenc", |
| ":regerror", |
| ":regexec", |
| ":regext", |
| ":reggnu", |
| ":regparse", |
| ":regposix", |
| ":regsyntax", |
| ":regtrav", |
| ":regversion", |
| ":sjis", |
| ":st", |
| ":unicode", |
| ":utf16", |
| ":utf32", |
| ":utf8", |
| ], |
| ) |
| |
| # The mktable binary. |
| cc_binary( |
| name = "mktable", |
| srcs = [ |
| "src/mktable.c", |
| ], |
| deps = [ |
| ":oniguruma", |
| ], |
| ) |
| |
| # Other libraries linked in with :oniguruma. |
| cc_library( |
| name = "ascii", |
| srcs = [ |
| "src/ascii.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "big5", |
| srcs = [ |
| "src/big5.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "cp1251", |
| srcs = [ |
| "src/cp1251.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "euc_jp", |
| srcs = [ |
| "src/euc_jp.c", |
| "src/euc_jp_prop.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "euc_kr", |
| srcs = [ |
| "src/euc_kr.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "euc_tw", |
| srcs = [ |
| "src/euc_tw.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "gb18030", |
| srcs = [ |
| "src/gb18030.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "iso8859", |
| srcs = [ |
| "src/iso8859_1.c", |
| "src/iso8859_10.c", |
| "src/iso8859_11.c", |
| "src/iso8859_13.c", |
| "src/iso8859_14.c", |
| "src/iso8859_15.c", |
| "src/iso8859_16.c", |
| "src/iso8859_2.c", |
| "src/iso8859_3.c", |
| "src/iso8859_4.c", |
| "src/iso8859_5.c", |
| "src/iso8859_6.c", |
| "src/iso8859_7.c", |
| "src/iso8859_8.c", |
| "src/iso8859_9.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "koi8", |
| srcs = [ |
| "src/koi8.c", |
| "src/koi8_r.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "onig_init", |
| srcs = [ |
| "src/onig_init.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regcomp", |
| srcs = [ |
| "src/regcomp.c", |
| ], |
| deps = [ |
| ":regparse", |
| ], |
| alwayslink = 1, |
| copts = [ |
| "-Wno-maybe-uninitialized", |
| ], |
| ) |
| |
| cc_library( |
| name = "regenc", |
| srcs = [ |
| "src/regenc.c", |
| ], |
| hdrs = [ |
| "src/oniguruma.h", |
| "src/regenc.h", |
| "src/regint.h", |
| ], |
| deps = [ |
| ":config", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regerror", |
| srcs = [ |
| "src/regerror.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regexec", |
| srcs = [ |
| "src/regexec.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regext", |
| srcs = [ |
| "src/regext.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "reggnu", |
| srcs = [ |
| "src/reggnu.c", |
| ], |
| hdrs = [ |
| "src/oniggnu.h", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regparse", |
| srcs = [ |
| "src/regparse.c", |
| ], |
| hdrs = [ |
| "src/regparse.h", |
| ], |
| deps = [ |
| ":st", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regposix", |
| srcs = [ |
| "src/regposerr.c", |
| "src/regposix.c", |
| ], |
| hdrs = [ |
| "src/onigposix.h", |
| ], |
| deps = [ |
| ":config", |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regsyntax", |
| srcs = [ |
| "src/regsyntax.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regtrav", |
| srcs = [ |
| "src/regtrav.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "regversion", |
| srcs = [ |
| "src/regversion.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "sjis", |
| srcs = [ |
| "src/sjis.c", |
| "src/sjis_prop.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "st", |
| srcs = [ |
| "src/st.c", |
| ], |
| hdrs = [ |
| "src/st.h", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "unicode", |
| srcs = [ |
| "src/unicode.c", |
| "src/unicode_fold1_key.c", |
| "src/unicode_fold2_key.c", |
| "src/unicode_fold3_key.c", |
| "src/unicode_unfold_key.c", |
| ], |
| deps = [ |
| ":config", |
| ":data", |
| ":regenc", |
| ":st", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "utf8", |
| srcs = [ |
| "src/utf8.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "utf16", |
| srcs = [ |
| "src/utf16_be.c", |
| "src/utf16_le.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "utf32", |
| srcs = [ |
| "src/utf32_be.c", |
| "src/utf32_le.c", |
| ], |
| deps = [ |
| ":regenc", |
| ], |
| alwayslink = 1, |
| ) |
| |
| # Generated data files. |
| cc_library( |
| name = "data", |
| hdrs = [ |
| "src/unicode_egcb_data.c", |
| "src/unicode_fold_data.c", |
| "src/unicode_property_data.c", |
| "src/unicode_property_data_posix.c", |
| "src/unicode_wb_data.c", |
| ], |
| ) |
| |
| # CC library containing config.h. |
| cc_library( |
| name = "config", |
| hdrs = [ |
| ":config_h", |
| ], |
| ) |
| |
| genrule( |
| name = "config_h", |
| srcs = glob(["**"]), |
| outs = ["config.h"], |
| cmd = |
| "( " + |
| " cd external/com_github_kkos_oniguruma; " + |
| " ./configure > /dev/null; " + |
| "); " + |
| "cp external/com_github_kkos_oniguruma/src/config.h \"$@\"; ", |
| ) |
| |