1# Copyright (c) 2023, Huawei Device Co., Ltd. All rights reserved. 2# 3# Redistribution and use in source and binary forms, with or without modification, 4# are permitted provided that the following conditions are met: 5# 6# 1. Redistributions of source code must retain the above copyright notice, this list of 7# conditions and the following disclaimer. 8# 9# 2. Redistributions in binary form must reproduce the above copyright notice, this list 10# of conditions and the following disclaimer in the documentation and/or other materials 11# provided with the distribution. 12# 13# 3. Neither the name of the copyright holder nor the names of its contributors may be used 14# to endorse or promote products derived from this software without specific prior written 15# permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 19# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 23# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 24# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 27# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 29import("./../hdf.gni") 30 31HDF_FRAMEWORKS_PATH = "./../../../../framework" 32 33module_switch = defined(DRIVERS_HDF) 34hdf_driver("hdf_core") { 35 sources = [ 36 "$HDF_FRAMEWORKS_PATH/core/host/src/devhost_service.c", 37 "$HDF_FRAMEWORKS_PATH/core/host/src/devmgr_service_clnt.c", 38 "$HDF_FRAMEWORKS_PATH/core/host/src/devsvc_manager_clnt.c", 39 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_device.c", 40 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_device_node.c", 41 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_device_object.c", 42 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_device_token.c", 43 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_driver_loader.c", 44 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_observer_record.c", 45 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_service_observer.c", 46 "$HDF_FRAMEWORKS_PATH/core/host/src/hdf_service_subscriber.c", 47 "$HDF_FRAMEWORKS_PATH/core/host/src/power_state_token.c", 48 "$HDF_FRAMEWORKS_PATH/core/manager/src/devhost_service_clnt.c", 49 "$HDF_FRAMEWORKS_PATH/core/manager/src/device_token_clnt.c", 50 "$HDF_FRAMEWORKS_PATH/core/manager/src/devmgr_service.c", 51 "$HDF_FRAMEWORKS_PATH/core/manager/src/devsvc_manager.c", 52 "$HDF_FRAMEWORKS_PATH/core/manager/src/driver_manager.c", 53 "$HDF_FRAMEWORKS_PATH/core/manager/src/hdf_driver_installer.c", 54 "$HDF_FRAMEWORKS_PATH/core/manager/src/hdf_host_info.c", 55 "$HDF_FRAMEWORKS_PATH/core/manager/src/power_state_token_clnt.c", 56 "$HDF_FRAMEWORKS_PATH/core/shared/src/hdf_device_info.c", 57 "$HDF_FRAMEWORKS_PATH/core/shared/src/hdf_object_manager.c", 58 "$HDF_FRAMEWORKS_PATH/core/shared/src/hdf_service_record.c", 59 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_cstring.c", 60 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_map.c", 61 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_sbuf.c", 62 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_sbuf_impl_raw.c", 63 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_slist.c", 64 "$HDF_FRAMEWORKS_PATH/utils/src/hdf_sref.c", 65 "common/src/devmgr_service_start.c", 66 "common/src/devsmall_object_config.c", 67 "common/src/hdf_device_node_ext.c", 68 ] 69 if (defined(LOSCFG_DRIVERS_HDF_CONFIG_MACRO)) { 70 sources += [ "$HDF_FRAMEWORKS_PATH/core/common/src/hdf_attribute_macro.c" ] 71 } else { 72 sources += [ 73 "$HDF_FRAMEWORKS_PATH/core/common/src/buildin_config_entry.c", 74 "$HDF_FRAMEWORKS_PATH/core/common/src/hdf_attribute.c", 75 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/device_resource_if.c", 76 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/hcs_blob_if.c", 77 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/hcs_buildin_parser.c", 78 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/hcs_generate_tree.c", 79 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/hcs_parser.c", 80 "$HDF_FRAMEWORKS_PATH/utils/src/hcs_parser/hcs_tree_if.c", 81 ] 82 } 83 if (defined(LOSCFG_DRIVERS_HDF_CONFIG_MACRO)) { 84 HDF_HCS_BUILD_PATH = 85 rebase_path("//device/soc/st/stm32f407zg/uniproton/board/hdf_config") 86 cmd = "if [ -f ${HDF_HCS_BUILD_PATH}/BUILD.gn ]; then echo true; else echo false; fi" 87 HAVE_HCS_BUILD_PATH = 88 exec_script("//build/lite/run_shell_cmd.py", [ cmd ], "value") 89 if (HAVE_HCS_BUILD_PATH) { 90 deps = [ "${HDF_HCS_BUILD_PATH}" ] 91 } 92 } 93} 94