X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=edksetup.sh;h=7a3fe33a8f97ff203ccf681a2f2048d6eeda16d2;hp=6db6e430fe65d9b7d486e724408316fa59d6ad5c;hb=35b309d6a956f9bc5c50b8b59ce578f3925c90d7;hpb=878ddf1fc3540a715f63594ed22b6929e881afb4 diff --git a/edksetup.sh b/edksetup.sh index 6db6e430fe..7a3fe33a8f 100644 --- a/edksetup.sh +++ b/edksetup.sh @@ -1,42 +1,118 @@ -# -# Copyright (c) 2006, Intel Corporation -# All rights reserved. This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -# Setup the environment for unix-like systems running a bash-like shell. -# This file must be "sourced" not executed. For example: ". edksetup.sh" - -if [ "$WORKSPACE" == "" ] -then - echo "Please set WORKSPACE before sourcing this script." -else -if [ "$JAVA_HOME" == "" ] -then - echo "Please set JAVA_HOME before sourcing this script." -else - -# These should be ok as they are. -export ANT_HOME=$WORKSPACE/Tools/bin/apache-ant -export XMLBEANS_HOME=$WORKSPACE/Tools/bin/xmlbeans -export CLASSPATH=$WORKSPACE/Tools/Jars/SurfaceArea.jar:$WORKSPACE/Tools/Jars/frameworktasks.jar:$WORKSPACE/Tools/Jars/saxon8.jar:$WORKSPACE/Tools/Jars/cpptasks.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 -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 CLASSPATH=`cygpath -w -p $CLASSPATH` - ;; -esac - -# Now we need to build the tools. -echo "If you have not done so, please build the tools by issuing 'ant -f \$WORKSPACE/Tools/build.xml'." -fi -fi +# +# Copyright (c) 2006, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +# Setup the environment for unix-like systems running a bash-like shell. +# This file must be "sourced" notcuted. For example: ". edksetup.sh" + +export WORKSPACE=$(pwd) + +# In unix-like system, 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 + +case "`uname`" in + CYGWIN*) + # Convert paths to unix format. + # This is to remove possible wrong path when converting CLASSPATH back to windows format + export WORKSPACE=`cygpath -u $WORKSPACE` + export ANT_HOME=`cygpath -u $ANT_HOME` + export XMLBEANS_HOME=`cygpath -u $XMLBEANS_HOME` + export FRAMEWORK_TOOLS_PATH=`cygpath -u $FRAMEWORK_TOOLS_PATH` + ;; +esac + +# These should be ok as they are. +export CLASSPATH=$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 +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 +# In some unix-like system, following export is to export system's environment to user's environment +export ANT_HOME=$ANT_HOME +export JAVA_HOME=$JAVA_HOME +export XMLBEANS_HOME=$XMLBEANS_HOME + +# Handle any particulars down here. +case "`uname`" in + CYGWIN*) + # Convert paths to windows format. + export WORKSPACE=`cygpath -w $WORKSPACE` + export ANT_HOME=`cygpath -w -p $ANT_HOME` + export XMLBEANS_HOME=`cygpath -w -p $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" ] +then + case "$1" in + ForceRebuild) + ant -noclasspath -f $WORKSPACE/Tools/build.xml cleanall all + ;; + *) + ant -noclasspath -f $WORKSPACE/Tools/build.xml all + ;; + esac +fi +fi +fi +fi