提交 72c49543 编写于 作者: M Matt Ellis

Add --skipcrossgen to cibuild.sh

In the general case, finding the correct crossgen to invoke is non
trivial since there's no strong corespondence between the host Runtime
ID (which is easy to compute) and the RID that crossgen would be
packaged in.

For example both RHEL and Centos have crossgen packaged in a nuget
packages that uses `rhel.7-x64` as the RID, in order to share the
package across minor versions of RHEL and Centos (which is binary
compatibile).

Since we can build Roslyn without crossgening the bootstrapped
toolchain, I'm exposing an option to allow skipping of crossgen for
platforms where a developer knows apriori that `crossgen.sh` would not
compute the correct RID and fail.
上级 9c200143
......@@ -48,8 +48,12 @@ bootstrap: $(TOOLSET_PATH) $(RESTORE_SEMAPHORE_PATH)
$(MSBUILD_CMD) src/Compilers/VisualBasic/VbcCore/VbcCore.csproj && \
mkdir -p $(BOOTSTRAP_PATH) && \
cp -f Binaries/$(BUILD_CONFIGURATION)/Exes/CscCore/* $(BOOTSTRAP_PATH) && \
cp -f Binaries/$(BUILD_CONFIGURATION)/Exes/VbcCore/* $(BOOTSTRAP_PATH) && \
build/scripts/crossgen.sh $(BOOTSTRAP_PATH) && \
cp -f Binaries/$(BUILD_CONFIGURATION)/Exes/VbcCore/* $(BOOTSTRAP_PATH)
ifneq ($(SKIP_CROSSGEN),true)
build/scripts/crossgen.sh $(BOOTSTRAP_PATH)
endif
rm -rf Binaries/$(BUILD_CONFIGURATION)
test:
......
......@@ -7,16 +7,18 @@ usage()
echo "usage: cibuild.sh [options]"
echo ""
echo "Options"
echo " --debug Build Debug (default)"
echo " --release Build Release"
echo " --skiptests Do not run tests"
echo " --nocache Force download of toolsets"
echo " --debug Build Debug (default)"
echo " --release Build Release"
echo " --skiptests Do not run tests"
echo " --skipcrossgen Do not crossgen the bootstrapped compiler"
echo " --nocache Force download of toolsets"
}
BUILD_CONFIGURATION=Debug
USE_CACHE=true
SKIP_TESTS=false
SKIP_CROSSGEN=false
MAKE="make"
if [[ $OSTYPE == *[Bb][Ss][Dd]* ]]; then
......@@ -51,6 +53,10 @@ do
SKIP_TESTS=true
shift 1
;;
--skipcrossgen)
SKIP_CROSSGEN=true
shift 1
;;
*)
usage
exit 1
......@@ -58,7 +64,7 @@ do
esac
done
MAKE_ARGS="BUILD_CONFIGURATION=$BUILD_CONFIGURATION"
MAKE_ARGS="BUILD_CONFIGURATION=$BUILD_CONFIGURATION SKIP_CROSSGEN=$SKIP_CROSSGEN"
if [ "$CLEAN_RUN" == "true" ]; then
echo Clean out the enlistment
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册