{
    "compileFlag": {
        "CC_LANGUAGE_FLAGS": [
            "-std=c90",
            "-std=c99",
            "-std=c11",
            "-std=gnu90",
            "-std=gnu99",
            "-std=gnu11",
            "-Wpedantic",
            "-pedantic",
            "-pedantic-errors",
            "-fsigned-char",
            "-funsigned-char",
            "-fno-builtin",
            "-fno-builtin-bcmp",
            "-ffreestanding",
            "-fdisable-tree-widening_mul"
        ],
        "CC_WARN_FLAGS": [
            "-Wall",
            "-Wextra",
            "-Werror",
            "-Wtrampolines",
            "-Wformat=2",
            "-Wstrict-prototypes",
            "-Wdate-time",
            "-Wfloat-equal",
            "-Wcast-qual",
            "-Wswitch-default",
            "-Wshadow",
            "-Wstack-usage=8192",
            "-Wframe-larger-than=4096",
            "-Wconversion",
            "-Wcast-align",
            "-Wvla",
            "-Wunused",
            "-Wundef",
            "-Wnon-virtual-dtor",
            "-Wdelete-non-virtual-dtor",
            "-Woverloaded-virtual",
            "-Wredundant-decls",
            "-Wfloat-conversion",
            "-Wdisabled-optimization",
            "-Wduplicated-branches",
            "-Wduplicated-cond",
            "-Wjump-misses-init",
            "-Wlogical-op",
            "-Wmissing-format-attribute",
            "-Wmissing-include-dirs",
            "-Wmissing-prototypes",
            "-Wmissing-declarations",
            "-Wnested-externs",
            "-Wpointer-arith",
            "-Wshift-overflow=2",
            "-Wshift-overflow",
            "-Wshift-negative-value",
            "-Wsuggest-attribute=format",
            "-Wunused-macros",
            "-Wunused-parameter",
            "-Wunused-function",
            "-Wunused-label",
            "-Wunused-local-typedefs",
            "-Wunused-but-set-parameter",
            "-Wunused-but-set-variable",
            "-Wuninitialized",
            "-Wunused-variable",
            "-Wunused-value",
            "-Wwrite-strings",
            "-Wbad-function-cast",
            "-Wold-style-definition",
            "-Wsign-conversion",
            "-Wsign-compare",
            "-Winline",
            "-Wclobbered",
            "-Wempty-body",
            "-Woverride-init",
            "-Wformat-security",
            "-Wignored-qualifiers",
            "-Wimplicit-fallthrough=3",
            "-Wtype-limits",
            "-Wno-type-limits",
            "-Wno-cast-function-type",
            "-Wno-stringop-overread"
        ],
        "CC_SEC_FLAGS": [
            "-fPIC",
            "-fPIE",
            "-fno-PIE",
            "-fstack-protector-all",
            "-fstack-protector-strong",
            "-fstack-check",
            "-ftrapv",
            "--param=ssp-buffer-size=4",
            "-fno-stack-protector",
            "-fsanitize=address",
            "-fprofile-arcs",
            "-ftest-coverage",
            "-fdump-rtl-expand",
            "-fsanitize=fuzzer-no-link",
            "-fsanitize=thread",
            "-fsanitize=undefined",
            "-fno-sanitize-recover=all",
            "-fsanitize=signed-integer-overflow",
            "-fsanitize-address-use-after-scope",
            "-fsanitize-coverage=trace-pc",
            "-fsanitize-coverage=trace-cmp",
            "-fsanitize-coverage=trace-div",
            "-fsanitize-coverage=trace-gep",
            "-fgnu89-inline"
        ],
        "CC_OPT_LEVEL": [
            "-D_FORTIFY_SOURCE=2",
            "-O0",
            "-O1",
            "-O2",
            "-O3",
            "-Os",
            "-Oz"
        ],
        "CC_OPT_FLAGS": [
            "-fno-strict-aliasing",
            "-fno-omit-frame-pointer",
            "-fomit-frame-pointer",
            "-fno-early-inlining",
            "-fno-indirect-inlining",
            "-fno-inline-functions-called-once",
            "-fno-inline-small-functions",
            "-fno-function-sections",
            "-fno-inline"
        ],
        "CC_CDG_FLAGS": [
            "-fno-common",
            "-freg-struct-return",
            "-fvisibility=hidden",
            "-fstrong-eval-order",
            "-fpack-struct=4",
            "-fno-exceptions",
            "-fno-delete-null-pointer-checks",
            "-fno-short-enums",
            "-fshort-enums",
            "-fno-merge-constants"
        ],
        "CC_OVERALL_FLAGS": [
            "-pipe"
        ],
        "CC_MD_DEPENDENT_FLAGS": [
            "-m32",
            "-m64",
            "-mabi=ilp32",
            "-march=armv7-a",
            "-march=armv8-a",
            "-mbig-endian",
            "-mtune=cortex-a57",
            "-mcpu=cortex-a15",
            "-mcpu=cortex-a9",
            "-mfloat-abi=softfp",
            "-mfpu=vfpv3-d16",
            "-mlittle-endian",
            "-mno-sched-prolog",
            "-mno-unaligned-access",
            "-mfloat-abi=soft",
            "-msoft-float",
            "-mtune=cortex-a15",
            "-mtune=cortex-a9",
            "-ffixed-r8",
            "-marm",
            "-mabi=aapcs-linux",
            "-mno-thumb-interwork",
            "--target=aarch64_be-unknown-linux-gnu_ilp32"
        ],
        "CC_DEFINE_FLAGS": [
            "-DHITLS_SIXTY_FOUR_BITS",
            "-DHITLS_THIRTY_TWO_BITS",
            "-DHITLS_BSL_SAL_LINUX",
            "-DHITLS_ATOMIC_THREAD_LOCK",
            "-DHITLS_NO_CONFIG_CHECK",
            "-DHITLS_CRYPTO_EAL_REPORT",
            "-DHITLS_CRYPTO_NIST_ECC_ACCELERATE",
            "-DHITLS_CRYPTO_SHA1_SMALL_MEM",
            "-DHITLS_CRYPTO_SHA256_SMALL_MEM",
            "-DHITLS_CRYPTO_SHA512_SMALL_MEM",
            "-DHITLS_CRYPTO_ENTROPY_DEVRANDOM",
            "-DHITLS_CRYPTO_ENTROPY_GETENTROPY",
            "-DHITLS_CRYPTO_ENTROPY_SYS",
            "-DHITLS_CRYPTO_ENTROPY_HARDWARE",
            "-DHITLS_CRYPTO_ASM_CHECK",
            "-DHITLS_CRYPTO_BN_COMBA",
            "-DHITLS_CRYPTO_BN_SMALL_MEM",
            "-DHITLS_CRYPTO_AES_PRECALC_TABLES",
            "-DHITLS_CRYPTO_BN_RAND",
            "-DHITLS_CRYPTO_BN_PRIME",
            "-DHITLS_CRYPTO_DRBG_GM",
            "-DHITLS_CRYPTO_RAND_CB",
            "-DHITLS_CRYPTO_BN_CB",
            "-DHITLS_CRYPTO_RSA_BSSA",
            "-DHITLS_AARCH64_PACIASP",
            "-DHITLS_CRYPTO_SM2_PRECOMPUTE_512K_TBL",
            "-DHITLS_CRYPTO_ACVP_TESTS",
            "-DHITLS_CRYPTO_DSA_GEN_PARA",
            "-DHITLS_CRYPTO_SP800_STRICT_CHECK"
        ],
        "CC_DEBUG_FLAGS": [
            "-g",
            "-g3",
            "-gdwarf-2"
        ],
        "CC_USER_DEFINE_FLAGS": [
            "-DHITLS_EAL_INIT_OPTS=n",
            "-DHITLS_CRYPTO_DRBG_GM_LEVEL=n",
            "-DHITLS_SEED_DRBG_INIT_RAND_ALG=n"
        ]
    },
    "linkFlag": {
        "PUBLIC": [
            "-Wl,-z,relro",
            "-Wl,-z,now",
            "-Wl,-z,relro,-z,now",
            "-Wl,-z,noexecstack",
            "-s",
            "-rdynamic"
        ],
        "SHARED": [
            "-shared"
        ],
        "EXE": [
            "-pie"
        ]
    }
}