# Generated by cmake2bazel.

# Caesar Task Force@Data Storage Product Line

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

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

COMMON_LINKOPTS = GLOBAL_LINKOPTS + []

COMMON_LOCAL_DEFINES = GLOBAL_LOCAL_DEFINES + []

COMMON_COPTS = GLOBAL_COPTS + []

cc_library (
    name = "ogkernel",
    srcs = [
        "backup/bak_build.c",
        "backup/bak_common.c",
        "backup/bak_log_paral.c",
        "backup/bak_paral.c",
        "backup/bak_restore.c",
        "backup/knl_backup.c",
        "backup/knl_badblock.c",
        "buffer/knl_buffer.c",
        "buffer/knl_buffer_access.c",
        "buffer/knl_buffer_log.c",
        "buffer/knl_page.c",
        "buffer/pcr_pool.c",
        "catalog/dc_dump.c",
        "catalog/dc_log.c",
        "catalog/dc_part.c",
        "catalog/dc_priv.c",
        "catalog/dc_seq.c",
        "catalog/dc_subpart.c",
        "catalog/dc_tbl.c",
        "catalog/dc_tenant.c",
        "catalog/dc_user.c",
        "catalog/dc_util.c",
        "catalog/knl_comment.c",
        "catalog/knl_ctlg.c",
        "catalog/knl_dblink.c",
        "catalog/knl_dc.c",
        "catalog/knl_privilege.c",
        "catalog/knl_profile.c",
        "catalog/knl_spm.c",
        "catalog/knl_tenant.c",
        "catalog/knl_user.c",
        "common/knl_compress.c",
        "common/knl_context.c",
        "common/knl_ctrl_restore.c",
        "common/knl_mtrl.c",
        "common/knl_sort_page.c",
        "common/knl_syncpoint.c",
        "daemon/knl_ashrink.c",
        "daemon/knl_rmon.c",
        "daemon/knl_smon.c",
        "flashback/knl_fbdr.c",
        "flashback/knl_flashback.c",
        "flashback/rb_purge.c",
        "flashback/rb_truncate.c",
        "index/index_common.c",
        "index/index_paral.c",
        "index/knl_index.c",
        "index/pcr_btree.c",
        "index/pcr_btree_log.c",
        "index/pcr_btree_scan.c",
        "index/pcr_btree_stat.c",
        "index/rcr_btree.c",
        "index/rcr_btree_log.c",
        "index/rcr_btree_scan.c",
        "index/rcr_btree_stat.c",
        "index/temp_btree.c",
        "knl_database.c",
        "knl_db_alter.c",
        "knl_db_create.c",
        "knl_db_ctrl.c",
        "knl_interface.c",
        "lob/knl_lob.c",
        "lob/lob_log.c",
        "persist/knl_abr.c",
        "persist/knl_archive.c",
        "persist/knl_ckpt.c",
        "persist/knl_ddl_log_file.c",
        "persist/knl_log.c",
        "persist/knl_log_file.c",
        "persist/knl_recovery.c",
        "replication/knl_gbp.c",
        "replication/repl_arch_fetch.c",
        "replication/repl_log_recv.c",
        "replication/repl_log_replay.c",
        "replication/repl_log_send.c",
        "replication/repl_msg.c",
        "replication/repl_raft.c",
        "sequence/knl_sequence.c",
        "statistics/knl_rstat.c",
        "statistics/ostat_common.c",
        "statistics/ostat_load.c",
        "table/knl_external.c",
        "table/knl_heap.c",
        "table/knl_heap_log.c",
        "table/knl_map.c",
        "table/knl_map_log.c",
        "table/knl_part_add.c",
        "table/knl_part_comm.c",
        "table/knl_part_create.c",
        "table/knl_part_drop.c",
        "table/knl_part_index.c",
        "table/knl_part_interval.c",
        "table/knl_part_locate.c",
        "table/knl_part_split.c",
        "table/knl_shrink.c",
        "table/knl_table.c",
        "table/knl_temp.c",
        "table/pcr_heap.c",
        "table/pcr_heap_log.c",
        "table/pcr_heap_scan.c",
        "table/pcr_heap_undo.c",
        "tablespace/knl_alter_space.c",
        "tablespace/knl_create_space.c",
        "tablespace/knl_datafile.c",
        "tablespace/knl_drop_space.c",
        "tablespace/knl_punch_space.c",
        "tablespace/knl_shrink_space.c",
        "tablespace/knl_space_base.c",
        "tablespace/knl_space_ddl.c",
        "tablespace/knl_space_log.c",
        "tablespace/knl_space_manage.c",
        "tablespace/knl_temp_space.c",
        "xact/knl_alck.c",
        "xact/knl_lock.c",
        "xact/knl_tran.c",
        "xact/knl_undo.c",
        "xact/knl_xa.c",
        "xact/knl_xact_log.c",
        ":kernel_hdrs",
        ":backup",
        ":buffer",
        ":catalog",
        ":common",
        ":daemon",
        ":flashback",
        ":include",
        ":index",
        ":lob",
        ":persist",
        ":replication",
        ":sequence",
        ":statistics",
        ":table",
        ":tablespace",
        ":xact",
        "//platform:huawei_security_hdrs",
        "//:open_source/openssl/include/openssl",
        "//:open_source/zlib/include",
        "//:open_source/Zstandard/include",
        "//pkg/src/common:common_hdrs",
        "//pkg/src/common:variant_hdrs",
        "//build_dependence:libaio/include",
        "//pkg/src/protocol:protocol_hdrs",
        "//pkg/src/rc:rc_hdrs",
        "//pkg/src/cms:interface_hdrs",
        "//pkg/src/mec:mec_hdrs",
        "//pkg/src/cluster:cluster_hdrs",
        "//pkg/src/server:server_hdrs",
        "//pkg/src/server:params",
        "//pkg/src/sql:sql_hdrs",
        "//pkg/src/sql:pl",
        "//pkg/src/sql:node",
        "//pkg/src/sql:parallel",
        "//pkg/src/sql:executor",
        "//pkg/src/sql:parser",
        "//pkg/src/sql:verifier",
        "//pkg/src/sql:json",
        "//pkg/src/zenfs:zenfs_hdrs",
        "//pkg/src/shard:shard_hdrs",
        "//pkg/src/gstbox:gstbox_hdrs",
        "//pkg/src/upgrade_check",
        "//pkg/src/fdsa:fdsa_hdrs"
    ],
    linkstatic = True,
    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_LOCAL_DEFINES,
    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/kernel",
        "-Ipkg/src/kernel/backup",
        "-Ipkg/src/kernel/buffer",
        "-Ipkg/src/kernel/catalog",
        "-Ipkg/src/kernel/common",
        "-Ipkg/src/kernel/daemon",
        "-Ipkg/src/kernel/flashback",
        "-Ipkg/src/kernel/include",
        "-Ipkg/src/kernel/index",
        "-Ipkg/src/kernel/lob",
        "-Ipkg/src/kernel/persist",
        "-Ipkg/src/kernel/replication",
        "-Ipkg/src/kernel/sequence",
        "-Ipkg/src/kernel/statistics",
        "-Ipkg/src/kernel/table",
        "-Ipkg/src/kernel/tablespace",
        "-Ipkg/src/kernel/xact",
        "-Ipkg/src/upgrade_check",
        "-Ipkg/src/fdsa",
        "-Iopen_source/openssl/include/openssl",
        "-Iopen_source/openssl/include",
        "-Iplatform/huawei_security/include",
        "-Ipkg/src/common/variant",
        "-Ipkg/src/common",
        "-Ipkg/src/protocol",
        "-Ipkg/src/server",
        "-Ipkg/src/server/params",
        "-Ipkg/src/shard",
        "-Ipkg/src/sql",
        "-Ipkg/src/sql/catalog",
        "-Ipkg/src/sql/executor",
        "-Ipkg/src/sql/json",
        "-Ipkg/src/sql/node",
        "-Ipkg/src/sql/parallel",
        "-Ipkg/src/sql/parser",
        "-Ipkg/src/sql/pl",
        "-Ipkg/src/sql/pl/include",
        "-Ipkg/src/sql/pl/clang",
        "-Ipkg/src/sql/pl/debug",
        "-Ipkg/src/sql/pl/meta",
        "-Ipkg/src/sql/pl/persist",
        "-Ipkg/src/sql/pl/type",
        "-Ipkg/src/sql/pl/ast",
        "-Ipkg/src/sql/pl/parser",
        "-Ipkg/src/sql/pl/common",
        "-Ipkg/src/sql/pl/executor",
        "-Ipkg/src/sql/verifier",
        "-Ipkg/src/gstbox",
        "-Ipkg/src/mec",
        "-Ipkg/src/cluster",
        "-Ipkg/src/cms/interface",
        "-Ipkg/src/rc",
        "-Ipkg/src/zenfs",
    ] + COMMON_COPTS,
    linkopts = COMMON_LINKOPTS,
    deps = [
        "//pkg/src/fdsa:ogfdsa",
    ],
)

[
   filegroup(
        name = "{0}".format(x),
        srcs = glob(["{0}/**/*.h".format(x)]),
    ) for x in [
        "backup",
        "buffer",
        "catalog",
        "common",
        "daemon",
        "flashback",
        "include",
        "index",
        "lob",
        "persist",
        "replication",
        "sequence",
        "statistics",
        "table",
        "tablespace",
        "xact",
   ]
]

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