diff --git a/ci/ci_verify_cmake.sh b/ci/ci_verify_cmake.sh index e8a23b703..5b9242ccb 100755 --- a/ci/ci_verify_cmake.sh +++ b/ci/ci_verify_cmake.sh @@ -15,8 +15,9 @@ source "$(dirname "$0")/lib/ci.lib.sh" cd "$CI_TOPLEVEL_DIR" CI_SRC_DIR="$CI_TOPLEVEL_DIR" -CI_BUILD_DIR="$CI_TOPLEVEL_DIR/out/ci_verify_cmake.build" -CI_INSTALL_DIR="$CI_TOPLEVEL_DIR/out/ci_verify_cmake.install" +CI_OUT_DIR="$CI_TOPLEVEL_DIR/out" +CI_BUILD_DIR="$CI_OUT_DIR/ci_verify_cmake.$CI_TARGET_SYSTEM.$CI_TARGET_MACHINE.build" +CI_INSTALL_DIR="$CI_OUT_DIR/ci_verify_cmake.$CI_TARGET_SYSTEM.$CI_TARGET_MACHINE.install" # Keep the following relative paths in sync with the absolute paths. # We use them for the benefit of native Windows tools that might be @@ -44,8 +45,12 @@ function ci_init_build { function ci_trace_build { ci_info "## START OF CONFIGURATION ##" - ci_info "system name: $CI_SYSTEM_NAME" - ci_info "machine hardware name: $CI_MACHINE_NAME" + ci_info "host system: $CI_HOST_SYSTEM" + ci_info "host machine hardware: $CI_HOST_MACHINE" + [[ "$CI_TARGET_SYSTEM" != "$CI_HOST_SYSTEM" ]] && + ci_info "target system: $CI_TARGET_SYSTEM" + [[ "$CI_TARGET_MACHINE" != "$CI_HOST_MACHINE" ]] && + ci_info "target machine hardware: $CI_TARGET_MACHINE" ci_info "source directory: $CI_SRC_DIR" ci_info "build directory: $CI_BUILD_DIR" ci_info "install directory: $CI_INSTALL_DIR" diff --git a/ci/ci_verify_configure.sh b/ci/ci_verify_configure.sh index 2f2631b85..d4690e396 100755 --- a/ci/ci_verify_configure.sh +++ b/ci/ci_verify_configure.sh @@ -15,8 +15,9 @@ source "$(dirname "$0")/lib/ci.lib.sh" cd "$CI_TOPLEVEL_DIR" CI_SRC_DIR="$CI_TOPLEVEL_DIR" -CI_BUILD_DIR="$CI_TOPLEVEL_DIR/out/ci_verify_configure.build" -CI_INSTALL_DIR="$CI_TOPLEVEL_DIR/out/ci_verify_configure.install" +CI_OUT_DIR="$CI_TOPLEVEL_DIR/out" +CI_BUILD_DIR="$CI_OUT_DIR/ci_verify_configure.$CI_TARGET_SYSTEM.$CI_TARGET_MACHINE.build" +CI_INSTALL_DIR="$CI_OUT_DIR/ci_verify_configure.$CI_TARGET_SYSTEM.$CI_TARGET_MACHINE.install" function ci_init_build { CI_MAKE="${CI_MAKE:-make}" @@ -30,8 +31,12 @@ function ci_init_build { function ci_trace_build { ci_info "## START OF CONFIGURATION ##" - ci_info "system name: $CI_SYSTEM_NAME" - ci_info "machine hardware name: $CI_MACHINE_NAME" + ci_info "host system: $CI_HOST_SYSTEM" + ci_info "host machine hardware: $CI_HOST_MACHINE" + [[ "$CI_TARGET_SYSTEM" != "$CI_HOST_SYSTEM" ]] && + ci_info "target system: $CI_TARGET_SYSTEM" + [[ "$CI_TARGET_MACHINE" != "$CI_HOST_MACHINE" ]] && + ci_info "target machine hardware: $CI_TARGET_MACHINE" ci_info "source directory: $CI_SRC_DIR" ci_info "build directory: $CI_BUILD_DIR" ci_info "install directory: $CI_INSTALL_DIR" diff --git a/ci/ci_verify_makefiles.sh b/ci/ci_verify_makefiles.sh index a4398cd55..ac28c631b 100755 --- a/ci/ci_verify_makefiles.sh +++ b/ci/ci_verify_makefiles.sh @@ -30,8 +30,12 @@ function ci_init_build { function ci_trace_build { ci_info "## START OF CONFIGURATION ##" - ci_info "system name: $CI_SYSTEM_NAME" - ci_info "machine hardware name: $CI_MACHINE_NAME" + ci_info "host system: $CI_HOST_SYSTEM" + ci_info "host machine hardware: $CI_HOST_MACHINE" + [[ "$CI_TARGET_SYSTEM" != "$CI_HOST_SYSTEM" ]] && + ci_info "target system: $CI_TARGET_SYSTEM" + [[ "$CI_TARGET_MACHINE" != "$CI_HOST_MACHINE" ]] && + ci_info "target machine hardware: $CI_TARGET_MACHINE" ci_info "source directory: $CI_SRC_DIR" ci_info "environment option: \$CI_MAKEFILES: '$CI_MAKEFILES'" ci_info "environment option: \$CI_MAKE: '$CI_MAKE'" diff --git a/ci/lib/ci.lib.sh b/ci/lib/ci.lib.sh index e1586d1d9..4b6349453 100644 --- a/ci/lib/ci.lib.sh +++ b/ci/lib/ci.lib.sh @@ -26,8 +26,10 @@ CI_SCRIPT_DIR="$(cd "$(dirname -- "$0")" && pwd)" CI_TOPLEVEL_DIR="$(cd "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" # Initialize the global constants CI_{HOST,TARGET}_{SYSTEM,MACHINE}. -CI_SYSTEM_NAME="${CI_SYSTEM_NAME:-"$(uname -s)"}" -CI_MACHINE_NAME="${CI_MACHINE_NAME:-"$(uname -m)"}" +CI_HOST_SYSTEM="${CI_HOST_SYSTEM:-"$(uname -s | tr 'A-Z-' 'a-z_')"}" +CI_HOST_MACHINE="${CI_HOST_MACHINE:-"$(uname -m | tr 'A-Z-' 'a-z_')"}" +CI_TARGET_SYSTEM="${CI_TARGET_SYSTEM:-"$CI_HOST_SYSTEM"}" +CI_TARGET_MACHINE="${CI_TARGET_MACHINE:-"$CI_HOST_MACHINE"}" function ci_info { printf >&2 "%s: %s\\n" "$CI_SCRIPT_NAME" "$*" @@ -66,4 +68,5 @@ function ci_spawn { # Ensure that the initialization is correct. ci_assert "$CI_TOPLEVEL_DIR/ci/lib/ci.lib.sh" -ef "${BASH_SOURCE[0]}" ci_assert "$CI_SCRIPT_DIR/$CI_SCRIPT_NAME" -ef "$0" -ci_assert -n "$CI_SYSTEM_NAME" -a -n "$CI_MACHINE_NAME" +ci_assert -n "$CI_HOST_SYSTEM" -a -n "$CI_HOST_MACHINE" +ci_assert -n "$CI_TARGET_SYSTEM" -a -n "$CI_TARGET_MACHINE"