#!/bin/bash

export OSPL_BUILDING_EXAMPLES=yes

. buildsys/functions

ProcessArgs $*
Assert LoadConfigs
Assert SetupLogDir
Assert SetupResFile

BASE=`/bin/pwd`
export BASE
CURRENT_PL_LINUX=`uname | grep Linux`
CURRENT_PL_CYGWIN=`uname | grep CYGWIN`
CURRENT_PL_AIX=`uname | grep AIX`
CURRENT_PL_SUNOS=`uname | grep SunOS`
CURRENT_PL_DARWIN=`uname | grep Darwin`
SSSO10=`hostname | grep ssso10`
IS_WINDOWS_EXE="false"
AWK=""

if [ "$CURRENT_PL_SUNOS" != "" ] ;then
   AWK="/usr/xpg4/bin/awk"
else
   AWK="awk"
fi

IS_64_BIT=` $AWK -v a=$SETUP_TYPE 'BEGIN { print index(a, "x86_64") }'`

IS_STUDIO12=` $AWK -v a=$SETUP_TYPE 'BEGIN { print index(a, "studio12") }'`

IS_DEBUG=` $AWK -v a=$SETUP_TYPE 'BEGIN { print index(a, "-dev") }'`

if [ "$DEP" = "none" ]
then
   . ./build_example_summary_fns
else
   . $DEPWORKDIR/build/scripts/overnight/build_example_summary_fns
fi

cd ../../..

SetState BuildingExamples
echo "BUILD/EXAMPLES=RUNNING" >> $RESFILE
ArchiveLogs


# For example summary
SUM=0
SUCC=0
FAIL=0

check_platform()
{

  if [ "$CURRENT_PL_LINUX" != "" -o "$CURRENT_PL_AIX" != "" -o "$CURRENT_PL_SUNOS" != "" -o "$CURRENT_PL_DARWIN" != "" ] ;then
    return 0
  elif [ "$CURRENT_PL_CYGWIN" != "" ];then
    if [ "$TARGET_PIKEOS" = "" ] ;then
      return 1
    else
      return 0
    fi
  else
   echo UNKNOWN Platform:
   echo Current platform: `uname`
   exit
  fi
}


integrity_examples()
{
   if [ "$DEP" != "none" ]
   then
      OSPL_HOME=$DEPWORKDIR
      export OSPL_HOME
   fi

   SPLICE_PLATFORM=$SETUP_TYPE
   export SPLICE_PLATFORM
   . ./configure -full

   if [ "$CONFIGURATION" != "OK" ]
   then
      echo  "ERROR: configuration - dcps_build_examples"
      exit 1
   fi

   ArchiveLogs

    . $CONFIGFILE
   cd $LOGDIR/examples/build

   $OSPL_OUTER_HOME/testsuite/bin/build_examples_pcx86_integrity509
   exit $?
}

install_ospl()
{
    echo "Installing..."

# What is our installer called?
# Due to problems with long file names there is a "TEST" installer now for windows
# so we can install into a different location
    INSTALLER_FILENAME=
    if [ "$CURRENT_PL_CYGWIN" != "" ]
    then
        INSTALLER_FILENAME_TMP=`echo ${INSTALLERDIR}/VC/P*OpenSplice*TEST*installer.*`
        if [ -f ${INSTALLER_FILENAME_TMP} ]
        then
            INSTALLER_FILENAME=${INSTALLER_FILENAME_TMP}
            INSTTYPE=TEST
        else
            echo "Unable to find TEST installer defaulting to HDE"
        fi
    fi
    if [ -z "${INSTALLER_FILENAME}" ]
    then
        if [ "$CURRENT_PL_DARWIN" != "" ]
        then
            INSTALLER_FILENAME=`echo $INSTALLERDIR/VC/P*OpenSplice*HDE*installer.app`
            if [ ! -e "${INSTALLER_FILENAME}"  ]
            then
                INSTALLER_FILENAME=`ls $INSTALLERDIR/VC/P*OpenSplice*HDE*installer.tar`
            fi
        else
            INSTALLER_FILENAME=`echo $INSTALLERDIR/VC/P*OpenSplice*HDE*installer.*`
        fi
        INSTTYPE=HDE
    fi

    EDITION=
    RTE=`echo $INSTALLER_FILENAME | grep -n OpenSpliceRTE`
    if [ "${RTE:0:1}" == "1" ]
    then
        EDITION=RTE
    fi

# Due to issues with long file names we will install in a shorter named directory if it's windows
    if [ "$CURRENT_PL_CYGWIN" != "" ]
    then
        VORTEX_INSTALL_DIR=$PACKAGE_VERSION
    else
        VORTEX_INSTALL_DIR=Vortex$VORTEX_VERSION/Device/VortexOpenSplice$EDITION/$PACKAGE_VERSION
    fi

    export VORTEX_INSTALL_DIR

    if [ -e "${INSTALLER_FILENAME}" ]
        then
# Could be .bin or .exe for executables, or .zip or .tgz for archives
        INSTALLER_EXTENSION=`echo $INSTALLER_FILENAME | sed -e 's/.*\.\(...\)$/\1/g'`
        case $INSTALLER_EXTENSION in
            bin)
                echo "Installing ${INSTALLER_FILENAME} into $WORKDIR/$EXAMPLE_INSTALL_DIR"
                ${INSTALLER_FILENAME} --mode unattended --prefix "$WORKDIR/$EXAMPLE_INSTALL_DIR"
