Skip to content

Commit

Permalink
Merge pull request #46 from zzq996/master
Browse files Browse the repository at this point in the history
v3.23.3
  • Loading branch information
zzq996 authored Mar 13, 2023
2 parents fb1f2f2 + e7f2bd2 commit 7dd6bd9
Show file tree
Hide file tree
Showing 271 changed files with 14,356 additions and 23,697 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
################################################################################
# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。
################################################################################

/source/eSDK_OBS_API/eSDK_OBS_API_C++/build/vc100/Debug/obs
/source/eSDK_OBS_API/eSDK_OBS_API_C++/build/vc100/Debug
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ add_definitions(-D__DPAX_LINUX_USR__)
add_definitions(-D__DPAX_THREAD_NOPREEMPT__)

set(LIBOBS_VER_MAJOR "3.23")
set(LIBOBS_VER_MINOR "1")
set(LIBOBS_VER_MINOR "3")
if(NOT CMAKE_HOST_WIN32)
add_definitions(-DLIBOBS_VER_MAJOR="${LIBOBS_VER_MAJOR}")
add_definitions(-DLIBOBS_VER_MINOR="${LIBOBS_VER_MINOR}")
Expand Down
214 changes: 214 additions & 0 deletions CMakeLists_ndk_Static.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
cmake_minimum_required(VERSION 2.8)
cmake_policy(SET CMP0004 NEW)

project(huaweicloud-obs-c-sdk)

#***********************************************************************
#*
#* basic definitions
#*
#***********************************************************************
add_definitions(-D__LINUX_USR__)
add_definitions(-D__USE_GNU)
add_definitions(-D__POSIX_SOURCE)
add_definitions(-D_GNU_SOURCE)
add_definitions(-DV5R1C00)
add_definitions(-DMY_PID=196)
add_definitions(-D__DPAX_LINUX_USR__)
add_definitions(-D__DPAX_THREAD_NOPREEMPT__)

set(LIBOBS_VER_MAJOR "3.23")
set(LIBOBS_VER_MINOR "2")
if(NOT CMAKE_HOST_WIN32)
add_definitions(-DLIBOBS_VER_MAJOR="${LIBOBS_VER_MAJOR}")
add_definitions(-DLIBOBS_VER_MINOR="${LIBOBS_VER_MINOR}")
endif()

option(USE_CUSTOM "option for custom library path" OFF)
set(SECUREC_INC_DIR ${PROJECT_SOURCE_DIR}/platform/huaweisecurec/include)
set(CURL_VERSION curl-7.82.0)
set(OPENSSL_VERSION openssl-1.1.1t)
set(LIBXML2_VERSION libxml2-2.9.9)
set(PCRE_VERSION pcre-8.45)
set(ICONV_VERSION iconv-1.15)
set(CJSON_VERSION cjson-1.7.15)



