+## @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. This program and the accompanying materials
+# 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
# 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 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
#
#
# Restore previous configuration
#
- PREVIOUS_CONF_FILE=Conf/BuildEnv.sh2
+ PREVIOUS_CONF_FILE=Conf/BuildEnv.sh
if [ -e $PREVIOUS_CONF_FILE ]
then
echo Loading previous configuration from \$WORKSPACE/$PREVIOUS_CONF_FILE
# Write configuration to a shell script to allow for configuration to be
# easily reloaded.
#
- OUTPUT_FILE=Conf/BuildEnv.sh2
+ OUTPUT_FILE=Conf/BuildEnv.sh
#echo Storing current configuration into \$WORKSPACE/$OUTPUT_FILE
OUTPUT_FILE=$WORKSPACE/$OUTPUT_FILE
echo "# Auto-generated by ${BASH_SOURCE[0]}" > $OUTPUT_FILE
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
#
BIN_SUB_DIR=`GetBaseToolsBinSubDir`
- if [ -e $EDK_TOOLS_PATH/PseudoBin/$BIN_SUB_DIR ]
+ if [ -e $EDK_TOOLS_PATH/BinWrappers/$BIN_SUB_DIR ]
then
- EDK_TOOLS_PATH_BIN=$EDK_TOOLS_PATH/PseudoBin/$BIN_SUB_DIR
+ EDK_TOOLS_PATH_BIN=$EDK_TOOLS_PATH/BinWrappers/$BIN_SUB_DIR
else
EDK_TOOLS_PATH_BIN=$EDK_TOOLS_PATH/Bin/$BIN_SUB_DIR
fi
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
}
CopySingleTemplateFile() {
- SRC_FILENAME=BaseTools/Conf/$1.template
+ SRC_FILENAME=Conf/$1.template
DST_FILENAME=Conf/$1.txt
if [ -e $WORKSPACE/$DST_FILENAME ]
return
fi
- echo "Copying \$WORKSPACE/$SRC_FILENAME"
+ echo "Copying \$EDK_TOOLS_PATH/$SRC_FILENAME"
echo " to \$WORKSPACE/$DST_FILENAME"
- SRC_FILENAME=$WORKSPACE/$SRC_FILENAME
+ SRC_FILENAME=$EDK_TOOLS_PATH/$SRC_FILENAME
DST_FILENAME=$WORKSPACE/$DST_FILENAME
cp $SRC_FILENAME $DST_FILENAME
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