diff --git a/edksetup.sh b/edksetup.sh
index f7bae84..69b79f0 100644
--- a/edksetup.sh
+++ b/edksetup.sh
@@ -15,93 +15,28 @@
 # set up in the unix style.  This script will make the necessary conversions to
 # windows style.
 
-export WORKSPACE=$(pwd)
-
-# In unix-like systems, gcc is the compiler for building tools
-export TOOL_CHAIN=gcc
-
-if [ "$JAVA_HOME" == "" ]
-then
-  echo "Please set JAVA_HOME before sourcing this script."
-else
-if [ "$ANT_HOME" == "" ]
-then
-  echo "Please set ANT_HOME before sourcing this script."
-else 
-if [ "$XMLBEANS_HOME" == "" ]
-then
-  echo "Please set XMLBEANS_HOME before sourcing this script."
-else
-  
-# These should be ok as they are.
-export CLASSPATH=$ANT_HOME/lib/ant-contrib.jar:$WORKSPACE/Tools/Jars/SurfaceArea.jar:$WORKSPACE/Tools/Jars/frameworktasks.jar:$WORKSPACE/Tools/Jars/cpptasks.jar:$WORKSPACE/Tools/Jars/PcdTools.jar:$WORKSPACE/Tools/Jars/GenBuild.jar:$XMLBEANS_HOME/lib/resolver.jar:$XMLBEANS_HOME/lib/xbean.jar:$XMLBEANS_HOME/lib/xmlpublic.jar:$XMLBEANS_HOME/lib/jsr173_1.0_api.jar:$XMLBEANS_HOME/lib/saxon8.jar:$XMLBEANS_HOME/lib/xbean_xpath.jar:$XMLBEANS_HOME/lib/saxon8-dom.jar:$XMLBEANS_HOME/lib/saxon8-xpath.jar
-export CLASSPATH=$CLASSPATH:$WORKSPACE/Tools/Jars/Common.jar
-export CLASSPATH=$CLASSPATH:$WORKSPACE/Tools/Jars/PcdTools.jar
-export CLASSPATH=$CLASSPATH:$WORKSPACE/Tools/bin/FrameworkWizard.jar
-export FRAMEWORK_TOOLS_PATH=$WORKSPACE/Tools/bin
-export PATH=$FRAMEWORK_TOOLS_PATH:$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
-
-# Handle any particulars down here.
-case "`uname`" in
-  CYGWIN*) 
-    # Convert paths to windows format.
-    export WORKSPACE=`cygpath -w $WORKSPACE`
-    export ANT_HOME=`cygpath -w $ANT_HOME`
-    export XMLBEANS_HOME=`cygpath -w $XMLBEANS_HOME`
-    export CLASSPATH=`cygpath -w -p $CLASSPATH`
-    export FRAMEWORK_TOOLS_PATH=`cygpath -w -p $FRAMEWORK_TOOLS_PATH`
-    ;;
-esac
-
 if [ \
-  "$1" = Rebuild -o \
-  "$1" = ForceRebuild -o \
-  ! -e "$WORKSPACE/Tools/Jars/Common.jar" -o \
-  ! -e "$WORKSPACE/Tools/Jars/PcdTools.jar" -o \
-  ! -e "$WORKSPACE/Tools/Jars/GenBuild.jar" -o \
-  ! -e "$WORKSPACE/Tools/Jars/SurfaceArea.jar" -o \
-  ! -e "$WORKSPACE/Tools/Jars/cpptasks.jar" -o \
-  ! -e "$WORKSPACE/Tools/Jars/frameworktasks.jar" -o \
-  ! -e "$WORKSPACE/Tools/bin/FrameworkWizard.jar" -o \
-  ! -e "$WORKSPACE/Tools/bin/CompressDll.dll" -o \
-  ! -e "$WORKSPACE/Tools/bin/CreateMtFile" -o \
-  ! -e "$WORKSPACE/Tools/bin/EfiCompress" -o \
-  ! -e "$WORKSPACE/Tools/bin/EfiRom" -o \
-  ! -e "$WORKSPACE/Tools/bin/FlashMap" -o \
-  ! -e "$WORKSPACE/Tools/bin/FwImage" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenAcpiTable" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenCRC32Section" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenCapsuleHdr" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenDepex" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenFfsFile" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenFvImage" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenSection" -o \
-  ! -e "$WORKSPACE/Tools/bin/GenTEImage" -o \
-  ! -e "$WORKSPACE/Tools/bin/MakeDeps" -o \
-  ! -e "$WORKSPACE/Tools/bin/ModifyInf" -o \
-  ! -e "$WORKSPACE/Tools/bin/PeiRebase_Ia32" -o \
-  ! -e "$WORKSPACE/Tools/bin/PeiRebase_Ipf" -o \
-  ! -e "$WORKSPACE/Tools/bin/PeiRebase_X64" -o \
-  ! -e "$WORKSPACE/Tools/bin/SecApResetVectorFixup" -o \
-  ! -e "$WORKSPACE/Tools/bin/SecFixup" -o \
-  ! -e "$WORKSPACE/Tools/bin/SetStamp" -o \
-  ! -e "$WORKSPACE/Tools/bin/SplitFile" -o \
-  ! -e "$WORKSPACE/Tools/bin/StrGather" -o \
-  ! -e "$WORKSPACE/Tools/bin/Strip" -o \
-  ! -e "$WORKSPACE/Tools/bin/VfrCompile" -o \
-  ! -e "$WORKSPACE/Tools/bin/ZeroDebugData" -o \
-  ! -e "$WORKSPACE/Tools/bin/antlr" -o \
-  ! -e "$WORKSPACE/Tools/bin/dlg" ]
+     "$1" = "-?" -o \
+     "$1" = "-h" -o \
+     "$1" = "--help" \
+   ]
 then
-  case "$1" in 
-    ForceRebuild)
-      ant -noclasspath -f $WORKSPACE/Tools/build.xml cleanall all
-      ;;
-    *)
-      ant -noclasspath -f $WORKSPACE/Tools/build.xml all
-      ;;
-  esac
+  echo BaseTools Usage: \'. edksetup.sh NewBuild\'
+  echo Ant Tools Usage: \'. edksetup.sh [ForceRebuild]\'
+  echo
+  echo Please note: This script must be \'sourced\' so the environment can be changed.
+  echo \(Either \'. edksetup.sh\' or \'source edksetup.sh\'\)
+  return
 fi
+
+if [ "$1" = NewBuild ]
+then
+  echo To utilize the new build system, run
+  echo "  . Tools/BuildEnv [options]"
+  echo Try \'. Tools/BuildEnv --help\' for more information.
+  return
+else
+  . $WORKSPACE/Tools/OldBuildEnv $*
 fi
-fi
-fi
+
+
