From b46f77d20a79aacbb49bf28db83a97444b66445c Mon Sep 17 00:00:00 2001 From: Sunjiamei <939650669@qq.com> Date: Thu, 13 Jun 2024 19:29:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=93threadpool=E4=B8=8A?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sunjiamei <939650669@qq.com> --- thirdparty/threadpool/HPKBUILD | 101 ++++++++++++++++++ thirdparty/threadpool/HPKCHECK | 36 +++++++ thirdparty/threadpool/OAT.xml | 18 ++++ thirdparty/threadpool/README.OpenSource | 11 ++ thirdparty/threadpool/README_zh.md | 10 ++ thirdparty/threadpool/SHA512SUM | 1 + thirdparty/threadpool/docs/hap_integrate.md | 81 ++++++++++++++ .../threadpool/docs/pic/test-cmd-ret.png | Bin 0 -> 4743 bytes .../threadpool/docs/pic/threadpool-dev.png | Bin 0 -> 7655 bytes thirdparty/threadpool/threadpool_oh_pkg.patch | 28 +++++ 10 files changed, 286 insertions(+) create mode 100644 thirdparty/threadpool/HPKBUILD create mode 100644 thirdparty/threadpool/HPKCHECK create mode 100644 thirdparty/threadpool/OAT.xml create mode 100644 thirdparty/threadpool/README.OpenSource create mode 100644 thirdparty/threadpool/README_zh.md create mode 100644 thirdparty/threadpool/SHA512SUM create mode 100644 thirdparty/threadpool/docs/hap_integrate.md create mode 100644 thirdparty/threadpool/docs/pic/test-cmd-ret.png create mode 100644 thirdparty/threadpool/docs/pic/threadpool-dev.png create mode 100644 thirdparty/threadpool/threadpool_oh_pkg.patch diff --git a/thirdparty/threadpool/HPKBUILD b/thirdparty/threadpool/HPKBUILD new file mode 100644 index 00000000..0a8dd4e9 --- /dev/null +++ b/thirdparty/threadpool/HPKBUILD @@ -0,0 +1,101 @@ +# Copyright (c) 2023 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. + +# Contributor: Jeff Han , Sunjiamei<939650669@qq.com> +# Maintainer: Jeff Han + + +pkgname=threadpool +pkgver=master +pkgrel=0 +pkgdesc="A simple C++11 Thread Pool implementation." +url="https://github.com/progschj/threadpool" +archs=("armeabi-v7a" "arm64-v8a") +license=("zlib License") +depends=() +makedepends=() + +source="https://github.com/progschj/$pkgname/archive/refs/heads/$pkgver.zip" + +autounpack=true +downloadpackage=true +buildtools="make" + +builddir=$pkgname-${pkgver} +packagename=$builddir.zip + +ar= +cXX= +source envset.sh +patchflag=true + +# threadpool 采用makefile编译构建,为了保留构建环境(方便测试)。因此同一份源码在解压后分为两份,各自编译互不干扰 +prepare() { + if [ $patchflag == true ] + then + cd $builddir + patch -p1 < `pwd`/../threadpool_oh_pkg.patch > $publicbuildlog 2>&1 + patchflag=false + cd $OLDPWD + fi + + cp -rf $builddir $builddir-$ARCH-build + if [ $ARCH == "armeabi-v7a" ] + then + cXX=${OHOS_SDK}/native/llvm/bin/arm-linux-ohos-clang++ + ar=${OHOS_SDK}/native/llvm/bin/llvm-ar + fi + if [ $ARCH == "arm64-v8a" ] + then + cXX=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang++ + ar=${OHOS_SDK}/native/llvm/bin/llvm-ar + fi +} + +# ThreadPool库仅有.h文件 +build() { + echo "ThreadPool the library has only one .h file!" +} + +package() { + install_dir=${LYCIUM_ROOT}/usr/${pkgname}/${ARCH} + cd $builddir-$ARCH-build/ + mkdir -p ${install_dir}/include + cp -arf ./ThreadPool.h ${install_dir}/include + cd ${OLDPWD} +} + +check() { + if [ $ARCH == "armeabi-v7a" ]; then + # 拷贝shared库到测试程序运行目录 + cp $OHOS_SDK/native/llvm/lib/arm-linux-ohos/libc++_shared.so $builddir-$ARCH-build + elif [ $ARCH == "arm64-v8a" ]; then + # 拷贝shared库到测试程序运行目录 + cp $OHOS_SDK/native/llvm/lib/aarch64-linux-ohos/libc++_shared.so $builddir-$ARCH-build + else + echo "Not support ${ARCH} yet" + return -1 + fi + cd $builddir-$ARCH-build/ + $MAKE LIB="$ar cr" CXX="$cXX" > $buildlog 2>&1 + ret=$? + cd $OLDPWD + unset ar + unset cXX + echo "The test must be on an OpenHarmony device!" + return $ret +} + +cleanbuild() { + rm -rf ${PWD}/$builddir $builddir-armeabi-v7a-build $builddir-arm64-v8a-build +} diff --git a/thirdparty/threadpool/HPKCHECK b/thirdparty/threadpool/HPKCHECK new file mode 100644 index 00000000..b722472e --- /dev/null +++ b/thirdparty/threadpool/HPKCHECK @@ -0,0 +1,36 @@ +# Copyright (c) 2023 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. + +# Contributor: Jeff Han , Sunjiamei<939650669@qq.com> +# Maintainer: Jeff Han + +source HPKBUILD > /dev/null 2>&1 +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log + +openharmonycheck() { + res=0 + cd $builddir-$ARCH-build/ + # 添加libc++_shared.so库,到LDLIBRARY_PATH环境变量 + export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH + echo "total test 1" > ${logfile} 2>&1 + ./example >> ${logfile} 2>&1 + res=$? + if [$res -ne 0];then + echo "test error" >> ${logfile} 2>&1 + cd $OLDPWD + return $res + fi + echo "test pass" >> ${logfile} 2>&1 + cd $OLDPWD + return $res +} diff --git a/thirdparty/threadpool/OAT.xml b/thirdparty/threadpool/OAT.xml new file mode 100644 index 00000000..211b81fb --- /dev/null +++ b/thirdparty/threadpool/OAT.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/threadpool/README.OpenSource b/thirdparty/threadpool/README.OpenSource new file mode 100644 index 00000000..1aa78988 --- /dev/null +++ b/thirdparty/threadpool/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "threadpool", + "License": "Copyright (c) 2012 Jakob Progsch, Václav Zeman", + "License File": "COPYING", + "Version Number": "master", + "Owner": "huangminzhong2@huawei.com", + "Upstream URL": "https://github.com/progschj/threadpool", + "Description": "Threadpool is A simple C++11 Thread Pool implementation." + } +] diff --git a/thirdparty/threadpool/README_zh.md b/thirdparty/threadpool/README_zh.md new file mode 100644 index 00000000..33c264c1 --- /dev/null +++ b/thirdparty/threadpool/README_zh.md @@ -0,0 +1,10 @@ +# threadpool 三方库说明 +## 功能简介 +threadpool是一个简单的c++线程池实现。 +## 使用约束 +- IDE版本:DevEco Studio 4.1 Release +- SDK版本:sdk-linux-5.0.3.100 +- 三方库版本:master + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/threadpool/SHA512SUM b/thirdparty/threadpool/SHA512SUM new file mode 100644 index 00000000..d19fc12c --- /dev/null +++ b/thirdparty/threadpool/SHA512SUM @@ -0,0 +1 @@ +5361dbd58d308f06ac1ed6ab84a3d753fe337ee15c6248c2545ec05a578cf5f54a53aa01b625811e45d2c7af637a9a8567a430f9720ae0a9ccb818bd3f2be6e3 threadpool-master.zip diff --git a/thirdparty/threadpool/docs/hap_integrate.md b/thirdparty/threadpool/docs/hap_integrate.md new file mode 100644 index 00000000..f3cb8b56 --- /dev/null +++ b/thirdparty/threadpool/docs/hap_integrate.md @@ -0,0 +1,81 @@ +# threadpool集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- [开发环境准备](../../../docs/hap_integrate_environment.md) + +## 编译三方库 + +* 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +* 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/threadpool #三方库threadpool的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── HPKCHECK #测试脚本 + ├── OAT.xml #扫描结果文件 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md #三方库简介 + ├── threadpool_oh_pkg.patch #用于threadpool库编译的补丁 + ``` + +* 在lycium目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) + + ```shell + cd lycium + ./build.sh threadpool + ``` + +* 三方库头文件及生成的库 + + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + threadpool/arm64-v8a threadpool/armeabi-v7a + ``` + +* [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的头文件拷贝到该目录下,如下图所示: + + ![thirdparty_install_dir](pic/threadpool-dev.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```cmake + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/threadpool/${OHOS_ARCH}/include) + ``` + + +## 测试三方库 + +- 编译出可执行的文件进行测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) + +- 进入到构建目录运行测试用例(注意arm64-v8a为构建64位的目录,armeabi-v7a为构建32位的目录),执行结果如图所示 +``` + cd /data/tpc_c_cplusplus/thirdparty/threadpool/threadpool-master-armeabi-v7a-build + ./example +``` + + ![libice_test](pic/test-cmd-ret.png) + +## 参考资料 + +* [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +* [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +* [threadpool三方库地址](https://github.com/progschj/threadpool) + diff --git a/thirdparty/threadpool/docs/pic/test-cmd-ret.png b/thirdparty/threadpool/docs/pic/test-cmd-ret.png new file mode 100644 index 0000000000000000000000000000000000000000..06ddebd0316ef4044d473bb9e55c08699e94db18 GIT binary patch literal 4743 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 Qe>?&^y>@SBeifea9|H$OK>z>% literal 0 HcmV?d00001 diff --git a/thirdparty/threadpool/docs/pic/threadpool-dev.png b/thirdparty/threadpool/docs/pic/threadpool-dev.png new file mode 100644 index 0000000000000000000000000000000000000000..2a94efce700b90decf0d7f25d4bb8c026c1999e9 GIT binary patch literal 7655 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 literal 0 HcmV?d00001 diff --git a/thirdparty/threadpool/threadpool_oh_pkg.patch b/thirdparty/threadpool/threadpool_oh_pkg.patch new file mode 100644 index 00000000..7c6be58f --- /dev/null +++ b/thirdparty/threadpool/threadpool_oh_pkg.patch @@ -0,0 +1,28 @@ +diff -Naur threadpool-master/Makefile threadpool-master-new/Makefile +--- threadpool-master/Makefile 1970-01-01 08:00:00.000000000 +0800 ++++ threadpool-master-new/Makefile 2024-06-07 17:53:08.453349200 +0800 +@@ -0,0 +1,19 @@ ++# Makefile ++ ++CXX = g++ ++CFLAGS = -g -Wall ++ ++EXAMPLE = example ++SRCS:=$(wildcard *.cpp) ++OBJS:=$(patsubst %.cpp,%.o, $(SRCS)) ++ ++$(EXAMPLE): $(OBJS) ++ @echo "[CXX] $@" ++ @$(CXX) $(OBJS) -o $(EXAMPLE) ++ ++%.o: %.cpp ++ @echo "[CXX] $< $@" ++ @$(CXX) $(CFLAGS) -c $< -o $@ ++ ++clean: ++ rm -f $(OBJS) $(EXAMPLE) +diff -Naur threadpool-master/last_error threadpool-master-new/last_error +--- threadpool-master/last_error 1970-01-01 08:00:00.000000000 +0800 ++++ threadpool-master-new/last_error 2024-06-07 18:52:58.280582300 +0800 +@@ -0,0 +1 @@ ++ERROR during : check: 2 -- Gitee