diff options
author | Mike Holmes <mike.holmes@linaro.org> | 2016-10-21 14:40:17 -0400 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2016-10-24 19:09:00 +0300 |
commit | eebd6b0bb6cc1f724d8f78c1c419031004adc3e4 (patch) | |
tree | f6c4a2861fe896294ee7afe4489812ecf8b823cf | |
parent | 44df10d424bcd3c74b1d662b40e74b8fdbd031a4 (diff) |
configure: the version cannot use a script
Use of a script in the autotools breaks github CI
Define the API version in configure and reuse it in the code
Benefits:
removes dependence on scripts to build
removes scripts and the make file from odp/scripts
removes generated .scmversion file
places api versioning right next to lib versioning in the configure.ac
allows github to auto build odp repos
Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
Reviewed-by: Brian Brooks <brian.brooks@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | configure.ac | 21 | ||||
-rw-r--r-- | include/odp/api/spec/.gitignore | 1 | ||||
-rw-r--r-- | include/odp/api/spec/version.h.in (renamed from include/odp/api/spec/version.h) | 6 | ||||
-rw-r--r-- | platform/Makefile.inc | 3 | ||||
-rw-r--r-- | scripts/Makefile.am | 1 | ||||
-rwxr-xr-x | scripts/get_impl_str.sh | 11 | ||||
-rwxr-xr-x | scripts/git_hash.sh | 29 |
9 files changed, 26 insertions, 52 deletions
diff --git a/.gitignore b/.gitignore index d4e7d02ee..fbc0eab96 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ .deps/ .dirstamp .libs/ -.scmversion CUnit-Memory-Dump.xml ID Makefile diff --git a/Makefile.am b/Makefile.am index 625748af2..2a9a658df 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,9 +11,8 @@ SUBDIRS = @platform_with_platform@ \ test \ helper/test \ doc \ - example \ - scripts + example @DX_RULES@ -EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion +EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README diff --git a/configure.ac b/configure.ac index f081c518f..ab1908459 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,23 @@ AC_PREREQ([2.5]) -AC_INIT([OpenDataPlane], m4_esyscmd(./scripts/git_hash.sh .), [lng-odp@lists.linaro.org]) +########################################################################## +# Set correct API version +########################################################################## +m4_define([odpapi_generation_version], [1]) +m4_define([odpapi_major_version], [11]) +m4_define([odpapi_minor_version], [0]) +m4_define([odpapi_point_version], [0]) +m4_define([odpapi_version], + [odpapi_generation_version.odpapi_major_version.odpapi_minor_version.odpapi_point_version]) +AC_INIT([OpenDataPlane],[odpapi_version],[lng-odp@lists.linaro.org]) + +ODP_VERSION_API_GENERATION=odpapi_generation_version +AC_SUBST(ODP_VERSION_API_GENERATION) +ODP_VERSION_API_MAJOR=odpapi_major_version +AC_SUBST(ODP_VERSION_API_MAJOR) +ODP_VERSION_API_MINOR=odpapi_minor_version +AC_SUBST(ODP_VERSION_API_MINOR) +AC_CONFIG_FILES([include/odp/api/spec/version.h]) + AM_INIT_AUTOMAKE([1.9 tar-pax subdir-objects]) AC_CONFIG_SRCDIR([helper/config.h.in]) AM_CONFIG_HEADER([helper/config.h]) @@ -271,7 +289,6 @@ AC_CONFIG_FILES([Makefile helper/test/Makefile pkgconfig/libodp-linux.pc pkgconfig/libodphelper-linux.pc - scripts/Makefile ]) AC_SEARCH_LIBS([timer_create],[rt posix4]) diff --git a/include/odp/api/spec/.gitignore b/include/odp/api/spec/.gitignore new file mode 100644 index 000000000..67020331b --- /dev/null +++ b/include/odp/api/spec/.gitignore @@ -0,0 +1 @@ +version.h diff --git a/include/odp/api/spec/version.h b/include/odp/api/spec/version.h.in index aa3f3ab65..4b16dcc5c 100644 --- a/include/odp/api/spec/version.h +++ b/include/odp/api/spec/version.h.in @@ -37,7 +37,7 @@ extern "C" { * very significant changes to the API. APIs with different * versions are likely not backward compatible. */ -#define ODP_VERSION_API_GENERATION 1 +#define ODP_VERSION_API_GENERATION @ODP_VERSION_API_GENERATION@ /** * ODP API major version @@ -45,7 +45,7 @@ extern "C" { * Introduction of major new features or changes. APIs with different major * versions are likely not backward compatible. */ -#define ODP_VERSION_API_MAJOR 10 +#define ODP_VERSION_API_MAJOR @ODP_VERSION_API_MAJOR@ /** * ODP API minor version @@ -54,7 +54,7 @@ extern "C" { * to the API. For an API with common generation and major version, but with * different minor numbers the two versions are backward compatible. */ -#define ODP_VERSION_API_MINOR 1 +#define ODP_VERSION_API_MINOR @ODP_VERSION_API_MINOR@ /** * ODP API version string diff --git a/platform/Makefile.inc b/platform/Makefile.inc index a44f88fa7..432d1fd96 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -10,8 +10,7 @@ lib_LTLIBRARIES = $(LIB)/libodp-linux.la AM_LDFLAGS += -version-number '$(ODP_LIBSO_VERSION)' -GIT_DESC = `$(top_srcdir)/scripts/get_impl_str.sh $(top_srcdir)` -AM_CFLAGS += "-DGIT_HASH=$(GIT_DESC)" +AM_CFLAGS += "-DGIT_HASH=$(VERSION)" AM_CFLAGS += $(VISIBILITY_CFLAGS) #The implementation will need to retain the deprecated implementation diff --git a/scripts/Makefile.am b/scripts/Makefile.am deleted file mode 100644 index 189b3efc2..000000000 --- a/scripts/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = get_impl_str.sh git_hash.sh diff --git a/scripts/get_impl_str.sh b/scripts/get_impl_str.sh deleted file mode 100755 index d765a531e..000000000 --- a/scripts/get_impl_str.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -if [ -z ${1} ]; then - echo "should be called with a path" - exit -fi -ROOTDIR=${1} - -CUSTOM_STR=${CUSTOM_STR:-https://git.linaro.org/lng/odp.git} - -echo -n "'${CUSTOM_STR}' ($(cat ${ROOTDIR}/.scmversion))" diff --git a/scripts/git_hash.sh b/scripts/git_hash.sh deleted file mode 100755 index 336eb01dd..000000000 --- a/scripts/git_hash.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -if [ -z ${1} ]; then - echo "should be called with a path" - exit -fi -ROOTDIR=${1} - -if [ -d ${ROOTDIR}/.git ]; then - hash=$(git --git-dir=${ROOTDIR}/.git describe --match 'v[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'\ - | tr -d "\n") - if [[ $(git --git-dir=${ROOTDIR}/.git diff --shortstat 2> /dev/null \ - | tail -n1) != "" ]]; then - dirty=.dirty - fi - - echo -n "${hash}${dirty}">${ROOTDIR}/.scmversion - - sed -i "s|-|.git|" ${ROOTDIR}/.scmversion - sed -i "s|-|.|g" ${ROOTDIR}/.scmversion - sed -i "s|^v||g" ${ROOTDIR}/.scmversion -elif [ ! -d ${ROOTDIR}/.git -a ! -f ${ROOTDIR}/.scmversion ]; then - echo -n "File ROOTDIR/.scmversion not found, " - echo "and not inside a git repository" - echo "Bailing out! Not recoverable!" - exit 1 -fi - -cat ${ROOTDIR}/.scmversion |