15f9996aaSopenharmony_ci#
25f9996aaSopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd.
35f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
45f9996aaSopenharmony_ci# you may not use this file except in compliance with the License.
55f9996aaSopenharmony_ci# You may obtain a copy of the License at
65f9996aaSopenharmony_ci#
75f9996aaSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
85f9996aaSopenharmony_ci#
95f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
105f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
115f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125f9996aaSopenharmony_ci# See the License for the specific language governing permissions and
135f9996aaSopenharmony_ci# limitations under the License.
145f9996aaSopenharmony_ci#
155f9996aaSopenharmony_ci
165f9996aaSopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
175f9996aaSopenharmony_ciimport("//build/lite/ndk/ndk.gni")
185f9996aaSopenharmony_ci
195f9996aaSopenharmony_ciconfig("cjson_config") {
205f9996aaSopenharmony_ci  include_dirs = [ "//third_party/cJSON" ]
215f9996aaSopenharmony_ci  ldflags = [ "-lm" ]
225f9996aaSopenharmony_ci  defines = [ "CJSON_NESTING_LIMIT=(128)" ]
235f9996aaSopenharmony_ci  if (board_toolchain_type == "iccarm") {
245f9996aaSopenharmony_ci    cflags = [
255f9996aaSopenharmony_ci      "--diag_suppress",
265f9996aaSopenharmony_ci      "Pa084",
275f9996aaSopenharmony_ci    ]
285f9996aaSopenharmony_ci  }
295f9996aaSopenharmony_ci}
305f9996aaSopenharmony_ci
315f9996aaSopenharmony_cicjson_sources = [
325f9996aaSopenharmony_ci  "//third_party/cJSON/cJSON.c",
335f9996aaSopenharmony_ci  "//third_party/cJSON/cJSON_Utils.c",
345f9996aaSopenharmony_ci]
355f9996aaSopenharmony_ci
365f9996aaSopenharmony_cilite_library("cjson_static") {
375f9996aaSopenharmony_ci  target_type = "static_library"
385f9996aaSopenharmony_ci  sources = cjson_sources
395f9996aaSopenharmony_ci  public_configs = [ ":cjson_config" ]
405f9996aaSopenharmony_ci}
415f9996aaSopenharmony_ci
425f9996aaSopenharmony_cilite_library("cjson_shared") {
435f9996aaSopenharmony_ci  target_type = "shared_library"
445f9996aaSopenharmony_ci  sources = cjson_sources
455f9996aaSopenharmony_ci  public_configs = [ ":cjson_config" ]
465f9996aaSopenharmony_ci}
475f9996aaSopenharmony_ci
485f9996aaSopenharmony_cindk_lib("cjson_ndk") {
495f9996aaSopenharmony_ci  if (board_name != "hispark_pegasus") {
505f9996aaSopenharmony_ci    lib_extension = ".so"
515f9996aaSopenharmony_ci    deps = [ ":cjson_shared" ]
525f9996aaSopenharmony_ci  } else {
535f9996aaSopenharmony_ci    deps = [ ":cjson_static" ]
545f9996aaSopenharmony_ci  }
555f9996aaSopenharmony_ci  head_files = [
565f9996aaSopenharmony_ci    "//third_party/cJSON/cJSON.h",
575f9996aaSopenharmony_ci    "//third_party/cJSON/cJSON_Utils.h",
585f9996aaSopenharmony_ci  ]
595f9996aaSopenharmony_ci}
60