summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-test.sh3
-rwxr-xr-xbuild.sh9
-rw-r--r--src/pal/automation/compile.py3
-rwxr-xr-xsrc/pal/tools/gen-buildsys-clang.sh13
-rwxr-xr-xsrc/pal/tools/gen-buildsys-gcc.sh11
5 files changed, 22 insertions, 17 deletions
diff --git a/build-test.sh b/build-test.sh
index fe86703f56..598e015c3a 100755
--- a/build-test.sh
+++ b/build-test.sh
@@ -436,7 +436,8 @@ build_native_projects()
pushd "$intermediatesForBuild"
# Regenerate the CMake solution
# Force cross dir to point to project root cross dir, in case there is a cross build.
- nextCommand="CONFIG_DIR=\"$__ProjectRoot/cross\" \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__TestDir\" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage $generator $extraCmakeArguments $__cmakeargs"
+ scriptDir="$__ProjectRoot/src/pal/tools"
+ nextCommand="CONFIG_DIR=\"$__ProjectRoot/cross\" \"$scriptDir/gen-buildsys-clang.sh\" \"$__TestDir\" $__ClangMajorVersion $__ClangMinorVersion $platformArch $scriptDir $__BuildType $__CodeCoverage $generator $extraCmakeArguments $__cmakeargs"
echo "Invoking $nextCommand"
eval $nextCommand
popd
diff --git a/build.sh b/build.sh
index 71b07fa2e8..eb5b712386 100755
--- a/build.sh
+++ b/build.sh
@@ -276,16 +276,17 @@ build_native()
pushd "$intermediatesForBuild"
# Regenerate the CMake solution
+ scriptDir="$__ProjectRoot/src/pal/tools"
if [[ $__GccBuild == 0 ]]; then
scan_build=
if [[ $__StaticAnalyzer == 1 ]]; then
scan_build=scan-build
fi
- echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion \"$__ClangMinorVersion\" $platformArch $__BuildType $__CodeCoverage $scan_build $generator $extraCmakeArguments $__cmakeargs"
- source "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion "$__ClangMinorVersion" $platformArch $__BuildType $__CodeCoverage $scan_build $generator "$extraCmakeArguments" "$__cmakeargs"
+ echo "Invoking \"$scriptDir/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion \"$__ClangMinorVersion\" $platformArch "$scriptDir" $__BuildType $__CodeCoverage $scan_build $generator $extraCmakeArguments $__cmakeargs"
+ source "$scriptDir/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion "$__ClangMinorVersion" $platformArch "$scriptDir" $__BuildType $__CodeCoverage $scan_build $generator "$extraCmakeArguments" "$__cmakeargs"
else
- echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-gcc.sh\" \"$__ProjectRoot\" $__GccMajorVersion \"$__GccMinorVersion\" $platformArch $__BuildType $__CodeCoverage $generator $extraCmakeArguments $__cmakeargs"
- source "$__ProjectRoot/src/pal/tools/gen-buildsys-gcc.sh" "$__ProjectRoot" "$__GccMajorVersion" "$__CGccMinorVersion" $platformArch $__BuildType $__CodeCoverage $generator "$extraCmakeArguments" "$__cmakeargs"
+ echo "Invoking \"$scriptDir/gen-buildsys-gcc.sh\" \"$__ProjectRoot\" $__GccMajorVersion \"$__GccMinorVersion\" $platformArch "$scriptDir" $__BuildType $__CodeCoverage $generator $extraCmakeArguments $__cmakeargs"
+ source "$scriptDir/gen-buildsys-gcc.sh" "$__ProjectRoot" "$__GccMajorVersion" "$__CGccMinorVersion" $platformArch "$scriptDir" $__BuildType $__CodeCoverage $generator "$extraCmakeArguments" "$__cmakeargs"
fi
popd
fi
diff --git a/src/pal/automation/compile.py b/src/pal/automation/compile.py
index bb9d1b88ac..0e11abce75 100644
--- a/src/pal/automation/compile.py
+++ b/src/pal/automation/compile.py
@@ -19,7 +19,8 @@ def RunCMake(workspace, target, platform):
print "Running: " + workspace + "/ProjectK/NDP/clr/src/pal/tools/gen-buildsys-clang.sh " + workspace + "/ProjectK/NDP/clr DEBUG"
print "\n==================================================\n"
sys.stdout.flush()
- returncode = subprocess.call(workspace + "/ProjectK/NDP/clr/src/pal/tools/gen-buildsys-clang.sh " + workspace + "/ProjectK/NDP/clr " + target, shell=True)
+ scriptDir = "/ProjectK/NDP/clr/src/pal/tools"
+ returncode = subprocess.call(workspace + "/ProjectK/NDP/clr/src/pal/tools/gen-buildsys-clang.sh " + workspace + "/ProjectK/NDP/clr " + target + " " + scriptDir, shell=True)
if returncode != 0:
print "ERROR: cmake failed with exit code " + str(returncode)
diff --git a/src/pal/tools/gen-buildsys-clang.sh b/src/pal/tools/gen-buildsys-clang.sh
index 95b227d89f..8f9881ba0c 100755
--- a/src/pal/tools/gen-buildsys-clang.sh
+++ b/src/pal/tools/gen-buildsys-clang.sh
@@ -3,13 +3,14 @@
# This file invokes cmake and generates the build system for Clang.
#
-if [ $# -lt 4 ]
+if [ $# -lt 5 ]
then
echo "Usage..."
- echo "gen-buildsys-clang.sh <path to top level CMakeLists.txt> <ClangMajorVersion> <ClangMinorVersion> <Architecture> [build flavor] [coverage] [ninja] [scan-build] [cmakeargs]"
+ echo "gen-buildsys-clang.sh <path to top level CMakeLists.txt> <ClangMajorVersion> <ClangMinorVersion> <Architecture> <ScriptDirectory> [build flavor] [coverage] [ninja] [scan-build] [cmakeargs]"
echo "Specify the path to the top level CMake file - <ProjectK>/src/NDP"
echo "Specify the clang version to use, split into major and minor version"
- echo "Specify the target architecture."
+ echo "Specify the target architecture."
+ echo "Specify the script directory."
echo "Optionally specify the build configuration (flavor.) Defaults to DEBUG."
echo "Optionally specify 'coverage' to enable code coverage build."
echo "Optionally specify 'scan-build' to enable build with clang static analyzer."
@@ -40,6 +41,7 @@ export CC="$(command -v clang$desired_llvm_version)"
export CXX="$(command -v clang++$desired_llvm_version)"
build_arch="$4"
+script_dir="$5"
buildtype=DEBUG
code_coverage=OFF
build_tests=OFF
@@ -47,7 +49,7 @@ scan_build=OFF
generator="Unix Makefiles"
__UnprocessedCMakeArgs=""
-for i in "${@:5}"; do
+for i in "${@:6}"; do
upperI="$(echo $i | awk '{print toupper($0)}')"
case $upperI in
# Possible build types are DEBUG, CHECKED, RELEASE, RELWITHDEBINFO, MINSIZEREL.
@@ -155,8 +157,7 @@ else
overridefile=clang-compiler-override.txt
fi
-# Determine the current script directory
-__currentScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+__currentScriptDir="$script_dir"
cmake_command=cmake
diff --git a/src/pal/tools/gen-buildsys-gcc.sh b/src/pal/tools/gen-buildsys-gcc.sh
index 0d66368048..2faf29a887 100755
--- a/src/pal/tools/gen-buildsys-gcc.sh
+++ b/src/pal/tools/gen-buildsys-gcc.sh
@@ -3,13 +3,14 @@
# This file invokes cmake and generates the build system for Gcc.
#
-if [ $# -lt 4 ]
+if [ $# -lt 5 ]
then
echo "Usage..."
- echo "gen-buildsys-gcc.sh <path to top level CMakeLists.txt> <GccMajorVersion> <GccMinorVersion> <Architecture> [build flavor] [coverage] [ninja] [cmakeargs]"
+ echo "gen-buildsys-gcc.sh <path to top level CMakeLists.txt> <GccMajorVersion> <GccMinorVersion> <Architecture> <ScriptDirectory> [build flavor] [coverage] [ninja] [cmakeargs]"
echo "Specify the path to the top level CMake file - <ProjectK>/src/NDP"
echo "Specify the Gcc version to use, split into major and minor version"
echo "Specify the target architecture."
+ echo "Specify the script directory."
echo "Optionally specify the build configuration (flavor.) Defaults to DEBUG."
echo "Optionally specify 'coverage' to enable code coverage build."
echo "Target ninja instead of make. ninja must be on the PATH."
@@ -60,6 +61,7 @@ fi
export CC CXX
build_arch="$4"
+script_dir="$5"
buildtype=DEBUG
code_coverage=OFF
generator="Unix Makefiles"
@@ -68,7 +70,7 @@ __UnprocessedCMakeArgs=""
ITER=-1
for i in "$@"; do
ITER=$((ITER + 1))
- if [ $ITER -lt 5 ]; then continue; fi
+ if [ $ITER -lt 6 ]; then continue; fi
upperI="$(echo "$i" | awk '{print toupper($0)}')"
case $upperI in
# Possible build types are DEBUG, CHECKED, RELEASE, RELWITHDEBINFO, MINSIZEREL.
@@ -158,8 +160,7 @@ fi
overridefile=gcc-compiler-override.txt
-# Determine the current script directory
-__currentScriptDir="$(cd -- "$(dirname -- "$0")" && pwd -P)"
+__currentScriptDir="$script_dir"
cmake \
-G "$generator" \