# Generated by cmake2bazel.

# Caesar Task Force@Data Storage Product Line

load ("//:global_options.bzl","GLOBAL_COPTS","GLOBAL_LOCAL_DEFINES","GLOBAL_LINKOPTS",)

load ("//:cc_combine.bzl", "cc_combine")

package(default_visibility = ["//visibility:public"])

COMMON_LINKOPTS = GLOBAL_LINKOPTS + []

COMMON_LOCAL_DEFINES = GLOBAL_LOCAL_DEFINES + [
    "KNL_PREFIX",
    "WSEC_AES_GCM_SUPPORT",
    "WSEC_COMPILE_CAC_OPENSSL",
    "WSEC_COMPILE_MIP_OTHER",
    "WSEC_DEBUG",
    "WSEC_ERR_CODE_BASE=0x10000000",
    "WSEC_TRACE_MEMORY",
    "WSEC_USE_OPENSSL_110",
    "_OGRAC_LCOV_TEST_",
    "_CMS_LCOV_TEST_",
    "_DEBUG",
    "_GNU_SOURCE",
    "_LARGEFILE64_SOURCE",
    "_REENTRANT",
]

COMMON_COPTS = GLOBAL_COPTS + [
    "-std=c99",
    "-g",
    "-ldl",
    "-pthread",
    "-g",
    "-fPIC",
    "-mtune=nocona",
    "-fsigned-char",
    "-msse4.2",
    "-fprofile-arcs",
    "-ftest-coverage",
    "-fPIC",
    "-Wall",
    "-MMD",
    "-fno-strict-aliasing",
    "-fms-extensions",
    "-fvisibility=default",
    "-fstack-protector-strong",
    "--param",
    "ssp-buffer-size=4",
    "-fno-common",
    "-Wtrampolines",
    "-freg-struct-return",
    "-pipe",
    "-Werror",
    "-Wno-psabi",
    "-Wno-stringop-overflow",
    "-Ipkg/src/common/variant",
    "-Ipkg/src/common",
    "-Iopen_source/openssl/include/openssl",
    "-Iplatform/huawei_kmc/include",
    "-Iplatform/huawei_kmc/src/common",
    "-Iplatform/huawei_kmc/src/kmc",
    "-Iplatform/huawei_kmc/src/mip",
    "-Iplatform/huawei_kmc/src/sdp",
    "-Iplatform/huawei_security/include",
    "-Ibuild_dependence/unixODBC/include",
    "-Ibuild_dependence/libaio/include",
    "-Ipkg/src/kernel",
    "-Ipkg/src/kernel/common",
    "-Ipkg/src/kernel/include",
    "-Ilibrary/xnet/include",
    "-Ilibrary/dbstor/include/dbstor",
    "-Ipkg/src/upgrade_check",
]

