[ "$res" -ne "0" ]
}
+mktemp_compat() {
+ case "$platform" in
+ macos*)
+ # On MacOSX, mktemp doesn't respect TMPDIR in the same way as many
+ # other systems. Use the final positional argument to force the
+ # tempfile or tempdir to be created inside $TMPDIR, which must
+ # already exist.
+ if [ -n "${TMPDIR}" ] ; then
+ mktemp "${@}" "${TMPDIR}/tmp.XXXXXXXXXX"
+ else
+ mktemp "${@}"
+ fi
+ ;;
+ *)
+ mktemp "${@}"
+ ;;
+ esac
+}
+
print_header() {
set +x
export TAR=tar
export NPROC="getconf _NPROCESSORS_ONLN"
export PATH="/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
+ export CFLAGS="$CFLAGS -Wno-\#pragma-messages" # Fix warnings with clang14
export CPPFLAGS="-I/opt/local/include"
export LDFLAGS="-L/opt/local/lib"
export PYTHON="python3"
;;
esac
+# Some warning flags are very dumb in GCC 4.8 on SLES12 / EL7, disable them
+# even if they are available.
+if [[ $platform = sles12sp5* ]] || [[ $platform = el7* ]]; then
+ CFLAGS="$CFLAGS -Wno-missing-field-initializers -Wno-shadow"
+ CXXFLAGS="$CXXFLAGS -Wno-missing-field-initializers -Wno-shadow"
+fi
+
# Print build env details
print_header "Build environment details"
+print_hardware || true
print_os || true
print_tooling || true
print_header "Build: Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
"$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
$MAKE dist
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Extract the distribution tar in the build directory,
print_header "Build: Distribution Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Run configure out of tree and generate the tar file
"$SRCDIR/configure" || failed_configure
$MAKE dist
- dist_srcdir="$(mktemp -d)"
+ dist_srcdir="$(mktemp_compat -d)"
cd "$dist_srcdir"
# Extract the distribution tar in the new source directory,
$TAR xvf "$builddir"/*.tar.* --strip 1
# Create and enter a second temporary build directory
- builddir="$(mktemp -d)"
+ builddir="$(mktemp_compat -d)"
cd "$builddir"
# Run configure from the extracted distribution tar,