#--providedLicenseFile licfile
                ;;

            run)
                echo "Installing ${INSTALLER_FILENAME} into $WORKDIR/$EXAMPLE_INSTALL_DIR"
                ${INSTALLER_FILENAME} --mode unattended --prefix "$WORKDIR/$EXAMPLE_INSTALL_DIR"
#--providedLicenseFile licfile
                ;;

            app)
                if [ "$CURRENT_PL_DARWIN" != "" ]
                then
                   echo "Installing ${INSTALLER_FILENAME} into $WORKDIR/$EXAMPLE_INSTALL_DIR"
                   ${INSTALLER_FILENAME}/Contents/MacOS/installbuilder.sh --mode unattended --prefix "$WORKDIR/$EXAMPLE_INSTALL_DIR"
#--providedLicenseFile licfile
                else
                    echo "Unable to install ${INSTALLER_RTS_FILENAME} expected OSX platform"
                fi
                ;;

            tar)
                echo "Untarring ${INSTALLER_FILENAME} ..."
                mkdir -p "${WORKDIR}/${EXAMPLE_INSTALL_DIR}/${VORTEX_INSTALL_DIR}"
                (
                  cd "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR" && \
                  tar -xf ${INSTALLER_FILENAME}
                  mv HDE/$SHORTSETUP/release.com \
                      HDE/$SHORTSETUP/release.com.orig
                  sed < HDE/$SHORTSETUP/release.com.orig \
                      > HDE/$SHORTSETUP/release.com \
                      "s%@@INSTALLDIR@@%$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR%"
                )
                ;;

            zip)
                echo "Unzipping ${INSTALLER_FILENAME} ..."
                mkdir -p "${WORKDIR}/${EXAMPLE_INSTALL_DIR}/${VORTEX_INSTALL_DIR}"
                (
                  cd "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR" && \
                  unzip ${INSTALLER_FILENAME}
                )
                ;;
            exe)
                IS_WINDOWS_EXE="true"
                mkdir "$WORKDIR/$EXAMPLE_INSTALL_DIR"
                PATH="$PATH:/cygdrive/c/WINDOWS/system32"
                export PATH

                XPATH_INSTALLFILE=`cygpath -w "$INSTALLER_FILENAME"`
                XPATH_WORKDIR=`cygpath -w "$WORKDIR"`

                echo "exe file exists installing to $WORKDIR/$EXAMPLE_INSTALL_DIR...."
                cmd.exe /C $XPATH_INSTALLFILE --mode unattended --prefix "$XPATH_WORKDIR/$EXAMPLE_INSTALL_DIR"
                ;;
        esac
    else
        # If an installer is not found there is no point continuing with the rest of the script as there are
        # no examples to build or run...
        echo "Unable to find an installer in $INSTALLERDIR/VC"
        exit 1
    fi

    if [ "$CURRENT_PL_DARWIN" != "" ]
    then
        INSTALLER_RTS_FILENAME=`echo $INSTALLERDIR/VC/P*OpenSplice*RTS*installer.app`
        if [ ! -e "${INSTALLER_RTS_FILENAME}" ]
        then
            INSTALLER_RTS_FILENAME=`ls $INSTALLERDIR/VC/P*OpenSplice*RTS*installer.tar | grep -v HDE`
        fi
    else
        INSTALLER_RTS_FILENAME=`ls $INSTALLERDIR/VC/P*OpenSplice*RTS*installer.* | grep -v HDE`
    fi

    if [ -e "${INSTALLER_RTS_FILENAME}" ]
    then
        RTS_EXTENSION=`echo $INSTALLER_RTS_FILENAME | sed -e 's/.*\.\(...\)$/\1/g'`
        case $RTS_EXTENSION in
            run)
                echo "Installing ${INSTALLER_RTS_FILENAME} (RTS) into $WORKDIR/$RTS_INSTALL_DIR"
                ${INSTALLER_RTS_FILENAME} --mode unattended --prefix "$WORKDIR/$RTS_INSTALL_DIR"
                ;;

            app)
                if [ "$CURRENT_PL_DARWIN" != "" ]
                then
                    ${INSTALLER_RTS_FILENAME}/Contents/MacOS/installbuilder.sh --mode unattended --prefix "$WORKDIR/$EXAMPLE_INSTALL_DIR"
                else
                    echo "Unable to install ${INSTALLER_RTS_FILENAME} expected OSX platform"
                fi
                ;;

            tar)
                echo "Untarring ${INSTALLER_RTS_FILENAME} (RTS) ..."
                mkdir -p "${WORKDIR}/${RTS_INSTALL_DIR}/${VORTEX_INSTALL_DIR}"
                (
                  cd "$WORKDIR/$RTS_INSTALL_DIR/$VORTEX_INSTALL_DIR" && \
                  tar -xf ${INSTALLER_RTS_FILENAME}
                )
                ;;

            zip)
                echo "Unzipping ${INSTALLER_RTS_FILENAME} (RTS)..."
                mkdir -p "${WORKDIR}/${RTS_INSTALL_DIR}/${VORTEX_INSTALL_DIR}"
                (
                  cd "$WORKDIR/$RTS_INSTALL_DIR/$VORTEX_INSTALL_DIR" && \
                  unzip ${INSTALLER_RTS_FILENAME}
                )
                ;;
            exe)
                IS_WINDOWS_EXE="true"
                mkdir "$WORKDIR/$RTS_INSTALL_DIR"

                PATH="$PATH:/cygdrive/c/WINDOWS/system32"
                export PATH

                XPATH_INSTALLFILE=`cygpath -w "$INSTALLER_RTS_FILENAME"`
                XPATH_WORKDIR=`cygpath -w "$WORKDIR"`

                echo "exe file exists installing (RTS) to $WORKDIR/$RTS_INSTALL_DIR ...."
                cmd.exe /C $XPATH_INSTALLFILE --mode unattended --prefix "$XPATH_WORKDIR/$RTS_INSTALL_DIR"
                ;;
        esac
    else
        echo "Unable to find an RTS installer in $INSTALLERDIR/VC. (This is expected for enterprise platforms)"
    fi

    if [ -n "$LICENSE_FILE" ]
    then
        echo "Copying License into $WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/etc ...."
        cp $LICENSE_FILE "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/etc/."
        if [ $? != 0 ]
        then
            echo "Error copying license file"
        fi
    fi
}

