+## @file
+# Setup the environment for unix-like systems running a bash-like shell.
+# This file must be "sourced" not merely executed. For example: ". edksetup.sh"
#
-# Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
# 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
#
# 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 merely executed. For example: ". edksetup.sh"
#
SetWorkspace() {
return 0
fi
- if [ ! ${BASH_SOURCE[0]} -ef ./BaseTools/BuildEnv ]
- then
- echo Run this script from the base of your tree. For example:
- echo " cd /Path/To/Edk/Root"
- echo " . BaseTools/BuildEnv"
- return -1
- fi
-
#
# Set $WORKSPACE
#
return 0
fi
- #
- # Figure out a uniq directory name from the uname command
- #
- UNAME_DIRNAME=`uname -sm`
- UNAME_DIRNAME=${UNAME_DIRNAME// /-}
- UNAME_DIRNAME=${UNAME_DIRNAME//\//-}
-
#
# Try $WORKSPACE/Conf/EdkTools
#
fi
#
- # Try $WORKSPACE/BaseTools/Bin/$UNAME_DIRNAME
+ # Try $WORKSPACE/BaseTools
#
- if [ -e $WORKSPACE/BaseTools/Bin/$UNAME_DIRNAME ]
+ if [ -e $WORKSPACE/BaseTools ]
then
export EDK_TOOLS_PATH=$WORKSPACE/BaseTools
return 0
echo $EDK_TOOLS_PATH_BIN
}
+AddDirToStartOfPath() {
+ DIRNAME=$1
+ PATH=$DIRNAME:$DIRNAME:$DIRNAME:$PATH
+ PATH=${PATH//$DIRNAME:/}
+ PATH=$DIRNAME:$PATH
+ export PATH
+}
+
AddEdkToolsToPath() {
#
#
if [ -z "$EDK_TOOLS_PATH" ]
then
- return -1
+ return 1
fi
EDK_TOOLS_PATH_BIN=`GetEdkToolsPathBinDirectory`
- if [ ! -e $EDK_TOOLS_PATH_BIN ]
- then
- echo "Unable to find expected bin path under \$EDK_TOOLS_PATH!"
- echo "> $EDK_TOOLS_PATH_BIN"
- return -1
- fi
-
- if [ "${PATH/$EDK_TOOLS_PATH_BIN/}" == "$PATH" ]
- then
- export PATH=$EDK_TOOLS_PATH_BIN:$PATH
- return 0
- fi
+ AddDirToStartOfPath $EDK_TOOLS_PATH/BinWrappers/PosixLike
+ AddDirToStartOfPath $EDK_TOOLS_PATH_BIN
}
CopyTemplateFiles() {
CopySingleTemplateFile build_rule
- CopySingleTemplateFile FrameworkDatabase
CopySingleTemplateFile tools_def
CopySingleTemplateFile target
if [ -z $WORKSPACE ]
then
echo "Failure setting WORKSPACE"
- return -1
+ return 1
fi
RestorePreviousConfiguration
SetEdkToolsPath
if [ -z $EDK_TOOLS_PATH ]
then
- return -1
+ return 1
fi
AddEdkToolsToPath
if [ $? -ne 0 ]
then
echo "Failure adding EDK Tools into PATH!"
- return -1
+ return 1
fi
StoreCurrentConfiguration