You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ap...@apache.org on 2019/07/04 14:11:06 UTC
[arrow] branch master updated: ARROW-5848: [C++] SO versioning
schema after release 1.0.0
This is an automated email from the ASF dual-hosted git repository.
apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 380d0a7 ARROW-5848: [C++] SO versioning schema after release 1.0.0
380d0a7 is described below
commit 380d0a7af14d76df2f6ee0e4eac0e6ff09376435
Author: Krisztián Szűcs <sz...@gmail.com>
AuthorDate: Thu Jul 4 16:10:56 2019 +0200
ARROW-5848: [C++] SO versioning schema after release 1.0.0
Described by @kou on the mailing list:
> If we may break ABI compatibility each minor version up
> release ("Y" is increased in "X.Y.Z"), we should include
> minor version into SO major version (100, 101 and 102 in the
> following examples):
>
> * 1.0.0 -> libarrow.100.0.0
> * 1.1.0 -> libarrow.101.0.0
> * 1.2.0 -> libarrow.102.0.0
>
> If we don't break ABI compatibility each minor version up
> release, we just use the same SO major version (100 in the
> following examples) in 1.0.0:
>
> * 1.0.0 -> libarrow.100.0.0
> * 1.1.0 -> libarrow.100.1.0
> * 1.2.0 -> libarrow.100.2.0
>
> I choose 1XX as SO major version because we already use
> 10-14 for SO major version. We should not use them in the
> future to avoid confusion. So I choose 1XX in the above
> examples.
We can change this schema later, but to resolve the CI failures we need a solution for now.
Author: Krisztián Szűcs <sz...@gmail.com>
Closes #4801 from kszucs/so-versioning and squashes the following commits:
81519fe1f <Krisztián Szűcs> cmake-format
74a8cbf2a <Krisztián Szűcs> fix full so-version in comment
431ef567d <Krisztián Szűcs> update SO versioning
---
cpp/CMakeLists.txt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 8f00eb2..82585d0 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -39,12 +39,14 @@ if(ARROW_VERSION_MAJOR STREQUAL ""
endif()
# The SO version is also the ABI version
-if(arrow_VERSION_MAJOR STREQUAL "0")
+if(ARROW_VERSION_MAJOR STREQUAL "0")
# Arrow 0.x.y => SO version is "x", full SO version is "x.y.0"
set(ARROW_SO_VERSION "${ARROW_VERSION_MINOR}")
set(ARROW_FULL_SO_VERSION "${ARROW_SO_VERSION}.${ARROW_VERSION_PATCH}.0")
else()
- message(FATAL_ERROR "Need to implement SO version generation for Arrow 1.0+")
+ # Arrow 1.x.y => SO version is "10x", full SO version is "10x.y.0"
+ math(EXPR ARROW_SO_VERSION "${ARROW_VERSION_MAJOR} * 100 + ${ARROW_VERSION_MINOR}")
+ set(ARROW_FULL_SO_VERSION "${ARROW_SO_VERSION}.${ARROW_VERSION_PATCH}.0")
endif()
message(STATUS "Arrow version: "