|
@@ -2,7 +2,7 @@
|
|
|
# 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 - 2014, Intel Corporation. All rights reserved.<BR>
|
|
|
+# Copyright (c) 2006 - 2015, 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
|
|
@@ -35,11 +35,28 @@ RestorePreviousConfiguration() {
|
|
|
#
|
|
|
# Restore previous configuration
|
|
|
#
|
|
|
- PREVIOUS_CONF_FILE=Conf/BuildEnv.sh
|
|
|
+ if [ -z "$CONF_PATH" ]
|
|
|
+ then
|
|
|
+ export CONF_PATH=$WORKSPACE/Conf
|
|
|
+ if [ ! -d $WORKSPACE/Conf ] && [ -n "$PACKAGES_PATH" ]
|
|
|
+ then
|
|
|
+ PACKAGES_PATH=${PACKAGES_PATH//:/ }
|
|
|
+ for DIR in $PACKAGES_PATH
|
|
|
+ do
|
|
|
+ if [ -d $DIR/Conf ]
|
|
|
+ then
|
|
|
+ export CONF_PATH=$DIR/Conf
|
|
|
+ break
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+
|
|
|
+ PREVIOUS_CONF_FILE=$CONF_PATH/BuildEnv.sh
|
|
|
if [ -e $PREVIOUS_CONF_FILE ]
|
|
|
then
|
|
|
- echo Loading previous configuration from \$WORKSPACE/$PREVIOUS_CONF_FILE
|
|
|
- . $WORKSPACE/$PREVIOUS_CONF_FILE
|
|
|
+ echo Loading previous configuration from $PREVIOUS_CONF_FILE
|
|
|
+ . $PREVIOUS_CONF_FILE
|
|
|
fi
|
|
|
}
|
|
|
|
|
@@ -70,9 +87,8 @@ StoreCurrentConfiguration() {
|
|
|
# Write configuration to a shell script to allow for configuration to be
|
|
|
# easily reloaded.
|
|
|
#
|
|
|
- OUTPUT_FILE=Conf/BuildEnv.sh
|
|
|
- #echo Storing current configuration into \$WORKSPACE/$OUTPUT_FILE
|
|
|
- OUTPUT_FILE=$WORKSPACE/$OUTPUT_FILE
|
|
|
+ OUTPUT_FILE=$CONF_PATH/BuildEnv.sh
|
|
|
+ #echo Storing current configuration into $OUTPUT_FILE
|
|
|
echo "# Auto-generated by ${BASH_SOURCE[0]}" > $OUTPUT_FILE
|
|
|
GenerateShellCodeToSetVariable WORKSPACE $OUTPUT_FILE
|
|
|
GenerateShellCodeToSetVariable EDK_TOOLS_PATH $OUTPUT_FILE
|
|
@@ -90,20 +106,20 @@ SetEdkToolsPath() {
|
|
|
fi
|
|
|
|
|
|
#
|
|
|
- # Try $WORKSPACE/Conf/EdkTools
|
|
|
+ # Try $CONF_PATH/EdkTools
|
|
|
#
|
|
|
- if [ -e $WORKSPACE/Conf/EdkTools ]
|
|
|
+ if [ -e $CONF_PATH/EdkTools ]
|
|
|
then
|
|
|
- export EDK_TOOLS_PATH=$WORKSPACE/Conf/EdkTools
|
|
|
+ export EDK_TOOLS_PATH=$CONF_PATH/EdkTools
|
|
|
return 0
|
|
|
fi
|
|
|
|
|
|
#
|
|
|
- # Try $WORKSPACE/Conf/BaseToolsSource
|
|
|
+ # Try $CONF_PATH/BaseToolsSource
|
|
|
#
|
|
|
- if [ -e $WORKSPACE/Conf/BaseToolsSource ]
|
|
|
+ if [ -e $CONF_PATH/BaseToolsSource ]
|
|
|
then
|
|
|
- export EDK_TOOLS_PATH=$WORKSPACE/Conf/BaseToolsSource
|
|
|
+ export EDK_TOOLS_PATH=$CONF_PATH/BaseToolsSource
|
|
|
return 0
|
|
|
fi
|
|
|
|
|
@@ -116,6 +132,22 @@ SetEdkToolsPath() {
|
|
|
return 0
|
|
|
fi
|
|
|
|
|
|
+ #
|
|
|
+ # Try $PACKAGES_PATH
|
|
|
+ #
|
|
|
+ if [ -n "$PACKAGES_PATH"]
|
|
|
+ then
|
|
|
+ PACKAGES_PATH=${PACKAGES_PATH//:/ }
|
|
|
+ for DIR in $PACKAGES_PATH
|
|
|
+ do
|
|
|
+ if [ -d $DIR/BaseTools ]
|
|
|
+ then
|
|
|
+ export EDK_TOOLS_PATH=$DIR/BaseTools
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ fi
|
|
|
+
|
|
|
echo "Unable to determine EDK_TOOLS_PATH"
|
|
|
echo
|
|
|
echo "You may need to download the 'BaseTools' from buildtools.tianocore.org."
|
|
@@ -179,17 +211,16 @@ AddEdkToolsToPath() {
|
|
|
CopySingleTemplateFile() {
|
|
|
|
|
|
SRC_FILENAME=Conf/$1.template
|
|
|
- DST_FILENAME=Conf/$1.txt
|
|
|
+ DST_FILENAME=$CONF_PATH/$1.txt
|
|
|
|
|
|
- if [ -e $WORKSPACE/$DST_FILENAME ]
|
|
|
+ if [ -e $DST_FILENAME ]
|
|
|
then
|
|
|
return
|
|
|
fi
|
|
|
|
|
|
echo "Copying \$EDK_TOOLS_PATH/$SRC_FILENAME"
|
|
|
- echo " to \$WORKSPACE/$DST_FILENAME"
|
|
|
+ echo " to $DST_FILENAME"
|
|
|
SRC_FILENAME=$EDK_TOOLS_PATH/$SRC_FILENAME
|
|
|
- DST_FILENAME=$WORKSPACE/$DST_FILENAME
|
|
|
cp $SRC_FILENAME $DST_FILENAME
|
|
|
|
|
|
}
|
|
@@ -230,6 +261,7 @@ ScriptMain() {
|
|
|
|
|
|
echo WORKSPACE: $WORKSPACE
|
|
|
echo EDK_TOOLS_PATH: $EDK_TOOLS_PATH
|
|
|
+ echo CONF_PATH: $CONF_PATH
|
|
|
|
|
|
CopyTemplateFiles
|
|
|
|