third_party_libffi/BUILD.gn
huang-xl d0f2403d6a thirdparty_parket Signed-off-by: huang-xl<huangxiaolong1@huawei.com>
Signed-off-by: huang-xl <huangxiaolong1@huawei.com>
Change-Id: I7f31d7262c34d3f916ec9311fc4383e5028f6fd0
2022-08-30 19:17:53 +08:00

112 lines
2.0 KiB
Plaintext

# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
import("//build/ohos.gni")
if (target_cpu == "arm") {
config("ffi_config") {
visibility = [ ":*" ]
include_dirs = [
".",
"./include",
"./src/arm",
]
cflags = [
"-DTARGET=ARM",
"-Wno-sign-compare",
"-Wno-implicit-function-declaration",
"-Wno-extern-initializer",
]
}
ohos_source_set("ffi_source") {
sources = [
"src/arm/ffi.c",
"src/arm/sysv.S",
"src/closures.c",
"src/java_raw_api.c",
"src/prep_cif.c",
"src/raw_api.c",
"src/types.c",
]
configs = [ ":ffi_config" ]
}
} else if (target_cpu == "x86_64") {
config("ffi_config") {
visibility = [ ":*" ]
include_dirs = [
".",
"./include",
"./src/x86",
]
cflags = [
"-DTARGET=X86_64",
"-Wno-sign-compare",
"-Wno-implicit-function-declaration",
"-Wno-extern-initializer",
]
}
ohos_source_set("ffi_source") {
sources = [
"src/closures.c",
"src/java_raw_api.c",
"src/prep_cif.c",
"src/raw_api.c",
"src/types.c",
"src/x86/ffi64.c",
"src/x86/unix64.S",
]
configs = [ ":ffi_config" ]
}
} else {
config("ffi_config") {
visibility = [ ":*" ]
include_dirs = [
".",
"./include",
"./src/aarch64",
]
cflags = [
"-DTARGET=AARCH64",
"-Wno-sign-compare",
"-Wno-implicit-function-declaration",
"-Wno-extern-initializer",
]
}
ohos_source_set("ffi_source") {
sources = [
"src/aarch64/ffi.c",
"src/aarch64/sysv.S",
"src/closures.c",
"src/java_raw_api.c",
"src/prep_cif.c",
"src/raw_api.c",
"src/types.c",
]
configs = [ ":ffi_config" ]
}
}
config("ffi_public_config") {
include_dirs = [ "include" ]
}
ohos_shared_library("ffi") {
deps = [ ":ffi_source" ]
public_configs = [ ":ffi_public_config" ]
part_name = "libffi"
subsystem_name = "thirdparty"
}