1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 2 3import("//build/ohos.gni") 4 5if (target_cpu == "arm") { 6 config("ffi_config") { 7 visibility = [ ":*" ] 8 9 include_dirs = [ 10 ".", 11 "./include", 12 "./src/arm", 13 ] 14 15 cflags = [ 16 "-DTARGET=ARM", 17 "-Wno-sign-compare", 18 "-Wno-implicit-function-declaration", 19 "-Wno-extern-initializer", 20 ] 21 } 22 23 ohos_source_set("ffi_source") { 24 sources = [ 25 "src/prep_cif.c", 26 "src/types.c", 27 "src/raw_api.c", 28 "src/java_raw_api.c", 29 "src/closures.c", 30 "src/arm/ffi.c", 31 "src/arm/sysv.S", 32 ] 33 34 configs = [ 35 ":ffi_config", 36 ] 37 } 38} else { 39 config("ffi_config") { 40 visibility = [ ":*" ] 41 42 include_dirs = [ 43 ".", 44 "./include", 45 "./src/aarch64", 46 ] 47 48 cflags = [ 49 "-DTARGET=AARCH64", 50 "-Wno-sign-compare", 51 "-Wno-implicit-function-declaration", 52 "-Wno-extern-initializer", 53 ] 54 } 55 56 ohos_source_set("ffi_source") { 57 sources = [ 58 "src/prep_cif.c", 59 "src/types.c", 60 "src/raw_api.c", 61 "src/java_raw_api.c", 62 "src/closures.c", 63 "src/aarch64/ffi.c", 64 "src/aarch64/sysv.S", 65 ] 66 67 configs = [ 68 ":ffi_config", 69 ] 70 } 71} 72 73config("ffi_public_config") { 74 include_dirs = [ 75 "include", 76 ] 77} 78 79ohos_shared_library("ffi") { 80 deps = [ 81 ":ffi_source", 82 ] 83 84 public_configs = [ 85 ":ffi_public_config", 86 ] 87 88 part_name = "multimedia_histreamer" 89 subsystem_name = "multimedia" 90} 91