From ea17bbfd1b0d642700f90defe3e7ef364d56ca90 Mon Sep 17 00:00:00 2001 From: han_jin_fei <1970336264@qq.com> Date: Tue, 13 Jun 2023 19:21:44 +0800 Subject: [PATCH 1/2] add xmlrpc-c Signed-off-by: han_jin_fei <1970336264@qq.com> --- thirdparty/xmlrpc-c/HPKBUILD | 88 ++++++++++++++++++ thirdparty/xmlrpc-c/README.OpenSource | 11 +++ thirdparty/xmlrpc-c/README_zh.md | 12 +++ thirdparty/xmlrpc-c/SHA512SUM | 2 + thirdparty/xmlrpc-c/docs/hap_integrate.md | 74 +++++++++++++++ .../docs/pic/xmlrpc-c_install_dir.png | Bin 0 -> 19347 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test1.png | Bin 0 -> 25237 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test2.png | Bin 0 -> 6645 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test3.png | Bin 0 -> 14285 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_usage.png | Bin 0 -> 18612 bytes thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch | 12 +++ 11 files changed, 199 insertions(+) create mode 100644 thirdparty/xmlrpc-c/HPKBUILD create mode 100644 thirdparty/xmlrpc-c/README.OpenSource create mode 100644 thirdparty/xmlrpc-c/README_zh.md create mode 100644 thirdparty/xmlrpc-c/SHA512SUM create mode 100755 thirdparty/xmlrpc-c/docs/hap_integrate.md create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test1.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_usage.png create mode 100644 thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch diff --git a/thirdparty/xmlrpc-c/HPKBUILD b/thirdparty/xmlrpc-c/HPKBUILD new file mode 100644 index 00000000..6ce9a892 --- /dev/null +++ b/thirdparty/xmlrpc-c/HPKBUILD @@ -0,0 +1,88 @@ +# Contributor: Jeff Han +# Maintainer: Jeff Han +pkgname=xmlrpc-c +pkgver=1.54.06 +pkgrel=0 +pkgdesc="XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML." +url="https://xmlrpc-c.sourceforge.net/" +archs=("armeabi-v7a" "arm64-v8a") +license=("BSD") +depends=("openssl" "curl") +makedepends=() + +source="https://sourceforge.net/projects/$pkgname/files/Xmlrpc-c%20Super%20Stable/$pkgver/$pkgname-$pkgver.tgz" + +downloadpackage=true +autounpack=true +buildtools="configure" +patchflag=true + +builddir=$pkgname-${pkgver} +packagename=$builddir.tgz + +source envset.sh +host= + +prepare() { + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../xmlrpc-c_oh_pkg.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi + cp -rf $builddir $builddir-$ARCH-build + if [ $ARCH == "armeabi-v7a" ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == "arm64-v8a" ] + then + setarm64ENV + host=arm-linux + fi +} + +build() { + cd $builddir-$ARCH-build + # 默认采用 curl client 通信,如果不采用curl, 可以删除 CURL_CONFIG=xxx, 并--disable-curl-client + PKG_CONFIG_PATH="${pkgconfigpath}" CURL_CONFIG=`pwd`/../../../usr/curl/$ARCH/bin/curl-config ./configure "$@" --host=$host > `pwd`/build.log 2>&1 + make CC_FOR_BUILD=gcc CFLAGS_FOR_BUILD="" LDFLAGS_FOR_BUILD="" CFLAGS="-I $LYCIUM_ROOT/usr/openssl/$ARCH/include" LDFLAGS="-L $LYCIUM_ROOT/usr/openssl/$ARCH/lib" -j4 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir-$ARCH-build + make install >> `pwd`/build.log 2>&1 + cd $OLDPWD +} + +check() { + cd $builddir-$ARCH-build + make -C test test cgitest1 >> `pwd`/build.log 2>&1 + make -C test/cpp test >> `pwd`/build.log 2>&1 + cd $OLDPWD + if [ $ARCH == "armeabi-v7a" ] + then + unsetarm32ENV + fi + if [ $ARCH == "arm64-v8a" ] + then + unsetarm64ENV + fi + unset host + + echo "The test must be on an OpenHarmony device!" + # real test CMD 手动运行测试用例,可尝试 make check 命令 + # cd test; ./test; cd - + # cd test/cpp; ./test; cd - +} + +# 清理环境 +cleanbuild(){ + rm -rf ${PWD}/$builddir ${PWD}/$builddir-armeabi-v7a-build ${PWD}/$builddir-arm64-v8a-build #${PWD}/$packagename +} diff --git a/thirdparty/xmlrpc-c/README.OpenSource b/thirdparty/xmlrpc-c/README.OpenSource new file mode 100644 index 00000000..e4ae8e7c --- /dev/null +++ b/thirdparty/xmlrpc-c/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "xmlrpc-c", + "License": " BSD license", + "License File": "COPYING", + "Version Number": "1.54.06", + "Owner": "hanjinfei@foxmail.com", + "Upstream URL": "https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.54.06/xmlrpc-c-1.54.06.tgz", + "Description": "XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML." + } +] diff --git a/thirdparty/xmlrpc-c/README_zh.md b/thirdparty/xmlrpc-c/README_zh.md new file mode 100644 index 00000000..1e260bda --- /dev/null +++ b/thirdparty/xmlrpc-c/README_zh.md @@ -0,0 +1,12 @@ +# xmlrpc-c 三方库说明 +## 功能简介 +XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML. +## 使用约束 +- IDE版本:DevEco Studio 3.1 Beta2 +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:1.54.06 +- 当前适配的功能:像素操作,图像合成,光栅化 +- [ BSD license](https://xmlrpc-c.sourceforge.net/) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/xmlrpc-c/SHA512SUM b/thirdparty/xmlrpc-c/SHA512SUM new file mode 100644 index 00000000..3089a669 --- /dev/null +++ b/thirdparty/xmlrpc-c/SHA512SUM @@ -0,0 +1,2 @@ +0e8c920ccf04c78947bc66f7210b62c153ba185183c181461584772885690a3bb09dcf63d69c5b0f1f76a96f162a2a0eba6268e7210dda42561f59bec8008733 xmlrpc-c-1.54.06.tgz +b13e2878e2d2cd88327b59404bc1e0a27c50655b0fb9bb196a8e2a18c1adf440d78a0df09e8ce0080a71ac605b96f4edfa37bd62af9eeeaa275dd7b3fc0cac4e xmlrpc-c_oh_pkg.patch diff --git a/thirdparty/xmlrpc-c/docs/hap_integrate.md b/thirdparty/xmlrpc-c/docs/hap_integrate.md new file mode 100755 index 00000000..f8dcee25 --- /dev/null +++ b/thirdparty/xmlrpc-c/docs/hap_integrate.md @@ -0,0 +1,74 @@ +# xmlrpc-c集成到应用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/xmlrpc-c #三方库xmlrpc-c的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + |── xmlrpc-c_oh_pkg.patch #移植所需的patch + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将xmlrpc-c拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/xmlrpc-c tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh xmlrpc-c + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + xmlrpc-c/arm64-v8a xmlrpc-c/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 +- 拷贝动态库到`\\entry\libs\${OHOS_ARCH}\`目录: + 动态库需要在`\\entry\libs\${OHOS_ARCH}\`目录,才能集成到hap包中,所以需要将对应的so文件拷贝到对应CPU架构的目录 +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/xmlrpc-c_install_dir.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libxmlrpc.so.3) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/include/xmlrpc-c/${OHOS_ARCH}) + + ``` + ![xmlrpc-c_usage](pic/xmlrpc-c_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行ctest运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![xmlrpc-c_test](pic/xmlrpc-c_test1.png) + ![xmlrpc-c_test](pic/xmlrpc-c_test2.png) + ![xmlrpc-c_test](pic/xmlrpc-c_test3.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/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..baf1b2b6961af0c55da6b5456c4fa2bc509168d0 GIT binary patch literal 19347 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 literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png new file mode 100644 index 0000000000000000000000000000000000000000..e68a30a4df499e61ccd774ee6381e68c25655d8c GIT binary patch literal 6645 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 G{`#MJJUgQR literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png new file mode 100644 index 0000000000000000000000000000000000000000..954a3c49e832714af16585c26f8aef841288cf99 GIT binary patch literal 14285 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 literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch b/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch new file mode 100644 index 00000000..b2a8cb35 --- /dev/null +++ b/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch @@ -0,0 +1,12 @@ +diff -rupN xmlrpc-c-1.54.06/test/cpp/server_abyss.cpp xmlrpc-c-patched/test/cpp/server_abyss.cpp +--- xmlrpc-c-1.54.06/test/cpp/server_abyss.cpp 2015-12-30 04:22:14.000000000 +0000 ++++ xmlrpc-c-patched/test/cpp/server_abyss.cpp 2023-04-04 07:20:34.086245327 +0000 +@@ -85,7 +85,7 @@ public: + sockAddr.sin_port = htons(portNumber); + sockAddr.sin_addr.s_addr = 0; + +- rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); ++ rc = ::bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); + + if (rc != 0) { + closesock(this->fd); -- Gitee

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 literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch b/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch new file mode 100644 index 00000000..b2a8cb35 --- /dev/null +++ b/thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch @@ -0,0 +1,12 @@ +diff -rupN xmlrpc-c-1.54.06/test/cpp/server_abyss.cpp xmlrpc-c-patched/test/cpp/server_abyss.cpp +--- xmlrpc-c-1.54.06/test/cpp/server_abyss.cpp 2015-12-30 04:22:14.000000000 +0000 ++++ xmlrpc-c-patched/test/cpp/server_abyss.cpp 2023-04-04 07:20:34.086245327 +0000 +@@ -85,7 +85,7 @@ public: + sockAddr.sin_port = htons(portNumber); + sockAddr.sin_addr.s_addr = 0; + +- rc = bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); ++ rc = ::bind(this->fd, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); + + if (rc != 0) { + closesock(this->fd); -- Gitee From ad8a354e8877e67f8b09b34ad3baf2db519fc0eb Mon Sep 17 00:00:00 2001 From: han_jin_fei <1970336264@qq.com> Date: Tue, 13 Jun 2023 19:21:44 +0800 Subject: [PATCH 2/2] add xmlrpc-c Signed-off-by: han_jin_fei <1970336264@qq.com> --- thirdparty/xmlrpc-c/HPKBUILD | 88 ++++++++++++++++++ thirdparty/xmlrpc-c/README.OpenSource | 11 +++ thirdparty/xmlrpc-c/README_zh.md | 12 +++ thirdparty/xmlrpc-c/SHA512SUM | 2 + thirdparty/xmlrpc-c/docs/hap_integrate.md | 74 +++++++++++++++ .../docs/pic/xmlrpc-c_install_dir.png | Bin 0 -> 19347 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test1.png | Bin 0 -> 25237 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test2.png | Bin 0 -> 6645 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_test3.png | Bin 0 -> 14285 bytes .../xmlrpc-c/docs/pic/xmlrpc-c_usage.png | Bin 0 -> 18612 bytes thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch | 12 +++ 11 files changed, 199 insertions(+) create mode 100644 thirdparty/xmlrpc-c/HPKBUILD create mode 100644 thirdparty/xmlrpc-c/README.OpenSource create mode 100644 thirdparty/xmlrpc-c/README_zh.md create mode 100644 thirdparty/xmlrpc-c/SHA512SUM create mode 100755 thirdparty/xmlrpc-c/docs/hap_integrate.md create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test1.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png create mode 100644 thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_usage.png create mode 100644 thirdparty/xmlrpc-c/xmlrpc-c_oh_pkg.patch diff --git a/thirdparty/xmlrpc-c/HPKBUILD b/thirdparty/xmlrpc-c/HPKBUILD new file mode 100644 index 00000000..6ce9a892 --- /dev/null +++ b/thirdparty/xmlrpc-c/HPKBUILD @@ -0,0 +1,88 @@ +# Contributor: Jeff Han +# Maintainer: Jeff Han +pkgname=xmlrpc-c +pkgver=1.54.06 +pkgrel=0 +pkgdesc="XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML." +url="https://xmlrpc-c.sourceforge.net/" +archs=("armeabi-v7a" "arm64-v8a") +license=("BSD") +depends=("openssl" "curl") +makedepends=() + +source="https://sourceforge.net/projects/$pkgname/files/Xmlrpc-c%20Super%20Stable/$pkgver/$pkgname-$pkgver.tgz" + +downloadpackage=true +autounpack=true +buildtools="configure" +patchflag=true + +builddir=$pkgname-${pkgver} +packagename=$builddir.tgz + +source envset.sh +host= + +prepare() { + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../xmlrpc-c_oh_pkg.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi + cp -rf $builddir $builddir-$ARCH-build + if [ $ARCH == "armeabi-v7a" ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == "arm64-v8a" ] + then + setarm64ENV + host=arm-linux + fi +} + +build() { + cd $builddir-$ARCH-build + # 默认采用 curl client 通信,如果不采用curl, 可以删除 CURL_CONFIG=xxx, 并--disable-curl-client + PKG_CONFIG_PATH="${pkgconfigpath}" CURL_CONFIG=`pwd`/../../../usr/curl/$ARCH/bin/curl-config ./configure "$@" --host=$host > `pwd`/build.log 2>&1 + make CC_FOR_BUILD=gcc CFLAGS_FOR_BUILD="" LDFLAGS_FOR_BUILD="" CFLAGS="-I $LYCIUM_ROOT/usr/openssl/$ARCH/include" LDFLAGS="-L $LYCIUM_ROOT/usr/openssl/$ARCH/lib" -j4 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir-$ARCH-build + make install >> `pwd`/build.log 2>&1 + cd $OLDPWD +} + +check() { + cd $builddir-$ARCH-build + make -C test test cgitest1 >> `pwd`/build.log 2>&1 + make -C test/cpp test >> `pwd`/build.log 2>&1 + cd $OLDPWD + if [ $ARCH == "armeabi-v7a" ] + then + unsetarm32ENV + fi + if [ $ARCH == "arm64-v8a" ] + then + unsetarm64ENV + fi + unset host + + echo "The test must be on an OpenHarmony device!" + # real test CMD 手动运行测试用例,可尝试 make check 命令 + # cd test; ./test; cd - + # cd test/cpp; ./test; cd - +} + +# 清理环境 +cleanbuild(){ + rm -rf ${PWD}/$builddir ${PWD}/$builddir-armeabi-v7a-build ${PWD}/$builddir-arm64-v8a-build #${PWD}/$packagename +} diff --git a/thirdparty/xmlrpc-c/README.OpenSource b/thirdparty/xmlrpc-c/README.OpenSource new file mode 100644 index 00000000..e4ae8e7c --- /dev/null +++ b/thirdparty/xmlrpc-c/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "xmlrpc-c", + "License": " BSD license", + "License File": "COPYING", + "Version Number": "1.54.06", + "Owner": "hanjinfei@foxmail.com", + "Upstream URL": "https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.54.06/xmlrpc-c-1.54.06.tgz", + "Description": "XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML." + } +] diff --git a/thirdparty/xmlrpc-c/README_zh.md b/thirdparty/xmlrpc-c/README_zh.md new file mode 100644 index 00000000..cc340360 --- /dev/null +++ b/thirdparty/xmlrpc-c/README_zh.md @@ -0,0 +1,12 @@ +# xmlrpc-c 三方库说明 +## 功能简介 +XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into an XML document, sends it to a remote server using HTTP, and gets back the response as XML. +## 使用约束 +- IDE版本:DevEco Studio 3.1 Beta2 +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:1.54.06 +- 当前适配的功能:通过xml格式进行,RPC通信 +- [ BSD license](https://xmlrpc-c.sourceforge.net/) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/xmlrpc-c/SHA512SUM b/thirdparty/xmlrpc-c/SHA512SUM new file mode 100644 index 00000000..3089a669 --- /dev/null +++ b/thirdparty/xmlrpc-c/SHA512SUM @@ -0,0 +1,2 @@ +0e8c920ccf04c78947bc66f7210b62c153ba185183c181461584772885690a3bb09dcf63d69c5b0f1f76a96f162a2a0eba6268e7210dda42561f59bec8008733 xmlrpc-c-1.54.06.tgz +b13e2878e2d2cd88327b59404bc1e0a27c50655b0fb9bb196a8e2a18c1adf440d78a0df09e8ce0080a71ac605b96f4edfa37bd62af9eeeaa275dd7b3fc0cac4e xmlrpc-c_oh_pkg.patch diff --git a/thirdparty/xmlrpc-c/docs/hap_integrate.md b/thirdparty/xmlrpc-c/docs/hap_integrate.md new file mode 100755 index 00000000..f8dcee25 --- /dev/null +++ b/thirdparty/xmlrpc-c/docs/hap_integrate.md @@ -0,0 +1,74 @@ +# xmlrpc-c集成到应用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/xmlrpc-c #三方库xmlrpc-c的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + |── xmlrpc-c_oh_pkg.patch #移植所需的patch + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将xmlrpc-c拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/xmlrpc-c tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh xmlrpc-c + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + xmlrpc-c/arm64-v8a xmlrpc-c/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 +- 拷贝动态库到`\\entry\libs\${OHOS_ARCH}\`目录: + 动态库需要在`\\entry\libs\${OHOS_ARCH}\`目录,才能集成到hap包中,所以需要将对应的so文件拷贝到对应CPU架构的目录 +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/xmlrpc-c_install_dir.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libxmlrpc.so.3) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/include/xmlrpc-c/${OHOS_ARCH}) + + ``` + ![xmlrpc-c_usage](pic/xmlrpc-c_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行ctest运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![xmlrpc-c_test](pic/xmlrpc-c_test1.png) + ![xmlrpc-c_test](pic/xmlrpc-c_test2.png) + ![xmlrpc-c_test](pic/xmlrpc-c_test3.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/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_install_dir.png new file mode 100644 index 0000000000000000000000000000000000000000..baf1b2b6961af0c55da6b5456c4fa2bc509168d0 GIT binary patch literal 19347 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 literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test2.png new file mode 100644 index 0000000000000000000000000000000000000000..e68a30a4df499e61ccd774ee6381e68c25655d8c GIT binary patch literal 6645 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 G{`#MJJUgQR literal 0 HcmV?d00001 diff --git a/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png b/thirdparty/xmlrpc-c/docs/pic/xmlrpc-c_test3.png new file mode 100644 index 0000000000000000000000000000000000000000..954a3c49e832714af16585c26f8aef841288cf99 GIT binary patch literal 14285 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