Check clang path for embedded
This commit is contained in:
parent
5134d9758c
commit
ce0be914c8
57
0004-feat-for-embedded-check-clang-path.patch
Normal file
57
0004-feat-for-embedded-check-clang-path.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 654f79ad11d2e4930312cd5f8b38df0e9c7908dd Mon Sep 17 00:00:00 2001
|
||||
From: s_c_c <shichuchao@huawei.com>
|
||||
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)
|
||||
|
||||
@ -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 <shichuchao@huawei.com> - 1.0.0-2
|
||||
- Check clang path for embedded
|
||||
|
||||
* Tue May 30 2023 tianhang <tian_hang@hoperun.com> - 1.0.0-1
|
||||
- Init and Adapt to Openeuler
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user