From b237493b62b7e70ffbde4b380a1d76e8a3013396 Mon Sep 17 00:00:00 2001 From: qinjianqi Date: Wed, 31 May 2023 15:42:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0zstd=E7=9A=84=E5=BA=94?= =?UTF-8?q?=E7=94=A8hap=E5=8C=85=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qinjianqi --- thirdparty/zstd/HPKBUILD | 54 +++++++++++++ thirdparty/zstd/README_zh.md | 3 +- thirdparty/zstd/SHA512SUM | 1 + thirdparty/zstd/docs/hap_integrate.md | 71 ++++++++++++++++++ thirdparty/zstd/docs/pic/zstd_install_dir.png | Bin 0 -> 10929 bytes thirdparty/zstd/docs/pic/zstd_test.png | Bin 0 -> 31007 bytes thirdparty/zstd/docs/pic/zstd_usage.png | Bin 0 -> 18331 bytes 7 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 thirdparty/zstd/HPKBUILD create mode 100644 thirdparty/zstd/SHA512SUM create mode 100644 thirdparty/zstd/docs/hap_integrate.md create mode 100644 thirdparty/zstd/docs/pic/zstd_install_dir.png create mode 100644 thirdparty/zstd/docs/pic/zstd_test.png create mode 100644 thirdparty/zstd/docs/pic/zstd_usage.png diff --git a/thirdparty/zstd/HPKBUILD b/thirdparty/zstd/HPKBUILD new file mode 100644 index 00000000..71eef3bc --- /dev/null +++ b/thirdparty/zstd/HPKBUILD @@ -0,0 +1,54 @@ +# Contributor: Jeff Han +# Maintainer: Jeff Han +pkgname=zstd +pkgver=v1.5.4 +pkgrel=0 +pkgdesc="" +url="" +archs=("armeabi-v7a" "arm64-v8a") +license=("MIT") +depends=() +makedepends=() + +source="https://github.com/facebook/$pkgname/releases/download/$pkgver/$pkgname-1.5.4.tar.gz" + +autounpack=true +downloadpackage=true + +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz + +prepare() { + mkdir -p $builddir/$ARCH-build + cd "$builddir" + + cd $OLDPWD # 1> /dev/null +} + +build() { + cd $builddir + # fix this OHOS_SDK 中的cmake版本过低,无法识别zstd项目中使用的cmake函数,因此替换为系统安装的cmake + # 此方法编译的zstd没有soname和软连接,被其他项目依赖时,将全路径依赖 + # 规避上面问题的方法添加OHOS系统识别到开发机的cmake目录,具体具体如下 + # cp $OHOS_SDK/native/build-tools/cmake/share/cmake-3.16/Modules/Platform/OHOS.cmake xxx(代表你开发机安装的cmake的路径)/cmake-3.26.3-linux-x86_64/share/cmake-3.26/Modules/Platform + cmake "$@" -DOHOS_ARCH=$ARCH -B$ARCH-build -S./build/cmake -DZSTD_BUILD_TESTS=ON -L > `pwd`/$ARCH-build/build.log 2>&1 + make -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd "$builddir" + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + cd $OLDPWD +} + +check() { + echo "The test must be on an OpenHarmony device!" +} + +# 清理环境 +cleanbuild(){ + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} diff --git a/thirdparty/zstd/README_zh.md b/thirdparty/zstd/README_zh.md index 87a7a870..5aeeb5cd 100644 --- a/thirdparty/zstd/README_zh.md +++ b/thirdparty/zstd/README_zh.md @@ -7,4 +7,5 @@ zstd 是一种快速的无损压缩算法,是针对 zlib 级别的实时压缩 - 当前适配的功能:完成了生成和解码 .zst 格式以及字典压缩、解压缩 - [License : BSD and GPLv2](https://github.com/facebook/zstd/tree/zstd-0.4.2) ## 集成方式 -+ [系统Rom包集成](docs/rom_integrate.md) \ No newline at end of file ++ [系统Rom包集成](docs/rom_integrate.md) ++ [应用hap包集成](docs/hap_integrate.md) \ No newline at end of file diff --git a/thirdparty/zstd/SHA512SUM b/thirdparty/zstd/SHA512SUM new file mode 100644 index 00000000..d55130a1 --- /dev/null +++ b/thirdparty/zstd/SHA512SUM @@ -0,0 +1 @@ +2896a6dd6b60cc251720356babcbab6018c874eb2149121b26e28041496fc355a9cb5fd1b39c91558fcfbafb789b3d721264a0f9b5734f893d5f3cdf97016394 zstd-1.5.4.tar.gz \ No newline at end of file diff --git a/thirdparty/zstd/docs/hap_integrate.md b/thirdparty/zstd/docs/hap_integrate.md new file mode 100644 index 00000000..69d8f7d8 --- /dev/null +++ b/thirdparty/zstd/docs/hap_integrate.md @@ -0,0 +1,71 @@ +# zstd集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/zstd #三方库zstd的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── BUILD.gn #gn文件 + ├── bundle.json + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将openssl拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/zstd tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh zstd + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + zstd/arm64-v8a zstd/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![zstd_install_dir](pic/zstd_install_dir.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zstd/${OHOS_ARCH}/lib/libzstd.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zstd/${OHOS_ARCH}/include) + ``` + ![zstd_usage](pic/zstd_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行 ctest 运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + +![zstd_test](pic/zstd_test.png) + + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/zstd/docs/pic/zstd_install_dir.png b/thirdparty/zstd/docs/pic/zstd_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..4c88893faf448adea166a47de4133c8ea22aaa85 GIT binary patch literal 10929 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∾#%&XJLgy*)S%Z$5pm7Cbzd^j!hGC@oJi1ac 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 jHt}x*X#Ot^kh!5(Uu}W2~ literal 0 HcmV?d00001 -- Gitee