1*22dc650dSSadaf Ebrahimiload("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") 2*22dc650dSSadaf Ebrahimiload("@bazel_skylib//rules:copy_file.bzl", "copy_file") 3*22dc650dSSadaf Ebrahimi 4*22dc650dSSadaf Ebrahimicopy_file( 5*22dc650dSSadaf Ebrahimi name = "config_h_generic", 6*22dc650dSSadaf Ebrahimi src = "src/config.h.generic", 7*22dc650dSSadaf Ebrahimi out = "src/config.h", 8*22dc650dSSadaf Ebrahimi) 9*22dc650dSSadaf Ebrahimi 10*22dc650dSSadaf Ebrahimicopy_file( 11*22dc650dSSadaf Ebrahimi name = "pcre2_h_generic", 12*22dc650dSSadaf Ebrahimi src = "src/pcre2.h.generic", 13*22dc650dSSadaf Ebrahimi out = "src/pcre2.h", 14*22dc650dSSadaf Ebrahimi) 15*22dc650dSSadaf Ebrahimi 16*22dc650dSSadaf Ebrahimicopy_file( 17*22dc650dSSadaf Ebrahimi name = "pcre2_chartables_c", 18*22dc650dSSadaf Ebrahimi src = "src/pcre2_chartables.c.dist", 19*22dc650dSSadaf Ebrahimi out = "src/pcre2_chartables.c", 20*22dc650dSSadaf Ebrahimi) 21*22dc650dSSadaf Ebrahimi 22*22dc650dSSadaf Ebrahimi# Removed src/pcre2_ucptables.c below because it is #included in 23*22dc650dSSadaf Ebrahimi# src/pcre2_tables.c. Also fixed typo: ckdint should be chkdint. 24*22dc650dSSadaf Ebrahimi# PH, 22-March-2023. 25*22dc650dSSadaf Ebrahimicc_library( 26*22dc650dSSadaf Ebrahimi name = "pcre2", 27*22dc650dSSadaf Ebrahimi srcs = [ 28*22dc650dSSadaf Ebrahimi "src/pcre2_auto_possess.c", 29*22dc650dSSadaf Ebrahimi "src/pcre2_chkdint.c", 30*22dc650dSSadaf Ebrahimi "src/pcre2_compile.c", 31*22dc650dSSadaf Ebrahimi "src/pcre2_config.c", 32*22dc650dSSadaf Ebrahimi "src/pcre2_context.c", 33*22dc650dSSadaf Ebrahimi "src/pcre2_convert.c", 34*22dc650dSSadaf Ebrahimi "src/pcre2_dfa_match.c", 35*22dc650dSSadaf Ebrahimi "src/pcre2_error.c", 36*22dc650dSSadaf Ebrahimi "src/pcre2_extuni.c", 37*22dc650dSSadaf Ebrahimi "src/pcre2_find_bracket.c", 38*22dc650dSSadaf Ebrahimi "src/pcre2_maketables.c", 39*22dc650dSSadaf Ebrahimi "src/pcre2_match.c", 40*22dc650dSSadaf Ebrahimi "src/pcre2_match_data.c", 41*22dc650dSSadaf Ebrahimi "src/pcre2_newline.c", 42*22dc650dSSadaf Ebrahimi "src/pcre2_ord2utf.c", 43*22dc650dSSadaf Ebrahimi "src/pcre2_pattern_info.c", 44*22dc650dSSadaf Ebrahimi "src/pcre2_script_run.c", 45*22dc650dSSadaf Ebrahimi "src/pcre2_serialize.c", 46*22dc650dSSadaf Ebrahimi "src/pcre2_string_utils.c", 47*22dc650dSSadaf Ebrahimi "src/pcre2_study.c", 48*22dc650dSSadaf Ebrahimi "src/pcre2_substitute.c", 49*22dc650dSSadaf Ebrahimi "src/pcre2_substring.c", 50*22dc650dSSadaf Ebrahimi "src/pcre2_tables.c", 51*22dc650dSSadaf Ebrahimi "src/pcre2_ucd.c", 52*22dc650dSSadaf Ebrahimi "src/pcre2_valid_utf.c", 53*22dc650dSSadaf Ebrahimi "src/pcre2_xclass.c", 54*22dc650dSSadaf Ebrahimi ":pcre2_chartables_c", 55*22dc650dSSadaf Ebrahimi ], 56*22dc650dSSadaf Ebrahimi hdrs = glob(["src/*.h"]) + [ 57*22dc650dSSadaf Ebrahimi ":config_h_generic", 58*22dc650dSSadaf Ebrahimi ":pcre2_h_generic", 59*22dc650dSSadaf Ebrahimi ], 60*22dc650dSSadaf Ebrahimi defines = [ 61*22dc650dSSadaf Ebrahimi "HAVE_CONFIG_H", 62*22dc650dSSadaf Ebrahimi "PCRE2_CODE_UNIT_WIDTH=8", 63*22dc650dSSadaf Ebrahimi "PCRE2_STATIC", 64*22dc650dSSadaf Ebrahimi ], 65*22dc650dSSadaf Ebrahimi includes = ["src"], 66*22dc650dSSadaf Ebrahimi strip_include_prefix = "src", 67*22dc650dSSadaf Ebrahimi visibility = ["//visibility:public"], 68*22dc650dSSadaf Ebrahimi) 69*22dc650dSSadaf Ebrahimi 70*22dc650dSSadaf Ebrahimicc_binary( 71*22dc650dSSadaf Ebrahimi name = "pcre2demo", 72*22dc650dSSadaf Ebrahimi srcs = ["src/pcre2demo.c"], 73*22dc650dSSadaf Ebrahimi visibility = ["//visibility:public"], 74*22dc650dSSadaf Ebrahimi deps = [":pcre2"], 75*22dc650dSSadaf Ebrahimi) 76