Imported Upstream version 5.20.0.180

Former-commit-id: ff953ca879339fe1e1211f7220f563e1342e66cb
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-02-04 20:11:37 +00:00
parent 0e2d47d1c8
commit 0510252385
3360 changed files with 83827 additions and 39243 deletions

View File

@@ -1,28 +0,0 @@
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR armv7l)
add_compile_options(-target armv7-linux-gnueabihf)
add_compile_options(-mthumb)
add_compile_options(-mfpu=vfpv3)
add_compile_options(--sysroot=${CROSS_ROOTFS})
set(CROSS_LINK_FLAGS "-target arm-linux-gnueabihf")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/arm-linux-gnueabihf")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/arm-linux-gnueabihf")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}")
set(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_EXE_LINKER_FLAGS" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_SHARED_LINKER_FLAGS" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_MODULE_LINKER_FLAGS" FORCE)
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/arm-linux-gnueabihf" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "")

View File

@@ -1,111 +0,0 @@
SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_SUPPORT_ll_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GET_PRIORITY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_MMAP_DEV_ZERO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( MMAP_IGNORES_HINT_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( MMAP_DOESNOT_ALLOW_REMAP_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ACOS_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ASIN_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_POW_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ATAN2_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG10_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( UNGETC_NOT_RETURN_EOF_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAS_POSIX_SEMAPHORES_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( GETPWUID_R_SETS_ERRNO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GETCPU_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -1,23 +0,0 @@
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
add_compile_options(-target aarch64-linux-gnu)
add_compile_options(--sysroot=${CROSS_ROOTFS})
set(CROSS_LINK_FLAGS "-target aarch64-linux-gnu")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-linux-gnu")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/aarch64-linux-gnu")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}")
set(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_EXE_LINKER_FLAGS" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_SHARED_LINKER_FLAGS" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_MODULE_LINKER_FLAGS" FORCE)
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

View File

@@ -1,111 +0,0 @@
SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_SUPPORT_ll_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GET_PRIORITY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_MMAP_DEV_ZERO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( MMAP_IGNORES_HINT_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( MMAP_DOESNOT_ALLOW_REMAP_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ACOS_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ASIN_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_POW_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ATAN2_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG10_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( UNGETC_NOT_RETURN_EOF_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAS_POSIX_SEMAPHORES_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( GETPWUID_R_SETS_ERRNO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GETCPU_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_COARSE_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/daily/tizen
TIZEN_URL=http://download.tizen.org/snapshots/tizen
BUILD_XML=build.xml
REPOMD_XML=repomd.xml
PRIMARY_XML=primary.xml
@@ -157,20 +157,14 @@ fetch_tizen_pkgs()
Inform "Initialize base"
fetch_tizen_pkgs_init standard base
Inform "fetch common packages"
fetch_tizen_pkgs armv7l gcc glibc glibc-devel
fetch_tizen_pkgs armv7l gcc glibc glibc-devel libicu icu libicu-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
fetch_tizen_pkgs armv7l lldb lldb-devel libuuid libuuid-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel tizen-release
Inform "fetch corefx packages"
fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-devel
fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-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 icu 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
fetch_tizen_pkgs armv7l gssdp gssdp-devel

View File

@@ -1,59 +0,0 @@
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR armv7l)
## Specify the toolchain
set(TOOLCHAIN "arm-linux-gnueabi")
set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-)
#set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc)
#set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++)
#set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}as)
#set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar)
#set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy)
#set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump)
add_compile_options(-target armv7-linux-gnueabi)
add_compile_options(-mthumb)
add_compile_options(-mfpu=vfpv3)
add_compile_options(--sysroot=${CROSS_ROOTFS})
set(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/6.2.1")
add_compile_options(-I$ENV{ROOTFS_DIR}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
add_compile_options(-I$ENV{ROOTFS_DIR}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
add_compile_options(-Wno-deprecated-declarations) # compile-time option
add_compile_options(-D__extern_always_inline=inline)
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
else()
# TODO: this setting assumes debian armel rootfs
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include/c++/4.9 ${CROSS_ROOTFS}/usr/include/${TOOLCHAIN}/c++/4.9 )
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9")
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_EXE_LINKER_FLAGS" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_SHARED_LINKER_FLAGS" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_MODULE_LINKER_FLAGS" FORCE)
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(LLVM_ARM_DIR "$ENV{LLVM_ARM_HOME}")
if(LLVM_ARM_DIR)
set(WITH_LLDB_LIBS "${LLVM_ARM_DIR}/lib/" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${LLVM_ARM_DIR}/include" CACHE STRING "")
set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "")
set(LLDB "${LLVM_ARM_DIR}/lib/liblldb.so" CACHE STRING "")
else()
set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "")
endif()

View File

@@ -1,11 +0,0 @@
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GETCPU_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)

View File

@@ -2,10 +2,11 @@
usage()
{
echo "Usage: $0 [BuildArch] [LinuxCodeName] [cross]"
echo "Usage: $0 [BuildArch] [LinuxCodeName] [lldbx.y] [--skipunmount]"
echo "BuildArch can be: arm(default), armel, arm64, x86"
echo "LinuxCodeName - optional, Code name for Linux, can be: trusty(default), vivid, wily, jessie, xenial. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo "cross - optional, it initializes rootfs for cross building, works only for armel tizen now"
echo "LinuxCodeName - optional, Code name for Linux, can be: trusty(default), vivid, wily, xenial, zesty, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo "lldbx.y - optional, LLDB version, can be: lldb3.6(default), lldb3.8, lldb3.9, lldb4.0, no-lldb. Ignored for alpine"
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
exit 1
}
@@ -15,30 +16,62 @@ __InitialDir=$PWD
__BuildArch=arm
__UbuntuArch=armhf
__UbuntuRepo="http://ports.ubuntu.com/"
__UbuntuPackages="build-essential lldb-3.6-dev libunwind8-dev gettext symlinks liblttng-ust-dev libicu-dev"
__LLDB_Package="lldb-3.6-dev"
__MachineTriple=arm-linux-gnueabihf
__UnprocessedBuildArgs=
__SkipUnmount=0
for i in "$@"
do
lowerI="$(echo $i | awk '{print tolower($0)}')"
case $lowerI in
# base development support
__UbuntuPackages="build-essential"
__AlpinePackages="alpine-base"
__AlpinePackages+=" build-base"
__AlpinePackages+=" linux-headers"
__AlpinePackages+=" lldb-dev"
__AlpinePackages+=" llvm-dev"
# symlinks fixer
__UbuntuPackages+=" symlinks"
# CoreCLR and CoreFX dependencies
__UbuntuPackages+=" libicu-dev"
__UbuntuPackages+=" liblttng-ust-dev"
__UbuntuPackages+=" libunwind8-dev"
__AlpinePackages+=" gettext-dev"
__AlpinePackages+=" icu-dev"
__AlpinePackages+=" libunwind-dev"
__AlpinePackages+=" lttng-ust-dev"
# CoreFX dependencies
__UbuntuPackages+=" libcurl4-openssl-dev"
__UbuntuPackages+=" libkrb5-dev"
__UbuntuPackages+=" libssl-dev"
__UbuntuPackages+=" zlib1g-dev"
__AlpinePackages+=" curl-dev"
__AlpinePackages+=" krb5-dev"
__AlpinePackages+=" openssl-dev"
__AlpinePackages+=" zlib-dev"
__UnprocessedBuildArgs=
for i in "$@" ; do
lowerI="$(echo $i | awk '{print tolower($0)}')"
case $lowerI in
-?|-h|--help)
usage
exit 1
;;
usage
exit 1
;;
arm)
__BuildArch=arm
__UbuntuArch=armhf
;;
__BuildArch=arm
__UbuntuArch=armhf
__AlpineArch=armhf
__QEMUArch=arm
;;
arm64)
__BuildArch=arm64
__UbuntuArch=arm64
__UbuntuPackages="build-essential libunwind8-dev gettext symlinks liblttng-ust-dev libicu-dev"
__MachineTriple=aarch64-linux-gnu
;;
__BuildArch=arm64
__UbuntuArch=arm64
__AlpineArch=aarch64
__QEMUArch=aarch64
;;
armel)
__BuildArch=armel
__UbuntuArch=armel
@@ -56,6 +89,15 @@ for i in "$@"
lldb3.8)
__LLDB_Package="lldb-3.8-dev"
;;
lldb3.9)
__LLDB_Package="liblldb-3.9-dev"
;;
lldb4.0)
__LLDB_Package="liblldb-4.0-dev"
;;
no-lldb)
unset __LLDB_Package
;;
vivid)
if [ "$__LinuxCodeName" != "jessie" ]; then
__LinuxCodeName=vivid
@@ -71,6 +113,11 @@ for i in "$@"
__LinuxCodeName=xenial
fi
;;
zesty)
if [ "$__LinuxCodeName" != "jessie" ]; then
__LinuxCodeName=zesty
fi
;;
jessie)
__LinuxCodeName=jessie
__UbuntuRepo="http://ftp.debian.org/debian/"
@@ -85,32 +132,25 @@ for i in "$@"
__UbuntuRepo=
__Tizen=tizen
;;
cross)
if [ "$__Tizen" != "tizen" ]; then
echo "Cross building rootfs is available only for armel tizen."
usage;
exit 1;
fi
# Cross building is available for armel tizen only with x86 rootfs
echo Building x86 xenial rootfs for armel tizen cross build...
$0 x86 xenial
echo Building armel rootfs...
alpine)
__LinuxCodeName=alpine
__UbuntuRepo=
;;
--skipunmount)
__SkipUnmount=1
;;
*)
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
;;
esac
done
if [ "$__BuildArch" == "armel" ]; then
__LLDB_Package="lldb-3.5-dev"
fi
__RootfsDir="$__CrossDir/rootfs/$__BuildArch"
__UbuntuPackages+=" ${__LLDB_Package:-}"
__RootfsDir="$__CrossDir/rootfs/$__BuildArch"
if [[ -n "$ROOTFS_DIR" ]]; then
__RootfsDir=$ROOTFS_DIR
@@ -123,8 +163,22 @@ if [ -d "$__RootfsDir" ]; then
rm -rf $__RootfsDir
fi
if [[ -n $__LinuxCodeName ]]; then
if [[ "$__LinuxCodeName" == "alpine" ]]; then
__ApkToolsVersion=2.9.1
__AlpineVersion=3.7
__ApkToolsDir=$(mktemp -d)
wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir
tar -xf $__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -C $__ApkToolsDir
mkdir -p $__RootfsDir/usr/bin
cp -v /usr/bin/qemu-$__QEMUArch-static $__RootfsDir/usr/bin
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community \
-X http://dl-cdn.alpinelinux.org/alpine/edge/testing \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
add $__AlpinePackages
rm -r $__ApkToolsDir
elif [[ -n $__LinuxCodeName ]]; then
qemu-debootstrap --arch $__UbuntuArch $__LinuxCodeName $__RootfsDir $__UbuntuRepo
cp $__CrossDir/$__BuildArch/sources.list.$__LinuxCodeName $__RootfsDir/etc/apt/sources.list
chroot $__RootfsDir apt-get update
@@ -135,6 +189,13 @@ if [[ -n $__LinuxCodeName ]]; then
if [ $__SkipUnmount == 0 ]; then
umount $__RootfsDir/*
fi
if [[ "$__BuildArch" == "arm" && "$__LinuxCodeName" == "trusty" ]]; then
pushd $__RootfsDir
patch -p1 < $__CrossDir/$__BuildArch/trusty.patch
patch -p1 < $__CrossDir/$__BuildArch/trusty-lttng-2.4.patch
popd
fi
elif [ "$__Tizen" == "tizen" ]; then
ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh
else

138
external/corert/cross/toolchain.cmake vendored Normal file
View File

@@ -0,0 +1,138 @@
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
if(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if("$ENV{__DistroRid}" MATCHES "tizen.*")
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
set(TOOLCHAIN "armv6-alpine-linux-musleabihf")
else()
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl)
set(TOOLCHAIN "aarch64-alpine-linux-musl")
else()
set(TOOLCHAIN "aarch64-linux-gnu")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(CMAKE_SYSTEM_PROCESSOR i686)
set(TOOLCHAIN "i686-linux-gnu")
else()
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!")
endif()
# Specify include paths
if(TARGET_ARCH_NAME STREQUAL "armel")
if(DEFINED TIZEN_TOOLCHAIN)
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)
endif()
endif()
# add_compile_param - adds only new options without duplicates.
# arg0 - list with result options, arg1 - list with new options.
# arg2 - optional argument, quick summary string for optional using CACHE FORCE mode.
macro(add_compile_param)
if(NOT ${ARGC} MATCHES "^(2|3)$")
message(FATAL_ERROR "Wrong using add_compile_param! Two or three parameters must be given! See add_compile_param description.")
endif()
foreach(OPTION ${ARGV1})
if(NOT ${ARGV0} MATCHES "${OPTION}($| )")
set(${ARGV0} "${${ARGV0}} ${OPTION}")
if(${ARGC} EQUAL "3") # CACHE FORCE mode
set(${ARGV0} "${${ARGV0}}" CACHE STRING "${ARGV2}" FORCE)
endif()
endif()
endforeach()
endmacro()
# Specify link flags
add_compile_param(CROSS_LINK_FLAGS "--sysroot=${CROSS_ROOTFS}")
add_compile_param(CROSS_LINK_FLAGS "--gcc-toolchain=${CROSS_ROOTFS}/usr")
add_compile_param(CROSS_LINK_FLAGS "--target=${TOOLCHAIN}")
add_compile_param(CROSS_LINK_FLAGS "-fuse-ld=gold")
if(TARGET_ARCH_NAME STREQUAL "armel")
if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
add_compile_param(CROSS_LINK_FLAGS "-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/lib")
add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib")
add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86")
add_compile_param(CROSS_LINK_FLAGS "-m32")
endif()
add_compile_param(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS")
add_compile_param(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS")
add_compile_param(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS")
# Specify compile options
add_compile_options("--sysroot=${CROSS_ROOTFS}")
add_compile_options("--target=${TOOLCHAIN}")
add_compile_options("--gcc-toolchain=${CROSS_ROOTFS}/usr")
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64)$")
set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
add_compile_options(-mthumb)
add_compile_options(-mfpu=vfpv3)
if(TARGET_ARCH_NAME STREQUAL "armel")
add_compile_options(-mfloat-abi=softfp)
if(DEFINED TIZEN_TOOLCHAIN)
add_compile_options(-Wno-deprecated-declarations) # compile-time option
add_compile_options(-D__extern_always_inline=inline) # compile-time option
endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86")
add_compile_options(-m32)
add_compile_options(-Wno-error=unused-command-line-argument)
endif()
# Set LLDB include and library paths
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
if(TARGET_ARCH_NAME STREQUAL "x86")
set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}")
else() # arm/armel case
set(LLVM_CROSS_DIR "$ENV{LLVM_ARM_HOME}")
endif()
if(LLVM_CROSS_DIR)
set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "")
set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "")
set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "")
else()
if(TARGET_ARCH_NAME STREQUAL "x86")
set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "")
set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include")
if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}")
set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}")
else()
set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include")
endif()
else() # arm/armel case
set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "")
endif()
endif()
endif()
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

54
external/corert/cross/tryrun.cmake vendored Normal file
View File

@@ -0,0 +1,54 @@
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
macro(set_cache_value)
set(${ARGV0} ${ARGV1} CACHE STRING "Result from TRY_RUN" FORCE)
endmacro()
if(NOT TARGET_ARCH_NAME MATCHES "^(armel|arm|arm64|x86)$")
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!")
endif()
set_cache_value(HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE 0)
set_cache_value(HAVE_CLOCK_MONOTONIC_EXITCODE 0)
set_cache_value(HAVE_SCHED_GETCPU_EXITCODE 0)
if(TARGET_ARCH_NAME STREQUAL "x86")
set_cache_value(HAVE_CLOCK_THREAD_CPUTIME_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_POW_EXITCODE 0)
set_cache_value(HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES 0)
set_cache_value(HAVE_PROCFS_CTL_EXITCODE 1)
set_cache_value(HAVE_PROCFS_MAPS_EXITCODE 0)
set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 0)
set_cache_value(HAVE_PROCFS_STAT_EXITCODE 0)
endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|arm64)$")
set_cache_value(HAVE_COMPATIBLE_POW_EXITCODE 1)
set_cache_value(MMAP_DOESNOT_ALLOW_REMAP_EXITCODE 1)
set_cache_value(MMAP_IGNORES_HINT_EXITCODE 1)
endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|arm64|x86)$")
set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1)
set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 0)
set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_ACOS_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_ASIN_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_ATAN2_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_LOG10_EXITCODE 0)
set_cache_value(HAVE_COMPATIBLE_LOG_EXITCODE 0)
set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 0)
set_cache_value(HAVE_MMAP_DEV_ZERO_EXITCODE 0)
set_cache_value(HAVE_SCHED_GET_PRIORITY_EXITCODE 0)
set_cache_value(HAVE_VALID_NEGATIVE_INF_POW_EXITCODE 0)
set_cache_value(HAVE_VALID_POSITIVE_INF_POW_EXITCODE 0)
set_cache_value(HAVE_WORKING_CLOCK_GETTIME_EXITCODE 0)
set_cache_value(HAVE_WORKING_GETTIMEOFDAY_EXITCODE 0)
set_cache_value(ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE 1)
set_cache_value(PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE 1)
set_cache_value(REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE 1)
set_cache_value(SEM_INIT_MODIFIES_ERRNO_EXITCODE 1)
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1)
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 0)
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 0)
endif()

View File

@@ -1,39 +0,0 @@
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i686)
add_compile_options("-m32")
add_compile_options("--sysroot=${CROSS_ROOTFS}")
add_compile_options("-Wno-error=unused-command-line-argument")
set(CROSS_LINK_FLAGS "--sysroot=${CROSS_ROOTFS}")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/i686-linux-gnu")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/i386-linux-gnu")
set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -m32")
set(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_EXE_LINKER_FLAGS" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_SHARED_LINKER_FLAGS" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" CACHE STRING "TOOLCHAIN_MODULE_LINKER_FLAGS" FORCE)
set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}")
if(LLVM_CROSS_DIR)
set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "")
set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "")
set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "")
set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "")
else()
set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "")
set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include")
if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}")
set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}")
else()
set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include")
endif()
endif()

View File

@@ -1,127 +0,0 @@
SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_SUPPORT_ll_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GET_PRIORITY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_MMAP_DEV_ZERO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ACOS_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ASIN_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_ATAN2_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_COMPATIBLE_LOG10_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( UNGETC_NOT_RETURN_EOF_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAS_POSIX_SEMAPHORES_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( GETPWUID_R_SETS_ERRNO_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_SCHED_GETCPU_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_PROCFS_CTL_EXITCODE
1
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_PROCFS_MAPS_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_PROCFS_STAT_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_PROCFS_STATUS_EXITCODE
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES
0
CACHE STRING "Result from TRY_RUN" FORCE)