# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos_var.gni") # ndk library, ndk header configuration _ndk_library_targets = [ "//interface/sdk_c/sensors/miscdevice/vibrator:lib_vibrator_ndk", "//interface/sdk_c/sensors/miscdevice/vibrator:ndk_vibrator_header", "//interface/sdk_c/third_party/zlib:libz_ndk", "//interface/sdk_c/third_party/zlib:zlib_header", "//interface/sdk_c/global/resource_management:librawfile_ndk", "//interface/sdk_c/global/resource_management:rawfile_header", "//interface/sdk_c/global/resource_management:native_resmgr_ndk", "//interface/sdk_c/global/resource_management:native_resmgr_header", "//interface/sdk_c/hiviewdfx/hiappevent:libhiappevent_header", "//interface/sdk_c/hiviewdfx/hiappevent:libhiappevent_ndk", "//interface/sdk_c/hiviewdfx/hidebug:libohhidebug", "//interface/sdk_c/hiviewdfx/hidebug:oh_hidebug_header", "//interface/sdk_c/hiviewdfx/hicollie:libohhicollie", "//interface/sdk_c/hiviewdfx/hicollie:oh_hicollie_header", "//interface/sdk_c/hiviewdfx/hilog:hilog_header", "//interface/sdk_c/hiviewdfx/hilog:libhilog_ndk", "//interface/sdk_c/hiviewdfx/hitrace:hitrace_header", "//interface/sdk_c/hiviewdfx/hitrace:libhitrace_ndk", "//interface/sdk_c/network/netstack/net_websocket:libnet_websocket", "//interface/sdk_c/network/netstack/net_websocket:websocket_header", "//interface/sdk_c/network/netssl:libnet_ssl_ndk", "//interface/sdk_c/network/netssl:net_ssl_header", "//interface/sdk_c/security/access_token:libability_access_control", "//interface/sdk_c/security/access_token:accesstoken_header", "//interface/sdk_c/security/huks:libhuks_ndk", "//interface/sdk_c/security/huks:huks_header", "//interface/sdk_c/security/asset:libasset_ndk", "//interface/sdk_c/security/asset:asset_header", "//interface/sdk_c/startup/init/syscap:libdeviceinfo_ndk", "//interface/sdk_c/startup/init/syscap:deviceinfo_header", "//interface/sdk_c/third_party/mindspore/kits:mindspore_header", "//interface/sdk_c/third_party/mindspore/kits:mindspore_lib", "//interface/sdk_c/web/webview/interfaces/native:web_header", "//interface/sdk_c/web/webview/interfaces/native:libohweb", "//interface/sdk_c/BasicServicesKit:libos_account_ndk", "//interface/sdk_c/BasicServicesKit:os_account_ndk_header", "//interface/sdk_c/ability/ability_runtime/child_process:child_process_header", "//interface/sdk_c/ability/ability_runtime/child_process:libchild_process", "//interface/sdk_c/AbilityKit/ability_runtime:ability_runtime_ndk_header", "//interface/sdk_c/AbilityKit/ability_runtime:libability_runtime", "//interface/sdk_c/arkui/ace_engine/native:ace_header", "//interface/sdk_c/arkui/ace_engine/native:arkui_header", "//interface/sdk_c/arkui/ace_engine/native:libace_ndk", "//interface/sdk_c/arkui/napi:libnapi_ndk", "//interface/sdk_c/arkui/napi:napi_header", "//interface/sdk_c/arkui/window_manager:window_manager_header", "//interface/sdk_c/arkui/window_manager:native_window_manager", "//interface/sdk_c/arkui/display_manager:display_manager_header", "//interface/sdk_c/arkui/display_manager:native_display_manager", "//interface/sdk_c/ark_runtime/jsvm:libjsvm_ndk", "//interface/sdk_c/ark_runtime/jsvm:jsvm_header", "//interface/sdk_c/bundlemanager/bundle_framework/bundle:bundle_header", "//interface/sdk_c/bundlemanager/bundle_framework/bundle:libbundle_ndk", "//interface/sdk_c/third_party/node:node_header", "//interface/sdk_c/graphic/graphic_2d/EGL:libEGL_ndk", "//interface/sdk_c/graphic/graphic_2d/EGL:EGL_header", "//interface/sdk_c/graphic/graphic_2d/GLES2:libGLESv2_ndk", "//interface/sdk_c/graphic/graphic_2d/GLES2:GLES2_header", "//interface/sdk_c/graphic/graphic_2d/GLES3:libGLESv3_ndk", "//interface/sdk_c/graphic/graphic_2d/GLES3:GLES3_header", "//interface/sdk_c/graphic/graphic_2d/KHR:KHR_header", "//interface/sdk_c/graphic/graphic_2d/native_window:libnative_window_ndk", "//interface/sdk_c/graphic/graphic_2d/native_window:native_window_header", "//interface/sdk_c/graphic/graphic_2d/native_buffer:libnative_buffer_ndk", "//interface/sdk_c/graphic/graphic_2d/native_buffer:native_buffer_header", "//interface/sdk_c/graphic/graphic_2d/native_image:libnative_image_ndk", "//interface/sdk_c/graphic/graphic_2d/native_image:native_image_header", "//interface/sdk_c/graphic/graphic_2d/native_vsync:libnative_vsync_ndk", "//interface/sdk_c/graphic/graphic_2d/native_vsync:native_vsync_header", "//interface/sdk_c/graphic/graphic_2d/native_color_space_manager:libnative_color_space_manager_ndk", "//interface/sdk_c/graphic/graphic_2d/native_color_space_manager:native_color_space_manager_header", "//interface/sdk_c/graphic/graphic_2d/native_drawing:libnative_drawing_ndk", "//interface/sdk_c/graphic/graphic_2d/native_drawing:native_drawing_header", "//interface/sdk_c/graphic/graphic_2d/native_effect:libnative_effect_ndk", "//interface/sdk_c/graphic/graphic_2d/native_effect:native_effect_header", "//interface/sdk_c/IPCKit:libipc_capi", "//interface/sdk_c/IPCKit:ipc_capi_header", "//interface/sdk_c/LocationKit:liblocation_ndk", "//interface/sdk_c/LocationKit:location_ndk_header", "//interface/sdk_c/NotificationKit:libnotification_ndk", "//interface/sdk_c/NotificationKit:ohnotification_header", "//interface/sdk_c/ConnectivityKit/bluetooth:libbluetooth_ndk", "//interface/sdk_c/ConnectivityKit/bluetooth:bluetooth_ndk_header", "//interface/sdk_c/third_party/libuv:libuv_ndk", "//interface/sdk_c/third_party/libuv:libuv_header", "//interface/sdk_c/third_party/libuv:libuv_uv_header", "//interface/sdk_c/third_party/icu4c:libicu_ndk", "//interface/sdk_c/third_party/icu4c:icu_unicode_header", "//interface/sdk_c/multimedia/av_codec/audio_decoder:libnative_media_adec", "//interface/sdk_c/multimedia/av_codec/audio_decoder:native_media_adec_header", "//interface/sdk_c/multimedia/av_codec/audio_encoder:libnative_media_aenc", "//interface/sdk_c/multimedia/av_codec/audio_encoder:native_media_aenc_header", "//interface/sdk_c/multimedia/av_codec/audio_codec:libnative_media_acodec", "//interface/sdk_c/multimedia/av_codec/audio_codec:native_media_acodec_header", "//interface/sdk_c/multimedia/av_codec/video_decoder:libnative_media_vdec", "//interface/sdk_c/multimedia/av_codec/video_decoder:native_media_vdec_header", "//interface/sdk_c/multimedia/av_codec/video_encoder:libnative_media_venc", "//interface/sdk_c/multimedia/av_codec/video_encoder:native_media_venc_header", "//interface/sdk_c/multimedia/av_codec/codec_base:libnative_media_codecbase", "//interface/sdk_c/multimedia/av_codec/codec_base:native_media_codecbase_header", "//interface/sdk_c/multimedia/av_codec/avmuxer:libnative_media_avmuxer", "//interface/sdk_c/multimedia/av_codec/avmuxer:native_media_avmuxer_header", "//interface/sdk_c/multimedia/av_codec/avdemuxer:libnative_media_avdemuxer", "//interface/sdk_c/multimedia/av_codec/avdemuxer:native_media_avdemuxer_header", "//interface/sdk_c/multimedia/av_codec/avsource:libnative_media_avsource", "//interface/sdk_c/multimedia/av_codec/avsource:native_media_avsource_header", "//interface/sdk_c/multimedia/av_codec/avcencinfo:libnative_media_avcencinfo", "//interface/sdk_c/multimedia/av_codec/avcencinfo:native_media_avcencinfo_header", "//interface/sdk_c/multimedia/drm_framework:libnative_drm", "//interface/sdk_c/multimedia/drm_framework:native_drm_header", "//interface/sdk_c/multimedia/media_foundation/core:native_media_core_header", "//interface/sdk_c/multimedia/media_foundation/core:native_media_core_common_header", "//interface/sdk_c/multimedia/media_foundation/core:libnative_media_core", "//interface/sdk_c/multimedia/media_library/media_asset_manager:libmedia_asset_manager", "//interface/sdk_c/multimedia/media_library/media_asset_manager:media_asset_manager_header", "//interface/sdk_c/multimedia/player_framework/avscreen_capture:libnative_avscreen_capture", "//interface/sdk_c/multimedia/player_framework/avscreen_capture:native_avscreen_capture_header", "//interface/sdk_c/multimedia/player_framework/avplayer:libavplayer", "//interface/sdk_c/multimedia/player_framework/avplayer:avplayer_header", "//interface/sdk_c/multimedia/audio_framework:libohaudio_ndk", "//interface/sdk_c/multimedia/audio_framework:ohaudio_header", "//interface/sdk_c/multimedia/av_session:libohavsession_ndk", "//interface/sdk_c/multimedia/av_session:ohavsession_header", "//interface/sdk_c/multimedia/camera_framework:libohcamera", "//interface/sdk_c/multimedia/camera_framework:camera_ndk_header", "//interface/sdk_c/multimedia/image_framework:libpixelmap_ndk", "//interface/sdk_c/multimedia/image_framework:libpixelmap", "//interface/sdk_c/multimedia/image_framework:libpixelmap_header", "//interface/sdk_c/multimedia/image_framework:image_header", "//interface/sdk_c/multimedia/image_framework:libimage_ndk", "//interface/sdk_c/multimedia/image_framework:image_ndk_header", "//interface/sdk_c/multimedia/image_framework:libimage_receiver_ndk", "//interface/sdk_c/multimedia/image_framework:image_receiver_ndk_header", "//interface/sdk_c/multimedia/image_framework:libimage_source_ndk", "//interface/sdk_c/multimedia/image_framework:image_source_ndk_header", "//interface/sdk_c/multimedia/image_framework:libimage_source", "//interface/sdk_c/multimedia/image_framework:libimage_source_header", "//interface/sdk_c/multimedia/image_framework:libimage_packer_ndk", "//interface/sdk_c/multimedia/image_framework:image_packer_ndk_header", "//interface/sdk_c/multimedia/image_framework:libimage_packer", "//interface/sdk_c/multimedia/image_framework:libimage_packer_header", "//interface/sdk_c/multimedia/image_framework:libpicture", "//interface/sdk_c/multimedia/image_framework:libpicture_header", "//interface/sdk_c/multimedia/image_framework:libimage_common", "//interface/sdk_c/multimedia/image_framework:libimage_common_header", "//interface/sdk_c/multimedia/image_effect:libimage_effect", "//interface/sdk_c/multimedia/image_effect:libimage_effect_header", "//interface/sdk_c/multimedia/video_processing_engine/video_processing:libvideo_processing_ndk", "//interface/sdk_c/multimedia/video_processing_engine/video_processing:video_processing_ndk_headers", "//interface/sdk_c/multimedia/video_processing_engine/image_processing:libimage_processing_ndk", "//interface/sdk_c/multimedia/video_processing_engine/image_processing:image_processing_ndk_headers", "//interface/sdk_c/third_party/openSLES:sles_header", "//interface/sdk_c/third_party/openSLES:libOpenSLES_ndk", "//interface/sdk_c/ai/neural_network_runtime:libneural_network_core_ndk", "//interface/sdk_c/ai/neural_network_runtime:libneural_network_runtime_ndk", "//interface/sdk_c/ai/neural_network_runtime:libneural_network_runtime_header", "//interface/sdk_c/commonlibrary/memory_utils/libpurgeablemem:libpurgeable_memory_ndk", "//interface/sdk_c/commonlibrary/memory_utils/libpurgeablemem:purgeable_memory_header", "//interface/sdk_c/distributeddatamgr/relational_store:data_ndk_header", "//interface/sdk_c/distributeddatamgr/relational_store:native_rdb_ndk_header", "//interface/sdk_c/distributeddatamgr/relational_store:libnative_rdb_ndk", "//interface/sdk_c/distributeddatamgr/udmf:libudmf", "//interface/sdk_c/distributeddatamgr/udmf:udmf_ndk_header", "//interface/sdk_c/distributeddatamgr/pasteboard:libpasteboard", "//interface/sdk_c/distributeddatamgr/pasteboard:pasteboard_ndk_header", "//interface/sdk_c/distributeddatamgr/preferences:preferences_ndk_header", "//interface/sdk_c/distributeddatamgr/preferences:libohpreferences", "//interface/sdk_c/drivers/external_device_manager/usb:libusb_ndk", "//interface/sdk_c/drivers/external_device_manager/usb:usb_header", "//interface/sdk_c/drivers/external_device_manager/hid:libhid", "//interface/sdk_c/drivers/external_device_manager/hid:hid_header", "//interface/sdk_c/drivers/external_device_manager/base:libddk_base", "//interface/sdk_c/drivers/external_device_manager/base:ddk_header", "//interface/sdk_c/graphic/graphic_2d/vulkan:libvulkan_ndk", "//interface/sdk_c/graphic/graphic_2d/vulkan:vulkan_header", "//interface/sdk_c/graphic/graphic_2d/vulkan:vulkan_header_vk_video", "//interface/sdk_c/resourceschedule/ffrt:libffrt_ndk", "//interface/sdk_c/resourceschedule/ffrt:ffrt_header", "//interface/sdk_c/network/netmanager:libnet_connection", "//interface/sdk_c/network/netmanager:netconn_header", "//interface/sdk_c/sensors/sensor:libsensor_ndk", "//interface/sdk_c/sensors/sensor:sensor_ndk_header", "//interface/sdk_c/resourceschedule/qos_manager:libqos_ndk", "//interface/sdk_c/resourceschedule/qos_manager:qos_header", "//interface/sdk_c/filemanagement/fileio:libohfileio", "//interface/sdk_c/filemanagement/fileio:oh_fileio_header", "//interface/sdk_c/filemanagement/environment:libohenvironment", "//interface/sdk_c/filemanagement/environment:oh_environment_header", "//interface/sdk_c/filemanagement/file_uri:libohfileuri", "//interface/sdk_c/filemanagement/file_uri:oh_file_uri_header", "//interface/sdk_c/filemanagement/fileshare:libohfileshare", "//interface/sdk_c/filemanagement/fileshare:oh_file_share_header", "//interface/sdk_c/multimodalinput/kits/c:libohinput_ndk", "//interface/sdk_c/multimodalinput/kits/c:ohinput_header", "//interface/sdk_c/BasicServicesKit:libohprint_ndk", "//interface/sdk_c/BasicServicesKit:ohprint_header", "//interface/sdk_c/multimedia/image_framework:libohimage", "//interface/sdk_c/multimedia/image_framework:ohimage_header", "//interface/sdk_c/multimedia/image_framework:libimage_receiver", "//interface/sdk_c/multimedia/image_framework:image_receiver_header", "//interface/sdk_c/graphic/graphic_2d/native_display_soloist:libnative_display_soloist_ndk", "//interface/sdk_c/graphic/graphic_2d/native_display_soloist:native_display_soloist_header", "//interface/sdk_c/third_party/musl/ndk_script:copy_compatible_config", "//interface/sdk_c/CryptoArchitectureKit:libohcrypto", "//interface/sdk_c/CryptoArchitectureKit:crypto_capi_header", "//interface/sdk_c/BasicServicesKit:libohscan_ndk", "//interface/sdk_c/BasicServicesKit:ohscan_header", "//interface/sdk_c/BasicServicesKit:libtime_service_ndk", "//interface/sdk_c/BasicServicesKit:time_service_ndk_header", "//interface/sdk_c/BasicServicesKit:libcommonevent_ndk", "//interface/sdk_c/BasicServicesKit:ohcommonevent_header", "//interface/sdk_c/DataProtectionKit:libohdlp_permission", "//interface/sdk_c/DataProtectionKit:dlppermission_capi_header", "//interface/sdk_c/inputmethod:libohinputmethod", "//interface/sdk_c/inputmethod:libohinputmethod_header", "//interface/sdk_c/backgroundtasks/transient:libtransient_task_ndk", "//interface/sdk_c/backgroundtasks/transient:transient_task_header", "//interface/sdk_c/BasicServicesKit:ohbattery_info_header", "//interface/sdk_c/BasicServicesKit:libohbattery_info_ndk", "//interface/sdk_c/telephony/cellular_data:libtelephony_data", "//interface/sdk_c/telephony/cellular_data:telephony_data_header", "//interface/sdk_c/telephony/core_service:libtelephony_radio", "//interface/sdk_c/telephony/core_service:telephony_radio_header", "//interface/sdk_c/ConnectivityKit/wifi:libwifi_ndk", "//interface/sdk_c/ConnectivityKit/wifi:wifi_ndk_header", ] _ndk_base_libs = [ "//interface/sdk_c/third_party/musl/ndk_script/adapter:libc_ndk", "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_arm32", "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_aarch64", "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_x86_64", "//interface/sdk_c/third_party/musl/ndk_script:ndk_toolchain", ] _ndk_sysroot_uapi = [ "//interface/sdk_c/third_party/musl/ndk_script:musl_sysroot" ] _ndk_cmake = [ "//prebuilts/cmake/darwin-universal:darwin_cmake_copy", "//prebuilts/cmake/linux-x86:linux_cmake_copy", "//prebuilts/cmake/windows-x86:windows_cmake_copy", "//prebuilts/cmake/ohos:ohos_cmake_copy", "//build/ohos/ndk:ndk_cmake_files", ] if (host_os == "mac") { _ndk_cmake += [ "//build/ohos/ndk:copy_darwin_ohos_cmake" ] } else { _ndk_cmake += [ "//build/ohos/ndk:copy_linux_ohos_cmake", "//build/ohos/ndk:copy_windows_ohos_cmake", "//build/ohos/ndk:copy_ohos_ohos_cmake", ] } _ndk_ninja = [] if (host_os == "mac") { _ndk_ninja += [ "//prebuilts/build-tools/darwin-x86/bin:darwin_ninja_copy" ] } else { _ndk_ninja += [ "//prebuilts/build-tools/linux-x86/bin:linux_ninja_copy", "//prebuilts/build-tools/windows-x86/bin:windows_ninja_copy", "//prebuilts/build-tools/ohos/bin:ohos_ninja_copy", ] } _ndk_targets_list = _ndk_library_targets + _ndk_base_libs + _ndk_sysroot_uapi + _ndk_cmake + _ndk_ninja _parse_script = "//build/ohos/ndk/parse_ndk_targets.py" _parse_args = [ "--source-root-dir", rebase_path("//", root_build_dir), "--ndk-lib-target-list", ] _parse_args += _ndk_targets_list all_ndk_targets_list = exec_script(_parse_script, _parse_args, "list lines") if (ndk_platform == "win") { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:windows_x86_64" ] } else if (ndk_platform == "mac") { if (host_cpu == "arm64") { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_arm64" ] } else { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_x86_64" ] } } else if (ndk_platform == "linux") { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64" ] } else if (ndk_platform == "ohos") { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:ohos_arm64" ] } else if (ndk_platform == "default") { if (host_os == "mac") { if (host_cpu == "arm64") { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_arm64" ] } else { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_x86_64" ] } } else { all_ndk_targets_list += [ "//interface/sdk_c/third_party/musl/ndk_script:windows_x86_64", "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64", "//interface/sdk_c/third_party/musl/ndk_script:ohos_arm64", ] } }