2024-11-25 11:13:59 +08:00
|
|
|
# component2/SConscript
|
|
|
|
|
Import("env")
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
with open(env["PROJECT_TOOL_S"]) as f:
|
|
|
|
|
exec(f.read())
|
|
|
|
|
|
|
|
|
|
if "CONFIG_SIMDJSON_COMPENENT_ENABLED" in os.environ:
|
|
|
|
|
check_component("simdjson")
|
|
|
|
|
SRCS = []
|
|
|
|
|
INCLUDE = []
|
|
|
|
|
PRIVATE_INCLUDE = []
|
|
|
|
|
REQUIREMENTS = []
|
|
|
|
|
STATIC_LIB = []
|
|
|
|
|
DYNAMIC_LIB = []
|
|
|
|
|
DEFINITIONS = []
|
2025-04-02 10:54:31 +08:00
|
|
|
DEFINITIONS_PRIVATE = ['-O2']
|
2024-11-25 11:13:59 +08:00
|
|
|
LDFLAGS = []
|
|
|
|
|
LINK_SEARCH_PATH = []
|
2024-11-26 13:35:00 +08:00
|
|
|
DEFINITIONS += ['-std=c++17']
|
2024-11-25 11:13:59 +08:00
|
|
|
COMPONENT_PATH = os.path.join(os.environ["GIT_REPO_PATH"], "simdjson")
|
|
|
|
|
SRCS += [os.path.join(COMPONENT_PATH, "src/simdjson.cpp")]
|
|
|
|
|
|
|
|
|
|
gcc_dumpmachine = env["GCC_DUMPMACHINE"].split("-")
|
|
|
|
|
if "x86_64" in gcc_dumpmachine and "linux" in gcc_dumpmachine:
|
|
|
|
|
DEFINITIONS_PRIVATE += [
|
|
|
|
|
"-mno-avx256-split-unaligned-load",
|
|
|
|
|
"-mno-avx256-split-unaligned-store",
|
|
|
|
|
]
|
|
|
|
|
DEFINITIONS_PRIVATE += [
|
|
|
|
|
"-DSIMDJSON_AVX512_ALLOWED=1",
|
|
|
|
|
"-DSIMDJSON_THREADS_ENABLED=1",
|
|
|
|
|
"-DSIMDJSON_UTF8VALIDATION=1",
|
|
|
|
|
]
|
|
|
|
|
INCLUDE.append(os.path.join(COMPONENT_PATH, "include"))
|
|
|
|
|
PRIVATE_INCLUDE.append(os.path.join(COMPONENT_PATH, "src"))
|
|
|
|
|
|
|
|
|
|
env["COMPONENTS"].append(
|
|
|
|
|
{
|
|
|
|
|
"target": os.path.basename(env["component_dir"]),
|
|
|
|
|
"SRCS": SRCS,
|
|
|
|
|
"INCLUDE": INCLUDE,
|
|
|
|
|
"PRIVATE_INCLUDE": PRIVATE_INCLUDE,
|
|
|
|
|
"REQUIREMENTS": REQUIREMENTS,
|
|
|
|
|
"STATIC_LIB": STATIC_LIB,
|
|
|
|
|
"DYNAMIC_LIB": DYNAMIC_LIB,
|
|
|
|
|
"DEFINITIONS": DEFINITIONS,
|
|
|
|
|
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE,
|
|
|
|
|
"LDFLAGS": LDFLAGS,
|
|
|
|
|
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
|
|
|
|
"REGISTER": "shared" if "CONFIG_LNNG_DYNAMIC" in os.environ else "static",
|
|
|
|
|
}
|
|
|
|
|
)
|