mirror of
https://gitee.com/openharmony/third_party_libffi
synced 2024-11-23 03:09:42 +00:00
d0f2403d6a
Signed-off-by: huang-xl <huangxiaolong1@huawei.com> Change-Id: I7f31d7262c34d3f916ec9311fc4383e5028f6fd0
112 lines
2.0 KiB
Plaintext
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"
|
|
}
|