execute_process(COMMAND uname -m OUTPUT_VARIABLE OARCH)
set(ESDK_LOG_INC_DIR ${PROJECT_SOURCE_DIR}/platform/eSDK_LogAPI_V2.1.10)
set(ESDK_LOG_LIB_DIR ${PROJECT_SOURCE_DIR}/platform/eSDK_LogAPI_V2.1.10/C/ndk)
set(LINKARCH "ndk")
if(NOT USE_CUSTOM)
set(CURL_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${CURL_VERSION}/include)
set(CURL_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${CURL_VERSION}/lib)
set(OPENSSL_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${OPENSSL_VERSION}/include)
set(OPENSSL_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${OPENSSL_VERSION}/lib)
set(LIBXML2_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${LIBXML2_VERSION}/include)
set(LIBXML2_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${LIBXML2_VERSION}/lib)
set(PCRE_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${PCRE_VERSION}/include/pcre)
set(PCRE_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${PCRE_VERSION}/lib)
set(ICONV_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${ICONV_VERSION}/include)
set(ICONV_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${ICONV_VERSION}/lib)
set(CJSON_INC_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${CJSON_VERSION}/include)
set(CJSON_LIB_DIR ${PROJECT_SOURCE_DIR}/build/script/Provider/build/${LINKARCH}/${CJSON_VERSION}/lib)
set(SECUREC_LIB_DIR ${PROJECT_SOURCE_DIR}/platform/huaweisecurec/lib/${LINKARCH})
else()
if(NOT DEFINED CURL_INC_DIR)
set(CURL_INC_DIR "/usr/include" CACHE STRING "")
endif()
if(NOT DEFINED CURL_LIB_DIR)
set(CURL_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED OPENSSL_INC_DIR)
set(OPENSSL_INC_DIR "/usr/include" CACHE STRING "")
endif()
if(NOT DEFINED OPENSSL_LIB_DIR)
set(OPENSSL_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED LIBXML2_INC_DIR)
set(LIBXML2_INC_DIR "/usr/include/libxml2" CACHE STRING "")
endif()
if(NOT DEFINED LIBXML2_LIB_DIR)
set(LIBXML2_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED PCRE_INC_DIR)
set(PCRE_INC_DIR "/usr/include" CACHE STRING "")
endif()
if(NOT DEFINED PCRE_LIB_DIR)
set(PCRE_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED ICONV_INC_DIR)
set(ICONV_INC_DIR "/usr/include" CACHE STRING "")
endif()
if(NOT DEFINED ICONV_LIB_DIR)
set(ICONV_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED CJSON_INC_DIR)
set(ICONV_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
if(NOT DEFINED CJSON_LIB_DIR)
set(ICONV_LIB_DIR "/usr/lib64" CACHE STRING "")
endif()
endif()

message(STATUS "CURL_INC_DIR: ${CURL_INC_DIR}")
message(STATUS "CURL_LIB_DIR: ${CURL_LIB_DIR}")
message(STATUS "OPENSSL_INC_DIR: ${OPENSSL_INC_DIR}")
message(STATUS "OPENSSL_LIB_DIR: ${OPENSSL_LIB_DIR}")
message(STATUS "LIBXML2_INC_DIR: ${LIBXML2_INC_DIR}")
message(STATUS "LIBXML2_LIB_DIR: ${LIBXML2_LIB_DIR}")
message(STATUS "PCRE_INC_DIR: ${PCRE_INC_DIR}")
message(STATUS "PCRE_LIB_DIR: ${PCRE_LIB_DIR}")
message(STATUS "ICONV_INC_DIR: ${ICONV_INC_DIR}")
message(STATUS "ICONV_LIB_DIR: ${ICONV_LIB_DIR}")
message(STATUS "CJSON_INC_DIR: ${CJSON_INC_DIR}")
message(STATUS "CJSON_LIB_DIR: ${CJSON_LIB_DIR}")
message(STATUS "ESDK_LOG_INC_DIR: ${ESDK_LOG_INC_DIR}")
message(STATUS "ESDK_LOG_LIB_DIR: ${ESDK_LOG_LIB_DIR}")

#***********************************************************************
#*
#* compile mode
#*
#***********************************************************************
SET(ESDK_BASE_FLAGS "-g -Wall -fPIC -fno-strict-overflow -static -fprofile-arcs -DANDROID")
SET(ESDK_SP_C_FLAGS "-std=gnu99")
SET(ESDK_SP_C++_FLAGS "-std=c++11")
SET(ESDK_SP_RELEASE_FLAGS "-O2 -s")
SET(ESDK_SP_DEBUG_FLAGS "-O0 -coverage")
if(NOT CMAKE_HOST_WIN32)
SET(SEC_REQ_FLAGS "-fstack-protector-strong -fPIE -pie -Wl,-z,relro,-z,now,-z,noexecstack")
SET(SEC_SUG_BASE_FLAGS "-Wformat=2")
SET(SEC_SUG_SP_C_FLAGS "-Wshadow -Wstack-protector")
endif()

SET(ESDK_C_FLAGS "${ESDK_BASE_FLAGS} ${ESDK_SP_C_FLAGS}")
SET(ESDK_C++_FLAGS "${ESDK_BASE_FLAGS} ${ESDK_SP_C++_FLAGS}")
SET(SEC_C_FLAGS "${SEC_REQ_FLAGS} ${SEC_SUG_BASE_FLAGS} ${SEC_SUG_SP_C_FLAGS}")
SET(SEC_C++_FLAGS "${SEC_REQ_FLAGS} ${SEC_SUG_BASE_FLAGS}")
SET(CMAKE_SKIP_RPATH TRUE)

if(CMAKE_BUILD_TYPE MATCHES "Release")
message(">>> Release Mode")
set(CMAKE_C_FLAGS "${ESDK_C_FLAGS} ${ESDK_SP_RELEASE_FLAGS} ${SEC_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${ESDK_C++_FLAGS} ${ESDK_SP_RELEASE_FLAGS} ${SEC_C++_FLAGS}")

else()
message(">>> Debug Mode")
set(CMAKE_C_FLAGS "${ESDK_C_FLAGS} ${ESDK_SP_DEBUG_FLAGS} ${SEC_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${ESDK_C++_FLAGS} ${ESDK_SP_DEBUG_FLAGS} ${SEC_C++_FLAGS}")
set(COVERAGE_LINK "gcov")
add_definitions(-D_DEBUG)

endif()

message(STATUS ">>> Source Dir: " ${PROJECT_SOURCE_DIR})
message(STATUS ">>> Binary Dir: " ${PROJECT_BINARY_DIR})
message(STATUS ">>> C_FLAGS : " ${CMAKE_C_FLAGS})
message(STATUS ">>> CXX_FLAGS : " ${CMAKE_CXX_FLAGS})

#***********************************************************************
#*
#* set dir of output binary and library
#*
#***********************************************************************
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

#***********************************************************************
#*
#* Link lib
#*
#***********************************************************************
include_directories(${CURL_INC_DIR})
include_directories(${OPENSSL_INC_DIR})
include_directories(${LIBXML2_INC_DIR})
include_directories(${PCRE_INC_DIR})
include_directories(${ICONV_INC_DIR})
include_directories(${CJSON_INC_DIR})
include_directories(${SECUREC_INC_DIR})
include_directories(${ESDK_LOG_INC_DIR})

link_directories(${CURL_LIB_DIR})
link_directories(${OPENSSL_LIB_DIR})
link_directories(${LIBXML2_LIB_DIR})
link_directories(${PCRE_LIB_DIR})
link_directories(${ICONV_LIB_DIR})
link_directories(${CJSON_LIB_DIR})
link_directories(${SECUREC_LIB_DIR})
link_directories(${ESDK_LOG_LIB_DIR})
include_directories(${CMAKE_SOURCE_DIR}/source/eSDK_OBS_API/eSDK_OBS_API_C++/inc)
include_directories(${CMAKE_SOURCE_DIR}/source/eSDK_OBS_API/eSDK_OBS_API_C++/include)
aux_source_directory(${CMAKE_SOURCE_DIR}/source/eSDK_OBS_API/eSDK_OBS_API_C++/src SOURCE_DIR)
aux_source_directory(${CMAKE_SOURCE_DIR}/source/eSDK_OBS_API/eSDK_OBS_API_C++/src/bucket BUCKET_SOURCE_DIR)
aux_source_directory(${CMAKE_SOURCE_DIR}/source/eSDK_OBS_API/eSDK_OBS_API_C++/src/object OBJECT_SOURCE_DIR)
add_library(eSDKOBS STATIC ${SOURCE_DIR} ${BUCKET_SOURCE_DIR} ${OBJECT_SOURCE_DIR})
#target_link_libraries(eSDKOBS curl ssl xml2 pcre iconv cjson securec eSDKLogAPI)
target_link_libraries(eSDKOBS curl ssl xml2 pcre iconv cjson securec libeSDKLogAPI.a)

#***********************************************************************
#*
#* Unset Cache
#*
#***********************************************************************
unset(USE_CUSTOM CACHE)
unset(CURL_INC_DIR CACHE)
unset(CURL_LIB_DIR CACHE)
unset(OPENSSL_INC_DIR CACHE)
unset(OPENSSL_LIB_DIR CACHE)
unset(LIBXML2_INC_DIR CACHE)
unset(LIBXML2_LIB_DIR CACHE)
unset(PCRE_INC_DIR CACHE)
unset(PCRE_LIB_DIR CACHE)
unset(ICONV_INC_DIR CACHE)
unset(ICONV_LIB_DIR CACHE)
unset(CJSON_INC_DIR CACHE)
unset(CJSON_LIB_DIR CACHE)

#***********************************************************************
#*
#* add source code dir
#*
#***********************************************************************
#add_subdirectory(src)
14 changes: 14 additions & 0 deletions Open Source Software Notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## OPEN SOURCE SOFTWARE NOTICE
This document contains open source software notice for this product. And this document is confidential information of copyright holder. Recipient shall protect it in due care and shall not disseminate it without permission.

### Warranty Disclaimer
THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,BUT WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.

### Copyright Notice and License Texts

### Written Offer
This product contains software whose rights holders license it on the terms of the GNU General Public License, version 2 (GPLv2) or other open source software license. We will provide you with the source code of the software licensed under related license if you send us a written request by mail or email to the following addresses:
[email protected]
detailing the name of the product and the firmware version for which you need the source code and indicating how we can contact you.

**PLEASE NOTE THAT WE WILL ASK YOU TO PAY US FOR THE COSTS OF A DATA CARRIER AND THE POSTAL CHARGES TO SEND THE DATA CARRIER TO YOU. THIS OFFER IS VALID FOR THREE YEARS FROM THE MOMENT WE DISTRIBUTED THE PRODUCT AND VALID FOR AS LONG AS WE OFFER SPARE PARTS OR CUSTOMER SUPPORT FOR THAT PRODUCT MODEL.**
14 changes: 2 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
huaweicloud-sdk-c-obs
----------------------------------------------------
Version 3.22.5
新特性:
1.增加了put_object上传对象对于进度获取的支持
2.增加了部分情况下失败重试的功能,例如网络超时,服务端错误等
修复问题:
1.修复了上传对象加密功能中,密钥中存在\0时,MD5校验失败的问题
----------------------------------------------------
Version 3.22.3
新特性:
1. 断点续传支持回传上传进度

----------------------------------------------------
Version 3.21.8
修复问题:
Expand Down Expand Up @@ -54,4 +44,4 @@ Version 3.19.7
curl升级为7.64.1
libssh2升级为1.9.0
libxml2升级为2.9.9
openssl升级为1.0.2r
openssl升级为1.0.2r
Loading

0 comments on commit 7dd6bd9

Please sign in to comment.