diff options
-rwxr-xr-x | build-test.sh | 3 | ||||
-rwxr-xr-x | build.sh | 9 | ||||
-rw-r--r-- | src/pal/automation/compile.py | 3 | ||||
-rwxr-xr-x | src/pal/tools/gen-buildsys-clang.sh | 13 | ||||
-rwxr-xr-x | src/pal/tools/gen-buildsys-gcc.sh | 11 |
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 @@ -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" \ |