From 75556992709367bab115ccdc07ba61ad6d7cee88 Mon Sep 17 00:00:00 2001 From: wupingyuan Date: Sat, 6 May 2023 18:03:49 +0800 Subject: [PATCH] add libxls Signed-off-by: wupingyuan --- thirdparty/libxls/HPKBUILD | 85 ++++++++++++++++++ thirdparty/libxls/README.OpenSource | 11 +++ thirdparty/libxls/README_zh.md | 12 +++ thirdparty/libxls/SHA512SUM | 2 + thirdparty/libxls/docs/hap_integrate.md | 72 +++++++++++++++ .../libxls/docs/pic/libxls_install_dir.jpg | Bin 0 -> 16310 bytes thirdparty/libxls/docs/pic/libxls_test.jpg | Bin 0 -> 80878 bytes thirdparty/libxls/docs/pic/libxls_usage.jpg | Bin 0 -> 30633 bytes thirdparty/libxls/libxls_oh_pkg.patch | 23 +++++ 9 files changed, 205 insertions(+) create mode 100644 thirdparty/libxls/HPKBUILD create mode 100644 thirdparty/libxls/README.OpenSource create mode 100644 thirdparty/libxls/README_zh.md create mode 100644 thirdparty/libxls/SHA512SUM create mode 100644 thirdparty/libxls/docs/hap_integrate.md create mode 100644 thirdparty/libxls/docs/pic/libxls_install_dir.jpg create mode 100644 thirdparty/libxls/docs/pic/libxls_test.jpg create mode 100644 thirdparty/libxls/docs/pic/libxls_usage.jpg create mode 100644 thirdparty/libxls/libxls_oh_pkg.patch diff --git a/thirdparty/libxls/HPKBUILD b/thirdparty/libxls/HPKBUILD new file mode 100644 index 00000000..da37cc8e --- /dev/null +++ b/thirdparty/libxls/HPKBUILD @@ -0,0 +1,85 @@ +# Contributor: wupingyuan +# Maintainer: wupingyuan +pkgname=libxls +pkgver=v1.6.2 +pkgrel=0 +pkgdesc="This is libxls, a C library for reading Excel files in the nasty old binary OLE format, plus a command-line tool for converting XLS to CSV (named, appropriately enough, xls2csv)." +url="https://github.com/libxls/libxls" +archs=("armeabi-v7a" "arm64-v8a") +license=("BSD") +depends=() +makedepends=() +install= +source="https://github.com/$pkgname/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true +buildtools="configure" +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz +source envset.sh +host= + +prepare() { + if $patchflag + then + cd $builddir + # 由于configure.ac中的函数引起编译报错以下: + # AX_CXX_COMPILE_STDCXX_11:syntax error near unexpected token `,' + # AC_FUNC_MALLOC:undefined reference to malloc + # AC_FUNC_REALLOC:undefined reference to realloc + patch -p1 < `pwd`/../libxls_oh_pkg.patch + patchflag=false + cd $OLDPWD + fi + cp -r $builddir $pkgname-$ARCH-build + if [ $ARCH == ${archs[0]} ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == ${archs[1]} ] + then + setarm64ENV + host=aarch64-linux + fi + cd $pkgname-$ARCH-build + autoreconf -i > `pwd`/build.log 2>&1 + cd $OLDPWD +} + +build() { + cd $pkgname-$ARCH-build + ./configure "$@" --host=$host >> `pwd`/build.log 2>&1 + make -j4 >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $pkgname-$ARCH-build + make install >> `pwd`/build.log 2>&1 + ret=$? + cd $OLDPWD + if [ $ARCH == ${archs[0]} ] + then + unsetarm32ENV + fi + if [ $ARCH == ${archs[1]} ] + then + unsetarm64ENV + fi + unset host + return $ret +} + +check() { + echo "The test must be on an OpenHarmony device!" + # 在OpenHarmony开发板中执行用例 + # make check +} + +cleanbuild(){ + rm -rf ${PWD}/$builddir $builddir-armeabi-v7a-build $builddir-arm64-v8a-build #${PWD}/$packagename +} diff --git a/thirdparty/libxls/README.OpenSource b/thirdparty/libxls/README.OpenSource new file mode 100644 index 00000000..91412c7e --- /dev/null +++ b/thirdparty/libxls/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "libxls", + "License": "BSD", + "License File": "LICENSE", + "Version Number": "v1.6.2", + "Owner": "wupingyuan@huawei.com", + "Upstream URL": "https://github.com/libxls/libxls/archive/refs/tags/v1.6.2.tar.gz", + "Description": "This is libxls, a C library for reading Excel files in the nasty old binary OLE format, plus a command-line tool for converting XLS to CSV (named, appropriately enough, xls2csv)." + } +] diff --git a/thirdparty/libxls/README_zh.md b/thirdparty/libxls/README_zh.md new file mode 100644 index 00000000..28546a31 --- /dev/null +++ b/thirdparty/libxls/README_zh.md @@ -0,0 +1,12 @@ +# libxls三方库说明 +## 功能简介 +libxls是一个解析Excel表格的库。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:v1.6.2 +- 当前适配的功能:解析Excel表格 +- [BSD](https://github.com/libxls/libxls) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/libxls/SHA512SUM b/thirdparty/libxls/SHA512SUM new file mode 100644 index 00000000..f8ed4eee --- /dev/null +++ b/thirdparty/libxls/SHA512SUM @@ -0,0 +1,2 @@ +9eb8dc78d9070ebe5af2629a358cea0f41db9e4accdfc2651093eaffaaeff5595e986346fa41a3b57740234f4a70d5aa394e5234f90e94ba41a782de574e4d00 libxls-1.6.2.tar.gz +073a62c231182203c68c0f6b4cc2b8218ac693c9be3b667bc12a14e66be8a8a2e8a04c47e53421479460076d7b9e2038f8a11e01981a7e4016b160f45c460a5b libxls_oh_pkg.patch \ No newline at end of file diff --git a/thirdparty/libxls/docs/hap_integrate.md b/thirdparty/libxls/docs/hap_integrate.md new file mode 100644 index 00000000..769b0d19 --- /dev/null +++ b/thirdparty/libxls/docs/hap_integrate.md @@ -0,0 +1,72 @@ +# libxls集成到应用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/libxls #三方库libxls的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── libxls_oh_pkg.patch #补丁 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将libxls拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/libxls tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh libxls + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + ``` + libxls-arm64-v8a-install libxls-armeabi-v7a-install + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/libxls_install_dir.jpg) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + #将三方库加入工程中 + add_library(xls SHARED IMPORTED) + set_target_properties(xls + PROPERTIES IMPORTED_LOCATION + ${CMAKE_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libxlsreader.so) + target_link_libraries(entry PUBLIC libace_napi.z.so xls) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libxls-${OHOS_ARCH}-install/include) + ``` + ![libxls_usage](pic/libxls_usage.jpg) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行make check运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![libxls_test](pic/libxls_test.jpg) + +## 参考资料 +- [润和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/libxls/docs/pic/libxls_install_dir.jpg b/thirdparty/libxls/docs/pic/libxls_install_dir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae4470eb78e61ae844509c97e74d795d65f38c44 GIT binary patch literal 16310 zcmb`ucUY6n*De~mQdE#oq)L$vg7hjX&4?&S4MnL^Lx<2pFQG~=0xC^}fYi`?2SIuX zHS|tEI)t6~ch0r<+21*5fA9DG-pRB6$~<$;x}KReYu)!fH&Zu@fO{{M)sz8vczA&K zxF6sK1$Yi1z{mgV!8JnMLv)LXh>(zol!S!%7C9+7IT zK#6zL0bl_D@Q84;{cFPicf-TS&5@Yo)@@QUT!*TA0DL?G0(?S(zh;f=?Th;#KuAeM z^-x%m`2O1uBy3L9A_1Si-eP}N)(X@dKHzv_>Ku5Rl!lg${sHGBE^Z!PQ894|Nh#^) zFO-y3RMlQ;z0=mw)zddHGq8-qG3B-P7AQGCDRsF*!9ovxHt=SzTM-*xbS#9{o8!IXyeS z_{%Rm0Kxy|*8lYEKlnw7^9!GlkbscnFTe2cJ#a=qNl5fin3ziOEy)L``)ncsx2T_e z`dZd{oBfIA0npTWn3RS?bcqx5muvs>?C&`i_}}vEe>(QR{F(uf6X4-K9swml0dOu~ zJa3Kkf=y#b?L}EWMq7prJZmy#j;h_dBMnCwg@yWYE_ix?XzZ&(aa%C>OSL=i-R>inpD`5}YNd4PQNk zQeX=$ES{LigzpJbiSw;?Jqh$OXXz^uhiG!l7%+0~x7+||!E+#LX)mJ=L`arQc#@%) z|G=#)C8rT<+On;oyz6u|F`~~X->ip?17E9m@LX!vW1gg6l=K_aVw90k`!8D;VEq|X zJNvJd48-6rH(z4X)0XJhQVL>F%Yb6NE1v5wdk)9FogEKXM2wXP@W_T}_8%+LRa5sy z5f45I%Hk{0Gx+qasA{hF#@M(Q?fcsrXKXKk=Pf?ZCw^1X+xZTi`jMgUB>gMz= zdooS<37y}tK*e+qM~u+?8USjmaRK|$2InT>#X@vV% zezk zcTcl8m8i9EaespY{(Y;1-8%DljWKHMN*9by3Du`~L?I!l; z^8|MrtOsJpucN(B6e@R*V6O2FsLW>QYvGzd$3GtI)%&82bbLXY*}D=I_D7skMW4Cf zw)sor%~Z-7bky)0Glxay7rba^XGPhwSU7cNPf zu~G2qlO#@{TJK>=%IKa{V+h?lw`HQiQ+HjM+=Woh;SAq)>^&cugMGLV&9>Gk6?#!{ zLD<~0m-$k4XxW$olhAfy6?~;@Wt|81O`hAO($Nsk<~MhIt(P#YvI?56&$Y=<>pAo8 zcn}uiR%8SQ)m#dGwLvXqm^O_DJ_#jczP-hhzE3_>v6y`cgKqEc-oaRP-S&paP%X&(NtNYOP^yXleda5zN9!-!m#d z!9(_B)No5@ct%#Fn=auah4Ax+d(@TiC#|T~;`?iA=YFusfysj7ksH9lYf|_mMknkB zaBB@I7utU|@i-4wi6AQO0Fpd5?x`o&*%%- z!z1$Fak9@k*2gL)jO6|Pv#^VRXpCMBaqW6gwyxRFAzg?DMV>_c`6X{D_%1pe%i$R# z_mb~;%*g{d-icOQQRx`{t`BB#Is!;;2)9u8mxfEvt&S&-sM{1-GAh~vLmJ$Rn)la; zqLe#pdU;&}vVxdO!(mnk-Pcw6u0>#%agaIL@UOZQY&Q-su6Q{U_)Bx+ ze}AjQ76|8aKWZy@J#5<4FwSr9kRNRo_6jCeVjdmacLU(J6eBeEA1ok{Ty=(qf$84q z94`bOld+IYd&a|fWf=OCt3yS)f7$2AoGdfkCdV7%)BpylfJs0hzzJ*E9f+7Z4d2R` z=vj%NzRHX27JiY;3amh2>0KNu+ZU8M)H-NJr zN3pTY93yVAxAfaT{LnWZK=!Q3cn5z9Ja;BvWKLs0Dkb@b7~JZzNq@aw?kUmbMI5n6 z@4D%hdSYaa{4~2csbDK`lCMvw#2)>E(5heFJa3lK?BiSbgaY-$DhzFyQ<3!M1HaG@ zkI!G3(!xyR`76C0cWVRpSTSAh@I&+HTsyX8NiNbSE%aQ6K-k-Zc|=ZIg~_Hz^_vPi zDnoFC4VZA50tj9 znHIi@26s3!5;kdabZ21_awwd$&1W_M0?16tS2G`0TKLP@%p`H*$m$j;MgYE zn&^!64ZujD2e%weNx8rI|GOsVy|^EkH`yRuY^3O7WzX50q53Ls23G4rAcfXd!~f}s~rf1Iq(bZ z?pvmV@;{5!u?vob*Q|y~X=z`nVF+F{j2{a?o>v*kys>=|N|O$Vha%Y1ER52OP;?Xn zires=oSl7}44BEtk?f8xa^@Bc= z^x0a@0nKvS=m?HI9g+fBa;HY48vr6+jyd*X@1sP!MNr!l&lq*JdLDx%pBS^aw zfZ<#-S0U{;K>3NkM}x(pr`XUvPn0(8=aoi&7-mD3<#S7f0qfA(|xgNkzwHSoM5eR6fM}um>&FX>%NmONBJ+u z2}jY^TtZc|xcm(yzROPpmwVFC`Rn22i?vaW1f}5#l~M6B=2dR01n7(aSGT zNOLHAZtL(tMBW_wR1klWoJfkW?kG(CAb;r6eSQXI4BnO7O<%L#C8``j*}tzzvFLwJ z*Gu9uki&eY)!V*IVM<}pt{HQH*p1?`C(JVVV5&WJujFyNHScqRI8~`%hOy{JNQys5 zHO~0+pJZ0m*k9F`JW-OqO)4p?zDxBoE?Hiq-ka6Uh~{Trz6-c%YI*3N8Cfl5%;_H+ z*-xsL+kRZGE2{!USV7T8W_Yr{{Rt^*gM+OYJgnFYFuLs-5NgkQ-Npp{n0}S=>QThV z+H(kXLdDF(SNumEL95SHk8U%*m*9Zn!Xp0yrP%fEEK=uG#5niutcu$Qh^Qdjn=IR_aJTtT!tHh7y=pRbh z`)Gf1S$~X|Ejjd5az{rXQWDcE*h7(*nKY8>5xIbenD zZ`TeFj9|EBx%eRa0I{Q^`lotgg_+a)F7i5d$86^d)Yvg0{ zmhuN{dx752N9l@GG}8~R*CaPc5IRM5f>qv2yP6AcM@yI|4(E_6Z0;xWUt(^_-gA0N z*`7Z)t3Nx}Y0sZr-T7jam+I4=q*3>m-c8L7FUZLRvS1Tym2grYzIY_QhpG)+r>F1o zvaI$2FZW)lLx?`ph}Q|GFwjSb1SUnSe>m!!UWs=GY!vy+ZFq`%?)sQ~{UsVnF1+w` zpCbyW{Q|DW@duzqxxxJKI;+Y^dfZ~9R7*F-{lR^@0RLm6&q3#Kw2#ukX$SNDGEk#V z`%d*fYlO*Q^kD}TF)(7I;IOm+wj_11a83Te1WVkFt7mjS`*>m=B@}x;8)Tr+>^re& zQV~YYazxSg$5{dX^s;2yau*rVb!j%HE&kE{#}D2v1Cxt=tO;Bq=En_SQse0AF2}b< z_eu26M&vN-xLADzIz_dqdV(-uYWCF&^z5sr1GxluMqH3%E?TzPRH8+(_?`Lsp#1KF z-Va0-)|^7=XnN%Zk*A@GHVn=c5rA0_XA!;MxTw;214u!$Os+t!!YZ?OcVX(IvJ33H zDZ;4pdJnt#Ru40F$)Q(cpRC=>&JwLBCvO0z72q7g$$7Pe{--F=4ha{*X9DAXgwL~s zrK%ADEyJ+4K^l`gdkDkG-bbOs68j5lY~A#i+4TWHM*u@vr>7sgb#h&2R9yl52C(!H ziCsW8S5dY~steB1NBWmUBAv@)1zGzK-Ikn7e;|)>b!En7$nXU$`<%VQQd=$43?@u) zuQbYmDMm*7`u@wR@%&GMRT)h5+RhwJYSV`6Uk<;;t#1Jkv3JiVgznfF*pD~GTAgIb zls#GC8+?={*X{a>JXEeYx3G;Mwp$Lk9^N2!H?k50@=kDBGP=!K$iVMu(e$)p_wP*x-$ ziTPHxJ=#QnHi!Z>Oo(~!dh9${?d))NsEOZ_Tz_Vi*Kbgo4wg}Uwh?@Y`UzNWfcl#K z@I;w3jFM(bqc5!O2b@yJx&~h^snXH0M`@1hD{MoKt_ai(9)JG_(gem&mC?bP-GocZ zo&+4&XQf;64C9raI=0t>Cw(;bfuKl_Xwdu5<^h9vS4E?Kcg}c?yxSjij?s#{j~J%8 zp2mACr@wgqV2`^^n=BI>RKtLzpM!UF!;-EWm*f`Akpk(Iq&9Li6)zF{qZR)Z0BY_ESd;5V$Dg&|H zL@kDR{spWl#*Uj!)YCYa1cd_I_WKqzRv7-0`%;|_wlAio+Nu3$M$ftjO*C5|H6C1; z$UYb_61v8%uRG9j;D*6a+qMGv{MOKqZHGFg1h5Lzc=QiLkjxNm2HowoU;wNA00+Ay zs$Pmo0p7%j^33U+Y1~O4a5s=ks?Kys5n=Gm&CD7m{a}^F!NNyNw_G@TV%jVi$o6e4gb%_Q84x#O` zoAPbmftj&b5cC}dTf&~mTs6VQcW0gIS;QO@FQ$wHsoyFA{=VtJDjWv0Af1)@9iWwr z=&*h&GZ_!pL8(rF&bQ)OYovR1@}w3R1gx4^CM*f&uYb*8y&u#K{Eb6D6t1{tW-nkU zzt&Y$CDtlw&5FDz%7JBmJ8SIpzWdnf_tKXbk`@z6Ya~3~G{4NDKU+%wA?pRu68mBj zh!!H-^1I&zQrAK4An(#8X$|Q1#XptORMA#Qk`d+PI1$0^$M{(7e;`#p;^otOmn7lp zGM+;^?36rofy|jce=x%WuhO_f(@PQ#F~SfXyKS#ztWBx?)3<)WoEQI6g)xqDtHn z)f3wz?OAV zsP=~JpdjU`?O~`DsGsgULj_W59pUos4T;tbfJ~x89p>#JFy1(jQb_GVIj0ByMHZgO z53BR+!~gRBUM;=sp>^{?dBd}rq~kx6ar5dvWqEz``mIjXO$H%RsdJ@H==o(#BOuH51vtxWbwiI`+{_lBAh>z=du^WV5Z^#S^@y4H4MsPMn@&e%ew3d4(D8JPj^T#`q3~A*#j_Y-sOHQpgwFj@A*SQohY8UUQqB*Jp9PM0Nz; zHzT%yWt_Q$5>dZ>rT9-Ea(|6sFi#h$QZr6N;Q)@b<$0S!tFtH^Ff{img+(N2T=|YP zbN3@SU`JMCiAkol4y*|M-uZod@=htCmuuh2LF<_6Zft5zt2P}gV^&RZDFLi!cj*Rj zc?*04*yt>NS(UpbvT>1@dBuwmEAEx%_fO(4rXvU%WlN1Mxq7~2#Mh})1o<(|Ir|co z!coL?V!;|a*bug?(7tf@Orz}t>7^Yu?ZAvNwK~f6DOBP3kQ(ztfft8z{cmuf9<%5f zqR4X_1aHI6_tBZ9zJ4&r1a{OhbncE4Mp$rHn$h)&oCF;-wd;-ifpTK*P90O|46YqA zxR+T)(-0@hpA(o{n3~pWmpk8Lq(Z?$-I0?Qwlg*!2^+|20pF9ZGS$@x9i50^_$c%v zfzSd}+tF*C6q;c|yLAG4f9P=H8#-?bhRuDQrmny0Tye=3K9^#bHN!8qZjzt)li?|_ zSR1nY6=|!4tgQ_7j8fL((NUvJYI3QeAq@Hr@7*srZoazPu~2ZldIKQbV_C}E%j8@S z{f5C8&u}ZY))^Q^=z_h0$?YFDFqaT)o6Fb)KR)#uRHV)vM;0AouXWZaie~1?9Cl%;@A= zi^0)0hg&WBAo1-Fj;F@P<17u1Uo#|!9;z@&7EWHA!&$5>{VIeEC`p1Yr5D$5mSKFDY*axBVg z5L9_L2l-fhF*tkvJk;JrJ@n(wdzBba&3IC<%`MifTcV!*T?Ryx!D2lhCPk<7R z0hb`4s31IeGWQY7jcq$v2rRY4;4lEvNtby8(I=uaxu&bV&w%?Q!7jdvS`-P_1*s1hOCH`37TeU7LSK*pZm38fke@Ix>>xLVv zF-~f!k^8;k-|1y`DN|dtn$oP9nT5l-^I89H=>1Ro)o0SS8c4uh>upi$mI8b`I7se( z_%R95x3@O{fv*4pHYC|kpVn~3p!AjF{87}qT4_x~l>$fy{$>yeIUWu$KW^Fl>@wlc z^KR65))3rESkccRzE~_=A72*e{48dgBTHuTw@F2_{Ou-^PuE|$uyA-C-$Jl4<(Obz zZH9`5xX$dn;mEg@3*Mgu2fzZ(@qx@2nQ4c!lSo>c14aJBUWyt%a)*`T_n+f(s@1q+ zjw!rYLav0qEL`c0{jpcGiUfs%Rztb(^}yWAfrM$){`l)sQoMMJ@nZW8Lb+$LZCRAn zvHCTEyRQA`b~)bnbS&WLHI4b738xl;i$qi|pBLYMUfnCg0g^zO&)2Pt#tP<8?0D`w^Y6*?817Rw|{ba0OuE?n+FaJ_R=E*HbQQaccmDE9gY@uh-t1-8X?aM}?*U+fs z3rEV1rR8=W2~s0}A0VrsTB{`C(SuWeTBXs_W0qawY>gLHwmetS&9>IRYYZJ^UjAs> z0~0;nPuDe>%$(dHGua-!8kEPaynmNZBC%R*hR+}aTx;$41$Od7)uL8QD5sG??QU|( zHu%DSI3SGeuQS|TkNgDk#Mw+ZX6@wl66jI&`A&n}HKPu@_5vmO)yaIeh_2g4xAfgV zi;pgl#PHUp$rh%dF_t;D=m@tC|KF^P&ZU|O7d2VWPNlomIOCCIXC79jCZqn2|O(UxB7kGXzsfr)EmO)8yz~e z7**GsIVIEgbLNgN{aQZQ_8O+k`T;5d~|{;b4r%uOGAK- z?(WLdkGa7VAk%_~-GaH>f?rZUSeW% z1F(((ZLfUXGqC-b8>4M!E^3!|YtelRuPBQj^X@@%*q04=syX!nYo{Kc{+bC1sJZV@ zh|YUzM?mj}27Sxw$1mdlI)(l&jfV6i8{_w3u|TU`ecyoy8qCo3vxrqk?W3aXI3AP8 zCdt07x(X@_Qu_M@n)#;Vp_DXt(TrPO(yyw^Ig{%cy$=iawDChH5fa>ohw|%v`sJSI zPV@fU!%BvumEMi|Ld+8^Vs?uXPcmEVqVAD7Ls!EHvOeNxQvZ;63>@=p$4N2{B64?6 z7OJ2Ii1{>Zk)=-n<-%#~{E@VKw^q7B>Gu9z_T>LGkpHiIoB-BlESTLkdA|tU{e9EJ zhP`pr;r3z4J;tczr1wxA#-KAe0u8xud{*(!7B!*N7QTcGaqlEF+v|RC10W4RVYbwY z)42&o`CpW z0#lVOlS!Aj)|4@LzO9-&nzNyZEtE>tDNaL@{iq~aA$*=0x4r5{jxN&Uuu>t}Gze5q|Wi(#~kDz6J z)8QVYy3NK9JG>+y%5UPbg$>dp^-Fi`$|EOZ+N!)c1d;J(WUtt+#6H(^XEB6}f}n(W ziQbLG`uvoJFy3h;@!en0*6~7p{U&7l0$a!DB@}a|pEq|FIC7n*LH}wZL{RHZeN*zp zZL)Y8Vi)Sxr&wBk;^lrfCX!%T>n|VY39>a3bR*2_M_$voy$PM{FlOp1-p;kYpbu_e6%IGLhO3qj@3vR3 zk<|os)6eisGy_9+n<9t{5wjZ9bxOz8KRNDnp-s7H(5A!|taR=PnN2zAhrB%f^Nkk^ znC5frt@~Ao(LcBVDhEG8i)Z+L9X!40-+EwvVbqv<@T0gawS@g}tcT%4glBZB>TQ<> z{6?EtcoW;1ZHGK14^5H>@L*gMEg-&jIe?4-MsX{a)AhuDoC4}S-mYsXfwMHiwsCb_ zQG|Cj@;EP6?En%ZDv6z=DKdlP>!F73Aj~Xm9>qVZ4W?Z6+1Vld5*0snPV#bQ1pCn1 z<)b?SRyYGyp1_F7$=lMzW4F+d$0_hdd(8<@qGlxM7iBk_ccLekn-uFlj?N7r2i+Uxce8Un5CkQu}q%Ph(KcpD}K-K ztH;dT;&1xBEgHB*fBTV2Tu>E54WrjF`s0t+BWpz8K*+1RhjIxWEI`C@G)zBUT^nMT zGieWTP2IPj*JF<`P~Ty1;Vs~)A*b2yEz-cS%`n-%6~{_8#Vl(MXWfQStp1sZo4xI! zT=t}UJ(#SSAqk$s?$j%WTd&R~#wOdg6f!awes|W(x0pqLv!9v4zP2M&yyEp{u9HV# zRh7er#h*l*A8I3`@YX)W(b~lif*6ljsC?e$+hXP-$+Bg8(G<$(F!%mci+i_Fand^u z(oxPtj-uLfI7*}>d*${tC+eyghautrSBMP$&6Movi|DGM>81KZbKOh1Hiwv3jJqFZ znUhAZKnK5K!`wj16%>{b`-v?hHp@BjtY0`$!sk=ERhOgp(JjmkO_|>ft))X6cXPAU z#~UK~HQzH8-%)H`Mu==}*>0yf2y#N#lOlWhqx3T)dO5Ok(*Y9)5?3+vEH{9kAvn>F z!9`JrJaD8z+ot*g5s%ZK)jGc{&$iUOb+x^s&h<7$Wt@M1N!uD>sWxm*SZMLSg^@W8 zxXE%bEYEQR$QBU7UgP8>-F&K*$@yB5kmtJpNwL`y*``tYG5u9~Q`3QUwKREpB8Umz zgHaYTV5jo$Z%8(6O^tbdhlHK4D;rn^VX}78GeJ#1CwIBs4$diZAnlLQ!-R^3HwleT zbm&Jm|ACY-$yg<4WA-eL;8yfE0R1DYQoCh%nm$4S!Ln`oCH<@!p}XOVgxwL{6_ok) z43|-+iE@vOp=QBTw*{?i!w15f)RMFvf1o1b{GSrIdzK+Q-Q`SL)3s-HUwyJRpibdt zepqKA{kaU_xWIG028+y>+x}d37Eq!mnj!chU5Yhyda14=6iuTV%0A%C&SSwy+_k46 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 Tr2sUjQAvQ+%zrf-yP5tUA82C} literal 0 HcmV?d00001 diff --git a/thirdparty/libxls/docs/pic/libxls_test.jpg b/thirdparty/libxls/docs/pic/libxls_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58afc6c6ac98b42c93fb2187fed8011edfa5c970 GIT binary patch literal 80878 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 A<^TWy literal 0 HcmV?d00001 diff --git a/thirdparty/libxls/docs/pic/libxls_usage.jpg b/thirdparty/libxls/docs/pic/libxls_usage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84e1c77fbf82e31cb505ff31045b1d43a650dffe GIT binary patch literal 30633 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%0AQ0YWZ1nm1Egfonxos6%4X9u6gFQ) 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 literal 0 HcmV?d00001 diff --git a/thirdparty/libxls/libxls_oh_pkg.patch b/thirdparty/libxls/libxls_oh_pkg.patch new file mode 100644 index 00000000..600c5c74 --- /dev/null +++ b/thirdparty/libxls/libxls_oh_pkg.patch @@ -0,0 +1,23 @@ +diff -Naur libxls-1.6.2/configure.ac libxls-1.6.2-patch/configure.ac +--- libxls-1.6.2/configure.ac 2021-01-04 12:31:47.000000000 +0800 ++++ libxls-1.6.2-patch/configure.ac 2023-04-21 14:23:05.765474123 +0800 +@@ -37,7 +37,7 @@ + AC_PROG_CC + AC_PROG_CC_C99 + AC_PROG_CXX +-AX_CXX_COMPILE_STDCXX_11([], [optional]) ++#AX_CXX_COMPILE_STDCXX_11([], [optional]) + + AS_IF([test "x$HAVE_CXX11" != x1], [ + AC_MSG_NOTICE([---]) +@@ -48,8 +48,8 @@ + + AC_CHECK_FUNCS([strdup wcstombs_l]) + AC_CHECK_HEADERS([wchar.h xlocale.h]) +-AC_FUNC_MALLOC +-AC_FUNC_REALLOC ++#AC_FUNC_MALLOC ++#AC_FUNC_REALLOC + AC_TYPE_SIZE_T + + AC_ARG_ENABLE([fuzz-testing], AS_HELP_STRING([--enable-fuzz-testing], ["Enable fuzz testing (requires Clang 6 or later)"]), [ -- Gitee