diff --git a/0004-feat-for-embedded-check-clang-path.patch b/0004-feat-for-embedded-check-clang-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..84210fa3f114319c9cbf6fe3459ec44888234db4 --- /dev/null +++ b/0004-feat-for-embedded-check-clang-path.patch @@ -0,0 +1,57 @@ +From 654f79ad11d2e4930312cd5f8b38df0e9c7908dd Mon Sep 17 00:00:00 2001 +From: s_c_c +Date: Tue, 12 Mar 2024 11:04:45 +0800 +Subject: [PATCH] feat for embedded check clang path + +--- + hb_internal/preloader/preloader.py | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/hb_internal/preloader/preloader.py b/hb_internal/preloader/preloader.py +index 2cc8869..614023d 100644 +--- a/hb_internal/preloader/preloader.py ++++ b/hb_internal/preloader/preloader.py +@@ -17,6 +17,7 @@ from dataclasses import dataclass + import os + import sys + import argparse ++import subprocess + + sys.path.append( + os.path.dirname(os.path.dirname(os.path.dirname( +@@ -27,6 +28,21 @@ from hb_internal.common.utils import dump_json_file + from hb_internal.preloader.parse_lite_subsystems_config import parse_lite_subsystem_config + from hb_internal.preloader.parse_vendor_product_config import get_vendor_parts_list + ++def _find_clang(finddirs): ++ cmd = ["which", "clang"] ++ for _dir in finddirs: ++ if os.path.exists(_dir): ++ path = os.environ.get('PATH') ++ os.environ['PATH'] = f'{_dir}:{path}' ++ try: ++ output = subprocess.check_output(cmd, env=os.environ) ++ _path = output.strip() ++ if len(_path) > 1: ++ return True ++ except subprocess.CalledProcessError as e: ++ ret = e.output ++ print("Error! {} failed, failed log is {}".format(cmd, ret)) ++ return False + + def _get_base_parts(base_config_dir, os_level): + system_base_config_file = os.path.join(base_config_dir, +@@ -615,6 +631,10 @@ class Preloader(): + toolchain_label = '//build/toolchain/{0}:{0}_clang_{1}'.format( + target_os, target_cpu) + ++ clang_found = _find_clang(["/usr/lib64/llvm15/bin"]) ++ if clang_found is False: ++ toolchain_label = '//build/toolchain/{0}:{0}_{1}'.format( ++ target_os, target_cpu) + # add toolchain label + build_vars['product_toolchain_label'] = toolchain_label + +-- +2.20.1 (Apple Git-117) + diff --git a/distributed-build_lite.spec b/distributed-build_lite.spec index bb2435f6e476cde0765671313bc2e446b2453e0c..f6dc9e1f7df642b9044b8c38fba07fe4463f693e 100644 --- a/distributed-build_lite.spec +++ b/distributed-build_lite.spec @@ -2,14 +2,15 @@ %global openHarmony_source_release OpenHarmony-v3.2-Release Name: distributed-build_lite Version: 1.0.0 -Release: 1 +Release: 2 Summary: Sub component for openEuler embedded softbus build tools License: Apache-2.0 URL: https://gitee.com/openharmony/build_lite SOURCE0: bhttps://gitee.com/openharmony/build_lite/repository/archive/%{openHarmony_source_release}.tar.gz #/build_lite-%{openHarmony_source_release}.tar.gz Patch0001: 0001-feat-Adapt-to-Openeuler-python.patch Patch0002: 0002-feat-Adapt-to-Openeuler-productdefine.patch -Patch0003: 0003-feat-Adapt-to-Openeule-remove-useless-code.patch +Patch0003: 0003-feat-Adapt-to-Openeule-remove-useless-code.patch +Patch0004: 0004-feat-for-embedded-check-clang-path.patch BuildArch: noarch @@ -30,5 +31,9 @@ cp -rp %{_builddir}/build_lite-%{openHarmony_source_release}/* %{buildroot}/opt /opt/distributed-middleware-build/lite %changelog + +* Tue Mar 12 2024 s_c_c - 1.0.0-2 +- Check clang path for embedded + * Tue May 30 2023 tianhang - 1.0.0-1 - Init and Adapt to Openeuler