Skip to content

Commit

Permalink
Merge pull request #584 from mono/dev/reduce-size
Browse files Browse the repository at this point in the history
Try to reduce native library sizes
  • Loading branch information
mattleibow authored Jul 22, 2018
2 parents b8511b7 + f0f4081 commit 8085c9f
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 7 deletions.
12 changes: 6 additions & 6 deletions VERSIONS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion externals/skia
Submodule skia updated 1 files
+1 −1 gn/BUILD.gn
68 changes: 68 additions & 0 deletions scripts/build-linux.sh
Original file line number Diff line number Diff line change
@@ -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*\([\.0-9]*\).*$/\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
1 change: 1 addition & 0 deletions install-tizen.sh → scripts/install-tizen.sh
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
set -e

# download tizen
mkdir ~/tizen-temp
Expand Down

0 comments on commit 8085c9f

Please sign in to comment.