• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//foundation/communication/dsoftbus/core/adapter/core_adapter.gni")
15import(
16    "//foundation/communication/dsoftbus/core/authentication/authentication.gni")
17import(
18    "//foundation/communication/dsoftbus/core/bus_center/bus_center_server.gni")
19import(
20    "//foundation/communication/dsoftbus/core/common/security/permission/permission.gni")
21import("//foundation/communication/dsoftbus/core/connection/conn.gni")
22import("//foundation/communication/dsoftbus/core/discovery/disc.gni")
23import("//foundation/communication/dsoftbus/core/transmission/trans.gni")
24import("//foundation/communication/dsoftbus/dsoftbus.gni")
25
26dsoftbus_server_common_src =
27    auth_server_src + bus_center_server_src + conn_manager_src +
28    disc_server_src + trans_session_src + softbus_permission_src
29dsoftbus_server_common_inc =
30    auth_server_inc + bus_center_server_inc + conn_manager_inc +
31    disc_server_inc + trans_session_inc + softbus_permission_inc
32dsoftbus_server_common_deps =
33    auth_server_deps + bus_center_server_deps + conn_manager_deps +
34    disc_server_deps + trans_session_deps + softbus_permission_deps
35
36if (defined(ohos_lite)) {
37  copy("permission_json") {
38    sources = [ "$dsoftbus_core_path/common/security/permission/softbus_trans_permission.json" ]
39    outputs = [ "$root_out_dir/etc/softbus_trans_permission.json" ]
40  }
41  if (ohos_kernel_type == "liteos_m") {
42    static_library("softbus_server_frame") {
43      defines = AUTH_SERVER_DEFINES
44      include_dirs = dsoftbus_server_common_inc
45      include_dirs += [
46        "$dsoftbus_root_path/core/frame/common/include",
47        "$dsoftbus_root_path/interfaces/kits",
48        "$dsoftbus_root_path/interfaces/kits/bus_center",
49        "$dsoftbus_root_path/interfaces/kits/transport",
50        "$dsoftbus_root_path/interfaces/kits/common",
51        "$softbus_adapter_config/spec_config",
52        "//base/security/deviceauth/interfaces/innerkits",
53      ]
54      sources = dsoftbus_server_common_src
55      sources += [
56        "common/src/softbus_server_frame.c",
57        "mini/src/softbus_server_stub.c",
58      ]
59      cflags = [
60        "-Wall",
61        "-fPIC",
62        "-std=c99",
63      ]
64      cflags_cc = cflags
65      deps = dsoftbus_server_common_deps
66      deps += [
67        "$dsoftbus_root_path/adapter:softbus_adapter",
68        "$dsoftbus_root_path/core/common:softbus_utils",
69        "//build/lite/config/component/cJSON:cjson_static",
70      ]
71    }
72  } else {
73    shared_library("softbus_server_frame") {
74      defines = AUTH_SERVER_DEFINES
75      include_dirs = dsoftbus_server_common_inc
76      include_dirs += [
77        "common/include",
78        "small/init/include",
79        "small/client_manager/include",
80        "$softbus_adapter_common/include",
81        "$softbus_adapter_config/spec_config",
82        "$dsoftbus_root_path/interfaces/kits/transport",
83        "//base/security/deviceauth/interfaces/innerkits",
84        "//utils/native/lite/include",
85      ]
86      sources = dsoftbus_server_common_src
87      sources += [
88        "common/src/softbus_server_frame.c",
89        "small/client_manager/src/softbus_client_info_manager.c",
90        "small/init/src/bus_center_server_stub.c",
91        "small/init/src/disc_server_stub.c",
92        "small/init/src/softbus_server_stub.c",
93        "small/init/src/trans_server_stub.c",
94      ]
95
96      cflags = [
97        "-Wall",
98        "-fPIC",
99        "-fno-builtin",
100        "-std=c99",
101      ]
102      cflags_cc = cflags
103      deps = dsoftbus_server_common_deps
104      deps += [
105        ":permission_json",
106        "$dsoftbus_root_path/adapter:softbus_adapter",
107        "$dsoftbus_root_path/core/common:softbus_utils",
108        "//build/lite/config/component/cJSON:cjson_shared",
109        "//foundation/communication/ipc_lite:liteipc_adapter",
110        "//foundation/distributedschedule/samgr_lite/samgr:samgr",
111        "//third_party/bounds_checking_function:libsec_shared",
112      ]
113    }
114    executable("softbus_server") {
115      sources = [ "small/init/src/softbus_server_main.c" ]
116      include_dirs = [ "common/include" ]
117      deps = [ ":softbus_server_frame" ]
118      cflags = [ "-fPIC" ]
119    }
120  }
121} else {
122  ohos_prebuilt_etc("softbus_server.rc") {
123    relative_install_dir = "init"
124    if (use_musl) {
125      source = "$dsoftbus_root_path/core/frame/standard/init/src/softbus_server_musl.cfg"
126    } else {
127      source =
128          "$dsoftbus_root_path/core/frame/standard/init/src/softbus_server.cfg"
129    }
130
131    part_name = "dsoftbus_standard"
132    subsystem_name = "communication"
133  }
134  ohos_prebuilt_etc("softbus_permission_json") {
135    source = "$dsoftbus_root_path/core/common/security/permission/softbus_trans_permission.json"
136    install_enable = true
137    relative_install_dir = "communication/softbus"
138    part_name = "dsoftbus_standard"
139  }
140  ohos_shared_library("softbus_server") {
141    defines = AUTH_SERVER_DEFINES
142    include_dirs = dsoftbus_server_common_inc
143    include_dirs += [
144      "$dsoftbus_root_path/core/frame/common/include",
145      "$dsoftbus_root_path/core/frame/standard/client_manager/include",
146      "$dsoftbus_root_path/core/frame/standard/init/include",
147      "$dsoftbus_root_path/interfaces/kits/common",
148      "$dsoftbus_root_path/interfaces/kits/transport",
149      "$softbus_adapter_config/spec_config",
150      "$dsoftbus_root_path/core/common/include",
151    ]
152    sources = dsoftbus_server_common_src
153    sources += [
154      "$dsoftbus_root_path/sdk/frame/standard/src/if_softbus_client.cpp",
155      "common/src/softbus_server_frame.c",
156      "standard/client_manager/src/softbus_client_info_manager.cpp",
157      "standard/init/src/if_softbus_server.cpp",
158      "standard/init/src/softbus_server.cpp",
159      "standard/init/src/softbus_server_death_recipient.cpp",
160      "standard/init/src/softbus_server_stub.cpp",
161    ]
162    deps = dsoftbus_server_common_deps
163    deps += [
164      ":softbus_permission_json",
165      ":softbus_server.rc",
166      "$dsoftbus_root_path/adapter:softbus_adapter",
167      "$dsoftbus_root_path/core/common:softbus_utils",
168      "//third_party/cJSON:cjson_static",
169      "//utils/native/base:utils",
170    ]
171    if (is_standard_system) {
172      external_deps = bus_center_server_external_deps
173      external_deps += [
174        "deviceauth_standard:deviceauth_sdk",
175        "hiviewdfx_hilog_native:libhilog",
176        "ipc:ipc_core",
177        "safwk:system_ability_fwk",
178        "samgr_standard:samgr_proxy",
179      ]
180    }
181
182    part_name = "dsoftbus_standard"
183    subsystem_name = "communication"
184  }
185}
186