diff options
| author | CYFS <[email protected]> | 2026-06-10 17:13:05 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-07-09 17:29:51 +0800 |
| commit | dd7da0fd799dd34dd0db781dcfdab7c4b2dedf39 (patch) | |
| tree | 45ff82241e8c29b5c1ce205a7ada4142ced4ab11 /tools/mkdist.py | |
| parent | f12485a60e3019e2b2a97c1db6bd2c1456dded37 (diff) | |
bsp: support env shared package paths
Diffstat (limited to 'tools/mkdist.py')
| -rw-r--r-- | tools/mkdist.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/mkdist.py b/tools/mkdist.py index ddbbc3dc51..472f54a936 100644 --- a/tools/mkdist.py +++ b/tools/mkdist.py @@ -22,6 +22,7 @@ # 2017-10-04 Bernard The first version # 2025-01-07 ZhaoCake components copy and gen doc # 2025-03-02 ZhaoCake Add MkDist_Strip +# 2026-06-10 CYFS Copy shared hal-sdk package libraries for dist import os @@ -29,6 +30,8 @@ import subprocess import shutil from shutil import ignore_patterns from SCons.Script import * +from env_package import find_libraries_path_upward +from env_package import is_hal_sdk_package_bridge def do_copy_file(src, dst): # check source file @@ -164,6 +167,33 @@ def bsp_update_kconfig_library(dist_dir): line = line.replace('../libraries', 'libraries') f.write(line) +def bsp_copy_hal_sdk_package_libraries(bsp_root, dist_dir): + packages_dir = os.path.join(dist_dir, 'packages') + if not os.path.isdir(packages_dir): + return + + libraries_path = find_libraries_path_upward(bsp_root) + if not libraries_path: + return + + copied = False + for package_name in os.listdir(packages_dir): + package_path = os.path.join(packages_dir, package_name) + if not os.path.isdir(package_path): + continue + if not is_hal_sdk_package_bridge(package_path): + continue + + source_path = os.path.join(libraries_path, package_name) + if not os.path.isdir(source_path): + print('warning: hal-sdk package library not found: %s' % source_path) + continue + + if not copied: + print('=> hal-sdk package libraries') + copied = True + bsp_copy_files(source_path, os.path.join(dist_dir, 'libraries', package_name)) + def zip_dist(dist_dir, dist_name): import zipfile @@ -199,6 +229,8 @@ def MkDist(program, BSP_ROOT, RTT_ROOT, Env, project_name, project_path): dist_handle = Env['dist_handle'] dist_handle(BSP_ROOT, dist_dir) + bsp_copy_hal_sdk_package_libraries(BSP_ROOT, dist_dir) + # copy tools directory print('=> components') do_copy_folder(os.path.join(RTT_ROOT, 'components'), os.path.join(rtt_dir_path, 'components')) |