unix_windows_examples()
{
    BUILD_ERROR=0

    # Install a copy
    if [ "$DEP" = "none" ]
    then
        INSTALLERDIR=$WORKDIR/build/install
        TEST_SRC_DIR=$WORKDIR/build/testsuite/tests
        . $WORKDIR/build/release_info/RELEASE
        LICENSE_FILE=""
    else
        echo "Setting OUTER_BASE to $BASE..."
        OUTER_BASE=$BASE
        LICENSE_FILE=$OUTER_BASE/../../../etc/license.lic
        BASE=$DEPWORKDIR/build/scripts/overnight
        INSTALLERDIR=$DEPWORKDIR/install
        TEST_SRC_DIR=$DEPWORKDIR/testsuite/tests
        . $DEPWORKDIR/release_info/RELEASE
    fi

    install_ospl

    echo "Copying (1) $BASE/example_automation_scripts/* $WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/ ...."
    cp -rp $BASE/example_automation_scripts/* "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/"

    if [ $? != 0 ]
    then
        echo "Error copying run scripts (1)"
        BUILD_ERROR=1
    fi

    echo "DEP is $DEP....."

    if [ "$DEP" != "none" ]
    then
        echo "Copying (2) $WORKDIR/build/build/scripts/overnight/example_automation_scripts/* $WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/ ...."
        cp -rp $WORKDIR/build/build/scripts/overnight/example_automation_scripts/* "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/"

        if [ $? != 0 ]
        then
            echo "Error copying run scripts (2)"
	    BUILD_ERROR=1
        fi
    fi

    if [ "$BUILD_ERROR" = "0" ]
    then
        echo "Install completed"
    else
        echo "ERROR: Install failed"
    fi

    EXAMPLESDIR="$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/examples"

    cd "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/"

    if check_platform
    then
        if [ -n "$PERC_HOME" ]
        then
           . $PERC_HOME/bin/percenv.sh
        fi
        unset OSPL_HOME_NORMALIZED
        . ./release.com
    fi

    cd examples
    if [ $? != 0 ]
    then
        echo "ERROR: Couldn't locate examples directory in installed $INSTTYPE directory."
        exit 1
    fi

    export TEST_SRC_DIR

    if [ "$CURRENT_PL_AIX" != "" ]
    then
       PATH="/usr/vac/bin:/usr/vacpp/bin:$PATH"
    fi

    #ssso10 needs to have the location of make added to the PATH in order to build the examples
    if [ "$SSSO10" != "" ]
    then
        PATH="/opt/ospldev/make/v3.80/sun4u.SunOS-5.8/bin:$PATH"
        if [ ! -z "$TARGET_VX5" ]
        then
	   . /opt/ospldev/VxWorks/v5.5.1/release.com
	fi
    else
        if [ ! -z "$TARGET_VX5" ]
        then
	   . /opt/ospldev/VxWorks/v5.5.2/release.com
	fi
    fi

    if [ "$SETUP_TYPE" = "arm.elinos5.linux64-dev" -o "$SETUP_TYPE" = "arm.elinos5.linux64-release" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-arm.elinos5/src/.libs"
       export PROTOBUF_LIB_HOME
    fi
    if [ "$SETUP_TYPE" = "x86_64.elinos6.1-dev" -o "$SETUP_TYPE" = "x86_64.elinos6.1-release" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0_elinos_6.1_x86_64/src/.libs"
       export PROTOBUF_LIB_HOME
    fi

    if [ "$SETUP_TYPE" = "armv6l.linux-release" -o "$SETUP_TYPE" = "armv6l.linux-dev" -o "$SETUP_TYPE" = "armv6l.linux-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-armv6l.linux/src/.libs"
       export PROTOBUF_LIB_HOME
    fi

    if [ "$SETUP_TYPE" = "armv7l.linux-release" -o "$SETUP_TYPE" = "armv7l.linux-dev" -o "$SETUP_TYPE" = "armv7l.linux-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-armv7l.linux/src/.libs"
       export PROTOBUF_LIB_HOME
    fi
    if [ "$SETUP_TYPE" = "armv7l_marvell.linux-release" -o "$SETUP_TYPE" = "armv7l_marvell.linux-dev" -o "$SETUP_TYPE" = "armv7l_marvell.linux-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-armv7l-linux-marvell/src/.libs"
       export PROTOBUF_LIB_HOME
    fi

    if [ "$SETUP_TYPE" = "armv7a_vfp_neon.linux-release" -o "$SETUP_TYPE" = "armv7a_vfp_neon.linux-dev" -o "$SETUP_TYPE" = "armv7a_vfp_neon.linux-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-poky-armv7l_vfp_neon/src/.libs"
       export PROTOBUF_LIB_HOME
    fi
    if [ "$SETUP_TYPE" = "armv7at2_vfp_neon.WRlinux7_gcc-release" -o "$SETUP_TYPE" = "armv7at2_vfp_neon.WRlinux7_gcc-dev" -o "$SETUP_TYPE" = "armv7at2_vfp_neon.WRlinux7_gcc-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-armv7at2-vfp-neon/src/.libs"
       export PROTOBUF_LIB_HOME
    fi
    if [ "$SETUP_TYPE" = "E500mc.linux-release" -o "$SETUP_TYPE" = "E500mc.linux-dev" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS/protobuf-2.6.0-poky-e500mc/src/.libs"
       export PROTOBUF_LIB_HOME
    fi

    if [ "$SETUP_TYPE" = "x86_64.WRlinux8_gcc-release" -o "$SETUP_TYPE" = "x86_64.WRlinux8_gcc-dev" -o "$SETUP_TYPE" = "x86_64.WRlinux8_gcc-debug" ]
    then
       PROTOBUF_LIB_HOME="/home/dds/INSTALLED_FOR_DDS_wr8/protobuf-2.6.0/src/.libs"
       export PROTOBUF_LIB_HOME
    fi

    if [ -n "$PROTOBUF_LIB_HOME" ]
    then
        LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PROTOBUF_LIB_HOME"
        export LD_LIBRARY_PATH
    fi

    BUILD_ERROR=0

    echo "Build Examples - `date`"
    if check_platform
    then
        PATH="$JAVA_HOME/bin:$PATH"
        PATH="$PATH:$TAO_ROOT/bin:$JACORB_HOME/bin:$M2_HOME/bin"

        LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$TAO_ROOT/lib"

        # Need to do this for solaris for building the dbmsconnect example
        if [ "$IS_STUDIO12" != 0 ]
        then
           LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/gcc-3.4.6/lib"
        fi

        CLASSPATH="$CLASSPATH:$JACORB_HOME/lib/endorsed/jacorb.jar:$JACORB_HOME/lib/endorsed/logkit.jar:$JACORB_HOME/lib/idl.jar"
        ACE_ROOT=$TAO_ROOT

        export PATH LD_LIBRARY_PATH CLASSPATH ACE_ROOT

        ODBCINI="$ODBCHOME/etc/odbc.ini"
        ODBCINST="$ODBCHOME/etc/odbcinst.ini"
        ODBC_MSSQL_SERVER="10.1.5.197"
        ODBC_MYSQL_SERVER="10.1.0.191"
        ODBCSYSINI="$ODBCHOME/etc"
        ODBC_LIB_NAME="odbc"

        export  ODBCINI ODBCINST ODBC_MSSQL_SERVER ODBC_MYSQL_SERVER ODBCSYSINI ODBC_LIB_NAME

        PROJECTS=`ls Makefile*`

        if [ -n "$OSPL_EXAMPLE_BUILD_PREFIX_PATH" ]
        then
            PATH=$OSPL_EXAMPLE_BUILD_PREFIX_PATH:$PATH
        fi

        echo " ####  Example Build Begin #### "
        #build all java examples

        if [ -f "pom.xml" ]
        then
            mvn package
            if [ $? != 0 ]
            then
                 echo "Failed to build Java5 examples"
            else
                echo "Building Java5 examples"
            fi
        else
           echo "No pom.xml not building Java5 examples"
        fi

        for PROJECT in $PROJECTS
        do
            if [ -f "$PROJECT" ]
            then
                echo " ####  Project: $PROJECT Begin #### "
                make -k -f $PROJECT
                if [ $? -ne 0 ]
                then
                    echo "Error calling make on $PROJECT"
                    BUILD_ERROR=1
                fi
            else
                echo "Not making make file $PROJECT as make file not found"
            fi
        done

        cd "$EXAMPLESDIR/protobuf/isocpp2/standalone"
        if [ $? != 0 ]
        then
            echo "INFO: Couldn't locate protobuf isocpp2 example directory in installed HDE."
        else
            #Protocol buffers is not currently supported on all platforms so only build
            #if a BUILD file exists
            if [ -f "BUILD" ]
            then
                bash ./BUILD
                if [ $? != 0 ]
                then
                    echo "Building isocpp2 protobuf example failed"
                    BUILD_ERROR=1
                fi
            fi
        fi
    else
        PATH="$PATH:/cygdrive/c/WINDOWS/system32"
        export PATH

        XPATH=`cygpath -w "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP"`

        echo "set OSPL_HOME=$XPATH" > setenv.bat

        XPATH=`cygpath -d "$TAO_ROOT"`
        echo "set TAO_ROOT=$XPATH" >> setenv.bat
        echo "set ACE_ROOT=$XPATH" >> setenv.bat
        echo "set VS_VER=$VS_VER" >> setenv.bat

        XPATH=`cygpath -d "$PROTOBUF_HOME"`
        echo "set PROTOBUF_HOME=$XPATH" >> setenv.bat

        XPATH=`cygpath -d "$PROTOBUF_LIB_HOME"`
        echo "set PROTOBUF_LIB_HOME=$XPATH" >> setenv.bat

        BUILD_CONFIG="DEBUG"

        if [ "$IS_DEBUG" = "0" ]
        then
            BUILD_CONFIG="RELEASE"
        fi

        # Need to pass the 64 bit nature of the configuration to devenv to override the default 32 bit
        if [ "$IS_64_BIT" = "1" ]
        then
            BUILD_CONFIG="$BUILD_CONFIG|x64"
        fi

        echo "set BUILD_CONFIG=\"$BUILD_CONFIG\"" >> setenv.bat

        XPATH=`cygpath -w "$JACORB_HOME"`
        echo "set JACORB_HOME=$XPATH" >> setenv.bat

        XPATH=`cygpath -w "$LOGDIR"`
        echo "set LOGDIR=$XPATH" >> setenv.bat

        echo "set JAVA_HOME=$JAVA_HOME" >> setenv.bat

        XPATH=`cygpath -d "$M2_HOME"`
        echo "set MAVEN_HOME=$XPATH" >> setenv.bat
        echo "set M2_HOME=$XPATH" >> setenv.bat
        XPATH=`cygpath -d "$MAVEN_UTILS"`
        echo "set MAVEN_UTILS=$XPATH" >> setenv.bat

        echo "set PATH=%MAVEN_HOME%\bin;%JAVA_HOME%\bin;%TAO_ROOT%\bin;%TAO_ROOT%\lib;%PATH%;%JACORB_HOME%\bin;%PROTOBUF_HOME%\bin;C:\Python27" >> setenv.bat

        echo "set CLASSPATH=%CLASSPATH%;%JACORB_HOME%\lib\endorsed\jacorb.jar;%JACORB_HOME%\lib\endorsed\logkit.jar;%JACORB_HOME%\lib\idl.jar" >> setenv.bat

        echo "set VS_ENV_SCRIPT=$VS_ENV_SCRIPT" >> setenv.bat

        if [ -n "$BOOST_ROOT" ]
        then
            XPATH=`cygpath -w "$BOOST_ROOT"`
            echo "set BOOST_ROOT=$XPATH" >> setenv.bat
        fi

        XPATH=`cygpath -w "$BASE"`

        echo "set OSPLI_BASE=$XPATH" >> setenv.bat
        echo "set ODBC_LIB_NAME=odbc32" >> setenv.bat

        # For some reason dds3-win2k3 likes uppercase C - this works on
        # the other windows machines too
        cmd.exe /C $XPATH/build_examples.bat

        if [ -n "`egrep -i '(fatal error|error MSB1003|[1-9][0-9]* error\(s\)|[1-9][0-9] errors|Error 127|killed)' $LOGDIR/examples/build/build_results.txt `" ]
        then
           echo "There were errors building the examples - but if we exit none will run even if only 1 example failed to build"
           BUILD_ERROR=1
        fi
    fi
    exit $BUILD_ERROR
}


vxworks6x_examples()
{
    echo "Setting OUTER_BASE to $BASE..."
    OUTER_BASE=$BASE
    LICENSE_FILE=$OUTER_BASE/../../../etc/license.lic
    BASE=$DEPWORKDIR/build/scripts/overnight
    INSTALLERDIR=$DEPWORKDIR/install
    . $DEPWORKDIR/release_info/RELEASE

   install_ospl

   EXAMPLESDIR="$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/examples"
   cd "$WORKDIR/$EXAMPLE_INSTALL_DIR/$VORTEX_INSTALL_DIR/$INSTTYPE/$SHORTSETUP/"


   if [ "$CURRENT_PL_CYGWIN" == "" ]
   then
      . ./release.com
   else
      . ./release.bat
   fi

   PATH="$JAVA_HOME/bin:$PATH"
   cd examples
   if [ $? != 0 ]
   then
      echo "ERROR: Couldn't locate examples directory in installed HDE."
      exit 1
   fi

   echo " Begin building examples -  `date`"

   CURDIR=`pwd`
   for WRSPROJECTLIST in wb_*_projects.lst wb_*_projects_AppOnly.lst
   {
      if [ -f $WRSPROJECTLIST ]
      then
         echo "Processing $WRSPROJECTLIST"
         rm -f build.log
         wrws_import.sh -data `pwd`/examplews -f `grep -v '^#' $WRSPROJECTLIST | sed "s@^@$CURDIR/@" | tr '\n' ',' | sed 's/,$/\n/'` > build.log 2>&1
         # Fake status as wrws_import does not return correct status codes.
         status=0
         create_example_summary ${WRSPROJECTLIST}_IMPORT
         rm -f build.log
         case $SETUP_TYPE in
            *vxworks6.6*)
               for WRSPROJECT in `grep -v '#' $WRSPROJECTLIST | sed -e 's@\(.*/\)\(.*\)\(/[^/]*$\)@\2@'`
	       {
                  # Build step. List the projects rather than using -a, this guarantees ordering
                  wrws_update.sh -data `pwd`/examplews -b build -l $WRSPROJECT >> build.log 2>&1
                  # Fake status as wrws_update does not return correct status codes.
                  status=0
                  create_example_summary $WRSPROJECT
                  # Now clean up (except for rtp mode where we use the vxes later)
                  rm -f build.log
               }
               ;;
            *)
               # Build step. List the projects rather than using -a, this guarantees ordering
               wrws_update.sh -data `pwd`/examplews -b build -j `grep -v '#' $WRSPROJECTLIST | sed -e 's@\(.*/\)\(.*\)\(/[^/]*$\)@\2@' | tr '\n' ',' | sed 's/,$/\n/'` > build.log 2>&1
               # Fake status as wrws_update does not return correct status codes.
               status=0
               create_example_summary $WRSPROJECT
               # Now clean up (except for rtp mode where we use the vxes later)
               rm -f build.log
               ;;
         esac
         case $SETUP_TYPE in
            *vxworks6*_km*)
               wrws_update.sh -data `pwd`/examplews -a -b clean > build.log 2>&1
               status=0
               create_example_summary ${WRSPROJECTLIST}_CLEAN
         esac
         rm -rf examplews
      fi
   }
   BUILD_RESULTS_LOG=$LOGDIR/examples/build/build_summary.txt
   BUILD_LOG=$LOGDIR/examples/build/build_results.txt
   SUMMARY_LOG=$LOGDIR/examples/build/build_summary.log
   create_example_final_summary
   exit $FAIL
}


