19c6d7c21Sopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd.
29c6d7c21Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
39c6d7c21Sopenharmony_ci# you may not use this file except in compliance with the License.
49c6d7c21Sopenharmony_ci# You may obtain a copy of the License at
59c6d7c21Sopenharmony_ci#
69c6d7c21Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
79c6d7c21Sopenharmony_ci#
89c6d7c21Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
99c6d7c21Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
109c6d7c21Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
119c6d7c21Sopenharmony_ci# See the License for the specific language governing permissions and
129c6d7c21Sopenharmony_ci# limitations under the License.
139c6d7c21Sopenharmony_ci
149c6d7c21Sopenharmony_ciimport("../config.gni")
159c6d7c21Sopenharmony_ci
169c6d7c21Sopenharmony_ciif (!enable_ohos_systemabilitymgr_samgr_lite_rpc_mini) {
179c6d7c21Sopenharmony_ci  config("endpoint_public") {
189c6d7c21Sopenharmony_ci    include_dirs = [
199c6d7c21Sopenharmony_ci      "../samgr/adapter",
209c6d7c21Sopenharmony_ci      "//commonlibrary/utils_lite/include",
219c6d7c21Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/samgr",
229c6d7c21Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry",
239c6d7c21Sopenharmony_ci      "//third_party/bounds_checking_function/include",
249c6d7c21Sopenharmony_ci      "//base/security/permission_lite/services/ipc_auth/include",
259c6d7c21Sopenharmony_ci    ]
269c6d7c21Sopenharmony_ci  }
279c6d7c21Sopenharmony_ci
289c6d7c21Sopenharmony_ci  config("endpoint_internal") {
299c6d7c21Sopenharmony_ci    include_dirs = [
309c6d7c21Sopenharmony_ci      "./source",
319c6d7c21Sopenharmony_ci      "../samgr/registry",
329c6d7c21Sopenharmony_ci    ]
339c6d7c21Sopenharmony_ci  }
349c6d7c21Sopenharmony_ci
359c6d7c21Sopenharmony_ci  source_set("endpoint_source") {
369c6d7c21Sopenharmony_ci    sources = [
379c6d7c21Sopenharmony_ci      "source/client_factory.c",
389c6d7c21Sopenharmony_ci      "source/default_client_rpc.c",
399c6d7c21Sopenharmony_ci      "source/default_client_small_adapter.c",
409c6d7c21Sopenharmony_ci      "source/endpoint_rpc.c",
419c6d7c21Sopenharmony_ci      "source/samgr_small_ipc_adapter.c",
429c6d7c21Sopenharmony_ci      "source/token_bucket.c",
439c6d7c21Sopenharmony_ci    ]
449c6d7c21Sopenharmony_ci
459c6d7c21Sopenharmony_ci    cflags = [
469c6d7c21Sopenharmony_ci      "-fPIC",
479c6d7c21Sopenharmony_ci      "-Wall",
489c6d7c21Sopenharmony_ci    ]
499c6d7c21Sopenharmony_ci    cflags += [ "-Wno-int-conversion" ]
509c6d7c21Sopenharmony_ci
519c6d7c21Sopenharmony_ci    if (ohos_kernel_type == "linux") {
529c6d7c21Sopenharmony_ci      defines = [
539c6d7c21Sopenharmony_ci        "_GNU_SOURCE",
549c6d7c21Sopenharmony_ci        "LITE_LINUX_BINDER_IPC",
559c6d7c21Sopenharmony_ci      ]
569c6d7c21Sopenharmony_ci    }
579c6d7c21Sopenharmony_ci
589c6d7c21Sopenharmony_ci    configs += [ ":endpoint_internal" ]
599c6d7c21Sopenharmony_ci
609c6d7c21Sopenharmony_ci    public_configs = [ ":endpoint_public" ]
619c6d7c21Sopenharmony_ci
629c6d7c21Sopenharmony_ci    public_deps = [
639c6d7c21Sopenharmony_ci      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
649c6d7c21Sopenharmony_ci      "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single",
659c6d7c21Sopenharmony_ci      "//third_party/bounds_checking_function:libsec_shared",
669c6d7c21Sopenharmony_ci    ]
679c6d7c21Sopenharmony_ci  }
689c6d7c21Sopenharmony_ci
699c6d7c21Sopenharmony_ci  source_set("store_source") {
709c6d7c21Sopenharmony_ci    sources = [ "source/sa_store.c" ]
719c6d7c21Sopenharmony_ci
729c6d7c21Sopenharmony_ci    cflags = [
739c6d7c21Sopenharmony_ci      "-fPIC",
749c6d7c21Sopenharmony_ci      "-Wall",
759c6d7c21Sopenharmony_ci    ]
769c6d7c21Sopenharmony_ci
779c6d7c21Sopenharmony_ci    configs += [ ":endpoint_internal" ]
789c6d7c21Sopenharmony_ci
799c6d7c21Sopenharmony_ci    public_configs = [ ":endpoint_public" ]
809c6d7c21Sopenharmony_ci
819c6d7c21Sopenharmony_ci    public_deps = [
829c6d7c21Sopenharmony_ci      "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single",
839c6d7c21Sopenharmony_ci      "//third_party/bounds_checking_function:libsec_shared",
849c6d7c21Sopenharmony_ci    ]
859c6d7c21Sopenharmony_ci  }
869c6d7c21Sopenharmony_ci} else {
879c6d7c21Sopenharmony_ci  defines = [ "MINI_SAMGR_LITE_RPC" ]
889c6d7c21Sopenharmony_ci  config("endpoint_public") {
899c6d7c21Sopenharmony_ci    include_dirs = [
909c6d7c21Sopenharmony_ci      "../samgr/adapter",
919c6d7c21Sopenharmony_ci      "//commonlibrary/utils_lite/include",
929c6d7c21Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/samgr",
939c6d7c21Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry",
949c6d7c21Sopenharmony_ci      "//third_party/bounds_checking_function/include",
959c6d7c21Sopenharmony_ci      "//base/security/permission_lite/services/ipc_auth/include",
969c6d7c21Sopenharmony_ci    ]
979c6d7c21Sopenharmony_ci  }
989c6d7c21Sopenharmony_ci
999c6d7c21Sopenharmony_ci  config("endpoint_internal") {
1009c6d7c21Sopenharmony_ci    include_dirs = [
1019c6d7c21Sopenharmony_ci      "./source",
1029c6d7c21Sopenharmony_ci      "../samgr/registry",
1039c6d7c21Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/samgr_server/source",
1049c6d7c21Sopenharmony_ci      "//base/security/permission_lite/interfaces/innerkits",
1059c6d7c21Sopenharmony_ci      "//base/security/permission_lite/services/pms_base/include",
1069c6d7c21Sopenharmony_ci    ]
1079c6d7c21Sopenharmony_ci  }
1089c6d7c21Sopenharmony_ci
1099c6d7c21Sopenharmony_ci  source_set("endpoint_source") {
1109c6d7c21Sopenharmony_ci    sources = [
1119c6d7c21Sopenharmony_ci      "source/client_factory.c",
1129c6d7c21Sopenharmony_ci      "source/default_client_mini_adapter.c",
1139c6d7c21Sopenharmony_ci      "source/default_client_rpc.c",
1149c6d7c21Sopenharmony_ci      "source/endpoint_rpc.c",
1159c6d7c21Sopenharmony_ci      "source/samgr_mini_ipc_adapter.c",
1169c6d7c21Sopenharmony_ci      "source/token_bucket.c",
1179c6d7c21Sopenharmony_ci    ]
1189c6d7c21Sopenharmony_ci
1199c6d7c21Sopenharmony_ci    if (ohos_kernel_type == "linux") {
1209c6d7c21Sopenharmony_ci      defines = [
1219c6d7c21Sopenharmony_ci        "_GNU_SOURCE",
1229c6d7c21Sopenharmony_ci        "LITE_LINUX_BINDER_IPC",
1239c6d7c21Sopenharmony_ci      ]
1249c6d7c21Sopenharmony_ci    }
1259c6d7c21Sopenharmony_ci
1269c6d7c21Sopenharmony_ci    configs += [ ":endpoint_internal" ]
1279c6d7c21Sopenharmony_ci
1289c6d7c21Sopenharmony_ci    public_configs = [ ":endpoint_public" ]
1299c6d7c21Sopenharmony_ci
1309c6d7c21Sopenharmony_ci    public_deps = [
1319c6d7c21Sopenharmony_ci      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static",
1329c6d7c21Sopenharmony_ci      "//foundation/communication/ipc/interfaces/innerkits/c/dbinder:dbinder",
1339c6d7c21Sopenharmony_ci    ]
1349c6d7c21Sopenharmony_ci  }
1359c6d7c21Sopenharmony_ci
1369c6d7c21Sopenharmony_ci  source_set("store_source") {
1379c6d7c21Sopenharmony_ci    sources = [ "source/sa_store.c" ]
1389c6d7c21Sopenharmony_ci
1399c6d7c21Sopenharmony_ci    configs += [ ":endpoint_internal" ]
1409c6d7c21Sopenharmony_ci    public_configs = [ ":endpoint_public" ]
1419c6d7c21Sopenharmony_ci    public_deps = [
1429c6d7c21Sopenharmony_ci      "//foundation/communication/ipc/interfaces/innerkits/c/dbinder:dbinder",
1439c6d7c21Sopenharmony_ci    ]
1449c6d7c21Sopenharmony_ci  }
1459c6d7c21Sopenharmony_ci}
146