filegroup(
    name = "ogcommon_srcs",
    srcs = [
        "cm_array.c",
        "cm_bilist.c",
        "cm_binary.c",
        "cm_buddy.c",
        "cm_chan.c",
        "cm_charset.c",
        "cm_checksum.c",
        "cm_config.c",
        "cm_context_pool.c",
        "cm_date.c",
        "cm_dbs_ctrl.c",
        "cm_dbs_iofence.c",
        "cm_dbs_map.c",
        "cm_dbs_pgpool.c",
        "cm_dbs_ulog.c",
        "cm_debug.c",
        "cm_dec.c",
        "cm_dec2.c",
        "cm_dec4.c",
        "cm_dec8.c",
        "cm_device.c",
        "cm_disk.c",
        "cm_disklock.c",
        "cm_dlock.c",
        "cm_encrypt.c",
        "cm_entropy.c",
        "cm_epoll.c",
        "cm_error.c",
        "cm_file.c",
        "cm_gts_timestamp.c",
        "cm_hash.c",
        "cm_hash_pool.c",
        "cm_hashmap.c",
        "cm_hba.c",
        "cm_iconv.c",
        "cm_interval.c",
        "cm_io_record.c",
        "cm_iofence.c",
        "cm_ip.c",
        "cm_kmc.c",
        "cm_lex.c",
        "cm_license.c",
        "cm_list.c",
        "cm_log.c",
        "cm_memory.c",
        "cm_nls.c",
        "cm_pbl.c",
        "cm_queue.c",
        "cm_raft.c",
        "cm_rbtree.c",
        "cm_rdma.c",
        "cm_regexp.c",
        "cm_row.c",
        "cm_scsi.c",
        "cm_signal.c",
        "cm_spinlock.c",
        "cm_statistic.c",
        "cm_string_common.c",
        "cm_string_gbk.c",
        "cm_string_uca.c",
        "cm_string_utf8.c",
        "cm_sync.c",
        "cm_system.c",
        "cm_text.c",
        "cm_thread.c",
        "cm_thread_pool.c",
        "cm_timer.c",
        "cm_timezone.c",
        "cm_util.c",
        "cm_utils.c",
        "cm_uuid.c",
        "cm_var_chan.c",
        "cm_vma.c",
        "cm_word.c",
        "variant/opr_add.c",
        "variant/opr_bits.c",
        "variant/opr_cat.c",
        "variant/opr_div.c",
        "variant/opr_mod.c",
        "variant/opr_mul.c",
        "variant/opr_sub.c",
        "variant/var_cast.c",
        "variant/var_cmp.c",
        "variant/var_defs.c",
        "variant/var_opr.c",
        "variant/var_typmode.c",
    ] + [
        "//platform:huawei_security_hdrs",
        "//platform:huawei_kmc_hdrs",
        "//pkg/src/common:common_hdrs",
        "//pkg/src/common:variant_hdrs",
        "//library:dbstor/include/dbstor",
        "//library:xnet/include",
        "//pkg/src/kernel:common",
        "//pkg/src/kernel:include",
        "//pkg/src/upgrade_check",
        "//:open_source/openssl/include/openssl",
        "//build_dependence:libaio/include",
        "//:open_source/pcre/include",
    ],
)

cc_binary(
    name = "libogcommon.so",
    srcs = [
        ":ogcommon_srcs",
    ],
    local_defines =  COMMON_LOCAL_DEFINES,
    copts = ["-Ipkg/src/upgrade_check",] + COMMON_COPTS,
    linkopts = [
        "-pie",
        "-fprofile-arcs",
        "-ftest-coverage",
        "-Wl,-z,noexecstack",
        "-Wl,-z,relro",
        "-Wl,-z,now",
        "-Wl,-Bsymbolic",
        "-rdynamic",
        "-lpthread",
        "-ldl",
        "-lm",
        "-lrt",
    ] + COMMON_LINKOPTS,
    deps = [
        "//library:crypto",
        "//library:ssl",
        "//library:KMC",
        "//library:SDP",
        "//library:pcre2-8",
        "//library:cgw_client",
        "//library:dbstorClient",
        "//library:dbstor_tool",
        "//library:nomlnx/xnetlite",
        "//library:iod",
        "//library:lwt",
        "//library:dplog",
        "//library:ftds_stub",
        "//library:ftdsclient",
        "//library:dposax",
        "//library:securec",
        "//library:scpart_mgr",
        "//library:mxml",
        "//library:dpdiagnose",
        "//library:patmatch",
        "//library:dpumm_mm",
        "//library:dphpuc_roc",
        "//library:dptracepoint",
        "//library:dpumm_cmm",
        "//library:osax_util",
        "//library:dswcore_mem",
        "//library:byte_buffer",
        "//library:simpopb",
        "//library:dntf",
        "//library:dposen",
        "//library:cmclient",
        "//library:kmcext",
        "//library:sqlite3",
    ],
    linkshared = True,
)

cc_library (
    name = "ogcommon",
    srcs = [
        ":ogcommon_srcs",
    ],
    linkstatic = True,
    local_defines = COMMON_LOCAL_DEFINES,
    copts = [
    ] + COMMON_COPTS,
    linkopts = [] + COMMON_LINKOPTS,
)

filegroup(
    name = "common_hdrs",
    srcs = glob(["*.h"]),
)

filegroup(
    name = "variant_hdrs",
    srcs = glob(["variant/*.h"]),
)