Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<ItemGroup>
<PackageFile Include="..\..\output\native\tizen\armel\libHarfBuzzSharp.*" PackagePath="runtimes\tizen-armel\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\i586\libHarfBuzzSharp.*" PackagePath="runtimes\tizen-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\x86_64\libHarfBuzzSharp.*" PackagePath="runtimes\tizen-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\aarch64\libHarfBuzzSharp.*" PackagePath="runtimes\tizen-arm64\native\%(Filename)%(Extension)" />
</ItemGroup>
<Target Name="IncludeAdditionalTfmSpecificPackageFiles">
<ItemGroup>
Expand Down
12 changes: 11 additions & 1 deletion binding/IncludeNativeAssets.HarfBuzzSharp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,19 @@
<TizenTpkSubDir>bin\runtimes\tizen-armel\native\</TizenTpkSubDir>
<TizenTpkFileName>libHarfBuzzSharp.so</TizenTpkFileName>
</TizenTpkFiles>
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\x86_64\libHarfBuzzSharp.so">
<Visible>false</Visible>
<TizenTpkSubDir>bin\runtimes\tizen-x64\native\</TizenTpkSubDir>
<TizenTpkFileName>libHarfBuzzSharp.so</TizenTpkFileName>
</TizenTpkFiles>
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\aarch64\libHarfBuzzSharp.so">
<Visible>false</Visible>
<TizenTpkSubDir>bin\runtimes\tizen-arm64\native\</TizenTpkSubDir>
<TizenTpkFileName>libHarfBuzzSharp.so</TizenTpkFileName>
</TizenTpkFiles>
</ItemGroup>

<ItemGroup Condition="$(TargetFramework.Contains('-tvos'))and '$(RuntimeIdentifier)' != ''">
<ItemGroup Condition="$(TargetFramework.Contains('-tvos')) and '$(RuntimeIdentifier)' != ''">
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\tvossimulator\libHarfBuzzSharp.framework" Kind="Framework" Condition="$(RuntimeIdentifier.StartsWith('tvossimulator'))" />
<NativeReference Include="$(MSBuildThisFileDirectory)..\output\native\tvos\libHarfBuzzSharp.framework" Kind="Framework" Condition="!$(RuntimeIdentifier.StartsWith('tvossimulator'))" />
</ItemGroup>
Expand Down
10 changes: 10 additions & 0 deletions binding/IncludeNativeAssets.SkiaSharp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,16 @@
<TizenTpkSubDir>bin\runtimes\tizen-armel\native\</TizenTpkSubDir>
<TizenTpkFileName>libSkiaSharp.so</TizenTpkFileName>
</TizenTpkFiles>
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\x86_64\libSkiaSharp.so">
<Visible>false</Visible>
<TizenTpkSubDir>bin\runtimes\tizen-x64\native\</TizenTpkSubDir>
<TizenTpkFileName>libSkiaSharp.so</TizenTpkFileName>
</TizenTpkFiles>
<TizenTpkFiles Include="$(MSBuildThisFileDirectory)..\output\native\tizen\aarch64\libSkiaSharp.so">
<Visible>false</Visible>
<TizenTpkSubDir>bin\runtimes\tizen-arm64\native\</TizenTpkSubDir>
<TizenTpkFileName>libSkiaSharp.so</TizenTpkFileName>
</TizenTpkFiles>
</ItemGroup>

<ItemGroup Condition="$(TargetFramework.Contains('-tvos')) and '$(RuntimeIdentifier)' != ''">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<ItemGroup>
<PackageFile Include="..\..\output\native\tizen\armel\libSkiaSharp.*" PackagePath="runtimes\tizen-armel\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\i586\libSkiaSharp.*" PackagePath="runtimes\tizen-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\x86_64\libSkiaSharp.*" PackagePath="runtimes\tizen-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\tizen\aarch64\libSkiaSharp.*" PackagePath="runtimes\tizen-arm64\native\%(Filename)%(Extension)" />
</ItemGroup>
<Target Name="IncludeAdditionalTfmSpecificPackageFiles">
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion externals/skia
Submodule skia updated 1 files
+9 −1 gn/BUILDCONFIG.gn
57 changes: 42 additions & 15 deletions native/tizen/build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,33 @@ DirectoryPath TIZEN_STUDIO_HOME = EnvironmentVariable("TIZEN_STUDIO_HOME") ?? PR

var bat = IsRunningOnWindows() ? ".bat" : "";
var tizen = TIZEN_STUDIO_HOME.CombineWithFilePath($"tools/ide/bin/tizen{bat}").FullPath;
var tizenVersion = "6.0";

void SetProjectProfile(string projectDir, string profile)
{
var propFile = MakeAbsolute((FilePath)$"{projectDir}/project_def.prop").FullPath;
var propContent = System.IO.File.ReadAllText(propFile);
var regex = new System.Text.RegularExpressions.Regex(
@"^profile = .+$", System.Text.RegularExpressions.RegexOptions.Multiline);
if (!regex.IsMatch(propContent))
throw new Exception($"Failed to set profile in '{propFile}': no 'profile = ...' line found.");
var newContent = regex.Replace(propContent, $"profile = {profile}");
System.IO.File.WriteAllText(propFile, newContent);
}

