Imported Upstream version 5.4.0.167

Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-08-21 15:34:15 +00:00
parent e49d6f06c0
commit 536cd135cc
12856 changed files with 563812 additions and 223249 deletions

View File

@@ -4,3 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -4,3 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -4,3 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -189,13 +189,13 @@ function cross_build_corefx_with_docker {
# TODO: For arm, we are going to embed RootFS inside Docker image.
case $__linuxCodeName in
trusty)
__dockerImage=" microsoft/dotnet-buildtools-prereqs:ubuntu1404_cross_prereqs_v2"
__dockerImage=" microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-0cd4667-20172211042239"
__skipRootFS=1
__dockerEnvironmentVariables="-e ROOTFS_DIR=/crossrootfs/arm"
__runtimeOS="ubuntu.14.04"
;;
xenial)
__dockerImage=" microsoft/dotnet-buildtools-prereqs:ubuntu1604_cross_prereqs_v2"
__dockerImage=" microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-ef0ac75-20175511035548"
__skipRootFS=1
__dockerEnvironmentVariables="-e ROOTFS_DIR=/crossrootfs/arm"
__runtimeOS="ubuntu.16.04"
@@ -208,7 +208,9 @@ function cross_build_corefx_with_docker {
# For armel Tizen, we are going to construct RootFS on the fly.
case $__linuxCodeName in
tizen)
__dockerImage=" t2wish/dotnetcore:ubuntu1404_cross_prereqs_v2"
__dockerImage=" hqueue/dotnetcore:ubuntu1404_cross_prereqs_v4-tizen_rootfs"
__skipRootFS=1
__dockerEnvironmentVariables+=" -e ROOTFS_DIR=/crossrootfs/armel.tizen.build"
__runtimeOS="tizen.4.0.0"
;;
*)
@@ -231,38 +233,13 @@ function cross_build_corefx_with_docker {
fi
# Cross building corefx with rootfs in Docker
__buildNativeCmd="/opt/corefx/build-native.sh -buildArch=$__buildArch -$__buildConfig -- cross $__verboseFlag"
if [ "$__buildArch" == "arm" ]; then
__buildManagedCmd="./build-managed.sh -$__buildConfig -buildArch=$__buildArch -RuntimeOS=$__runtimeOS"
else
# TODO-armel: We can use same option to arm, i.e. -buildArch and -RuntimeOS options for armel,
# when CoreCLR packages are also available at NuGet server for armel.
__buildManagedCmd="./build-managed.sh -$__buildConfig -BuildPackages=false"
fi
$__dockerCmd $__buildNativeCmd
$__dockerCmd $__buildManagedCmd
sudo chown -R $(id -u -n) ./bin
if [ "$__buildArch" == "armel" ]; then
# TODO-armel: This is a workaround. We don't need this if we can build managed for armel in above.
# Construct runtime directory
if [[ "$__buildConfig" == "release" ]]; then
__runtimePath="./bin/runtime/netcoreapp-Linux-Release-armel"
__managedPath="./bin/runtime/netcoreapp-Linux-Release-x64"
else
__runtimePath="./bin/runtime/netcoreapp-Linux-Debug-armel"
__managedPath="./bin/runtime/netcoreapp-Linux-Debug-x64"
fi
__extraCmd="/p:OverridePackageSource=https://tizen.myget.org/F/dotnet-core/api/v3/index.json"
fi
pushd $__managedPath
rm apphost corerun dotnet
rm *.so
rm *.ni.dll
popd
mv $__managedPath/* $__runtimePath/
rmdir $__managedPath
fi
__buildCmd="./build.sh -buildArch=$__buildArch -$__buildConfig -RuntimeOS=$__runtimeOS -- $__extraCmd"
$__dockerCmd $__buildCmd
sudo chown -R $(id -u -n) ./bin
}
#Define script variables

View File

@@ -4,3 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -51,7 +51,7 @@ if [ ! -d $TMPDIR ]; then
mkdir -p $TMPDIR
fi
TIZEN_URL=http://download.tizen.org/releases/weekly/tizen
TIZEN_URL=http://download.tizen.org/releases/daily/tizen
BUILD_XML=build.xml
REPOMD_XML=repomd.xml
PRIMARY_XML=primary.xml
@@ -120,19 +120,21 @@ fetch_tizen_pkgs_init()
fetch_tizen_pkgs()
{
PROFILE=$1
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]]/*[local-name()="location"]/@href)'
ARCH=$1
PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]]/*[local-name()="checksum"]/text())'
PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
for pkg in ${@:2}
do
Inform "Fetching... $pkg"
XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
XPATH=${XPATH/_ARCH_/$ARCH}
Xpath_get $XPATH $TMP_PRIMARY
PKG_PATH=$XPATH_RESULT
XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
XPATH=${XPATH/_ARCH_/$ARCH}
Xpath_get $XPATH $TMP_PRIMARY
CHECKSUM=$XPATH_RESULT
@@ -142,33 +144,33 @@ fetch_tizen_pkgs()
Debug "Download $PKG_URL to $PKG_PATH"
Fetch $PKG_URL $PKG_PATH true
echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
if [ $? -ne 0 ]; then
Error "Fail to fetch $PKG_URL to $PKG_PATH"
Debug "Checksum = $CHECKSUM"
exit 1
fi
done
}
Inform "Initialize arm base"
Inform "Initialize base"
fetch_tizen_pkgs_init arm base
Inform "fetch base common packages"
fetch_tizen_pkgs base gcc glibc glibc-devel linux-glibc-devel
Inform "fetch base coreclr packages"
fetch_tizen_pkgs base lldb lldb-devel libuuid libuuid-devel libgcc libstdc++ libstdc++-devel
Inform "fetch base corefx packages"
fetch_tizen_pkgs base libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-devel
Inform "fetch common packages"
fetch_tizen_pkgs armv7l gcc glibc glibc-devel
fetch_tizen_pkgs noarch linux-glibc-devel
Inform "fetch coreclr packages"
fetch_tizen_pkgs armv7l lldb lldb-devel libuuid libuuid-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel
Inform "fetch corefx packages"
fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-devel
Inform "initialize arm mobile"
fetch_tizen_pkgs_init arm-wayland mobile
Inform "fetch mobile common packages"
fetch_tizen_pkgs mobile libicu-devel
Inform "fetch mobile coreclr packages"
fetch_tizen_pkgs mobile libunwind libunwind-devel tizen-release
Inform "fetch mobile corefx packages"
fetch_tizen_pkgs mobile gssdp gssdp-devel krb5 krb5-devel libcurl libcurl-devel
Inform "Initialize unified"
fetch_tizen_pkgs_init standard unified
Inform "fetch common packages"
fetch_tizen_pkgs armv7l libicu-devel
Inform "fetch coreclr packages"
fetch_tizen_pkgs armv7l tizen-release
Inform "fetch corefx packages"
fetch_tizen_pkgs armv7l gssdp gssdp-devel krb5 krb5-devel libcurl libcurl-devel

View File

@@ -16,18 +16,3 @@ diff -u -r a/usr/lib/libpthread.so b/usr/lib/libpthread.so
OUTPUT_FORMAT(elf32-littlearm)
-GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a )
+GROUP ( libpthread.so.0 libpthread_nonshared.a )
diff -u -r a/usr/lib/libpthread.so b/usr/lib/libpthread.so
--- a/etc/os-release 2016-10-17 23:39:36.000000000 +0900
+++ b/etc/os-release 2017-01-05 14:34:39.099867682 +0900
@@ -1,7 +1,7 @@
NAME=Tizen
-VERSION="3.0.0 (Tizen3/Mobile)"
+VERSION="4.0.0 (Tizen4/Mobile)"
ID=tizen
-VERSION_ID=3.0.0
-PRETTY_NAME="Tizen 3.0.0 (Tizen3/Mobile)"
+VERSION_ID=4.0.0
+PRETTY_NAME="Tizen 4.0.0 (Tizen4/Mobile)"
ANSI_COLOR="0;36"
-CPE_NAME="cpe:/o:tizen:tizen:3.0.0"
+CPE_NAME="cpe:/o:tizen:tizen:4.0.0"

View File

@@ -16,7 +16,7 @@ set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}")
if("$ENV{__DistroRid}" MATCHES "tizen.*")
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/4.9.2")
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1")
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
add_compile_options(-Wno-deprecated-declarations) # compile-time option

View File

@@ -4,3 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -5,7 +5,7 @@ usage()
echo "Usage: $0 [BuildArch] [LinuxCodeName] [--skipunmount]"
echo "BuildArch can be: arm(default), armel, arm64, x86"
echo "LinuxCodeName - optional, Code name for Linux, can be: trusty(default), vivid, wily, xenial. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo "lldbx.y - optional, LLDB version, can be: lldb3.6(default), lldb3.8, no-lldb"
echo "lldbx.y - optional, LLDB version, can be: lldb3.6(default), lldb3.8, lldb3.9, no-lldb"
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
exit 1
}
@@ -70,6 +70,9 @@ for i in "$@" ; do
lldb3.8)
__LLDB_Package="lldb-3.8-dev"
;;
lldb3.9)
__LLDB_Package="lldb-3.9-dev"
;;
no-lldb)
unset __LLDB_Package
;;

View File

@@ -4,4 +4,6 @@ SET( HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_REALTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

64
external/corefx/cross/x86_ci_script.sh vendored Executable file
View File

@@ -0,0 +1,64 @@
#!/bin/bash
function exit_with_error {
set +x
local errorMessage="$1"
echo "ERROR: $errorMessage"
exit 1
}
#Exit if input string is empty
function exit_if_empty {
local inputString="$1"
local errorMessage="$2"
if [ -z "$inputString" ]; then
exit_with_error "$errorMessage"
fi
}
# Cross builds corefx using Docker image
function cross_build_native_with_docker {
__currentWorkingDirectory=`pwd`
# choose Docker image
__dockerImage=" hseok82/dotnet-buildtools-prereqs:ubuntu-16.04-crossx86-ef0ac75-20175511035548"
__dockerEnvironmentVariables="-e ROOTFS_DIR=/crossrootfs/x86"
__runtimeOS="ubuntu.16.04"
__dockerCmd="docker run ${__dockerEnvironmentVariables} -i --rm -v $__currentWorkingDirectory:/opt/code -w /opt/code $__dockerImage"
# Cross building corefx with rootfs in Docker
__buildNativeCmd="./build-native.sh -buildArch=x86 -$__buildConfig -- cross"
$__dockerCmd $__buildNativeCmd
sudo chown -R $(id -u -n) ./bin
}
__buildConfig=
for arg in "$@"
do
case $arg in
--buildConfig=*)
__buildConfig="$(echo ${arg#*=} | awk '{print tolower($0)}')"
if [[ "$__buildConfig" != "debug" && "$__buildConfig" != "release" ]]; then
exit_with_error "--buildConfig can be only Debug or Release" true
fi
;;
*)
;;
esac
done
set -x
set -e
exit_if_empty "$__buildConfig" "--buildConfig is a mandatory argument, not provided"
#Complete the cross build
(set +x; echo 'Building corefx...')
cross_build_native_with_docker
(set +x; echo 'Build complete')