jjb: babeltrace: use clang-format-16
[lttng-ci.git] / scripts / babeltrace / build.sh
index ae13afa55a96bf7b4afaf78b55d1419eefaaa9da..12900c74fe0e07c66ce6c649e9dd85fa31df4ec6 100755 (executable)
@@ -70,6 +70,25 @@ verne() {
     [ "$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
 
@@ -179,6 +198,7 @@ macos*)
     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"
@@ -207,8 +227,16 @@ freebsd*)
     ;;
 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
 
@@ -318,7 +346,7 @@ oot)
     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
@@ -333,7 +361,7 @@ dist)
     $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,
@@ -348,14 +376,14 @@ oot-dist)
     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,
@@ -363,7 +391,7 @@ oot-dist)
     $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,
This page took 0.023972 seconds and 4 git commands to generate.