From 20ad50cef213160e9de2d9d37e5e7fa074a20524 Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Tue, 3 Jan 2017 19:34:27 +0900 Subject: [PATCH 1/4] Use armel instead of arm-softfp for rootfs Replace arm-softfp with armel in cross/build-rootfs.sh Rename directory cross/arm-softfp to cross/armel Add toolchain.cmake file for armel Use stable debian jessie Use lldb-3.5-dev because other versions are not supported by jessie/armel repostiory Signed-off-by: Jiyoung Yun --- cross/arm-softfp/sources.list.jessie | 3 --- cross/armel/sources.list.jessie | 3 +++ cross/armel/toolchain.cmake | 30 ++++++++++++++++++++++++++++ cross/build-rootfs.sh | 12 +++++++---- 4 files changed, 41 insertions(+), 7 deletions(-) delete mode 100644 cross/arm-softfp/sources.list.jessie create mode 100644 cross/armel/sources.list.jessie create mode 100644 cross/armel/toolchain.cmake diff --git a/cross/arm-softfp/sources.list.jessie b/cross/arm-softfp/sources.list.jessie deleted file mode 100644 index 4d142ac9b1..0000000000 --- a/cross/arm-softfp/sources.list.jessie +++ /dev/null @@ -1,3 +0,0 @@ -# Debian (sid) # UNSTABLE -deb http://ftp.debian.org/debian/ sid main contrib non-free -deb-src http://ftp.debian.org/debian/ sid main contrib non-free diff --git a/cross/armel/sources.list.jessie b/cross/armel/sources.list.jessie new file mode 100644 index 0000000000..3d9c3059d8 --- /dev/null +++ b/cross/armel/sources.list.jessie @@ -0,0 +1,3 @@ +# Debian (jessie) # Stable +deb http://ftp.debian.org/debian/ jessie main contrib non-free +deb-src http://ftp.debian.org/debian/ jessie main contrib non-free diff --git a/cross/armel/toolchain.cmake b/cross/armel/toolchain.cmake new file mode 100644 index 0000000000..85cda19c95 --- /dev/null +++ b/cross/armel/toolchain.cmake @@ -0,0 +1,30 @@ +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}-) + +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 "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") + +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") + +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" 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) diff --git a/cross/build-rootfs.sh b/cross/build-rootfs.sh index 75f77c43d5..94ba08eb24 100755 --- a/cross/build-rootfs.sh +++ b/cross/build-rootfs.sh @@ -3,8 +3,8 @@ usage() { echo "Usage: $0 [BuildArch] [UbuntuCodeName] [lldbx.y]" - echo "BuildArch can be: arm(default), arm-softfp, x86" - echo "UbuntuCodeName - optional, Code name for Ubuntu, can be: trusty(default), vivid, wily, xenial. If BuildArch is arm-softfp, UbuntuCodeName is ignored." + echo "BuildArch can be: arm(default), armel, x86" + echo "UbuntuCodeName - optional, Code name for Ubuntu, can be: trusty(default), vivid, wily, xenial. If BuildArch is armel, UbuntuCodeName is ignored." echo "lldbx.y - optional, LLDB version, can be: lldb3.6(default), lldb3.8" exit 1 @@ -33,8 +33,8 @@ for i in "$@" __BuildArch=arm __UbuntuArch=armhf ;; - arm-softfp) - __BuildArch=arm-softfp + armel) + __BuildArch=armel __UbuntuArch=armel __UbuntuRepo="http://ftp.debian.org/debian/" __UbuntuCodeName=jessie @@ -75,6 +75,10 @@ for i in "$@" esac done +if [ "$__BuildArch" == "armel" ]; then + __LLDB_Package="lldb-3.5-dev" +fi + __RootfsDir="$__CrossDir/rootfs/$__BuildArch" __UbuntuPackages="$__UbuntuPackagesBase $__LLDB_Package" From 73e45d00ea6debede11fd06663494b4457015d3d Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Wed, 4 Jan 2017 11:12:42 +0900 Subject: [PATCH 2/4] Generate dotnet and host libraries for debian.8 armel This patch also provides nupkgs and tarball for debian.8-armel. Signed-off-by: Jiyoung Yun --- .../CurrentArchitecture.cs | 13 +++++++++++++ .../Enumerations/BuildArchitecture.cs | 3 ++- build_projects/dotnet-host-build/CompileTargets.cs | 4 ++++ build_projects/dotnet-host-build/PublishTargets.cs | 2 ++ build_projects/dotnet-host-build/TestTargets.cs | 3 ++- .../shared-build-targets-utils/Utils/Monikers.cs | 6 ++++-- .../Microsoft.NETCore.DotNetAppHost.builds | 4 ++++ .../Microsoft.NETCore.DotNetAppHost.pkgproj | 5 ++++- .../Microsoft.NETCore.DotNetHost.builds | 4 ++++ .../Microsoft.NETCore.DotNetHost.pkgproj | 5 ++++- .../Microsoft.NETCore.DotNetHostPolicy.builds | 4 ++++ .../Microsoft.NETCore.DotNetHostPolicy.pkgproj | 5 ++++- .../Microsoft.NETCore.DotNetHostResolver.builds | 4 ++++ .../Microsoft.NETCore.DotNetHostResolver.pkgproj | 5 ++++- src/corehost/build.sh | 4 ++-- 15 files changed, 61 insertions(+), 10 deletions(-) diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentArchitecture.cs b/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentArchitecture.cs index 59fef67fdd..33e00ec3de 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentArchitecture.cs +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentArchitecture.cs @@ -40,6 +40,15 @@ public static bool Isarm } } + public static bool Isarmel + { + get + { + var archName = Environment.GetEnvironmentVariable("TARGETPLATFORM"); + return string.Equals(archName, "armel", StringComparison.OrdinalIgnoreCase); + } + } + public static bool Isarm64 { get @@ -55,6 +64,10 @@ private static BuildArchitecture DetermineCurrentArchitecture() { return BuildArchitecture.arm; } + else if (Isarmel) + { + return BuildArchitecture.armel; + } else if (Isarm64) { return BuildArchitecture.arm64; diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildArchitecture.cs b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildArchitecture.cs index aee7fd30ed..3206c1192d 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildArchitecture.cs +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildArchitecture.cs @@ -5,6 +5,7 @@ public enum BuildArchitecture x86 = 1, x64 = 2, arm = 3, - arm64 = 4 + arm64 = 4, + armel = 5 } } diff --git a/build_projects/dotnet-host-build/CompileTargets.cs b/build_projects/dotnet-host-build/CompileTargets.cs index 066ca06928..4b77027136 100644 --- a/build_projects/dotnet-host-build/CompileTargets.cs +++ b/build_projects/dotnet-host-build/CompileTargets.cs @@ -37,6 +37,7 @@ public class CompileTargets { "centos.7-x64", "rhel.7-x64" }, { "rhel.7-x64", "rhel.7-x64" }, { "rhel.7.2-x64", "rhel.7-x64" }, + { "debian.8-armel", "debian.8-armel" }, { "debian.8-x64", "debian.8-x64" }, { "fedora.23-x64", "fedora.23-x64" }, { "fedora.24-x64", "fedora.24-x64" }, @@ -293,6 +294,9 @@ public static BuildTargetResult CompileCoreHost(BuildTargetContext c) case "arm": arch = "arm"; break; + case "armel": + arch = "armel"; + break; default: throw new PlatformNotSupportedException("Target Architecture: " + platform + " is not currently supported."); } diff --git a/build_projects/dotnet-host-build/PublishTargets.cs b/build_projects/dotnet-host-build/PublishTargets.cs index 9a702c9675..3b16b0efa4 100644 --- a/build_projects/dotnet-host-build/PublishTargets.cs +++ b/build_projects/dotnet-host-build/PublishTargets.cs @@ -130,6 +130,7 @@ public static BuildTargetResult FinalizeBuild(BuildTargetContext c) "ubuntu.16.10.x64.version", "rhel.x64.version", "osx.x64.version", + "debian.8.armel.version", "debian.x64.version", "centos.x64.version", "fedora.23.x64.version", @@ -200,6 +201,7 @@ private static bool CheckIfAllBuildsHavePublished() { "sharedfx_Ubuntu_16_10_x64", false }, { "sharedfx_RHEL_x64", false }, { "sharedfx_OSX_x64", false }, + // { "sharedfx_Debian_8_armel", false }, { "sharedfx_Debian_x64", false }, { "sharedfx_CentOS_x64", false }, { "sharedfx_Fedora_23_x64", false }, diff --git a/build_projects/dotnet-host-build/TestTargets.cs b/build_projects/dotnet-host-build/TestTargets.cs index daff1da1ff..0512576036 100644 --- a/build_projects/dotnet-host-build/TestTargets.cs +++ b/build_projects/dotnet-host-build/TestTargets.cs @@ -103,7 +103,8 @@ private static bool IsCrossArch(string rid) { return (String.Compare(rid, "win8-arm", true) == 0) || (String.Compare(rid, "win10-arm64", true) == 0) || (String.Compare(rid, "ubuntu.14.04-arm", true) == 0) - || (String.Compare(rid, "ubuntu.16.04-arm", true) == 0); + || (String.Compare(rid, "ubuntu.16.04-arm", true) == 0) + || (String.Compare(rid, "debian.8-armel", true) == 0); } return false; } diff --git a/build_projects/shared-build-targets-utils/Utils/Monikers.cs b/build_projects/shared-build-targets-utils/Utils/Monikers.cs index 0635d40f87..1d039e3087 100644 --- a/build_projects/shared-build-targets-utils/Utils/Monikers.cs +++ b/build_projects/shared-build-targets-utils/Utils/Monikers.cs @@ -38,7 +38,7 @@ public static string GetProductMoniker(BuildTargetContext c, string artifactPref string rid = Environment.GetEnvironmentVariable("TARGETRID") ?? RuntimeEnvironment.GetRuntimeIdentifier(); // Look for expected RIDs, including Portable one, for Linux - if (rid.StartsWith("linux-") || rid == "ubuntu.16.04-x64" || rid == "ubuntu.16.10-x64" || rid == "fedora.23-x64" || rid == "fedora.24-x64" || rid == "opensuse.13.2-x64" || rid == "opensuse.42.1-x64") + if (rid.StartsWith("linux-") || rid == "ubuntu.16.04-x64" || rid == "ubuntu.16.10-x64" || rid == "fedora.23-x64" || rid == "fedora.24-x64" || rid == "opensuse.13.2-x64" || rid == "opensuse.42.1-x64" || rid == "debian.8-armel") { return $"{artifactPrefix}-{rid}.{version}"; } @@ -59,7 +59,7 @@ public static string GetBadgeMoniker() return $"Linux_{Environment.GetEnvironmentVariable("TARGETPLATFORM") ?? CurrentArchitecture.Current.ToString()}"; } - switch (RuntimeEnvironment.GetRuntimeIdentifier()) + switch (rid) { case "ubuntu.16.04-x64": return "Ubuntu_16_04_x64"; @@ -73,6 +73,8 @@ public static string GetBadgeMoniker() return "openSUSE_13_2_x64"; case "opensuse.42.1-x64": return "openSUSE_42_1_x64"; + case "debian.8-armel": + return "Debian_8_armel"; } return $"{CurrentPlatform.Current}_{Environment.GetEnvironmentVariable("TARGETPLATFORM") ?? CurrentArchitecture.Current.ToString()}"; diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds index 979ad79976..e12382705d 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds @@ -63,6 +63,10 @@ Linux amd64 + + Linux + armel + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj index 019928fd2b..3c43f29cd7 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj @@ -6,7 +6,7 @@ $(AppHostVersion) true true - x64;x86;arm;arm64; + x64;x86;arm;arm64;armel; $(PackagesOutputPath) true true @@ -58,6 +58,9 @@ amd64 + + armel + amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds index f4986eea3e..50f5132a4d 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds @@ -63,6 +63,10 @@ Linux amd64 + + Linux + armel + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj index 627fd52484..20e768a9b9 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj @@ -6,7 +6,7 @@ $(HostVersion) true true - x64;x86;arm;arm64; + x64;x86;arm;arm64;armel; $(PackagesOutputPath) true true @@ -58,6 +58,9 @@ amd64 + + armel + amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds index 19b3adeb54..64e19b15c0 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds @@ -63,6 +63,10 @@ Linux amd64 + + Linux + armel + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj index d4b0078d64..cd871357ac 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -6,7 +6,7 @@ $(HostPolicyVersion) true true - x64;x86;arm;arm64; + x64;x86;arm;arm64;armel; $(PackagesOutputPath) true true @@ -61,6 +61,9 @@ amd64 + + armel + amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds index fc294234d6..94fd8e15ff 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds @@ -63,6 +63,10 @@ Linux amd64 + + Linux + armel + Linux amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj index 74a41ff5c6..48038ad519 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -6,7 +6,7 @@ $(HostResolverVersion) true true - x64;x86;arm;arm64; + x64;x86;arm;arm64;armel; $(PackagesOutputPath) true true @@ -64,6 +64,9 @@ amd64 + + armel + amd64 diff --git a/src/corehost/build.sh b/src/corehost/build.sh index 9cd374e7ba..4988f27579 100755 --- a/src/corehost/build.sh +++ b/src/corehost/build.sh @@ -48,7 +48,7 @@ usage() echo "Usage: $0 --arch --rid --hostver --apphostver --fxrver --policyver --commithash [--xcompiler ]" echo "" echo "Options:" - echo " --arch Target Architecture (x64, x86, arm)" + echo " --arch Target Architecture (x64, x86, arm, armel)" echo " --rid Target Runtime Identifier" echo " --hostver Version of the dotnet executable" echo " --apphostver Version of the apphost executable" @@ -138,7 +138,7 @@ case $__build_arch in x86) __arch_define=-DCLI_CMAKE_PLATFORM_ARCH_I386=1 ;; - arm) + arm|armel) __arch_define=-DCLI_CMAKE_PLATFORM_ARCH_ARM=1 ;; *) From af35c86b09fd8ca213e5ff951f9d587cf7e22295 Mon Sep 17 00:00:00 2001 From: Hyung-Kyu Choi Date: Wed, 4 Jan 2017 16:10:41 +0900 Subject: [PATCH 3/4] Add Tizen rootfs for armel Most of this commit is copied from CoreCLR. Signed-off-by: Hyung-Kyu Choi --- cross/armel/tizen-build-rootfs.sh | 44 ++++++++ cross/armel/tizen-fetch.sh | 174 ++++++++++++++++++++++++++++++ cross/armel/tizen/tizen.patch | 33 ++++++ cross/build-rootfs.sh | 32 ++++-- 4 files changed, 276 insertions(+), 7 deletions(-) create mode 100755 cross/armel/tizen-build-rootfs.sh create mode 100755 cross/armel/tizen-fetch.sh create mode 100644 cross/armel/tizen/tizen.patch diff --git a/cross/armel/tizen-build-rootfs.sh b/cross/armel/tizen-build-rootfs.sh new file mode 100755 index 0000000000..87c48e78fb --- /dev/null +++ b/cross/armel/tizen-build-rootfs.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +set -e + +__ARM_SOFTFP_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +__TIZEN_CROSSDIR="$__ARM_SOFTFP_CrossDir/tizen" + +if [[ -z "$ROOTFS_DIR" ]]; then + echo "ROOTFS_DIR is not defined." + exit 1; +fi + +# Clean-up (TODO-Cleanup: We may already delete $ROOTFS_DIR at ./cross/build-rootfs.sh.) +# hk0110 +if [ -d "$ROOTFS_DIR" ]; then + umount $ROOTFS_DIR/* + rm -rf $ROOTFS_DIR +fi + +TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp +mkdir -p $TIZEN_TMP_DIR + +# Download files +echo ">>Start downloading files" +VERBOSE=1 $__ARM_SOFTFP_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR +echo "<>Start constructing Tizen rootfs" +TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm` +cd $ROOTFS_DIR +for f in $TIZEN_RPM_FILES; do + rpm2cpio $f | cpio -idm --quiet +done +echo "<>Start configuring Tizen rootfs" +rm ./usr/lib/libunwind.so +ln -s libunwind.so.8 ./usr/lib/libunwind.so +ln -sfn asm-arm ./usr/include/asm +patch -p1 < $__TIZEN_CROSSDIR/tizen.patch +echo "</dev/null; then + VERBOSE=0 +fi + +Log() +{ + if [ $VERBOSE -ge $1 ]; then + echo ${@:2} + fi +} + +Inform() +{ + Log 1 -e "\x1B[0;34m$@\x1B[m" +} + +Debug() +{ + Log 2 -e "\x1B[0;32m$@\x1B[m" +} + +Error() +{ + >&2 Log 0 -e "\x1B[0;31m$@\x1B[m" +} + +Fetch() +{ + URL=$1 + FILE=$2 + PROGRESS=$3 + if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then + CURL_OPT="--progress-bar" + else + CURL_OPT="--silent" + fi + curl $CURL_OPT $URL > $FILE +} + +hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; } +hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; } +hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; } + +TMPDIR=$1 +if [ ! -d $TMPDIR ]; then + TMPDIR=./tizen_tmp + Debug "Create temporary directory : $TMPDIR" + mkdir -p $TMPDIR +fi + +TIZEN_URL=http://download.tizen.org/releases/weekly/tizen +BUILD_XML=build.xml +REPOMD_XML=repomd.xml +PRIMARY_XML=primary.xml +TARGET_URL="http://__not_initialized" + +Xpath_get() +{ + XPATH_RESULT='' + XPATH=$1 + XML_FILE=$2 + RESULT=$(xmllint --xpath $XPATH $XML_FILE) + if [[ -z ${RESULT// } ]]; then + Error "Can not find target from $XML_FILE" + Debug "Xpath = $XPATH" + exit 1 + fi + XPATH_RESULT=$RESULT +} + +fetch_tizen_pkgs_init() +{ + TARGET=$1 + PROFILE=$2 + Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE" + + TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs + if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi + mkdir -p $TMP_PKG_DIR + + PKG_URL=$TIZEN_URL/$PROFILE/latest + + BUILD_XML_URL=$PKG_URL/$BUILD_XML + TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML + TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML + TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML + TMP_PRIMARYGZ=${TMP_PRIMARY}.gz + + Fetch $BUILD_XML_URL $TMP_BUILD + + Debug "fetch $BUILD_XML_URL to $TMP_BUILD" + + TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()" + Xpath_get $TARGET_XPATH $TMP_BUILD + TARGET_PATH=$XPATH_RESULT + TARGET_URL=$PKG_URL/$TARGET_PATH + + REPOMD_URL=$TARGET_URL/repodata/repomd.xml + PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)' + + Fetch $REPOMD_URL $TMP_REPOMD + + Debug "fetch $REPOMD_URL to $TMP_REPOMD" + + Xpath_get $PRIMARY_XPATH $TMP_REPOMD + PRIMARY_XML_PATH=$XPATH_RESULT + PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH + + Fetch $PRIMARY_URL $TMP_PRIMARYGZ + + Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ" + + gunzip $TMP_PRIMARYGZ + + Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY" +} + +fetch_tizen_pkgs() +{ + PROFILE=$1 + PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]]/*[local-name()="location"]/@href)' + + PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]]/*[local-name()="checksum"]/text())' + + for pkg in ${@:2} + do + Inform "Fetching... $pkg" + XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg} + Xpath_get $XPATH $TMP_PRIMARY + PKG_PATH=$XPATH_RESULT + + XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg} + Xpath_get $XPATH $TMP_PRIMARY + CHECKSUM=$XPATH_RESULT + + PKG_URL=$TARGET_URL/$PKG_PATH + PKG_FILE=$(basename $PKG_PATH) + PKG_PATH=$TMPDIR/$PKG_FILE + + 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" +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 "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 + + diff --git a/cross/armel/tizen/tizen.patch b/cross/armel/tizen/tizen.patch new file mode 100644 index 0000000000..c92dc02809 --- /dev/null +++ b/cross/armel/tizen/tizen.patch @@ -0,0 +1,33 @@ +diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so +--- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900 ++++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900 +@@ -2,4 +2,4 @@ + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ + OUTPUT_FORMAT(elf32-littlearm) +-GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) ) ++GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) ) +diff -u -r a/usr/lib/libpthread.so b/usr/lib/libpthread.so +--- a/usr/lib/libpthread.so 2016-12-30 23:00:19.408951841 +0900 ++++ b/usr/lib/libpthread.so 2016-12-30 23:00:39.068951801 +0900 +@@ -2,4 +2,4 @@ + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ + 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" diff --git a/cross/build-rootfs.sh b/cross/build-rootfs.sh index 94ba08eb24..b085c8d721 100755 --- a/cross/build-rootfs.sh +++ b/cross/build-rootfs.sh @@ -69,6 +69,16 @@ for i in "$@" __UbuntuCodeName=jessie __UbuntuRepo="http://ftp.debian.org/debian/" ;; + tizen) + if [ "$__BuildArch" != "armel" ]; then + echo "Tizen is available only for armel" + usage; + exit 1; + fi + __UbuntuCodeName= + __UbuntuRepo= + __Tizen=tizen + ;; *) __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" ;; @@ -91,10 +101,18 @@ if [ -d "$__RootfsDir" ]; then rm -rf $__RootfsDir fi -qemu-debootstrap --arch $__UbuntuArch $__UbuntuCodeName $__RootfsDir $__UbuntuRepo -cp $__CrossDir/$__BuildArch/sources.list.$__UbuntuCodeName $__RootfsDir/etc/apt/sources.list -chroot $__RootfsDir apt-get update -chroot $__RootfsDir apt-get -f -y install -chroot $__RootfsDir apt-get -y install $__UbuntuPackages -chroot $__RootfsDir symlinks -cr /usr -umount $__RootfsDir/* +if [[ -n $__UbuntuCodeName ]]; then + qemu-debootstrap --arch $__UbuntuArch $__UbuntuCodeName $__RootfsDir $__UbuntuRepo + cp $__CrossDir/$__BuildArch/sources.list.$__UbuntuCodeName $__RootfsDir/etc/apt/sources.list + chroot $__RootfsDir apt-get update + chroot $__RootfsDir apt-get -f -y install + chroot $__RootfsDir apt-get -y install $__UbuntuPackages + chroot $__RootfsDir symlinks -cr /usr + umount $__RootfsDir/* +elif [ "$__Tizen" == "tizen" ]; then + ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh +else + echo "Unsupported platform" + usage; + exit 1 +fi From 6a439c729aea2863af00881c40d387bf804cb494 Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Fri, 6 Jan 2017 13:28:17 +0900 Subject: [PATCH 4/4] Support to create nupkgs and tarball for tizen.4.0.0-armel Signed-off-by: Jiyoung Yun --- .../dotnet-host-build/CompileTargets.cs | 3 +- .../dotnet-host-build/TestTargets.cs | 2 +- .../Utils/Monikers.cs | 4 ++- cross/armel/toolchain.cmake | 14 +++++++-- .../Microsoft.NETCore.DotNetAppHost.builds | 4 +++ .../Microsoft.NETCore.DotNetAppHost.pkgproj | 3 ++ .../Microsoft.NETCore.DotNetHost.builds | 4 +++ .../Microsoft.NETCore.DotNetHost.pkgproj | 3 ++ .../Microsoft.NETCore.DotNetHostPolicy.builds | 4 +++ ...Microsoft.NETCore.DotNetHostPolicy.pkgproj | 3 ++ ...icrosoft.NETCore.DotNetHostResolver.builds | 4 +++ ...crosoft.NETCore.DotNetHostResolver.pkgproj | 3 ++ .../Microsoft.NETCore.DotNetAppHost.pkgproj | 23 ++++++++++++++ .../Microsoft.NETCore.DotNetHost.pkgproj | 23 ++++++++++++++ ...Microsoft.NETCore.DotNetHostPolicy.pkgproj | 27 +++++++++++++++++ ...crosoft.NETCore.DotNetHostResolver.pkgproj | 30 +++++++++++++++++++ 16 files changed, 149 insertions(+), 5 deletions(-) create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetAppHost.pkgproj create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHost.pkgproj create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostPolicy.pkgproj create mode 100644 pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostResolver.pkgproj diff --git a/build_projects/dotnet-host-build/CompileTargets.cs b/build_projects/dotnet-host-build/CompileTargets.cs index 4b77027136..e9f6fe2f92 100644 --- a/build_projects/dotnet-host-build/CompileTargets.cs +++ b/build_projects/dotnet-host-build/CompileTargets.cs @@ -42,7 +42,8 @@ public class CompileTargets { "fedora.23-x64", "fedora.23-x64" }, { "fedora.24-x64", "fedora.24-x64" }, { "opensuse.13.2-x64", "opensuse.13.2-x64" }, - { "opensuse.42.1-x64", "opensuse.42.1-x64" } + { "opensuse.42.1-x64", "opensuse.42.1-x64" }, + { "tizen.4.0.0-armel", "tizen.4.0.0-armel" } }; [Target(nameof(PrepareTargets.Init), diff --git a/build_projects/dotnet-host-build/TestTargets.cs b/build_projects/dotnet-host-build/TestTargets.cs index 0512576036..b08ccf4ee6 100644 --- a/build_projects/dotnet-host-build/TestTargets.cs +++ b/build_projects/dotnet-host-build/TestTargets.cs @@ -104,7 +104,7 @@ private static bool IsCrossArch(string rid) { || (String.Compare(rid, "win10-arm64", true) == 0) || (String.Compare(rid, "ubuntu.14.04-arm", true) == 0) || (String.Compare(rid, "ubuntu.16.04-arm", true) == 0) - || (String.Compare(rid, "debian.8-armel", true) == 0); + || (rid.EndsWith("-armel")); } return false; } diff --git a/build_projects/shared-build-targets-utils/Utils/Monikers.cs b/build_projects/shared-build-targets-utils/Utils/Monikers.cs index 1d039e3087..9e1638b166 100644 --- a/build_projects/shared-build-targets-utils/Utils/Monikers.cs +++ b/build_projects/shared-build-targets-utils/Utils/Monikers.cs @@ -38,7 +38,7 @@ public static string GetProductMoniker(BuildTargetContext c, string artifactPref string rid = Environment.GetEnvironmentVariable("TARGETRID") ?? RuntimeEnvironment.GetRuntimeIdentifier(); // Look for expected RIDs, including Portable one, for Linux - if (rid.StartsWith("linux-") || rid == "ubuntu.16.04-x64" || rid == "ubuntu.16.10-x64" || rid == "fedora.23-x64" || rid == "fedora.24-x64" || rid == "opensuse.13.2-x64" || rid == "opensuse.42.1-x64" || rid == "debian.8-armel") + if (rid.StartsWith("linux-") || rid == "ubuntu.16.04-x64" || rid == "ubuntu.16.10-x64" || rid == "fedora.23-x64" || rid == "fedora.24-x64" || rid == "opensuse.13.2-x64" || rid == "opensuse.42.1-x64" || rid == "debian.8-armel" || rid == "tizen.4.0.0-armel") { return $"{artifactPrefix}-{rid}.{version}"; } @@ -75,6 +75,8 @@ public static string GetBadgeMoniker() return "openSUSE_42_1_x64"; case "debian.8-armel": return "Debian_8_armel"; + case "tizen.4.0.0-armel": + return "Tizen_4_0_0_armel"; } return $"{CurrentPlatform.Current}_{Environment.GetEnvironmentVariable("TARGETPLATFORM") ?? CurrentArchitecture.Current.ToString()}"; diff --git a/cross/armel/toolchain.cmake b/cross/armel/toolchain.cmake index 85cda19c95..086a6bf943 100644 --- a/cross/armel/toolchain.cmake +++ b/cross/armel/toolchain.cmake @@ -16,8 +16,18 @@ add_compile_options(--sysroot=${CROSS_ROOTFS}) set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") +if("${CLI_CMAKE_RUNTIME_ID}" MATCHES "tizen.*") + set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/4.9.2") + include_directories(${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) + include_directories(${CROSS_ROOTFS}/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() + set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") + set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") +endif() set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds index e12382705d..7d74bbd794 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.builds @@ -79,6 +79,10 @@ Linux amd64 + + Linux + armel + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj index 3c43f29cd7..bd9f7198a2 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetAppHost.pkgproj @@ -67,6 +67,9 @@ amd64 + + armel + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds index 50f5132a4d..4d77379acc 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.builds @@ -79,6 +79,10 @@ Linux amd64 + + Linux + armel + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj index 20e768a9b9..516a9233f9 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj @@ -67,6 +67,9 @@ amd64 + + armel + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds index 64e19b15c0..6070d7e14f 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.builds @@ -79,6 +79,10 @@ Linux amd64 + + Linux + armel + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj index cd871357ac..4831cc0c25 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -70,6 +70,9 @@ amd64 + + armel + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds index 94fd8e15ff..a2c35ee86f 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.builds @@ -79,6 +79,10 @@ Linux amd64 + + Linux + armel + OSX amd64 diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj index 48038ad519..11a567db8b 100644 --- a/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -73,6 +73,9 @@ amd64 + + armel + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetAppHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetAppHost.pkgproj new file mode 100644 index 0000000000..92b27f5e3b --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetAppHost.pkgproj @@ -0,0 +1,23 @@ + + + + + + $(AppHostVersion) + true + tizen.4.0.0 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHost.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHost.pkgproj new file mode 100644 index 0000000000..fb92ee1824 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHost.pkgproj @@ -0,0 +1,23 @@ + + + + + + $(HostVersion) + true + tizen.4.0.0 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostPolicy.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostPolicy.pkgproj new file mode 100644 index 0000000000..7f769fee44 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostPolicy.pkgproj @@ -0,0 +1,27 @@ + + + + + + $(HostPolicyVersion) + true + tizen.4.0.0 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + $(HostResolverFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + diff --git a/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostResolver.pkgproj b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostResolver.pkgproj new file mode 100644 index 0000000000..2238999b46 --- /dev/null +++ b/pkg/projects/Microsoft.NETCore.DotNetHost/tizen.4.0.0/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -0,0 +1,30 @@ + + + + + + $(HostResolverVersion) + true + tizen.4.0.0 + $(MinOSForArch)-$(PackagePlatform) + true + + + + + $(HostFullVersion) + + + $(AppHostFullVersion) + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + +