blob: de7de35095f381b3dd059b34abc6086c3f6d4b4f [file] [log] [blame]
#!/bin/sh
EXEC_PATH="`dirname $0`"
# Source the configuration file.
. "$EXEC_PATH/svntest-config.sh"
PROJ_NAME="$1"
NEXT_PROJ="$2"
LOCAL_MAKE_OPTS="$3"
test -z "$PROJ_NAME" && exit 1
# Compute local vars
LOG_FILE="$LOG_FILE_PREFIX.rebuild-$PROJ_NAME"
# Initialize the log file
echo "BUILD: $PROJ_NAME" > $LOG_FILE
START "$PROJ_NAME::check rebuild status" \
"Checking rebuild status of $PROJ_NAME..."
test -f "$TEST_ROOT/$PROJ_NAME.rb" || FAIL
REBUILD_PROJ="`$CAT $TEST_ROOT/$PROJ_NAME.rb`"
PASS
if test $REBUILD_PROJ -eq 0 ; then
exit 0
fi
# Create the object directory
START "$PROJ_NAME::create build dir" \
"Creating build directory for $PROJ_NAME..."
$RM_RF $TEST_ROOT/"obj-$PROJ_NAME" >> $LOG_FILE 2>&1 || FAIL
$MKDIR $TEST_ROOT/"obj-$PROJ_NAME" >> $LOG_FILE 2>&1 || FAIL
PASS
# Configure
START "$PROJ_NAME::configure" "Configuring $PROJ_NAME..."
echo >> $LOG_FILE
echo "$TEST_ROOT/$CONFIG_PREFIX.$PROJ_NAME" >> $LOG_FILE
$CAT "$TEST_ROOT/$CONFIG_PREFIX.$PROJ_NAME" >> $LOG_FILE
cd $TEST_ROOT/"obj-$PROJ_NAME"
$TEST_ROOT/$CONFIG_PREFIX.$PROJ_NAME \
> "$TEST_ROOT/LOG_${PROJ_NAME}_configure" 2>&1
test $? = 0 || {
FAIL_LOG "$TEST_ROOT/LOG_${PROJ_NAME}_configure"
FAIL
}
PASS
# Build
START "$PROJ_NAME::build" "Building $PROJ_NAME..."
cd "$TEST_ROOT/obj-$PROJ_NAME"
$MAKE $LOCAL_MAKE_OPTS > "$TEST_ROOT/LOG_${PROJ_NAME}_build" 2>&1
test $? = 0 || {
FAIL_LOG "$TEST_ROOT/LOG_${PROJ_NAME}_build"
FAIL
}
PASS
# Installing
START "$PROJ_NAME::install" "Installing $PROJ_NAME..."
cd "$TEST_ROOT/obj-$PROJ_NAME"
$RM_RF "$INST_DIR/$PROJ_NAME" >> $LOG_FILE 2>&1 || FAIL
$MAKE install > "$TEST_ROOT/LOG_${PROJ_NAME}_install" 2>&1
test $? = 0 || {
FAIL_LOG "$TEST_ROOT/LOG_${PROJ_NAME}_install"
FAIL
}
PASS
START "$PROJ_NAME::rebuild flag" "Updating rebuild flag..."
echo "0" > "$TEST_ROOT/$PROJ_NAME.rb" || FAIL
# force rebuilding of next depending project
test -z "$NEXT_PROJ" || echo "1" > "$TEST_ROOT/$NEXT_PROJ".rb
PASS
echo >> $LOG_FILE