You've already forked linux-packaging-mono
Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
parent
1190d13a04
commit
6bdd276d05
96
external/corert/buildscripts/build-native.sh
vendored
Executable file
96
external/corert/buildscripts/build-native.sh
vendored
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
scriptRoot="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
if [ "$BUILDVARS_DONE" != 1 ]; then
|
||||
. $scriptRoot/buildvars-setup.sh $*
|
||||
fi
|
||||
|
||||
# Check the system to ensure the right pre-reqs are in place
|
||||
check_native_prereqs()
|
||||
{
|
||||
echo "Checking pre-requisites..."
|
||||
|
||||
# Check presence of CMake on the path
|
||||
hash cmake 2>/dev/null || { echo >&2 "Please install cmake before running this script"; exit 1; }
|
||||
|
||||
# Check for clang
|
||||
hash clang-$__ClangMajorVersion.$__ClangMinorVersion 2>/dev/null || hash clang$__ClangMajorVersion$__ClangMinorVersion 2>/dev/null || hash clang 2>/dev/null || { echo >&2 "Please install clang before running this script"; exit 1; }
|
||||
}
|
||||
|
||||
prepare_native_build()
|
||||
{
|
||||
# Specify path to be set for CMAKE_INSTALL_PREFIX.
|
||||
# This is where all built CoreClr libraries will copied to.
|
||||
export __CMakeBinDir="$__ProductBinDir"
|
||||
|
||||
# Configure environment if we are doing a verbose build
|
||||
if [ $__VerboseBuild == 1 ]; then
|
||||
export VERBOSE=1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
build_native_corert()
|
||||
{
|
||||
# All set to commence the build
|
||||
|
||||
echo "Commencing build of corert native components for $__BuildOS.$__BuildArch.$__BuildType"
|
||||
pushd "$__IntermediatesDir"
|
||||
|
||||
# Regenerate the CMake solution
|
||||
echo "Invoking cmake with arguments: \"$__ProjectRoot\" $__BuildType"
|
||||
"$__ProjectRoot/src/Native/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType
|
||||
|
||||
# Check that the makefiles were created.
|
||||
|
||||
if [ ! -f "$__IntermediatesDir/Makefile" ]; then
|
||||
echo "Failed to generate native component build project!"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the number of processors available to the scheduler
|
||||
# Other techniques such as `nproc` only get the number of
|
||||
# processors available to a single process.
|
||||
if [ `uname` = "FreeBSD" ]; then
|
||||
NumProc=`sysctl hw.ncpu | awk '{ print $2+1 }'`
|
||||
elif [ `uname` = "NetBSD" ]; then
|
||||
NumProc=$(($(getconf NPROCESSORS_ONLN)+1))
|
||||
else
|
||||
NumProc=$(($(getconf _NPROCESSORS_ONLN)+1))
|
||||
fi
|
||||
|
||||
# Build
|
||||
|
||||
echo "Executing make install -j $NumProc $__UnprocessedBuildArgs"
|
||||
|
||||
make install -j $NumProc $__UnprocessedBuildArgs
|
||||
if [ $? != 0 ]; then
|
||||
echo "Failed to build corert native components."
|
||||
popd
|
||||
exit $?
|
||||
fi
|
||||
|
||||
echo "CoreRT native components successfully built."
|
||||
popd
|
||||
}
|
||||
|
||||
|
||||
if $__buildnative; then
|
||||
|
||||
# Check prereqs.
|
||||
|
||||
check_native_prereqs
|
||||
|
||||
# Prepare the system
|
||||
|
||||
prepare_native_build
|
||||
|
||||
# Build the corert native components.
|
||||
|
||||
build_native_corert
|
||||
|
||||
# Build complete
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user