summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosmin Truta <ctruta@gmail.com>2020-12-31 00:41:01 -0500
committerCosmin Truta <ctruta@gmail.com>2020-12-31 00:41:01 -0500
commitc3f209178b43e327472e76562ec0ce1c3a3101bb (patch)
treef6d9569ce4253882aef24ffcb0df27407b8c2c18
parentdbe3e0c43e549a1602286144d94b0666549b18e6 (diff)
downloadlibpng-c3f209178b43e327472e76562ec0ce1c3a3101bb.tar.gz
ci: Recognize more CI_ variables for better cross-platform verification
For ci_autotools.sh, customize CPP, CPPFLAGS, AR, RANLIB, LD, LDFLAGS via CI_CPP, CI_CPP_FLAGS, CI_AR, CI_RANLIB, CI_LD, CI_LD_FLAGS. For ci_cmake.sh and ci_legacy.sh, customize AR, AR_RC and RANLIB via CI_AR and CI_RANLIB. Rewrite portions of ci_legacy.sh to match the style of ci_cmake.sh.
-rwxr-xr-xci/ci_autotools.sh17
-rwxr-xr-xci/ci_cmake.sh4
-rwxr-xr-xci/ci_legacy.sh46
3 files changed, 51 insertions, 16 deletions
diff --git a/ci/ci_autotools.sh b/ci/ci_autotools.sh
index 14108da63..6f4dc1305 100755
--- a/ci/ci_autotools.sh
+++ b/ci/ci_autotools.sh
@@ -45,6 +45,12 @@ function ci_init_autotools {
ci_info "environment option: \$CI_MAKE_FLAGS='$CI_MAKE_FLAGS'"
ci_info "environment option: \$CI_CC='$CI_CC'"
ci_info "environment option: \$CI_CC_FLAGS='$CI_CC_FLAGS'"
+ ci_info "environment option: \$CI_CPP='$CI_CPP'"
+ ci_info "environment option: \$CI_CPP_FLAGS='$CI_CPP_FLAGS'"
+ ci_info "environment option: \$CI_AR='$CI_AR'"
+ ci_info "environment option: \$CI_RANLIB='$CI_RANLIB'"
+ ci_info "environment option: \$CI_LD='$CI_LD'"
+ ci_info "environment option: \$CI_LD_FLAGS='$CI_LD_FLAGS'"
ci_info "environment option: \$CI_SANITIZERS='$CI_SANITIZERS'"
ci_info "environment option: \$CI_NO_TEST='$CI_NO_TEST'"
ci_info "environment option: \$CI_NO_INSTALL='$CI_NO_INSTALL'"
@@ -58,7 +64,16 @@ function ci_build_autotools {
# Export the configure build environment.
[[ $CI_CC ]] && ci_spawn export CC="$CI_CC"
[[ $CI_CC_FLAGS ]] && ci_spawn export CFLAGS="$CI_CC_FLAGS"
- [[ $CI_SANITIZERS ]] && ci_spawn export CFLAGS="-fsanitize=$CI_SANITIZERS -O2 $CFLAGS"
+ [[ $CI_CPP ]] && ci_spawn export CPP="$CI_CPP"
+ [[ $CI_CPP_FLAGS ]] && ci_spawn export CPPFLAGS="$CI_CPP_FLAGS"
+ [[ $CI_AR ]] && ci_spawn export AR="$CI_AR"
+ [[ $CI_RANLIB ]] && ci_spawn export RANLIB="$CI_RANLIB"
+ [[ $CI_LD ]] && ci_spawn export CPP="$CI_LD"
+ [[ $CI_LD_FLAGS ]] && ci_spawn export LDFLAGS="$CI_LD_FLAGS"
+ [[ $CI_SANITIZERS ]] && {
+ ci_spawn export CFLAGS="-fsanitize=$CI_SANITIZERS -O2 $CFLAGS"
+ ci_spawn export LDFLAGS="-fsanitize=$CI_SANITIZERS $LDFLAGS"
+ }
# Build and install.
ci_spawn rm -fr "$CI_BUILDDIR" "$CI_INSTALLDIR"
ci_spawn mkdir -p "$CI_BUILDDIR"
diff --git a/ci/ci_cmake.sh b/ci/ci_cmake.sh
index 0fec46012..3e6c42eaf 100755
--- a/ci/ci_cmake.sh
+++ b/ci/ci_cmake.sh
@@ -52,6 +52,8 @@ function ci_init_cmake {
ci_info "environment option: \$CI_CTEST_FLAGS='$CI_CTEST_FLAGS'"
ci_info "environment option: \$CI_CC='$CI_CC'"
ci_info "environment option: \$CI_CC_FLAGS='$CI_CC_FLAGS'"
+ ci_info "environment option: \$CI_AR='$CI_AR'"
+ ci_info "environment option: \$CI_RANLIB='$CI_RANLIB'"
ci_info "environment option: \$CI_SANITIZERS='$CI_SANITIZERS'"
ci_info "environment option: \$CI_NO_TEST='$CI_NO_TEST'"
ci_info "environment option: \$CI_NO_INSTALL='$CI_NO_INSTALL'"
@@ -69,6 +71,8 @@ function ci_build_cmake {
local -a ALL_CMAKE_VARS=()
[[ $CI_CC ]] && ALL_CMAKE_VARS+=(-DCMAKE_C_COMPILER="$CI_CC")
[[ $ALL_CC_FLAGS ]] && ALL_CMAKE_VARS+=(-DCMAKE_C_FLAGS="$ALL_CC_FLAGS")
+ [[ $CI_AR ]] && ALL_CMAKE_VARS+=(-DCMAKE_AR="$CI_AR")
+ [[ $CI_RANLIB ]] && ALL_CMAKE_VARS+=(-DCMAKE_RANLIB="$CI_RANLIB")
ALL_CMAKE_VARS+=(-DCMAKE_BUILD_TYPE="$CI_CMAKE_BUILD_TYPE")
ALL_CMAKE_VARS+=(-DCMAKE_INSTALL_PREFIX="$CI_INSTALLDIR")
ALL_CMAKE_VARS+=(-DCMAKE_VERBOSE_MAKEFILE=ON)
diff --git a/ci/ci_legacy.sh b/ci/ci_legacy.sh
index a933894a6..58a8005ea 100755
--- a/ci/ci_legacy.sh
+++ b/ci/ci_legacy.sh
@@ -51,6 +51,8 @@ function ci_init_legacy {
ci_info "environment option: \$CI_CC_FLAGS='$CI_CC_FLAGS'"
ci_info "environment option: \$CI_CPP='$CI_CPP'"
ci_info "environment option: \$CI_CPP_FLAGS='$CI_CPP_FLAGS'"
+ ci_info "environment option: \$CI_AR='$CI_AR'"
+ ci_info "environment option: \$CI_RANLIB='$CI_RANLIB'"
ci_info "environment option: \$CI_LD='$CI_LD'"
ci_info "environment option: \$CI_LD_FLAGS='$CI_LD_FLAGS'"
ci_info "environment option: \$CI_LIBS='$CI_LIBS'"
@@ -67,27 +69,41 @@ function ci_build_legacy {
ALL_CC_FLAGS="-fsanitize=$CI_SANITIZERS -O2 $ALL_CC_FLAGS"
ALL_LD_FLAGS="-fsanitize=$CI_SANITIZERS $ALL_LD_FLAGS"
}
- # Initialize ALL_MAKE_ARGS as an array;
- # expand CI_MAKE_FLAGS at the beginning and CI_MAKE_VARS at the end.
- local -a ALL_MAKE_ARGS=()
- ALL_MAKE_ARGS+=($CI_MAKE_FLAGS)
- [[ $CI_CC ]] && ALL_MAKE_ARGS+=("CC=$CI_CC")
- [[ $ALL_CC_FLAGS ]] && ALL_MAKE_ARGS+=("CFLAGS=$ALL_CC_FLAGS")
- [[ $CI_CPP ]] && ALL_MAKE_ARGS+=("CPP=$CI_CPP")
- [[ $CI_CPP_FLAGS ]] && ALL_MAKE_ARGS+=("CPPFLAGS=$CI_CPP_FLAGS")
- [[ $CI_LD ]] && ALL_MAKE_ARGS+=("LD=$CI_LD")
- [[ $ALL_LD_FLAGS ]] && ALL_MAKE_ARGS+=("LDFLAGS=$ALL_LD_FLAGS")
- ALL_MAKE_ARGS+=("LIBS=$CI_LIBS")
- ALL_MAKE_ARGS+=($CI_MAKE_VARS)
+ # Initialize ALL_MAKE_FLAGS and ALL_MAKE_VARS as arrays.
+ local -a ALL_MAKE_FLAGS=($CI_MAKE_FLAGS)
+ local -a ALL_MAKE_VARS=()
+ [[ $CI_CC ]] && ALL_MAKE_VARS+=(CC="$CI_CC")
+ [[ $ALL_CC_FLAGS ]] && ALL_MAKE_VARS+=(CFLAGS="$ALL_CC_FLAGS")
+ [[ $CI_CPP ]] && ALL_MAKE_VARS+=(CPP="$CI_CPP")
+ [[ $CI_CPP_FLAGS ]] && ALL_MAKE_VARS+=(CPPFLAGS="$CI_CPP_FLAGS")
+ [[ $CI_AR ]] && ALL_MAKE_VARS+=(
+ AR="${CI_AR:-ar}"
+ AR_RC="${CI_AR:-ar} rc"
+ )
+ [[ $CI_RANLIB ]] && ALL_MAKE_VARS+=(RANLIB="$CI_RANLIB")
+ [[ $CI_LD ]] && ALL_MAKE_VARS+=(LD="$CI_LD")
+ [[ $ALL_LD_FLAGS ]] && ALL_MAKE_VARS+=(LDFLAGS="$ALL_LD_FLAGS")
+ ALL_MAKE_VARS+=(LIBS="$CI_LIBS")
+ ALL_MAKE_VARS+=($CI_MAKE_VARS)
# Build!
ci_spawn cd "$CI_SRCDIR"
local MY_MAKEFILE
for MY_MAKEFILE in $CI_LEGACY_MAKEFILES
do
ci_info "using makefile: $MY_MAKEFILE"
- ci_spawn "$CI_MAKE" "${ALL_MAKE_ARGS[@]}" -f $MY_MAKEFILE
- [[ $CI_NO_TEST ]] || ci_spawn "$CI_MAKE" "${ALL_MAKE_ARGS[@]}" -f $MY_MAKEFILE test
- [[ $CI_NO_CLEAN ]] || ci_spawn "$CI_MAKE" "${ALL_MAKE_ARGS[@]}" -f $MY_MAKEFILE clean
+ ci_spawn "$CI_MAKE" -f "$MY_MAKEFILE" \
+ "${ALL_MAKE_FLAGS[@]}" \
+ "${ALL_MAKE_VARS[@]}"
+ [[ $CI_NO_TEST ]] ||
+ ci_spawn "$CI_MAKE" -f "$MY_MAKEFILE" \
+ "${ALL_MAKE_FLAGS[@]}" \
+ "${ALL_MAKE_VARS[@]}" \
+ test
+ [[ $CI_NO_CLEAN ]] ||
+ ci_spawn "$CI_MAKE" -f "$MY_MAKEFILE" \
+ "${ALL_MAKE_FLAGS[@]}" \
+ "${ALL_MAKE_VARS[@]}" \
+ clean
done
ci_info "success!"
}