BUILD_LOG=$LOGDIR/examples/build/build_results.txt
BUILD_RESULTS_LOG=$LOGDIR/examples/build/build_summary.txt
SUMMARY_LOG=$LOGDIR/examples/build/build_summary.log

if [ -f "${DEPWORKDIR}/setup/environment/${SETUP_TYPE}" ]
then
    CHECK_FILE=${DEPWORKDIR}/setup/environment/${SETUP_TYPE}
else
    if [ -f "${WORKDIR}/build/setup/environment/${SETUP_TYPE}" ]
    then
        CHECK_FILE=${WORKDIR}/build/setup/environment/${SETUP_TYPE}
    fi
fi
SHORTSETUP=`grep "^SPLICE_TARGET=" $CHECK_FILE | tail -1 | cut -f 2 -d = | sed 's/-release//'`

export BUILD_RESULTS_LOG
export BUILD_LOG
export SUMMARY_LOG

echo "SETUP_TYPE ${SETUP_TYPE}"
echo "BASE ${BASE} "
echo "INSTALLER_FILENAME ${INSTALLER_FILENAME} "
echo "CHECK_FILE ${CHECK_FILE} "
echo "SPLICE_TARGET ${SPLICE_TARGET} "
echo "WORKDIR ${WORKDIR} "
echo "DEPWORKDIR ${DEPWORKDIR}"
echo "SHORTSETUP ${SHORTSETUP}"

case $SETUP_TYPE in
    *int509*)
       integrity_examples;;
    *vxworks6*)
       vxworks6x_examples;;
    *vxworks5*)
       TARGET_VX5=1
       unix_windows_examples;;
    *pikeos3*)
       TARGET_PIKEOS=1
       unix_windows_examples;;
    *)
       unix_windows_examples;;
esac
