• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021-2022 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
14if (defined(ohos_lite)) {
15  import("//build/lite/config/component/lite_component.gni")
16  import("//foundation/communication/dhcp/dhcp_lite.gni")
17} else {
18  import("//build/ohos.gni")
19  import("//foundation/communication/dhcp/dhcp.gni")
20}
21
22################################################################################
23local_base_include_dirs = [
24  "$DHCP_ROOT_DIR/interfaces",
25  "$DHCP_ROOT_DIR/interfaces/kits/c",
26  "$DHCP_ROOT_DIR/interfaces/inner_api",
27  "$DHCP_ROOT_DIR/interfaces/inner_api/include",
28  "$DHCP_ROOT_DIR/frameworks/native/include",
29  "$DHCP_ROOT_DIR/frameworks/native/interfaces",
30  "$DHCP_ROOT_DIR/frameworks/native/src",
31  "$DHCP_ROOT_DIR/services",
32  "$DHCP_ROOT_DIR/services/dhcp_client/include",
33  "$DHCP_ROOT_DIR/frameworks/native/c_adapter/inc",
34]
35if (defined(ohos_lite)) {
36  shared_library("dhcp_client") {
37    sources = [
38      "src/dhcp_client_callback_proxy_lite.cpp",
39      "src/dhcp_client_service_impl.cpp",
40      "src/dhcp_client_state_machine.cpp",
41      "src/dhcp_client_stub_lite.cpp",
42      "src/dhcp_function.cpp",
43      "src/dhcp_ipv6_client.cpp",
44      "src/dhcp_ipv6_event.cpp",
45      "src/dhcp_options.cpp",
46      "src/dhcp_result.cpp",
47      "src/dhcp_socket.cpp",
48    ]
49
50    include_dirs = local_base_include_dirs
51    include_dirs += [
52      "//base/hiviewdfx/hilog_lite/interfaces/native/innerkits",
53      "//third_party/bounds_checking_function/include",
54      "//foundation/systemabilitymgr/samgr_lite/interfaces/innerkits/registry",
55      "//foundation/systemabilitymgr/samgr_lite/interfaces/innerkits/samgr",
56    ]
57
58    deps = [
59      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
60      "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
61      "//third_party/bounds_checking_function:libsec_shared",
62    ]
63    defines = [
64      "_GNU_SOURCE",
65      "OHOS_ARCH_LITE",
66    ]
67  }
68} else {
69  local_base_sources = [
70    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_callback_proxy.cpp",
71    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_death_recipient.cpp",
72    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_service_impl.cpp",
73    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_state_machine.cpp",
74    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_stub.cpp",
75    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_function.cpp",
76    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_ipv6_client.cpp",
77    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_ipv6_event.cpp",
78    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_options.cpp",
79    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_result.cpp",
80    "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_socket.cpp",
81  ]
82  config("dhcp_manager_service_header") {
83    visibility = [ ":*" ]
84    include_dirs = local_base_include_dirs
85  }
86  ohos_shared_library("dhcp_client") {
87    sanitize = {
88      cfi = true
89      boundary_sanitize = true
90      cfi_cross_dso = true
91      debug = false
92    }
93    install_enable = true
94    sources = local_base_sources
95    include_dirs = local_base_include_dirs
96
97    external_deps = [
98      "access_token:libaccesstoken_sdk",
99      "access_token:libtokenid_sdk",
100      "c_utils:utils",
101      "hilog:libhilog",
102      "ipc:ipc_single",
103      "safwk:system_ability_fwk",
104      "samgr:samgr_proxy",
105    ]
106
107    cflags = [
108      "-std=c++17",
109      "-fno-rtti",
110    ]
111    ldflags = [
112      "-fPIC",
113      "-Wl,-E",
114    ]
115    shlib_type = "sa"
116    version_script = "libdhcp_client.map"
117    public_configs = [ ":dhcp_manager_service_header" ]
118    part_name = "dhcp"
119    subsystem_name = "communication"
120    innerapi_tags = [ "platformsdk" ]
121  }
122
123  ohos_shared_library("dhcp_updater_client") {
124    branch_protector_ret = "pac_ret"
125    sanitize = {
126      cfi = true
127      boundary_sanitize = true
128      cfi_cross_dso = true
129    }
130    install_enable = true
131    sources = [
132      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_service_impl.cpp",
133      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_state_machine.cpp",
134      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_client_stub_lite.cpp",
135      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_function.cpp",
136      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_ipv6_client.cpp",
137      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_ipv6_event.cpp",
138      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_options.cpp",
139      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_result.cpp",
140      "$DHCP_ROOT_DIR/services/dhcp_client/src/dhcp_socket.cpp",
141    ]
142    include_dirs = local_base_include_dirs
143    include_dirs += [
144      "//commonlibrary/c_utils/base/include",
145      "//third_party/bounds_checking_function/include",
146    ]
147
148    cflags_cc = [
149      "-std=c++17",
150      "-Wall",
151    ]
152
153    defines = [
154      "OHOS_ARCH_LITE",
155      "OHOS_EUPDATER",
156    ]
157
158    deps = [ "//third_party/bounds_checking_function:libsec_shared" ]
159
160    external_deps = [
161      "c_utils:utils",
162      "hilog:libhilog",
163    ]
164    ldflags = [
165      "-fPIC",
166      "-Wl,-E",
167    ]
168    install_images = [ "updater" ]
169    part_name = "dhcp"
170    subsystem_name = "communication"
171  }
172}
173