diff --git a/VERSIONS.txt b/VERSIONS.txt index 461dd162..83ee97b0 100644 --- a/VERSIONS.txt +++ b/VERSIONS.txt @@ -10,20 +10,20 @@ Tizen.NET release 4.0.0 OpenTK.GLControl release 1.1.2349.61993 # native sonames -libSkiaSharp soname 60.1.0 +libSkiaSharp soname 60.3.0 HarfBuzz soname 0.10406.0 # SkiaSharp.dll SkiaSharp assembly 1.60.0.0 -SkiaSharp file 1.60.2.0 +SkiaSharp file 1.60.3.0 # HarfBuzzSharp.dll HarfBuzzSharp assembly 1.0.0.0 HarfBuzzSharp file 1.4.6.1 # nuget versions -SkiaSharp nuget 1.60.2 -SkiaSharp.Views nuget 1.60.2 -SkiaSharp.Views.Forms nuget 1.60.2 -SkiaSharp.HarfBuzz nuget 1.60.2 +SkiaSharp nuget 1.60.3 +SkiaSharp.Views nuget 1.60.3 +SkiaSharp.Views.Forms nuget 1.60.3 +SkiaSharp.HarfBuzz nuget 1.60.3 HarfBuzzSharp nuget 1.4.6.1 diff --git a/externals/skia b/externals/skia index ebb49711..9217b237 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit ebb49711379809ee5cb1d8196e60379d86ca2ece +Subproject commit 9217b23761c207bb3b6ed95c57d4427875cde0bb diff --git a/scripts/build-linux.sh b/scripts/build-linux.sh new file mode 100644 index 00000000..5f58f3e0 --- /dev/null +++ b/scripts/build-linux.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +set -e + +######################################## +# 0. assumptions + +# +# * We assume our working directory is the root of SkiaSharp repository +# +# * We assume the tools are installed, +# see https://github.com/mono/SkiaSharp/wiki/Building-on-Linux +# + + +######################################## +# 1. set variables for convenience + +SONAME=$(grep "libSkiaSharp\W*soname\W*" VERSIONS.txt | sed 's/^libSkiaSharp\W*soname\W*\(.*\)$/\1/') +SKIA_ROOT=externals/skia +ARCH=x64 + +# output folders +[[ -z $PLATFORM_DIR ]] && PLATFORM_DIR="linux" +BUILD_OUT=out/$PLATFORM_DIR/$ARCH +ROOT_OUT=output/native/$PLATFORM_DIR/$ARCH + +# compiler options +CUSTOM_COMPILERS= +[[ ! -z $CC ]] && CUSTOM_COMPILERS="$CUSTOM_COMPILERS cc=\"$CC\"" +[[ ! -z $CXX ]] && CUSTOM_COMPILERS="$CUSTOM_COMPILERS cxx=\"$CXX\"" +[[ ! -z $AR ]] && CUSTOM_COMPILERS="$CUSTOM_COMPILERS ar=\"$AR\"" + +######################################## +# 2. sync dependencies + +# git-sync-deps +(cd $SKIA_ROOT && python tools/git-sync-deps) + + +######################################## +# 3. build libSkiaSharp.so + +# gn +(cd $SKIA_ROOT && ./bin/gn gen "$BUILD_OUT" --args=" + is_official_build=true skia_enable_tools=false + target_os=\"linux\" target_cpu=\"$ARCH\" + skia_use_icu=false skia_use_sfntly=false skia_use_piex=true + skia_use_system_expat=false skia_use_system_freetype2=true skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false + skia_enable_gpu=true + extra_cflags=[ \"-DSKIA_C_DLL\" ] + extra_ldflags=[ ] + $CUSTOM_COMPILERS + linux_soname_version=\"$SONAME\"") + +# ninja +./externals/depot_tools/ninja 'SkiaSharp' -C "$SKIA_ROOT/$BUILD_OUT" + + +######################################## +# 4. copy output + +# copy inside skia +cp $SKIA_ROOT/$BUILD_OUT/libSkiaSharp.so.$SONAME $SKIA_ROOT/$BUILD_OUT/libSkiaSharp.so + +# copy to root output +mkdir -p $ROOT_OUT +cp $SKIA_ROOT/$BUILD_OUT/libSkiaSharp.so.$SONAME $ROOT_OUT/libSkiaSharp.so.$SONAME +cp $SKIA_ROOT/$BUILD_OUT/libSkiaSharp.so.$SONAME $ROOT_OUT/libSkiaSharp.so diff --git a/install-tizen.sh b/scripts/install-tizen.sh old mode 100755 new mode 100644 similarity index 98% rename from install-tizen.sh rename to scripts/install-tizen.sh index f4e4778d..83b8d040 --- a/install-tizen.sh +++ b/scripts/install-tizen.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # download tizen mkdir ~/tizen-temp