third_party_libffi/BUILD.gn
huang-xl f2d9a911c4 libffi_x86 Signed-off-by: huang-xl<huangxiaolong1@huawei.com>
Signed-off-by: huang-xl <huangxiaolong1@huawei.com>
Change-Id: I2656fae1a326eb6cb186013d67aa591a62a38978
2022-06-20 21:11:29 +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/x86/ffi64.c",
"src/x86/unix64.S",
"src/closures.c",
"src/java_raw_api.c",
"src/prep_cif.c",
"src/raw_api.c",
"src/types.c",
]
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 = "multimedia_media_standard"
subsystem_name = "multimedia"
}