1# Copyright (c) 2020-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.
13import("//build/lite/config/component/lite_component.gni")
14import("//build/lite/ndk/ndk.gni")
15import("//foundation/multimedia/media_lite/config.gni")
16import("//foundation/multimedia/media_utils_lite/config.gni")
17
18executable("media_server") {
19  ldflags = [ "-Wl,-Map=media_server.map" ]
20  sources = [ "media_main.cpp" ]
21  cflags = [ "-Wall" ]
22
23  defines = []
24  if (enable_media_passthrough_mode == true) {
25    defines += [ "ENABLE_PASSTHROUGH_MODE" ]
26  }
27
28  if (enable_multimedia_camera_lite == true) {
29    defines += [ "SUPPORT_CAMERA_LITE" ]
30  }
31
32  cflags_cc = cflags
33  include_dirs = [
34    "//third_party/bounds_checking_function/include",
35    "//drivers/peripheral/display/interfaces/include",
36    "//foundation/multimedia/media_lite/interfaces/innerkits",
37    "//foundation/multimedia/camera_lite/services/server/include",
38    "//foundation/multimedia/camera_lite/services/impl/include",
39    "//foundation/multimedia/media_utils_lite/interfaces/kits",
40    "//foundation/multimedia/media_utils_lite/hals",
41    "//foundation/multimedia/audio_lite/interfaces/kits",
42    "//foundation/multimedia/media_lite/services/recorder_lite",
43    "//foundation/multimedia/media_lite/services/player_lite",
44    "//foundation/multimedia/audio_lite/services/impl",
45    "//foundation/multimedia/audio_lite/services/server/include",
46    "//foundation/multimedia/media_lite/services/recorder_lite/impl/include",
47    "//foundation/multimedia/media_lite/services/recorder_lite/server/include",
48  ]
49  ldflags += [
50    "-lstdc++",
51    "-lcodec",
52    "-laudio_hw",
53    "-lformat_hw",
54    "-lhdi_camera",
55    "-lhdi_videodisplayer",
56    "-lpthread",
57    "-Wl,-rpath-link=$ohos_root_path/$root_out_dir",
58  ]
59  deps = [
60    "//foundation/multimedia/camera_lite/services:camera_server",
61    "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
62  ]
63  if (enable_media_passthrough_mode == false) {
64    deps += [
65      "//foundation/multimedia/audio_lite/services:audio_capturer_impl",
66      "//foundation/multimedia/audio_lite/services:audio_capturer_server",
67      "//foundation/multimedia/media_lite/services/player_lite:player_server",
68      "//foundation/multimedia/media_lite/services/recorder_lite:recorder_server",
69    ]
70  }
71}
72
73#copy("camera_config") {
74#  if (board_name == "hi3516dv300" || board_name == "hispark_taurus") {
75#    sources = [ "cameradev_imx335_5M.ini" ]
76#  } else if ((board_name == "hi3518ev300" || board_name == "hispark_aries") &&
77#             ohos_build_compiler == "clang") {
78#    sources = [ "cameradev_jxf23.ini" ]
79#  } else {
80#    sources = [ "cameradev_imx307.ini" ]
81#  }
82#  outputs = [ "$root_out_dir/data/cameradev00.ini" ]
83#}
84#if (board_name == "hi3516dv300" || board_name == "hispark_taurus") {
85#  copy("camera_config01") {
86#    sources = [ "cameradev_imx335_4M.ini" ]
87#    outputs = [ "$root_out_dir/data/cameradev01.ini" ]
88#  }
89#}
90lite_component("media_lite") {
91  features = [
92    ":media_server",
93    "//foundation/multimedia/media_utils_lite:media_common",
94    "//foundation/multimedia/camera_lite/frameworks:camera_lite",
95    "//foundation/multimedia/media_lite/frameworks/player_lite:player_lite",
96    "//foundation/multimedia/media_lite/frameworks/recorder_lite:recorder_lite",
97    "//foundation/multimedia/media_lite/services/player_lite:player_server",
98    "//foundation/multimedia/audio_lite/frameworks:audio_capturer_lite",
99  ]
100}
101
102ndk_lib("media_ndk") {
103  lib_extension = ".so"
104  deps = [
105    "//foundation/multimedia/audio_lite/frameworks:audio_capturer_lite",
106    "//foundation/multimedia/camera_lite/frameworks:camera_lite",
107    "//foundation/multimedia/media_lite/frameworks/player_lite:player_lite",
108    "//foundation/multimedia/media_lite/frameworks/recorder_lite:recorder_lite",
109    "//foundation/multimedia/media_utils_lite:media_common",
110  ]
111  head_files = [
112    "//foundation/multimedia/media_utils_lite/interfaces/kits",
113    "//foundation/multimedia/camera_lite/interfaces/kits",
114    "//foundation/multimedia/audio_lite/interfaces/kits",
115    "//foundation/multimedia/media_lite/interfaces/kits/player_lite",
116    "//foundation/multimedia/media_lite/interfaces/kits/recorder_lite",
117    "//foundation/multimedia/audio_lite/interfaces/kits/audio_capturer_lite",
118  ]
119}
120