Task("libSkiaSharp")
.IsDependentOn("git-sync-deps")
.Does(() =>
{
Build("armel", "arm", $"mobile-{tizenVersion}-device.core");
Build("i586", "x86", $"mobile-{tizenVersion}-emulator.core");
Build("armel", "arm", "arm", "mobile-6.0-device.core", "mobile-6.0", "6.0");
Build("i586", "x86", "x86", "mobile-6.0-emulator.core", "mobile-6.0", "6.0");
Build("x86_64","x64", "x86_64", "tizen-8.0-emulator64.core", "tizen-8.0", "8.0");
Build("aarch64","arm64","aarch64", "tizen-8.0-device64.core", "tizen-8.0", "8.0");

void Build(string arch, string skiaArch, string rootstrap)
void Build(string outputDir, string skiaArch, string tizenArch, string rootstrap, string profile, string ncliVersion)
{
if (Skip(arch)) return;
if (Skip(outputDir)) return;

GnNinja($"tizen/{arch}", "skia modules/skottie",
GnNinja($"tizen/{outputDir}", "skia modules/skottie",
$"target_os='tizen' " +
$"target_cpu='{skiaArch}' " +
$"skia_enable_ganesh=true " +
Expand All @@ -38,14 +51,20 @@ Task("libSkiaSharp")
$"skia_enable_skottie=true " +
$"extra_cflags=[ '-DSKIA_C_DLL', '-DXML_DEV_URANDOM' ] " +
$"ncli='{TIZEN_STUDIO_HOME}' " +
$"ncli_version='{tizenVersion}'");
$"ncli_version='{ncliVersion}'");

SetProjectProfile("libSkiaSharp", profile);

var buildDir = MakeAbsolute((DirectoryPath)$"libSkiaSharp/{CONFIGURATION}");
if (DirectoryExists(buildDir))
DeleteDirectory(buildDir, new DeleteDirectorySettings { Recursive = true, Force = true });

RunProcess(tizen, new ProcessSettings {
Arguments = $"build-native -a {skiaArch} -c llvm -C {CONFIGURATION} -r {rootstrap}" ,
Arguments = $"build-native -a {tizenArch} -c llvm -C {CONFIGURATION} -r {rootstrap}",
WorkingDirectory = MakeAbsolute((DirectoryPath)"libSkiaSharp").FullPath,
});

var outDir = OUTPUT_PATH.Combine(arch);
var outDir = OUTPUT_PATH.Combine(outputDir);
EnsureDirectoryExists(outDir);
CopyFile($"libSkiaSharp/{CONFIGURATION}/libskiasharp.so", outDir.CombineWithFilePath("libSkiaSharp.so"));
}
Expand All @@ -54,19 +73,27 @@ Task("libSkiaSharp")
Task("libHarfBuzzSharp")
.Does(() =>
{
Build("armel", "arm", $"mobile-{tizenVersion}-device.core");
Build("i586", "x86", $"mobile-{tizenVersion}-emulator.core");
Build("armel", "arm", "mobile-6.0-device.core", "mobile-6.0");
Build("i586", "x86", "mobile-6.0-emulator.core", "mobile-6.0");
Build("x86_64","x86_64", "tizen-8.0-emulator64.core", "tizen-8.0");
Build("aarch64","aarch64","tizen-8.0-device64.core", "tizen-8.0");

void Build(string arch, string cliArch, string rootstrap)
void Build(string outputDir, string tizenArch, string rootstrap, string profile)
{
if (Skip(arch)) return;
if (Skip(outputDir)) return;

SetProjectProfile("libHarfBuzzSharp", profile);

var buildDir = MakeAbsolute((DirectoryPath)$"libHarfBuzzSharp/{CONFIGURATION}");
if (DirectoryExists(buildDir))
DeleteDirectory(buildDir, new DeleteDirectorySettings { Recursive = true, Force = true });

RunProcess(tizen, new ProcessSettings {
Arguments = $"build-native -a {cliArch} -c llvm -C {CONFIGURATION} -r {rootstrap}" ,
Arguments = $"build-native -a {tizenArch} -c llvm -C {CONFIGURATION} -r {rootstrap}",
WorkingDirectory = MakeAbsolute((DirectoryPath)"libHarfBuzzSharp").FullPath,
});

var outDir = OUTPUT_PATH.Combine(arch);
var outDir = OUTPUT_PATH.Combine(outputDir);
EnsureDirectoryExists(outDir);
CopyFile($"libHarfBuzzSharp/{CONFIGURATION}/libharfbuzzsharp.so", outDir.CombineWithFilePath("libHarfBuzzSharp.so"));
}
Expand Down
2 changes: 1 addition & 1 deletion native/tizen/libHarfBuzzSharp/project_def.prop
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type = sharedLib
profile = mobile-4.0
profile = tizen-8.0

src_root = $(abspath ../../../externals/skia/third_party/externals/harfbuzz/src)
ext_root = $(abspath ../../../externals/skia/third_party/harfbuzz)
Expand Down
2 changes: 1 addition & 1 deletion native/tizen/libSkiaSharp/project_def.prop
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type = sharedLib
profile = mobile-6.0
profile = tizen-8.0

skia_root = $(abspath ../../../externals/skia)

Expand Down
Loading