#!/bin/bash
BASECMD=`basename $0 2> /dev/null`
if [ "$BASECMD" = "configure" ]
then
   cd `dirname $0`
fi

if [ "$1" = "-full" -o "$2" = "-full" ]
then
   STRICT_CHECKS=yes
   IS_SCOREBOARD_BUILD="yes"
   if [ "$1" = "-full" ]
   then
      shift
   fi
else
   STRICT_CHECKS=no
   IS_SCOREBOARD_BUILD="no"
fi

if [ -n "$OVERRIDE_STRICT_CHECKS" ]
then
   STRICT_CHECKS=$OVERRIDE_STRICT_CHECKS
fi

if [ ! -f "./bin/configure_functions" ]
then
    echo "ERROR: Cannot execute in directories other than that of the Splice root directory"
    echo
    return
fi
. ./bin/configure_functions

set_var IS_SCOREBOARD_BUILD "$IS_SCOREBOARD_BUILD"
set_var STRICT_CHECKS "$STRICT_CHECKS"

reset_old_vars
set_home
init_submodules "$OSPL_HOME"
#Keep generateReleaseInfo after set_home
generateReleaseInfo
#Keep source_package_info after generateReleaseInfo
source_package_info

if [ -z "$1" -a -z "$SPLICE_PLATFORM" ]
then
    SELECTED_TARGETS=
    get_avail_targets "$OSPL_HOME"
    display_and_get_target
else
    if [ ! -z "$1" ]
    then
        OPTIONS="-O $OSPL_HOME -T $1"
    else
        OPTIONS="-O $OSPL_HOME"
    fi
    set_target_alternate $OPTIONS
    TEST=$?
    if [ "$TEST" = "1" ]
    then
        return
    fi
fi


ENVFILE=envs-${SPLICE_TARGET_ENV}
TARGET_DIR="$OSPL_HOME"
if [ -f "$OSPL_OUTER_HOME/setup/environment/${SPLICE_TARGET_ENV}" ]
then
    TARGET_DIR="$OSPL_OUTER_HOME"
fi
set_var TARGET_DIR "$TARGET_DIR"
. setup/configuration/setup_components $OSPL_HOME

. setup/environment/${SPLICE_TARGET_ENV}
export_vars
if [ "$CONFIGURATION" != "OK" ]
then
    cleanup
    return 1
fi

get_abstraction_header_dirs

setup_pathed_vars
dump_env_vars > "$ENVFILE.sh"
. "./$ENVFILE.sh"
print_setup

cleanup
