+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
+
+ local message=" $1 "
+ local message_len
+ local padding_len
+
+ message_len="${#message}"
+ padding_len=$(( (80 - (message_len)) / 2 ))
+
+ printf '\n'; printf -- '#%.0s' {1..80}; printf '\n'
+ printf -- '-%.0s' {1..80}; printf '\n'
+ printf -- '#%.0s' $(seq 1 $padding_len); printf '%s' "$message"; printf -- '#%.0s' $(seq 1 $padding_len); printf '\n'
+ printf -- '-%.0s' {1..80}; printf '\n'
+ printf -- '#%.0s' {1..80}; printf '\n\n'
+
+ set -x
+}
+
+failed_configure() {
+ # Assume we are in the configured build directory
+ print_header "BEGIN config.log"
+ cat config.log
+ print_header "END config.log"
+
+ # End the build with failure
+ exit 1
+}
+
+print_header "Liburcu build script starting"
+