mkdir -p "$PREFIX" "$TMPDIR"
export TMPDIR
+export CFLAGS="-g -O2"
# Set platform variables
case "$arch" in
;;
esac
-# Export build flags
-export CPPFLAGS="-I$URCU_INCS"
-export LDFLAGS="-L$URCU_LIBS"
+# Export time env. variables flags
export LD_LIBRARY_PATH="$URCU_LIBS:${LD_LIBRARY_PATH:-}"
+# Define flags
+CPPFLAGS="-I$URCU_INCS"
+LDFLAGS="-L$URCU_LIBS"
+
# Set configure options for each build configuration
CONF_OPTS=""
CONF_OPTS+=" --enable-python-agent"
;;
+debug-rcu)
+ echo "Enable RCU sanity checks for debugging"
+ CPPFLAGS="${CPPFLAGS:-} -DDEBUG_RCU"
+ ;;
+
*)
echo "Standard build"
CONF_OPTS=""
mkdir -p "$BUILD_PATH"
cd "$BUILD_PATH"
- "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
;;
dist)
echo "Distribution tarball in-tree build"
# Initial configure and generate tarball
- "$SRCDIR/configure"
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure"
$MAKE dist
BUILD_PATH="$(mktemp -d)"
$TAR xvf ./*.tar.* --strip 1
# Build in extracted source tree
- "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
;;
oot-dist)
cd "$BUILD_PATH"
# Initial configure and generate tarball
- "$SRCDIR/configure"
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$SRCDIR/configure"
$MAKE dist
NEWSRC_PATH="$(mktemp -d)"
cd "$BUILD_PATH"
# Build oot from extracted sources
- "$NEWSRC_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$NEWSRC_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
;;
*)
echo "Standard in-tree build"
- "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+ CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
;;
esac
$MAKE install
# Run tests
-$MAKE check
+$MAKE --keep-going check
# Copy tap logs for the jenkins tap parser
rsync -a --exclude 'test-suite.log' --include '*/' --include '*.log' --exclude='*' tests/ "$WORKSPACE/tap"