mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
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.
This commit is contained in:
parent
dbe3e0c43e
commit
c3f209178b
@ -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"
|
||||
|
@ -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)
|
||||
|
@ -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!"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user