diff --git a/VERSIONS.txt b/VERSIONS.txt index ba7e69ddbad..a1fbdaf3471 100644 --- a/VERSIONS.txt +++ b/VERSIONS.txt @@ -43,7 +43,7 @@ SkiaSharp file 2.88.0.0 # HarfBuzzSharp.dll HarfBuzzSharp assembly 1.0.0.0 -HarfBuzzSharp file 2.6.1.7 +HarfBuzzSharp file 2.6.1.8 # nuget versions SkiaSharp nuget 2.88.0 @@ -63,9 +63,9 @@ SkiaSharp.Views.Forms.GTK nuget 2.88.0 SkiaSharp.Views.Uno nuget 2.88.0 SkiaSharp.HarfBuzz nuget 2.88.0 SkiaSharp.Vulkan.SharpVk nuget 2.88.0 -HarfBuzzSharp nuget 2.6.1.7 -HarfBuzzSharp.NativeAssets.Linux nuget 2.6.1.7 -HarfBuzzSharp.NativeAssets.WebAssembly nuget 2.6.1.7 +HarfBuzzSharp nuget 2.6.1.8 +HarfBuzzSharp.NativeAssets.Linux nuget 2.6.1.8 +HarfBuzzSharp.NativeAssets.WebAssembly nuget 2.6.1.8 # nuget replacement versions Xamarin.Forms nuget 4.6.0.772 diff --git a/binding/HarfBuzzSharp.Shared/HarfBuzzApi.cs b/binding/HarfBuzzSharp.Shared/HarfBuzzApi.cs index 719525c614e..10b7cf9fdc9 100644 --- a/binding/HarfBuzzSharp.Shared/HarfBuzzApi.cs +++ b/binding/HarfBuzzSharp.Shared/HarfBuzzApi.cs @@ -5,11 +5,11 @@ namespace HarfBuzzSharp internal unsafe partial class HarfBuzzApi { #if __TVOS__ && __UNIFIED__ - private const string HARFBUZZ = "__Internal"; + private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp"; #elif __WATCHOS__ && __UNIFIED__ - private const string HARFBUZZ = "__Internal"; + private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp"; #elif __IOS__ && __UNIFIED__ - private const string HARFBUZZ = "__Internal"; + private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp"; #elif __ANDROID__ private const string HARFBUZZ = "libHarfBuzzSharp.so"; #elif __MACOS__ diff --git a/binding/HarfBuzzSharp.iOS/HarfBuzzSharp.iOS.csproj b/binding/HarfBuzzSharp.iOS/HarfBuzzSharp.iOS.csproj index 2e9931cebe9..abf2dfc0036 100644 --- a/binding/HarfBuzzSharp.iOS/HarfBuzzSharp.iOS.csproj +++ b/binding/HarfBuzzSharp.iOS/HarfBuzzSharp.iOS.csproj @@ -7,10 +7,10 @@ $(DefineConstants);HARFBUZZ - + - + diff --git a/binding/HarfBuzzSharp.iOS/nuget/build/xamarinios1.0/HarfBuzzSharp.targets b/binding/HarfBuzzSharp.iOS/nuget/build/xamarinios1.0/HarfBuzzSharp.targets index f4d3ec41474..a7e1611b019 100644 --- a/binding/HarfBuzzSharp.iOS/nuget/build/xamarinios1.0/HarfBuzzSharp.targets +++ b/binding/HarfBuzzSharp.iOS/nuget/build/xamarinios1.0/HarfBuzzSharp.targets @@ -13,7 +13,7 @@ - + \ No newline at end of file diff --git a/binding/HarfBuzzSharp.tvOS/HarfBuzzSharp.tvOS.csproj b/binding/HarfBuzzSharp.tvOS/HarfBuzzSharp.tvOS.csproj index 58994771077..dec88f38a54 100644 --- a/binding/HarfBuzzSharp.tvOS/HarfBuzzSharp.tvOS.csproj +++ b/binding/HarfBuzzSharp.tvOS/HarfBuzzSharp.tvOS.csproj @@ -7,10 +7,10 @@ $(DefineConstants);HARFBUZZ - + - + diff --git a/binding/HarfBuzzSharp.tvOS/nuget/build/xamarintvos1.0/HarfBuzzSharp.targets b/binding/HarfBuzzSharp.tvOS/nuget/build/xamarintvos1.0/HarfBuzzSharp.targets index f4d3ec41474..a7e1611b019 100644 --- a/binding/HarfBuzzSharp.tvOS/nuget/build/xamarintvos1.0/HarfBuzzSharp.targets +++ b/binding/HarfBuzzSharp.tvOS/nuget/build/xamarintvos1.0/HarfBuzzSharp.targets @@ -13,7 +13,7 @@ - + \ No newline at end of file diff --git a/binding/HarfBuzzSharp.watchOS/HarfBuzzSharp.watchOS.csproj b/binding/HarfBuzzSharp.watchOS/HarfBuzzSharp.watchOS.csproj index 22ed006ccc6..c1cf0ed9310 100644 --- a/binding/HarfBuzzSharp.watchOS/HarfBuzzSharp.watchOS.csproj +++ b/binding/HarfBuzzSharp.watchOS/HarfBuzzSharp.watchOS.csproj @@ -7,10 +7,10 @@ $(DefineConstants);HARFBUZZ - + - + diff --git a/binding/HarfBuzzSharp.watchOS/nuget/build/xamarinwatchos1.0/HarfBuzzSharp.targets b/binding/HarfBuzzSharp.watchOS/nuget/build/xamarinwatchos1.0/HarfBuzzSharp.targets index f4d3ec41474..a7e1611b019 100644 --- a/binding/HarfBuzzSharp.watchOS/nuget/build/xamarinwatchos1.0/HarfBuzzSharp.targets +++ b/binding/HarfBuzzSharp.watchOS/nuget/build/xamarinwatchos1.0/HarfBuzzSharp.targets @@ -13,7 +13,7 @@ - + \ No newline at end of file diff --git a/cake/externals.cake b/cake/externals.cake index b0f8429f8bc..dec0ace5746 100644 --- a/cake/externals.cake +++ b/cake/externals.cake @@ -21,6 +21,9 @@ foreach (var cake in GetFiles("native/*/build.cake")) Task("externals-osx") .IsDependentOn("externals-macos"); +Task("externals-catalyst") + .IsDependentOn("externals-maccatalyst"); + //////////////////////////////////////////////////////////////////////////////////////////////////// // EXTERNALS DOWNLOAD - download any externals that are needed //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -67,8 +70,11 @@ bool ShouldBuildExternal(string platform) switch (platform) { case "mac": - case "macos": - platform = "osx"; + case "osx": + platform = "macos"; + break; + case "catalyst": + platform = "maccatalyst"; break; case "win": platform = "windows"; diff --git a/cake/native-shared.cake b/cake/native-shared.cake index 1a78c01522f..22350a6e642 100644 --- a/cake/native-shared.cake +++ b/cake/native-shared.cake @@ -80,42 +80,6 @@ void GnNinja(DirectoryPath outDir, string target, string skiaArgs) }); } -void StripSign(FilePath target) -{ - if (!IsRunningOnMac()) - throw new InvalidOperationException("lipo is only available on macOS."); - - target = MakeAbsolute(target); - var archive = target; - if (target.FullPath.EndsWith(".framework")) { - archive = $"{target}/{target.GetFilenameWithoutExtension()}"; - } - - // strip anything we can - RunProcess("strip", new ProcessSettings { - Arguments = $"-x -S {archive}", - }); - - // re-sign with empty - RunProcess("codesign", new ProcessSettings { - Arguments = $"--force --sign - --timestamp=none {target}", - }); -} - -void RunLipo(DirectoryPath directory, FilePath output, FilePath[] inputs) -{ - if (!IsRunningOnMac()) - throw new InvalidOperationException("lipo is only available on macOS."); - - EnsureDirectoryExists(directory.CombineWithFilePath(output).GetDirectory()); - - var inputString = string.Join(" ", inputs.Select(i => string.Format("\"{0}\"", i))); - RunProcess("lipo", new ProcessSettings { - Arguments = string.Format("-create -output \"{0}\" {1}", output, inputString), - WorkingDirectory = directory, - }); -} - bool Skip(string arch) { arch = arch?.ToLower() ?? ""; diff --git a/cake/xcode.cake b/cake/xcode.cake index 8d34c532375..ec436719e15 100644 --- a/cake/xcode.cake +++ b/cake/xcode.cake @@ -1,25 +1,118 @@ #addin nuget:?package=Cake.XCode&version=4.2.0 -void RunXCodeBuild(FilePath project, string target, string sdk, string arch) +void RunXCodeBuild(FilePath project, string scheme, string sdk, string arch, string platform = null) { var dir = project.GetDirectory(); - if (DirectoryExists(dir.Combine($"bin/{CONFIGURATION}/{arch}"))) { - if (DirectoryExists(dir.Combine("build"))) - DeleteDirectory(dir.Combine("build"), true); - MoveDirectory(dir.Combine($"bin/{CONFIGURATION}/{arch}"), dir.Combine("build")); - } - - XCodeBuild(new XCodeBuildSettings { + var settings = new XCodeBuildSettings { Project = project.FullPath, - Target = target, + Scheme = scheme, Sdk = sdk, Arch = arch, + Archive = true, Configuration = CONFIGURATION, + DerivedDataPath = dir.Combine($"obj/{CONFIGURATION}/{sdk}/{arch}"), + ArchivePath = dir.Combine($"bin/{CONFIGURATION}/{sdk}/{arch}"), + BuildSettings = new Dictionary { + { "SKIP_INSTALL", "NO" }, + { "BUILD_LIBRARIES_FOR_DISTRIBUTION", "YES" }, + }, + }; + if (platform != null) { + settings.BuildSettings["PLATFORM"] = platform; + } + + XCodeBuild(settings); +} + +void StripSign(FilePath target) +{ + if (!IsRunningOnMac()) + throw new InvalidOperationException("strip and codesign are only available on macOS."); + + target = MakeAbsolute(target); + var archive = target; + if (target.FullPath.EndsWith(".framework")) { + archive = $"{target}/{target.GetFilenameWithoutExtension()}"; + } + + // strip anything we can + RunProcess("strip", new ProcessSettings { + Arguments = $"-x -S {archive}", + }); + + // re-sign with empty + RunProcess("codesign", new ProcessSettings { + Arguments = $"--force --sign - --timestamp=none {target}", + }); +} + +void RunLipo(DirectoryPath directory, FilePath output, FilePath[] inputs) +{ + if (!IsRunningOnMac()) + throw new InvalidOperationException("lipo is only available on macOS."); + + EnsureDirectoryExists(directory.CombineWithFilePath(output).GetDirectory()); + + var inputString = string.Join(" ", inputs.Select(i => string.Format("\"{0}\"", i))); + RunProcess("lipo", new ProcessSettings { + Arguments = string.Format("-create -output \"{0}\" {1}", output, inputString), + WorkingDirectory = directory, + }); +} + +void RunLipo(FilePath output, FilePath[] inputs) +{ + if (!IsRunningOnMac()) + throw new InvalidOperationException("lipo is only available on macOS."); + + var inputString = string.Join(" ", inputs.Select(i => string.Format("\"{0}\"", i))); + RunProcess("lipo", new ProcessSettings { + Arguments = string.Format("-create -output \"{0}\" {1}", output, inputString), }); +} + +void CreateFatDylib(DirectoryPath archives) +{ + var libName = archives.GetDirectoryName(); + + var binaries = GetFiles($"{archives}/*.xcarchive/Products/@rpath/{libName}.dylib").ToArray(); + RunLipo($"{archives}.dylib", binaries); + + StripSign($"{archives}.dylib"); +} + +void CreateFatFramework(DirectoryPath archives) +{ + var libName = archives.GetDirectoryName(); + + var frameworks = GetDirectories($"{archives}/*.xcarchive/Products/Library/Frameworks/{libName}.framework").ToArray(); + SafeCopy(frameworks[0], $"{archives}.framework"); + DeleteFile($"{archives}.framework/{libName}"); - if (DirectoryExists(dir.Combine($"bin/{CONFIGURATION}/{arch}"))) - DeleteDirectory(dir.Combine($"bin/{CONFIGURATION}/{arch}"), true); - EnsureDirectoryExists(dir.Combine($"bin/{CONFIGURATION}")); - MoveDirectory(dir.Combine("build"), dir.Combine($"bin/{CONFIGURATION}/{arch}")); + var binaries = GetFiles($"{archives}/*.xcarchive/Products/Library/Frameworks/{libName}.framework/{libName}").ToArray(); + RunLipo($"{archives}.framework/{libName}", binaries); + + StripSign($"{archives}.framework"); +} + +void CreateFatVersionedFramework(DirectoryPath archives) +{ + var libName = archives.GetDirectoryName(); + + var frameworks = GetDirectories($"{archives}/*.xcarchive/Products/Library/Frameworks/{libName}.framework").ToArray(); + SafeCopy(frameworks[0], $"{archives}.framework"); + DeleteFile($"{archives}.framework/Versions/A/{libName}"); + + var binaries = GetFiles($"{archives}/*.xcarchive/Products/Library/Frameworks/{libName}.framework/Versions/A/{libName}").ToArray(); + RunLipo($"{archives}.framework/Versions/A/{libName}", binaries); + + StripSign($"{archives}.framework"); +} + +void SafeCopy(DirectoryPath src, DirectoryPath dst) +{ + EnsureDirectoryExists(dst); + DeleteDirectory(dst, new DeleteDirectorySettings { Recursive = true, Force = true }); + RunProcess("cp", $"-R {src} {dst}"); } diff --git a/externals/skia b/externals/skia index 457fddd486d..bc345769d2c 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit 457fddd486d12d91e63d490d28707e3bb9e9f991 +Subproject commit bc345769d2cc7e1dd8e4e603725d41de68043ef5 diff --git a/native/ios/build.cake b/native/ios/build.cake index cc7aebd0d87..ef2c62a90d6 100644 --- a/native/ios/build.cake +++ b/native/ios/build.cake @@ -1,37 +1,39 @@ DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); -DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native/ios")); +DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); #load "../../cake/native-shared.cake" #load "../../cake/xcode.cake" +string VARIANT = BUILD_VARIANT ?? "ios"; + Task("libSkiaSharp") .IsDependentOn("git-sync-deps") .WithCriteria(IsRunningOnMac()) .Does(() => { - Build("iphonesimulator", "i386", "x86"); - Build("iphonesimulator", "x86_64", "x64"); - Build("iphoneos", "armv7", "arm"); - Build("iphoneos", "arm64", "arm64"); - - CopyDirectory(OUTPUT_PATH.Combine("armv7/libSkiaSharp.framework"), OUTPUT_PATH.Combine("libSkiaSharp.framework")); - DeleteFile(OUTPUT_PATH.CombineWithFilePath("libSkiaSharp.framework/libSkiaSharp")); - RunLipo(OUTPUT_PATH, "libSkiaSharp.framework/libSkiaSharp", new [] { - (FilePath) "i386/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "x86_64/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "armv7/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "arm64/libSkiaSharp.framework/libSkiaSharp" - }); + if (VARIANT.ToLower() == "ios") { + Build("iphonesimulator", "i386", "x86"); + Build("iphonesimulator", "x86_64", "x64"); + Build("iphoneos", "armv7", "arm"); + Build("iphoneos", "arm64", "arm64"); + + CreateFatFramework(OUTPUT_PATH.Combine("ios/libSkiaSharp")); + } else if (VARIANT.ToLower() == "maccatalyst") { + Build("macosx", "x86_64", "x64"); + Build("macosx", "arm64", "arm64"); + + CreateFatVersionedFramework(OUTPUT_PATH.Combine("maccatalyst/libSkiaSharp")); + } void Build(string sdk, string arch, string skiaArch) { if (Skip(arch)) return; - GnNinja($"ios/{arch}", "skia", + GnNinja($"{VARIANT}/{arch}", "skia", $"target_cpu='{skiaArch}' " + - $"target_os='ios' " + + $"target_os='{VARIANT}' " + $"skia_use_icu=false " + - $"skia_use_metal=true " + + $"skia_use_metal={(sdk == "macosx" ? "false" : "true")} " + $"skia_use_piex=true " + $"skia_use_sfntly=false " + $"skia_use_system_expat=false " + @@ -39,16 +41,13 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + - $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF', '-mios-version-min=8.0' ] " + - $"extra_ldflags=[ '-Wl,ios_version_min=8.0' ]"); - - RunXCodeBuild("libSkiaSharp/libSkiaSharp.xcodeproj", "libSkiaSharp", sdk, arch); + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF' ] "); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libSkiaSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); + RunXCodeBuild("libSkiaSharp/libSkiaSharp.xcodeproj", "libSkiaSharp", sdk, arch, platform: VARIANT); - StripSign(outDir.CombineWithFilePath("libSkiaSharp.framework")); + SafeCopy( + $"libSkiaSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"{VARIANT}/libSkiaSharp/{arch}.xcarchive")); } }); @@ -56,29 +55,29 @@ Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnMac()) .Does(() => { - Build("iphonesimulator", "i386"); - Build("iphonesimulator", "x86_64"); - Build("iphoneos", "armv7"); - Build("iphoneos", "arm64"); - - RunLipo(OUTPUT_PATH, "libHarfBuzzSharp.a", new [] { - (FilePath) "i386/libHarfBuzzSharp.a", - (FilePath) "x86_64/libHarfBuzzSharp.a", - (FilePath) "armv7/libHarfBuzzSharp.a", - (FilePath) "arm64/libHarfBuzzSharp.a" - }); + if (VARIANT.ToLower() == "ios") { + Build("iphonesimulator", "i386"); + Build("iphonesimulator", "x86_64"); + Build("iphoneos", "armv7"); + Build("iphoneos", "arm64"); + + CreateFatFramework(OUTPUT_PATH.Combine("ios/libHarfBuzzSharp")); + } else if (VARIANT.ToLower() == "maccatalyst") { + Build("macosx", "x86_64"); + Build("macosx", "arm64"); + + CreateFatVersionedFramework(OUTPUT_PATH.Combine("maccatalyst/libHarfBuzzSharp")); + } void Build(string sdk, string arch) { if (Skip(arch)) return; - RunXCodeBuild("libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj", "libHarfBuzzSharp", sdk, arch); - - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libHarfBuzzSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); + RunXCodeBuild("libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj", "libHarfBuzzSharp", sdk, arch, platform: VARIANT); - StripSign(outDir.CombineWithFilePath("libHarfBuzzSharp.a")); + SafeCopy( + $"libHarfBuzzSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"{VARIANT}/libHarfBuzzSharp/{arch}.xcarchive")); } }); diff --git a/native/ios/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj index 624e434588b..2c6c2f897bb 100644 --- a/native/ios/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj +++ b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj @@ -7,73 +7,71 @@ objects = { /* Begin PBXBuildFile section */ - 34B817C222BD8F6F00508F73 /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BB22BD8F6F00508F73 /* hb-subset-cff2.cc */; }; - 34B817C322BD8F6F00508F73 /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BC22BD8F6F00508F73 /* hb-subset-cff-common.cc */; }; - 34B817C422BD8F6F00508F73 /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BD22BD8F6F00508F73 /* hb-subset-plan.cc */; }; - 34B817C522BD8F6F00508F73 /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BE22BD8F6F00508F73 /* hb-ucd.cc */; }; - 34B817C622BD8F6F00508F73 /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BF22BD8F6F00508F73 /* hb-subset.cc */; }; - 34B817C722BD8F6F00508F73 /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817C022BD8F6F00508F73 /* hb-subset-input.cc */; }; - 34B817C822BD8F6F00508F73 /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817C122BD8F6F00508F73 /* hb-subset-cff1.cc */; }; - 34C9309E21FA5A77002D729C /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307121FA5A76002D729C /* hb-shape-plan.cc */; }; - 34C930A021FA5A77002D729C /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307321FA5A76002D729C /* hb-ot-shape-complex-indic-table.cc */; }; - 34C930A121FA5A77002D729C /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307421FA5A76002D729C /* hb-ot-shape-complex-myanmar.cc */; }; - 34C930A221FA5A77002D729C /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307521FA5A76002D729C /* hb-ot-map.cc */; }; - 34C930A321FA5A77002D729C /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307621FA5A76002D729C /* hb-buffer.cc */; }; - 34C930A421FA5A77002D729C /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307721FA5A76002D729C /* hb-aat-layout.cc */; }; - 34C930A521FA5A77002D729C /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307821FA5A76002D729C /* hb-ot-color.cc */; }; - 34C930A621FA5A77002D729C /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307921FA5A76002D729C /* hb-common.cc */; }; - 34C930A721FA5A77002D729C /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307A21FA5A76002D729C /* hb-ot-font.cc */; }; - 34C930A821FA5A77002D729C /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307B21FA5A76002D729C /* hb-ot-shape-complex-hebrew.cc */; }; - 34C930A921FA5A77002D729C /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307C21FA5A76002D729C /* hb-ot-cff1-table.cc */; }; - 34C930AA21FA5A77002D729C /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307D21FA5A76002D729C /* hb-ot-cff2-table.cc */; }; - 34C930AB21FA5A77002D729C /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307E21FA5A76002D729C /* hb-aat-map.cc */; }; - 34C930AC21FA5A77002D729C /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307F21FA5A76002D729C /* hb-ot-shape-complex-khmer.cc */; }; - 34C930AD21FA5A77002D729C /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308021FA5A76002D729C /* hb-ot-shape-complex-default.cc */; }; - 34C930AE21FA5A77002D729C /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308121FA5A76002D729C /* hb-ot-shape-complex-use.cc */; }; - 34C930AF21FA5A77002D729C /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308221FA5A76002D729C /* hb-shaper.cc */; }; - 34C930B021FA5A77002D729C /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308321FA5A76002D729C /* hb-buffer-serialize.cc */; }; - 34C930B121FA5A77002D729C /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308421FA5A76002D729C /* hb-ot-shape-fallback.cc */; }; - 34C930B221FA5A77002D729C /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308521FA5A76002D729C /* hb-blob.cc */; }; - 34C930B321FA5A77002D729C /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308621FA5A76002D729C /* hb-ot-layout.cc */; }; - 34C930B421FA5A77002D729C /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308721FA5A76002D729C /* hb-ot-face.cc */; }; - 34C930B521FA5A77002D729C /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308821FA5A76002D729C /* hb-ot-shape-complex-indic.cc */; }; - 34C930B621FA5A77002D729C /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308921FA5A76002D729C /* hb-ot-shape-complex-thai.cc */; }; - 34C930B721FA5A77002D729C /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308A21FA5A76002D729C /* hb-ot-shape-normalize.cc */; }; - 34C930B821FA5A77002D729C /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308B21FA5A76002D729C /* hb-ot-shape-complex-vowel-constraints.cc */; }; - 34C930B921FA5A77002D729C /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308C21FA5A76002D729C /* hb-ot-shape-complex-arabic.cc */; }; - 34C930BA21FA5A77002D729C /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308D21FA5A76002D729C /* hb-static.cc */; }; - 34C930BB21FA5A77002D729C /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308E21FA5A76002D729C /* hb-unicode.cc */; }; - 34C930BC21FA5A77002D729C /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308F21FA5A77002D729C /* hb-ot-name.cc */; }; - 34C930BD21FA5A77002D729C /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309021FA5A77002D729C /* hb-ot-shape.cc */; }; - 34C930BE21FA5A77002D729C /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309121FA5A77002D729C /* hb-ot-shape-complex-hangul.cc */; }; - 34C930BF21FA5A77002D729C /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309221FA5A77002D729C /* hb-face.cc */; }; - 34C930C021FA5A77002D729C /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309321FA5A77002D729C /* hb-ot-math.cc */; }; - 34C930C121FA5A77002D729C /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309421FA5A77002D729C /* hb-map.cc */; }; - 34C930C221FA5A77002D729C /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309521FA5A77002D729C /* hb-font.cc */; }; - 34C930C321FA5A77002D729C /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309621FA5A77002D729C /* hb-set.cc */; }; - 34C930C521FA5A77002D729C /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309821FA5A77002D729C /* hb-ot-shape-complex-use-table.cc */; }; - 34C930C621FA5A77002D729C /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309921FA5A77002D729C /* hb-ot-tag.cc */; }; - 34C930C721FA5A77002D729C /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309A21FA5A77002D729C /* hb-shape.cc */; }; - 34C930C821FA5A77002D729C /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309B21FA5A77002D729C /* hb-warning.cc */; }; - 34C930C921FA5A77002D729C /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309C21FA5A77002D729C /* hb-fallback-shape.cc */; }; - 34C930CA21FA5A77002D729C /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309D21FA5A77002D729C /* hb-ot-var.cc */; }; - 34F68011233ED0F70091C30D /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800B233ED0F70091C30D /* hb-ot-meta.cc */; }; - 34F68012233ED0F70091C30D /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F68010233ED0F70091C30D /* hb-ot-metrics.cc */; }; + 345637C92614B133007E2D90 /* libHarfBuzzSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 345637C72614B133007E2D90 /* libHarfBuzzSharp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 345637CE2614B15E007E2D90 /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307721FA5A76002D729C /* hb-aat-layout.cc */; }; + 345637CF2614B15E007E2D90 /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307E21FA5A76002D729C /* hb-aat-map.cc */; }; + 345637D02614B15E007E2D90 /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308521FA5A76002D729C /* hb-blob.cc */; }; + 345637D12614B15E007E2D90 /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308321FA5A76002D729C /* hb-buffer-serialize.cc */; }; + 345637D22614B15E007E2D90 /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307621FA5A76002D729C /* hb-buffer.cc */; }; + 345637D32614B15E007E2D90 /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307921FA5A76002D729C /* hb-common.cc */; }; + 345637D42614B15E007E2D90 /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309221FA5A77002D729C /* hb-face.cc */; }; + 345637D52614B15E007E2D90 /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309C21FA5A77002D729C /* hb-fallback-shape.cc */; }; + 345637D62614B15E007E2D90 /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309521FA5A77002D729C /* hb-font.cc */; }; + 345637D72614B15E007E2D90 /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309421FA5A77002D729C /* hb-map.cc */; }; + 345637D82614B15E007E2D90 /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307C21FA5A76002D729C /* hb-ot-cff1-table.cc */; }; + 345637D92614B15E007E2D90 /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307D21FA5A76002D729C /* hb-ot-cff2-table.cc */; }; + 345637DA2614B15E007E2D90 /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307821FA5A76002D729C /* hb-ot-color.cc */; }; + 345637DB2614B15E007E2D90 /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308721FA5A76002D729C /* hb-ot-face.cc */; }; + 345637DC2614B15E007E2D90 /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307A21FA5A76002D729C /* hb-ot-font.cc */; }; + 345637DD2614B15E007E2D90 /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308621FA5A76002D729C /* hb-ot-layout.cc */; }; + 345637DE2614B15E007E2D90 /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307521FA5A76002D729C /* hb-ot-map.cc */; }; + 345637DF2614B15E007E2D90 /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309321FA5A77002D729C /* hb-ot-math.cc */; }; + 345637E02614B15E007E2D90 /* hb-ot-meta-table.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800D233ED0F70091C30D /* hb-ot-meta-table.hh */; }; + 345637E12614B15E007E2D90 /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800B233ED0F70091C30D /* hb-ot-meta.cc */; }; + 345637E22614B15E007E2D90 /* hb-ot-meta.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800E233ED0F70091C30D /* hb-ot-meta.h */; }; + 345637E32614B15E007E2D90 /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F68010233ED0F70091C30D /* hb-ot-metrics.cc */; }; + 345637E42614B15E007E2D90 /* hb-ot-metrics.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800F233ED0F70091C30D /* hb-ot-metrics.h */; }; + 345637E52614B15E007E2D90 /* hb-ot-metrics.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F6800C233ED0F70091C30D /* hb-ot-metrics.hh */; }; + 345637E62614B15E007E2D90 /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308F21FA5A77002D729C /* hb-ot-name.cc */; }; + 345637E72614B15E007E2D90 /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308C21FA5A76002D729C /* hb-ot-shape-complex-arabic.cc */; }; + 345637E82614B15E007E2D90 /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308021FA5A76002D729C /* hb-ot-shape-complex-default.cc */; }; + 345637E92614B15E007E2D90 /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309121FA5A77002D729C /* hb-ot-shape-complex-hangul.cc */; }; + 345637EA2614B15E007E2D90 /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307B21FA5A76002D729C /* hb-ot-shape-complex-hebrew.cc */; }; + 345637EB2614B15E007E2D90 /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307321FA5A76002D729C /* hb-ot-shape-complex-indic-table.cc */; }; + 345637EC2614B15E007E2D90 /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308821FA5A76002D729C /* hb-ot-shape-complex-indic.cc */; }; + 345637ED2614B15E007E2D90 /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307F21FA5A76002D729C /* hb-ot-shape-complex-khmer.cc */; }; + 345637EE2614B15E007E2D90 /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307421FA5A76002D729C /* hb-ot-shape-complex-myanmar.cc */; }; + 345637EF2614B15E007E2D90 /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308921FA5A76002D729C /* hb-ot-shape-complex-thai.cc */; }; + 345637F02614B15E007E2D90 /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309821FA5A77002D729C /* hb-ot-shape-complex-use-table.cc */; }; + 345637F12614B15E007E2D90 /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308121FA5A76002D729C /* hb-ot-shape-complex-use.cc */; }; + 345637F22614B15E007E2D90 /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308B21FA5A76002D729C /* hb-ot-shape-complex-vowel-constraints.cc */; }; + 345637F32614B15E007E2D90 /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308421FA5A76002D729C /* hb-ot-shape-fallback.cc */; }; + 345637F42614B15E007E2D90 /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308A21FA5A76002D729C /* hb-ot-shape-normalize.cc */; }; + 345637F52614B15E007E2D90 /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309021FA5A77002D729C /* hb-ot-shape.cc */; }; + 345637F62614B15E007E2D90 /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309921FA5A77002D729C /* hb-ot-tag.cc */; }; + 345637F72614B15E007E2D90 /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309D21FA5A77002D729C /* hb-ot-var.cc */; }; + 345637F82614B15E007E2D90 /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309621FA5A77002D729C /* hb-set.cc */; }; + 345637F92614B15E007E2D90 /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9307121FA5A76002D729C /* hb-shape-plan.cc */; }; + 345637FA2614B15E007E2D90 /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309A21FA5A77002D729C /* hb-shape.cc */; }; + 345637FB2614B15E007E2D90 /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308221FA5A76002D729C /* hb-shaper.cc */; }; + 345637FC2614B15E007E2D90 /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308D21FA5A76002D729C /* hb-static.cc */; }; + 345637FD2614B15E007E2D90 /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BC22BD8F6F00508F73 /* hb-subset-cff-common.cc */; }; + 345637FE2614B15E007E2D90 /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817C122BD8F6F00508F73 /* hb-subset-cff1.cc */; }; + 345637FF2614B15E007E2D90 /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BB22BD8F6F00508F73 /* hb-subset-cff2.cc */; }; + 345638002614B15E007E2D90 /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817C022BD8F6F00508F73 /* hb-subset-input.cc */; }; + 345638012614B15E007E2D90 /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BD22BD8F6F00508F73 /* hb-subset-plan.cc */; }; + 345638022614B15E007E2D90 /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BF22BD8F6F00508F73 /* hb-subset.cc */; }; + 345638032614B15E007E2D90 /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34B817BE22BD8F6F00508F73 /* hb-ucd.cc */; }; + 345638042614B15E007E2D90 /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9308E21FA5A76002D729C /* hb-unicode.cc */; }; + 345638052614B15E007E2D90 /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34C9309B21FA5A77002D729C /* hb-warning.cc */; }; + 345638062614B15E007E2D90 /* config.h in Sources */ = {isa = PBXBuildFile; fileRef = 34C92F8D21FA593F002D729C /* config.h */; }; + 345638072614B15E007E2D90 /* libHarfBuzzSharp.h in Sources */ = {isa = PBXBuildFile; fileRef = 345637C72614B133007E2D90 /* libHarfBuzzSharp.h */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 34D723401EB385E800E6210E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ + 345637C52614B133007E2D90 /* libHarfBuzzSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libHarfBuzzSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 345637C72614B133007E2D90 /* libHarfBuzzSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libHarfBuzzSharp.h; sourceTree = ""; }; + 345637C82614B133007E2D90 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 34B817BB22BD8F6F00508F73 /* hb-subset-cff2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-cff2.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-cff2.cc"; sourceTree = ""; }; 34B817BC22BD8F6F00508F73 /* hb-subset-cff-common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-cff-common.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-cff-common.cc"; sourceTree = ""; }; 34B817BD22BD8F6F00508F73 /* hb-subset-plan.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-plan.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-plan.cc"; sourceTree = ""; }; @@ -125,7 +123,6 @@ 34C9309B21FA5A77002D729C /* hb-warning.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-warning.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-warning.cc"; sourceTree = ""; }; 34C9309C21FA5A77002D729C /* hb-fallback-shape.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-fallback-shape.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-fallback-shape.cc"; sourceTree = ""; }; 34C9309D21FA5A77002D729C /* hb-ot-var.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-ot-var.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-var.cc"; sourceTree = ""; }; - 34D723421EB385E900E6210E /* libHarfBuzzSharp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libHarfBuzzSharp.a; sourceTree = BUILT_PRODUCTS_DIR; }; 34F6800B233ED0F70091C30D /* hb-ot-meta.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-ot-meta.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-meta.cc"; sourceTree = ""; }; 34F6800C233ED0F70091C30D /* hb-ot-metrics.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = "hb-ot-metrics.hh"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.hh"; sourceTree = ""; }; 34F6800D233ED0F70091C30D /* hb-ot-meta-table.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = "hb-ot-meta-table.hh"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-meta-table.hh"; sourceTree = ""; }; @@ -135,7 +132,7 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 34D7233F1EB385E800E6210E /* Frameworks */ = { + 345637C22614B133007E2D90 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -145,6 +142,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 345637C62614B133007E2D90 /* libHarfBuzzSharp */ = { + isa = PBXGroup; + children = ( + 345637C72614B133007E2D90 /* libHarfBuzzSharp.h */, + 345637C82614B133007E2D90 /* Info.plist */, + ); + path = libHarfBuzzSharp; + sourceTree = ""; + }; 34C9307021FA5A6D002D729C /* src */ = { isa = PBXGroup; children = ( @@ -213,6 +219,7 @@ children = ( 34C9307021FA5A6D002D729C /* src */, 34C92F8D21FA593F002D729C /* config.h */, + 345637C62614B133007E2D90 /* libHarfBuzzSharp */, 34D723431EB385E900E6210E /* Products */, ); sourceTree = ""; @@ -220,21 +227,33 @@ 34D723431EB385E900E6210E /* Products */ = { isa = PBXGroup; children = ( - 34D723421EB385E900E6210E /* libHarfBuzzSharp.a */, + 345637C52614B133007E2D90 /* libHarfBuzzSharp.framework */, ); name = Products; sourceTree = ""; }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 345637C02614B133007E2D90 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 345637C92614B133007E2D90 /* libHarfBuzzSharp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 34D723411EB385E800E6210E /* libHarfBuzzSharp */ = { + 345637C42614B133007E2D90 /* libHarfBuzzSharp */ = { isa = PBXNativeTarget; - buildConfigurationList = 34D7234B1EB385E900E6210E /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; + buildConfigurationList = 345637CA2614B133007E2D90 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; buildPhases = ( - 34D7233E1EB385E800E6210E /* Sources */, - 34D7233F1EB385E800E6210E /* Frameworks */, - 34D723401EB385E800E6210E /* CopyFiles */, + 345637C02614B133007E2D90 /* Headers */, + 345637C12614B133007E2D90 /* Sources */, + 345637C22614B133007E2D90 /* Frameworks */, + 345637C32614B133007E2D90 /* Resources */, ); buildRules = ( ); @@ -242,8 +261,8 @@ ); name = libHarfBuzzSharp; productName = libHarfBuzzSharp; - productReference = 34D723421EB385E900E6210E /* libHarfBuzzSharp.a */; - productType = "com.apple.product-type.library.static"; + productReference = 345637C52614B133007E2D90 /* libHarfBuzzSharp.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -251,90 +270,106 @@ 34D7233A1EB385E800E6210E /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1240; ORGANIZATIONNAME = "Matthew Leibowitz"; TargetAttributes = { - 34D723411EB385E800E6210E = { - CreatedOnToolsVersion = 8.0; + 345637C42614B133007E2D90 = { + CreatedOnToolsVersion = 12.4; ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 34D7233D1EB385E800E6210E /* Build configuration list for PBXProject "libHarfBuzzSharp" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + Base, ); mainGroup = 34D723391EB385E800E6210E; productRefGroup = 34D723431EB385E900E6210E /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 34D723411EB385E800E6210E /* libHarfBuzzSharp */, + 345637C42614B133007E2D90 /* libHarfBuzzSharp */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 345637C32614B133007E2D90 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 34D7233E1EB385E800E6210E /* Sources */ = { + 345637C12614B133007E2D90 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 34C930C521FA5A77002D729C /* hb-ot-shape-complex-use-table.cc in Sources */, - 34C930B421FA5A77002D729C /* hb-ot-face.cc in Sources */, - 34C930A521FA5A77002D729C /* hb-ot-color.cc in Sources */, - 34C930AD21FA5A77002D729C /* hb-ot-shape-complex-default.cc in Sources */, - 34C930AE21FA5A77002D729C /* hb-ot-shape-complex-use.cc in Sources */, - 34C930B621FA5A77002D729C /* hb-ot-shape-complex-thai.cc in Sources */, - 34C930A621FA5A77002D729C /* hb-common.cc in Sources */, - 34C9309E21FA5A77002D729C /* hb-shape-plan.cc in Sources */, - 34B817C422BD8F6F00508F73 /* hb-subset-plan.cc in Sources */, - 34B817C222BD8F6F00508F73 /* hb-subset-cff2.cc in Sources */, - 34C930A121FA5A77002D729C /* hb-ot-shape-complex-myanmar.cc in Sources */, - 34B817C322BD8F6F00508F73 /* hb-subset-cff-common.cc in Sources */, - 34C930BC21FA5A77002D729C /* hb-ot-name.cc in Sources */, - 34C930B721FA5A77002D729C /* hb-ot-shape-normalize.cc in Sources */, - 34C930A221FA5A77002D729C /* hb-ot-map.cc in Sources */, - 34C930B521FA5A77002D729C /* hb-ot-shape-complex-indic.cc in Sources */, - 34C930C221FA5A77002D729C /* hb-font.cc in Sources */, - 34B817C522BD8F6F00508F73 /* hb-ucd.cc in Sources */, - 34F68012233ED0F70091C30D /* hb-ot-metrics.cc in Sources */, - 34C930C321FA5A77002D729C /* hb-set.cc in Sources */, - 34C930A021FA5A77002D729C /* hb-ot-shape-complex-indic-table.cc in Sources */, - 34C930AA21FA5A77002D729C /* hb-ot-cff2-table.cc in Sources */, - 34C930B021FA5A77002D729C /* hb-buffer-serialize.cc in Sources */, - 34C930CA21FA5A77002D729C /* hb-ot-var.cc in Sources */, - 34C930C821FA5A77002D729C /* hb-warning.cc in Sources */, - 34C930A921FA5A77002D729C /* hb-ot-cff1-table.cc in Sources */, - 34B817C822BD8F6F00508F73 /* hb-subset-cff1.cc in Sources */, - 34C930B321FA5A77002D729C /* hb-ot-layout.cc in Sources */, - 34C930A821FA5A77002D729C /* hb-ot-shape-complex-hebrew.cc in Sources */, - 34F68011233ED0F70091C30D /* hb-ot-meta.cc in Sources */, - 34C930AF21FA5A77002D729C /* hb-shaper.cc in Sources */, - 34C930A721FA5A77002D729C /* hb-ot-font.cc in Sources */, - 34B817C622BD8F6F00508F73 /* hb-subset.cc in Sources */, - 34C930A321FA5A77002D729C /* hb-buffer.cc in Sources */, - 34C930C621FA5A77002D729C /* hb-ot-tag.cc in Sources */, - 34C930C021FA5A77002D729C /* hb-ot-math.cc in Sources */, - 34C930BF21FA5A77002D729C /* hb-face.cc in Sources */, - 34C930B921FA5A77002D729C /* hb-ot-shape-complex-arabic.cc in Sources */, - 34C930B121FA5A77002D729C /* hb-ot-shape-fallback.cc in Sources */, - 34B817C722BD8F6F00508F73 /* hb-subset-input.cc in Sources */, - 34C930C121FA5A77002D729C /* hb-map.cc in Sources */, - 34C930BE21FA5A77002D729C /* hb-ot-shape-complex-hangul.cc in Sources */, - 34C930C921FA5A77002D729C /* hb-fallback-shape.cc in Sources */, - 34C930B821FA5A77002D729C /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, - 34C930B221FA5A77002D729C /* hb-blob.cc in Sources */, - 34C930BD21FA5A77002D729C /* hb-ot-shape.cc in Sources */, - 34C930BB21FA5A77002D729C /* hb-unicode.cc in Sources */, - 34C930C721FA5A77002D729C /* hb-shape.cc in Sources */, - 34C930BA21FA5A77002D729C /* hb-static.cc in Sources */, - 34C930AC21FA5A77002D729C /* hb-ot-shape-complex-khmer.cc in Sources */, - 34C930A421FA5A77002D729C /* hb-aat-layout.cc in Sources */, - 34C930AB21FA5A77002D729C /* hb-aat-map.cc in Sources */, + 345637CE2614B15E007E2D90 /* hb-aat-layout.cc in Sources */, + 345637CF2614B15E007E2D90 /* hb-aat-map.cc in Sources */, + 345637D02614B15E007E2D90 /* hb-blob.cc in Sources */, + 345637D12614B15E007E2D90 /* hb-buffer-serialize.cc in Sources */, + 345637D22614B15E007E2D90 /* hb-buffer.cc in Sources */, + 345637D32614B15E007E2D90 /* hb-common.cc in Sources */, + 345637D42614B15E007E2D90 /* hb-face.cc in Sources */, + 345637D52614B15E007E2D90 /* hb-fallback-shape.cc in Sources */, + 345637D62614B15E007E2D90 /* hb-font.cc in Sources */, + 345637D72614B15E007E2D90 /* hb-map.cc in Sources */, + 345637D82614B15E007E2D90 /* hb-ot-cff1-table.cc in Sources */, + 345637D92614B15E007E2D90 /* hb-ot-cff2-table.cc in Sources */, + 345637DA2614B15E007E2D90 /* hb-ot-color.cc in Sources */, + 345637DB2614B15E007E2D90 /* hb-ot-face.cc in Sources */, + 345637DC2614B15E007E2D90 /* hb-ot-font.cc in Sources */, + 345637DD2614B15E007E2D90 /* hb-ot-layout.cc in Sources */, + 345637DE2614B15E007E2D90 /* hb-ot-map.cc in Sources */, + 345637DF2614B15E007E2D90 /* hb-ot-math.cc in Sources */, + 345637E02614B15E007E2D90 /* hb-ot-meta-table.hh in Sources */, + 345637E12614B15E007E2D90 /* hb-ot-meta.cc in Sources */, + 345637E22614B15E007E2D90 /* hb-ot-meta.h in Sources */, + 345637E32614B15E007E2D90 /* hb-ot-metrics.cc in Sources */, + 345637E42614B15E007E2D90 /* hb-ot-metrics.h in Sources */, + 345637E52614B15E007E2D90 /* hb-ot-metrics.hh in Sources */, + 345637E62614B15E007E2D90 /* hb-ot-name.cc in Sources */, + 345637E72614B15E007E2D90 /* hb-ot-shape-complex-arabic.cc in Sources */, + 345637E82614B15E007E2D90 /* hb-ot-shape-complex-default.cc in Sources */, + 345637E92614B15E007E2D90 /* hb-ot-shape-complex-hangul.cc in Sources */, + 345637EA2614B15E007E2D90 /* hb-ot-shape-complex-hebrew.cc in Sources */, + 345637EB2614B15E007E2D90 /* hb-ot-shape-complex-indic-table.cc in Sources */, + 345637EC2614B15E007E2D90 /* hb-ot-shape-complex-indic.cc in Sources */, + 345637ED2614B15E007E2D90 /* hb-ot-shape-complex-khmer.cc in Sources */, + 345637EE2614B15E007E2D90 /* hb-ot-shape-complex-myanmar.cc in Sources */, + 345637EF2614B15E007E2D90 /* hb-ot-shape-complex-thai.cc in Sources */, + 345637F02614B15E007E2D90 /* hb-ot-shape-complex-use-table.cc in Sources */, + 345637F12614B15E007E2D90 /* hb-ot-shape-complex-use.cc in Sources */, + 345637F22614B15E007E2D90 /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, + 345637F32614B15E007E2D90 /* hb-ot-shape-fallback.cc in Sources */, + 345637F42614B15E007E2D90 /* hb-ot-shape-normalize.cc in Sources */, + 345637F52614B15E007E2D90 /* hb-ot-shape.cc in Sources */, + 345637F62614B15E007E2D90 /* hb-ot-tag.cc in Sources */, + 345637F72614B15E007E2D90 /* hb-ot-var.cc in Sources */, + 345637F82614B15E007E2D90 /* hb-set.cc in Sources */, + 345637F92614B15E007E2D90 /* hb-shape-plan.cc in Sources */, + 345637FA2614B15E007E2D90 /* hb-shape.cc in Sources */, + 345637FB2614B15E007E2D90 /* hb-shaper.cc in Sources */, + 345637FC2614B15E007E2D90 /* hb-static.cc in Sources */, + 345637FD2614B15E007E2D90 /* hb-subset-cff-common.cc in Sources */, + 345637FE2614B15E007E2D90 /* hb-subset-cff1.cc in Sources */, + 345637FF2614B15E007E2D90 /* hb-subset-cff2.cc in Sources */, + 345638002614B15E007E2D90 /* hb-subset-input.cc in Sources */, + 345638012614B15E007E2D90 /* hb-subset-plan.cc in Sources */, + 345638022614B15E007E2D90 /* hb-subset.cc in Sources */, + 345638032614B15E007E2D90 /* hb-ucd.cc in Sources */, + 345638042614B15E007E2D90 /* hb-unicode.cc in Sources */, + 345638052614B15E007E2D90 /* hb-warning.cc in Sources */, + 345638062614B15E007E2D90 /* config.h in Sources */, + 345638072614B15E007E2D90 /* libHarfBuzzSharp.h in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -365,15 +400,16 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -394,7 +430,12 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "-all_load"; SDKROOT = iphoneos; + PLATFORM = ios; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; @@ -422,15 +463,16 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -447,56 +489,91 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-all_load"; SDKROOT = iphoneos; + PLATFORM = ios; VALIDATE_PRODUCT = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 34D7234C1EB385E900E6210E /* Debug */ = { + 345637CB2614B133007E2D90 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + DEAD_CODE_STRIPPING = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); + SUPPORTS_MACCATALYST = YES; }; name = Debug; }; - 34D7234D1EB385E900E6210E /* Release */ = { + 345637CC2614B133007E2D90 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + DEAD_CODE_STRIPPING = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); + SUPPORTS_MACCATALYST = YES; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 34D7233D1EB385E800E6210E /* Build configuration list for PBXProject "libHarfBuzzSharp" */ = { + 345637CA2614B133007E2D90 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { isa = XCConfigurationList; buildConfigurations = ( - 34D723491EB385E900E6210E /* Debug */, - 34D7234A1EB385E900E6210E /* Release */, + 345637CB2614B133007E2D90 /* Debug */, + 345637CC2614B133007E2D90 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 34D7234B1EB385E900E6210E /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { + 34D7233D1EB385E800E6210E /* Build configuration list for PBXProject "libHarfBuzzSharp" */ = { isa = XCConfigurationList; buildConfigurations = ( - 34D7234C1EB385E900E6210E /* Debug */, - 34D7234D1EB385E900E6210E /* Release */, + 34D723491EB385E900E6210E /* Debug */, + 34D7234A1EB385E900E6210E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist new file mode 100644 index 00000000000..9bcb244429e --- /dev/null +++ b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/native/ios/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h @@ -0,0 +1 @@ + diff --git a/native/ios/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj b/native/ios/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj index 626cf470370..a4a78ec6dae 100644 --- a/native/ios/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj +++ b/native/ios/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj @@ -320,6 +320,7 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-all_load"; SDKROOT = iphoneos; + PLATFORM = ios; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -391,8 +392,9 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = "-all_load"; SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; + PLATFORM = ios; VALIDATE_PRODUCT = YES; + TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -410,15 +412,17 @@ HEADER_SEARCH_PATHS = ../../../externals/skia; INFOPLIST_FILE = libSkiaSharp/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = "../../../externals/skia/out/ios/$(ARCHS)"; + LIBRARY_SEARCH_PATHS = "../../../externals/skia/out/$(PLATFORM)/$(ARCHS)"; OTHER_LDFLAGS = ( "-all_load", "-lskia", ); - PRODUCT_BUNDLE_IDENTIFIER = "xamarin.libskia-ios"; + PRODUCT_BUNDLE_IDENTIFIER = "com.microsoft.libSkiaSharp"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; }; name = Debug; }; @@ -434,15 +438,17 @@ HEADER_SEARCH_PATHS = ../../../externals/skia; INFOPLIST_FILE = libSkiaSharp/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = "../../../externals/skia/out/ios/$(ARCHS)"; + LIBRARY_SEARCH_PATHS = "../../../externals/skia/out/$(PLATFORM)/$(ARCHS)"; OTHER_LDFLAGS = ( "-all_load", "-lskia", ); - PRODUCT_BUNDLE_IDENTIFIER = "xamarin.libskia-ios"; + PRODUCT_BUNDLE_IDENTIFIER = "com.microsoft.libSkiaSharp"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; }; name = Release; }; diff --git a/native/ios/libSkiaSharp/libSkiaSharp/libSkiaSharp.h b/native/ios/libSkiaSharp/libSkiaSharp/libSkiaSharp.h index 22af2167205..e69de29bb2d 100644 --- a/native/ios/libSkiaSharp/libSkiaSharp/libSkiaSharp.h +++ b/native/ios/libSkiaSharp/libSkiaSharp/libSkiaSharp.h @@ -1,8 +0,0 @@ -// -// libSkiaSharp.h -// libSkiaSharp -// -// Created by Bill Holmes on 11/21/15. -// Copyright © 2015 Xamarin. All rights reserved. -// - diff --git a/native/maccatalyst/build.cake b/native/maccatalyst/build.cake new file mode 100644 index 00000000000..a4107540602 --- /dev/null +++ b/native/maccatalyst/build.cake @@ -0,0 +1,28 @@ +DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); +DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); + +#load "../../cake/shared.cake" + +Task("libSkiaSharp") + .WithCriteria(IsRunningOnMac()) + .Does(() => +{ + RunCake("../ios/build.cake", "libSkiaSharp", new Dictionary { + { "variant", "maccatalyst" }, + }); +}); + +Task("libHarfBuzzSharp") + .WithCriteria(IsRunningOnMac()) + .Does(() => +{ + RunCake("../ios/build.cake", "libHarfBuzzSharp", new Dictionary { + { "variant", "maccatalyst" }, + }); +}); + +Task("Default") + .IsDependentOn("libSkiaSharp") + .IsDependentOn("libHarfBuzzSharp"); + +RunTarget(TARGET); diff --git a/native/macos/build.cake b/native/macos/build.cake index 42628804997..06f7c0a6025 100644 --- a/native/macos/build.cake +++ b/native/macos/build.cake @@ -12,10 +12,7 @@ Task("libSkiaSharp") Build("x86_64", "x64"); Build("arm64", "arm64"); - RunLipo(OUTPUT_PATH, "libSkiaSharp.dylib", new [] { - (FilePath) "x86_64/libSkiaSharp.dylib", - (FilePath) "arm64/libSkiaSharp.dylib", - }); + CreateFatDylib(OUTPUT_PATH.Combine("libSkiaSharp")); void Build(string arch, string skiaArch) { @@ -28,6 +25,7 @@ Task("libSkiaSharp") GnNinja($"macos/{arch}", "skia", $"target_os='mac' " + $"target_cpu='{skiaArch}' " + + $"min_macos_version='{minVersion}' " + $"skia_use_icu=false " + $"skia_use_metal=true " + $"skia_use_piex=true " + @@ -37,16 +35,14 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + - $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF', '-mmacosx-version-min={minVersion}', '-stdlib=libc++' ] " + - $"extra_ldflags=[ '-Wl,macosx_version_min={minVersion}', '-stdlib=libc++' ]"); + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF', '-stdlib=libc++' ] " + + $"extra_ldflags=[ '-stdlib=libc++' ]"); RunXCodeBuild("libSkiaSharp/libSkiaSharp.xcodeproj", "libSkiaSharp", "macosx", arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libSkiaSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}/", outDir); - - StripSign(outDir.CombineWithFilePath("libSkiaSharp.dylib")); + SafeCopy( + $"libSkiaSharp/bin/{CONFIGURATION}/macosx/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libSkiaSharp/{arch}.xcarchive")); } }); @@ -57,10 +53,7 @@ Task("libHarfBuzzSharp") Build("x86_64"); Build("arm64"); - RunLipo(OUTPUT_PATH, "libHarfBuzzSharp.dylib", new [] { - (FilePath) "x86_64/libHarfBuzzSharp.dylib", - (FilePath) "arm64/libHarfBuzzSharp.dylib", - }); + CreateFatDylib(OUTPUT_PATH.Combine("libHarfBuzzSharp")); void Build(string arch) { @@ -68,11 +61,9 @@ Task("libHarfBuzzSharp") RunXCodeBuild("libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj", "libHarfBuzzSharp", "macosx", arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libHarfBuzzSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}/", outDir); - - StripSign(outDir.CombineWithFilePath("libHarfBuzzSharp.dylib")); + SafeCopy( + $"libHarfBuzzSharp/bin/{CONFIGURATION}/macosx/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libHarfBuzzSharp/{arch}.xcarchive")); } }); diff --git a/native/macos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj b/native/macos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj index e65c226d3e9..6114653365d 100644 --- a/native/macos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj +++ b/native/macos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj @@ -470,6 +470,7 @@ WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Debug; @@ -485,6 +486,7 @@ WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Release; diff --git a/native/tizen/build.cake b/native/tizen/build.cake index 08a6f28d55d..28b8a19f25e 100644 --- a/native/tizen/build.cake +++ b/native/tizen/build.cake @@ -34,7 +34,7 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=true " + - $"extra_cflags=[ '-DSKIA_C_DLL', '-DSK_BUILD_FOR_TIZEN', '-DXML_DEV_URANDOM' ] " + + $"extra_cflags=[ '-DSKIA_C_DLL', '-DXML_DEV_URANDOM' ] " + $"ncli='{TIZEN_STUDIO_HOME}' " + $"ncli_version='4.0'"); diff --git a/native/tvos/build.cake b/native/tvos/build.cake index 1948aa4d3f7..bae412ac263 100644 --- a/native/tvos/build.cake +++ b/native/tvos/build.cake @@ -12,12 +12,7 @@ Task("libSkiaSharp") Build("appletvsimulator", "x86_64", "x64"); Build("appletvos", "arm64", "arm64"); - CopyDirectory(OUTPUT_PATH.Combine("arm64/libSkiaSharp.framework"), OUTPUT_PATH.Combine("libSkiaSharp.framework")); - DeleteFile(OUTPUT_PATH.CombineWithFilePath("libSkiaSharp.framework/libSkiaSharp")); - RunLipo(OUTPUT_PATH, "libSkiaSharp.framework/libSkiaSharp", new [] { - (FilePath) "x86_64/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "arm64/libSkiaSharp.framework/libSkiaSharp" - }); + CreateFatFramework(OUTPUT_PATH.Combine("libSkiaSharp")); void Build(string sdk, string arch, string skiaArch) { @@ -27,6 +22,7 @@ Task("libSkiaSharp") $"target_os='tvos' " + $"target_cpu='{skiaArch}' " + $"skia_use_icu=false " + + $"skia_use_metal=false " + $"skia_use_piex=true " + $"skia_use_sfntly=false " + $"skia_use_system_expat=false " + @@ -34,16 +30,13 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + - $"extra_cflags=[ '-DSK_BUILD_FOR_TVOS', '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF', '-mtvos-version-min=9.0' ] " + - $"extra_ldflags=[ '-Wl,tvos_version_min=9.0' ]"); + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF' ] "); RunXCodeBuild("libSkiaSharp/libSkiaSharp.xcodeproj", "libSkiaSharp", sdk, arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libSkiaSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); - - StripSign(outDir.CombineWithFilePath("libSkiaSharp.framework")); + SafeCopy( + $"libSkiaSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libSkiaSharp/{arch}.xcarchive")); } }); @@ -54,10 +47,7 @@ Task("libHarfBuzzSharp") Build("appletvsimulator", "x86_64"); Build("appletvos", "arm64"); - RunLipo(OUTPUT_PATH, "libHarfBuzzSharp.a", new [] { - (FilePath) "x86_64/libHarfBuzzSharp.a", - (FilePath) "arm64/libHarfBuzzSharp.a" - }); + CreateFatFramework(OUTPUT_PATH.Combine("libHarfBuzzSharp")); void Build(string sdk, string arch) { @@ -65,11 +55,9 @@ Task("libHarfBuzzSharp") RunXCodeBuild("libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj", "libHarfBuzzSharp", sdk, arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libHarfBuzzSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); - - StripSign(outDir.CombineWithFilePath("libHarfBuzzSharp.a")); + SafeCopy( + $"libHarfBuzzSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libHarfBuzzSharp/{arch}.xcarchive")); } }); diff --git a/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj b/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj index 2fff2e090d1..402ff2ff712 100644 --- a/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj +++ b/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj @@ -7,74 +7,68 @@ objects = { /* Begin PBXBuildFile section */ - 3460E11422BD90090022F04C /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10D22BD90080022F04C /* hb-subset-input.cc */; }; - 3460E11522BD90090022F04C /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10E22BD90080022F04C /* hb-subset-plan.cc */; }; - 3460E11622BD90090022F04C /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10F22BD90090022F04C /* hb-subset-cff-common.cc */; }; - 3460E11722BD90090022F04C /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11022BD90090022F04C /* hb-subset.cc */; }; - 3460E11822BD90090022F04C /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11122BD90090022F04C /* hb-ucd.cc */; }; - 3460E11922BD90090022F04C /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11222BD90090022F04C /* hb-subset-cff1.cc */; }; - 3460E11A22BD90090022F04C /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11322BD90090022F04C /* hb-subset-cff2.cc */; }; - 34F57ACB233ED12B00427BE9 /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC7233ED12B00427BE9 /* hb-ot-metrics.cc */; }; - 34F57ACC233ED12B00427BE9 /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC8233ED12B00427BE9 /* hb-ot-meta.cc */; }; - 34F64BCE21FA5F51008FBDBD /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA121FA5F4F008FBDBD /* hb-ot-cff1-table.cc */; }; - 34F64BCF21FA5F51008FBDBD /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA221FA5F4F008FBDBD /* hb-ot-shape-complex-indic-table.cc */; }; - 34F64BD021FA5F51008FBDBD /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA321FA5F4F008FBDBD /* hb-ot-font.cc */; }; - 34F64BD121FA5F51008FBDBD /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA421FA5F4F008FBDBD /* hb-ot-color.cc */; }; - 34F64BD321FA5F51008FBDBD /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA621FA5F4F008FBDBD /* hb-ot-shape-complex-thai.cc */; }; - 34F64BD421FA5F51008FBDBD /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA721FA5F4F008FBDBD /* hb-blob.cc */; }; - 34F64BD521FA5F51008FBDBD /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA821FA5F4F008FBDBD /* hb-map.cc */; }; - 34F64BD621FA5F51008FBDBD /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA921FA5F4F008FBDBD /* hb-ot-shape-complex-use-table.cc */; }; - 34F64BD721FA5F51008FBDBD /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAA21FA5F4F008FBDBD /* hb-ot-shape-complex-use.cc */; }; - 34F64BD821FA5F51008FBDBD /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAB21FA5F4F008FBDBD /* hb-buffer-serialize.cc */; }; - 34F64BD921FA5F51008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAC21FA5F4F008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc */; }; - 34F64BDA21FA5F51008FBDBD /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAD21FA5F4F008FBDBD /* hb-aat-map.cc */; }; - 34F64BDB21FA5F51008FBDBD /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAE21FA5F4F008FBDBD /* hb-ot-shape-normalize.cc */; }; - 34F64BDC21FA5F51008FBDBD /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAF21FA5F4F008FBDBD /* hb-unicode.cc */; }; - 34F64BDD21FA5F51008FBDBD /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB021FA5F4F008FBDBD /* hb-warning.cc */; }; - 34F64BDE21FA5F51008FBDBD /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB121FA5F4F008FBDBD /* hb-ot-shape-complex-myanmar.cc */; }; - 34F64BDF21FA5F51008FBDBD /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB221FA5F4F008FBDBD /* hb-ot-shape-complex-hangul.cc */; }; - 34F64BE021FA5F51008FBDBD /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB321FA5F4F008FBDBD /* hb-ot-shape-fallback.cc */; }; - 34F64BE121FA5F51008FBDBD /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB421FA5F4F008FBDBD /* hb-ot-cff2-table.cc */; }; - 34F64BE221FA5F51008FBDBD /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB521FA5F4F008FBDBD /* hb-ot-shape-complex-hebrew.cc */; }; - 34F64BE321FA5F51008FBDBD /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB621FA5F4F008FBDBD /* hb-ot-shape-complex-arabic.cc */; }; - 34F64BE421FA5F51008FBDBD /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB721FA5F50008FBDBD /* hb-ot-shape.cc */; }; - 34F64BE521FA5F51008FBDBD /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB821FA5F50008FBDBD /* hb-ot-var.cc */; }; - 34F64BE621FA5F51008FBDBD /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB921FA5F50008FBDBD /* hb-shape.cc */; }; - 34F64BE721FA5F51008FBDBD /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBA21FA5F50008FBDBD /* hb-ot-shape-complex-khmer.cc */; }; - 34F64BE821FA5F51008FBDBD /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBB21FA5F50008FBDBD /* hb-set.cc */; }; - 34F64BE921FA5F51008FBDBD /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBC21FA5F50008FBDBD /* hb-face.cc */; }; - 34F64BEA21FA5F51008FBDBD /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBD21FA5F50008FBDBD /* hb-shaper.cc */; }; - 34F64BEB21FA5F51008FBDBD /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBE21FA5F50008FBDBD /* hb-ot-shape-complex-indic.cc */; }; - 34F64BEC21FA5F51008FBDBD /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBF21FA5F50008FBDBD /* hb-common.cc */; }; - 34F64BED21FA5F51008FBDBD /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC021FA5F50008FBDBD /* hb-ot-layout.cc */; }; - 34F64BEE21FA5F51008FBDBD /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC121FA5F50008FBDBD /* hb-aat-layout.cc */; }; - 34F64BEF21FA5F51008FBDBD /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC221FA5F50008FBDBD /* hb-ot-face.cc */; }; - 34F64BF121FA5F51008FBDBD /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC421FA5F50008FBDBD /* hb-fallback-shape.cc */; }; - 34F64BF221FA5F51008FBDBD /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC521FA5F50008FBDBD /* hb-shape-plan.cc */; }; - 34F64BF321FA5F51008FBDBD /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC621FA5F50008FBDBD /* hb-ot-math.cc */; }; - 34F64BF421FA5F51008FBDBD /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC721FA5F50008FBDBD /* hb-ot-tag.cc */; }; - 34F64BF521FA5F51008FBDBD /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC821FA5F50008FBDBD /* hb-ot-shape-complex-default.cc */; }; - 34F64BF621FA5F51008FBDBD /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC921FA5F51008FBDBD /* hb-static.cc */; }; - 34F64BF721FA5F51008FBDBD /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCA21FA5F51008FBDBD /* hb-ot-map.cc */; }; - 34F64BF821FA5F51008FBDBD /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCB21FA5F51008FBDBD /* hb-ot-name.cc */; }; - 34F64BF921FA5F51008FBDBD /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCC21FA5F51008FBDBD /* hb-buffer.cc */; }; - 34F64BFA21FA5F51008FBDBD /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCD21FA5F51008FBDBD /* hb-font.cc */; }; + 34E064B22614BBE500CC0EDF /* libHarfBuzzSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 34E064B02614BBE500CC0EDF /* libHarfBuzzSharp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34E064B72614BC4000CC0EDF /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC121FA5F50008FBDBD /* hb-aat-layout.cc */; }; + 34E064B82614BC4000CC0EDF /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAD21FA5F4F008FBDBD /* hb-aat-map.cc */; }; + 34E064B92614BC4000CC0EDF /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA721FA5F4F008FBDBD /* hb-blob.cc */; }; + 34E064BA2614BC4000CC0EDF /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAB21FA5F4F008FBDBD /* hb-buffer-serialize.cc */; }; + 34E064BB2614BC4000CC0EDF /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCC21FA5F51008FBDBD /* hb-buffer.cc */; }; + 34E064BC2614BC4000CC0EDF /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBF21FA5F50008FBDBD /* hb-common.cc */; }; + 34E064BD2614BC4000CC0EDF /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBC21FA5F50008FBDBD /* hb-face.cc */; }; + 34E064BE2614BC4000CC0EDF /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC421FA5F50008FBDBD /* hb-fallback-shape.cc */; }; + 34E064BF2614BC4000CC0EDF /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCD21FA5F51008FBDBD /* hb-font.cc */; }; + 34E064C02614BC4000CC0EDF /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA821FA5F4F008FBDBD /* hb-map.cc */; }; + 34E064C12614BC4000CC0EDF /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA121FA5F4F008FBDBD /* hb-ot-cff1-table.cc */; }; + 34E064C22614BC4000CC0EDF /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB421FA5F4F008FBDBD /* hb-ot-cff2-table.cc */; }; + 34E064C32614BC4000CC0EDF /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA421FA5F4F008FBDBD /* hb-ot-color.cc */; }; + 34E064C42614BC4000CC0EDF /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC221FA5F50008FBDBD /* hb-ot-face.cc */; }; + 34E064C52614BC4000CC0EDF /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA321FA5F4F008FBDBD /* hb-ot-font.cc */; }; + 34E064C62614BC4000CC0EDF /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC021FA5F50008FBDBD /* hb-ot-layout.cc */; }; + 34E064C72614BC4000CC0EDF /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCA21FA5F51008FBDBD /* hb-ot-map.cc */; }; + 34E064C82614BC4000CC0EDF /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC621FA5F50008FBDBD /* hb-ot-math.cc */; }; + 34E064C92614BC4000CC0EDF /* hb-ot-meta-table.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC9233ED12B00427BE9 /* hb-ot-meta-table.hh */; }; + 34E064CA2614BC4000CC0EDF /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC8233ED12B00427BE9 /* hb-ot-meta.cc */; }; + 34E064CB2614BC4000CC0EDF /* hb-ot-meta.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F57ACA233ED12B00427BE9 /* hb-ot-meta.h */; }; + 34E064CC2614BC4000CC0EDF /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC7233ED12B00427BE9 /* hb-ot-metrics.cc */; }; + 34E064CD2614BC4000CC0EDF /* hb-ot-metrics.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC5233ED12B00427BE9 /* hb-ot-metrics.h */; }; + 34E064CE2614BC4000CC0EDF /* hb-ot-metrics.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AC6233ED12B00427BE9 /* hb-ot-metrics.hh */; }; + 34E064CF2614BC4000CC0EDF /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BCB21FA5F51008FBDBD /* hb-ot-name.cc */; }; + 34E064D02614BC4000CC0EDF /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB621FA5F4F008FBDBD /* hb-ot-shape-complex-arabic.cc */; }; + 34E064D12614BC4000CC0EDF /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC821FA5F50008FBDBD /* hb-ot-shape-complex-default.cc */; }; + 34E064D22614BC4000CC0EDF /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB221FA5F4F008FBDBD /* hb-ot-shape-complex-hangul.cc */; }; + 34E064D32614BC4000CC0EDF /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB521FA5F4F008FBDBD /* hb-ot-shape-complex-hebrew.cc */; }; + 34E064D42614BC4000CC0EDF /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA221FA5F4F008FBDBD /* hb-ot-shape-complex-indic-table.cc */; }; + 34E064D52614BC4000CC0EDF /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBE21FA5F50008FBDBD /* hb-ot-shape-complex-indic.cc */; }; + 34E064D62614BC4000CC0EDF /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBA21FA5F50008FBDBD /* hb-ot-shape-complex-khmer.cc */; }; + 34E064D72614BC4000CC0EDF /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB121FA5F4F008FBDBD /* hb-ot-shape-complex-myanmar.cc */; }; + 34E064D82614BC4000CC0EDF /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA621FA5F4F008FBDBD /* hb-ot-shape-complex-thai.cc */; }; + 34E064D92614BC4000CC0EDF /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BA921FA5F4F008FBDBD /* hb-ot-shape-complex-use-table.cc */; }; + 34E064DA2614BC4000CC0EDF /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAA21FA5F4F008FBDBD /* hb-ot-shape-complex-use.cc */; }; + 34E064DB2614BC4000CC0EDF /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAC21FA5F4F008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc */; }; + 34E064DC2614BC4000CC0EDF /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB321FA5F4F008FBDBD /* hb-ot-shape-fallback.cc */; }; + 34E064DD2614BC4000CC0EDF /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAE21FA5F4F008FBDBD /* hb-ot-shape-normalize.cc */; }; + 34E064DE2614BC4000CC0EDF /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB721FA5F50008FBDBD /* hb-ot-shape.cc */; }; + 34E064DF2614BC4000CC0EDF /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC721FA5F50008FBDBD /* hb-ot-tag.cc */; }; + 34E064E02614BC4000CC0EDF /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB821FA5F50008FBDBD /* hb-ot-var.cc */; }; + 34E064E12614BC4000CC0EDF /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBB21FA5F50008FBDBD /* hb-set.cc */; }; + 34E064E22614BC4000CC0EDF /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC521FA5F50008FBDBD /* hb-shape-plan.cc */; }; + 34E064E32614BC4000CC0EDF /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB921FA5F50008FBDBD /* hb-shape.cc */; }; + 34E064E42614BC4000CC0EDF /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BBD21FA5F50008FBDBD /* hb-shaper.cc */; }; + 34E064E52614BC4000CC0EDF /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BC921FA5F51008FBDBD /* hb-static.cc */; }; + 34E064E62614BC4000CC0EDF /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10F22BD90090022F04C /* hb-subset-cff-common.cc */; }; + 34E064E72614BC4000CC0EDF /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11222BD90090022F04C /* hb-subset-cff1.cc */; }; + 34E064E82614BC4000CC0EDF /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11322BD90090022F04C /* hb-subset-cff2.cc */; }; + 34E064E92614BC4000CC0EDF /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10D22BD90080022F04C /* hb-subset-input.cc */; }; + 34E064EA2614BC4000CC0EDF /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E10E22BD90080022F04C /* hb-subset-plan.cc */; }; + 34E064EB2614BC4000CC0EDF /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11022BD90090022F04C /* hb-subset.cc */; }; + 34E064EC2614BC4000CC0EDF /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3460E11122BD90090022F04C /* hb-ucd.cc */; }; + 34E064ED2614BC4000CC0EDF /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BAF21FA5F4F008FBDBD /* hb-unicode.cc */; }; + 34E064EE2614BC4000CC0EDF /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BB021FA5F4F008FBDBD /* hb-warning.cc */; }; + 34E064EF2614BC4000CC0EDF /* config.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F64BFF21FA5F81008FBDBD /* config.h */; }; + 34E064F02614BC4000CC0EDF /* libHarfBuzzSharp.h in Sources */ = {isa = PBXBuildFile; fileRef = 34E064B02614BBE500CC0EDF /* libHarfBuzzSharp.h */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 341E97BA1EB3CE10008E2876 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ - 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libHarfBuzzSharp.a; sourceTree = BUILT_PRODUCTS_DIR; }; 3460E10D22BD90080022F04C /* hb-subset-input.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-input.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-input.cc"; sourceTree = ""; }; 3460E10E22BD90080022F04C /* hb-subset-plan.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-plan.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-plan.cc"; sourceTree = ""; }; 3460E10F22BD90090022F04C /* hb-subset-cff-common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-cff-common.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-cff-common.cc"; sourceTree = ""; }; @@ -82,6 +76,9 @@ 3460E11122BD90090022F04C /* hb-ucd.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-ucd.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ucd.cc"; sourceTree = ""; }; 3460E11222BD90090022F04C /* hb-subset-cff1.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-cff1.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-cff1.cc"; sourceTree = ""; }; 3460E11322BD90090022F04C /* hb-subset-cff2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-subset-cff2.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-subset-cff2.cc"; sourceTree = ""; }; + 34E064AE2614BBE500CC0EDF /* libHarfBuzzSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libHarfBuzzSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 34E064B02614BBE500CC0EDF /* libHarfBuzzSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libHarfBuzzSharp.h; sourceTree = ""; }; + 34E064B12614BBE500CC0EDF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 34F57AC5233ED12B00427BE9 /* hb-ot-metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "hb-ot-metrics.h"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.h"; sourceTree = ""; }; 34F57AC6233ED12B00427BE9 /* hb-ot-metrics.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = "hb-ot-metrics.hh"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.hh"; sourceTree = ""; }; 34F57AC7233ED12B00427BE9 /* hb-ot-metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-ot-metrics.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.cc"; sourceTree = ""; }; @@ -135,7 +132,7 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 341E97B91EB3CE10008E2876 /* Frameworks */ = { + 34E064AB2614BBE500CC0EDF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -150,14 +147,24 @@ children = ( 34F64BA021FA5F43008FBDBD /* src */, 34F64BFF21FA5F81008FBDBD /* config.h */, + 34E064AF2614BBE500CC0EDF /* libHarfBuzzSharp */, 341E97BD1EB3CE10008E2876 /* Products */, ); sourceTree = ""; }; + 34E064AF2614BBE500CC0EDF /* libHarfBuzzSharp */ = { + isa = PBXGroup; + children = ( + 34E064B12614BBE500CC0EDF /* Info.plist */, + 34E064B02614BBE500CC0EDF /* libHarfBuzzSharp.h */, + ); + path = libHarfBuzzSharp; + sourceTree = ""; + }; 341E97BD1EB3CE10008E2876 /* Products */ = { isa = PBXGroup; children = ( - 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */, + 34E064AE2614BBE500CC0EDF /* libHarfBuzzSharp.framework */, ); name = Products; sourceTree = ""; @@ -227,14 +234,26 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 34E064A92614BBE500CC0EDF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 34E064B22614BBE500CC0EDF /* libHarfBuzzSharp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 341E97BB1EB3CE10008E2876 /* libHarfBuzzSharp */ = { + 34E064AD2614BBE500CC0EDF /* libHarfBuzzSharp */ = { isa = PBXNativeTarget; - buildConfigurationList = 341E97C51EB3CE10008E2876 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; + buildConfigurationList = 34E064B32614BBE500CC0EDF /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; buildPhases = ( - 341E97B81EB3CE10008E2876 /* Sources */, - 341E97B91EB3CE10008E2876 /* Frameworks */, - 341E97BA1EB3CE10008E2876 /* CopyFiles */, + 34E064A92614BBE500CC0EDF /* Headers */, + 34E064AA2614BBE500CC0EDF /* Sources */, + 34E064AB2614BBE500CC0EDF /* Frameworks */, + 34E064AC2614BBE500CC0EDF /* Resources */, ); buildRules = ( ); @@ -242,8 +261,8 @@ ); name = libHarfBuzzSharp; productName = libHarfBuzzSharp; - productReference = 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */; - productType = "com.apple.product-type.library.static"; + productReference = 34E064AE2614BBE500CC0EDF /* libHarfBuzzSharp.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -251,90 +270,106 @@ 341E97B41EB3CE10008E2876 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1240; ORGANIZATIONNAME = "Matthew Leibowitz"; TargetAttributes = { - 341E97BB1EB3CE10008E2876 = { - CreatedOnToolsVersion = 8.3.2; + 34E064AD2614BBE500CC0EDF = { + CreatedOnToolsVersion = 12.4; ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 341E97B71EB3CE10008E2876 /* Build configuration list for PBXProject "libHarfBuzzSharp" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + Base, ); mainGroup = 341E97B31EB3CE10008E2876; productRefGroup = 341E97BD1EB3CE10008E2876 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 341E97BB1EB3CE10008E2876 /* libHarfBuzzSharp */, + 34E064AD2614BBE500CC0EDF /* libHarfBuzzSharp */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 34E064AC2614BBE500CC0EDF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 341E97B81EB3CE10008E2876 /* Sources */ = { + 34E064AA2614BBE500CC0EDF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 34F64BE921FA5F51008FBDBD /* hb-face.cc in Sources */, - 34F64BF521FA5F51008FBDBD /* hb-ot-shape-complex-default.cc in Sources */, - 34F64BDF21FA5F51008FBDBD /* hb-ot-shape-complex-hangul.cc in Sources */, - 34F64BF621FA5F51008FBDBD /* hb-static.cc in Sources */, - 3460E11422BD90090022F04C /* hb-subset-input.cc in Sources */, - 34F64BD121FA5F51008FBDBD /* hb-ot-color.cc in Sources */, - 34F64BEB21FA5F51008FBDBD /* hb-ot-shape-complex-indic.cc in Sources */, - 34F64BF321FA5F51008FBDBD /* hb-ot-math.cc in Sources */, - 34F64BD721FA5F51008FBDBD /* hb-ot-shape-complex-use.cc in Sources */, - 34F64BD621FA5F51008FBDBD /* hb-ot-shape-complex-use-table.cc in Sources */, - 34F64BCF21FA5F51008FBDBD /* hb-ot-shape-complex-indic-table.cc in Sources */, - 34F64BF421FA5F51008FBDBD /* hb-ot-tag.cc in Sources */, - 34F64BD921FA5F51008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, - 34F64BF221FA5F51008FBDBD /* hb-shape-plan.cc in Sources */, - 3460E11A22BD90090022F04C /* hb-subset-cff2.cc in Sources */, - 3460E11522BD90090022F04C /* hb-subset-plan.cc in Sources */, - 34F64BEE21FA5F51008FBDBD /* hb-aat-layout.cc in Sources */, - 34F64BEF21FA5F51008FBDBD /* hb-ot-face.cc in Sources */, - 34F64BED21FA5F51008FBDBD /* hb-ot-layout.cc in Sources */, - 34F64BD521FA5F51008FBDBD /* hb-map.cc in Sources */, - 34F64BE021FA5F51008FBDBD /* hb-ot-shape-fallback.cc in Sources */, - 34F64BE321FA5F51008FBDBD /* hb-ot-shape-complex-arabic.cc in Sources */, - 34F64BD421FA5F51008FBDBD /* hb-blob.cc in Sources */, - 3460E11622BD90090022F04C /* hb-subset-cff-common.cc in Sources */, - 34F64BE721FA5F51008FBDBD /* hb-ot-shape-complex-khmer.cc in Sources */, - 34F64BDB21FA5F51008FBDBD /* hb-ot-shape-normalize.cc in Sources */, - 34F64BD321FA5F51008FBDBD /* hb-ot-shape-complex-thai.cc in Sources */, - 34F57ACC233ED12B00427BE9 /* hb-ot-meta.cc in Sources */, - 34F64BE121FA5F51008FBDBD /* hb-ot-cff2-table.cc in Sources */, - 34F64BDE21FA5F51008FBDBD /* hb-ot-shape-complex-myanmar.cc in Sources */, - 34F64BDC21FA5F51008FBDBD /* hb-unicode.cc in Sources */, - 34F64BE521FA5F51008FBDBD /* hb-ot-var.cc in Sources */, - 34F64BD021FA5F51008FBDBD /* hb-ot-font.cc in Sources */, - 3460E11722BD90090022F04C /* hb-subset.cc in Sources */, - 3460E11822BD90090022F04C /* hb-ucd.cc in Sources */, - 34F64BFA21FA5F51008FBDBD /* hb-font.cc in Sources */, - 34F64BF121FA5F51008FBDBD /* hb-fallback-shape.cc in Sources */, - 34F64BE621FA5F51008FBDBD /* hb-shape.cc in Sources */, - 34F64BEC21FA5F51008FBDBD /* hb-common.cc in Sources */, - 34F64BF921FA5F51008FBDBD /* hb-buffer.cc in Sources */, - 34F64BDA21FA5F51008FBDBD /* hb-aat-map.cc in Sources */, - 34F64BD821FA5F51008FBDBD /* hb-buffer-serialize.cc in Sources */, - 34F64BDD21FA5F51008FBDBD /* hb-warning.cc in Sources */, - 34F64BE221FA5F51008FBDBD /* hb-ot-shape-complex-hebrew.cc in Sources */, - 34F57ACB233ED12B00427BE9 /* hb-ot-metrics.cc in Sources */, - 34F64BE421FA5F51008FBDBD /* hb-ot-shape.cc in Sources */, - 34F64BEA21FA5F51008FBDBD /* hb-shaper.cc in Sources */, - 34F64BCE21FA5F51008FBDBD /* hb-ot-cff1-table.cc in Sources */, - 34F64BE821FA5F51008FBDBD /* hb-set.cc in Sources */, - 34F64BF821FA5F51008FBDBD /* hb-ot-name.cc in Sources */, - 34F64BF721FA5F51008FBDBD /* hb-ot-map.cc in Sources */, - 3460E11922BD90090022F04C /* hb-subset-cff1.cc in Sources */, + 34E064B72614BC4000CC0EDF /* hb-aat-layout.cc in Sources */, + 34E064B82614BC4000CC0EDF /* hb-aat-map.cc in Sources */, + 34E064B92614BC4000CC0EDF /* hb-blob.cc in Sources */, + 34E064BA2614BC4000CC0EDF /* hb-buffer-serialize.cc in Sources */, + 34E064BB2614BC4000CC0EDF /* hb-buffer.cc in Sources */, + 34E064BC2614BC4000CC0EDF /* hb-common.cc in Sources */, + 34E064BD2614BC4000CC0EDF /* hb-face.cc in Sources */, + 34E064BE2614BC4000CC0EDF /* hb-fallback-shape.cc in Sources */, + 34E064BF2614BC4000CC0EDF /* hb-font.cc in Sources */, + 34E064C02614BC4000CC0EDF /* hb-map.cc in Sources */, + 34E064C12614BC4000CC0EDF /* hb-ot-cff1-table.cc in Sources */, + 34E064C22614BC4000CC0EDF /* hb-ot-cff2-table.cc in Sources */, + 34E064C32614BC4000CC0EDF /* hb-ot-color.cc in Sources */, + 34E064C42614BC4000CC0EDF /* hb-ot-face.cc in Sources */, + 34E064C52614BC4000CC0EDF /* hb-ot-font.cc in Sources */, + 34E064C62614BC4000CC0EDF /* hb-ot-layout.cc in Sources */, + 34E064C72614BC4000CC0EDF /* hb-ot-map.cc in Sources */, + 34E064C82614BC4000CC0EDF /* hb-ot-math.cc in Sources */, + 34E064C92614BC4000CC0EDF /* hb-ot-meta-table.hh in Sources */, + 34E064CA2614BC4000CC0EDF /* hb-ot-meta.cc in Sources */, + 34E064CB2614BC4000CC0EDF /* hb-ot-meta.h in Sources */, + 34E064CC2614BC4000CC0EDF /* hb-ot-metrics.cc in Sources */, + 34E064CD2614BC4000CC0EDF /* hb-ot-metrics.h in Sources */, + 34E064CE2614BC4000CC0EDF /* hb-ot-metrics.hh in Sources */, + 34E064CF2614BC4000CC0EDF /* hb-ot-name.cc in Sources */, + 34E064D02614BC4000CC0EDF /* hb-ot-shape-complex-arabic.cc in Sources */, + 34E064D12614BC4000CC0EDF /* hb-ot-shape-complex-default.cc in Sources */, + 34E064D22614BC4000CC0EDF /* hb-ot-shape-complex-hangul.cc in Sources */, + 34E064D32614BC4000CC0EDF /* hb-ot-shape-complex-hebrew.cc in Sources */, + 34E064D42614BC4000CC0EDF /* hb-ot-shape-complex-indic-table.cc in Sources */, + 34E064D52614BC4000CC0EDF /* hb-ot-shape-complex-indic.cc in Sources */, + 34E064D62614BC4000CC0EDF /* hb-ot-shape-complex-khmer.cc in Sources */, + 34E064D72614BC4000CC0EDF /* hb-ot-shape-complex-myanmar.cc in Sources */, + 34E064D82614BC4000CC0EDF /* hb-ot-shape-complex-thai.cc in Sources */, + 34E064D92614BC4000CC0EDF /* hb-ot-shape-complex-use-table.cc in Sources */, + 34E064DA2614BC4000CC0EDF /* hb-ot-shape-complex-use.cc in Sources */, + 34E064DB2614BC4000CC0EDF /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, + 34E064DC2614BC4000CC0EDF /* hb-ot-shape-fallback.cc in Sources */, + 34E064DD2614BC4000CC0EDF /* hb-ot-shape-normalize.cc in Sources */, + 34E064DE2614BC4000CC0EDF /* hb-ot-shape.cc in Sources */, + 34E064DF2614BC4000CC0EDF /* hb-ot-tag.cc in Sources */, + 34E064E02614BC4000CC0EDF /* hb-ot-var.cc in Sources */, + 34E064E12614BC4000CC0EDF /* hb-set.cc in Sources */, + 34E064E22614BC4000CC0EDF /* hb-shape-plan.cc in Sources */, + 34E064E32614BC4000CC0EDF /* hb-shape.cc in Sources */, + 34E064E42614BC4000CC0EDF /* hb-shaper.cc in Sources */, + 34E064E52614BC4000CC0EDF /* hb-static.cc in Sources */, + 34E064E62614BC4000CC0EDF /* hb-subset-cff-common.cc in Sources */, + 34E064E72614BC4000CC0EDF /* hb-subset-cff1.cc in Sources */, + 34E064E82614BC4000CC0EDF /* hb-subset-cff2.cc in Sources */, + 34E064E92614BC4000CC0EDF /* hb-subset-input.cc in Sources */, + 34E064EA2614BC4000CC0EDF /* hb-subset-plan.cc in Sources */, + 34E064EB2614BC4000CC0EDF /* hb-subset.cc in Sources */, + 34E064EC2614BC4000CC0EDF /* hb-ucd.cc in Sources */, + 34E064ED2614BC4000CC0EDF /* hb-unicode.cc in Sources */, + 34E064EE2614BC4000CC0EDF /* hb-warning.cc in Sources */, + 34E064EF2614BC4000CC0EDF /* config.h in Sources */, + 34E064F02614BC4000CC0EDF /* libHarfBuzzSharp.h in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -346,6 +381,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; BITCODE_GENERATION_MODE = bitcode; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -367,6 +403,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -396,6 +433,9 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 9.0; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; @@ -404,6 +444,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; BITCODE_GENERATION_MODE = bitcode; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -425,6 +466,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -451,33 +493,58 @@ SDKROOT = appletvos; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 341E97C61EB3CE10008E2876 /* Debug */ = { + 34E064B42614BBE500CC0EDF /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Debug; }; - 341E97C71EB3CE10008E2876 /* Release */ = { + 34E064B52614BBE500CC0EDF /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Release; @@ -494,11 +561,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 341E97C51EB3CE10008E2876 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { + 34E064B32614BBE500CC0EDF /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { isa = XCConfigurationList; buildConfigurations = ( - 341E97C61EB3CE10008E2876 /* Debug */, - 341E97C71EB3CE10008E2876 /* Release */, + 34E064B42614BBE500CC0EDF /* Debug */, + 34E064B52614BBE500CC0EDF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist b/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist new file mode 100644 index 00000000000..9bcb244429e --- /dev/null +++ b/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h b/native/tvos/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/native/tvos/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj b/native/tvos/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj index 67da355f3e5..fa392c3105a 100644 --- a/native/tvos/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj +++ b/native/tvos/libSkiaSharp/libSkiaSharp.xcodeproj/project.pbxproj @@ -409,7 +409,7 @@ "-all_load", "-lskia", ); - PRODUCT_BUNDLE_IDENTIFIER = "xamarin.libskia-tvos"; + PRODUCT_BUNDLE_IDENTIFIER = "com.microsoft.libSkiaSharp"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; }; @@ -433,7 +433,7 @@ "-all_load", "-lskia", ); - PRODUCT_BUNDLE_IDENTIFIER = "xamarin.libskia-tvos"; + PRODUCT_BUNDLE_IDENTIFIER = "com.microsoft.libSkiaSharp"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; }; diff --git a/native/tvos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h b/native/tvos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h index e1a30eb4648..e69de29bb2d 100644 --- a/native/tvos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h +++ b/native/tvos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h @@ -1,7 +0,0 @@ -// -// libSkiaSharp.h -// libSkiaSharp -// -// Created by Bill Holmes on 11/21/15. -// Copyright © 2015 Xamarin. All rights reserved. -// diff --git a/native/uwp/build.cake b/native/uwp/build.cake index bb151ad10e8..56f9d416b20 100644 --- a/native/uwp/build.cake +++ b/native/uwp/build.cake @@ -37,8 +37,8 @@ Task("libSkiaSharp") $"skia_use_system_zlib=false " + $"extra_cflags=[ " + $" '-DSKIA_C_DLL', '/MD{d}', '/EHsc', '/Z7', " + - $" '-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DSK_BUILD_FOR_WINRT', '-DSK_HAS_DWRITE_1_H', '-DSK_HAS_DWRITE_2_H', '-DNO_GETENV', '-D_HAS_AUTO_PTR_ETC=1' ] " + - $"extra_ldflags=[ '/DEBUG:FULL', '/APPCONTAINER', 'WindowsApp.lib' ]"); + $" '-DSK_HAS_DWRITE_1_H', '-DSK_HAS_DWRITE_2_H', '-DNO_GETENV', '-D_HAS_AUTO_PTR_ETC=1' ] " + + $"extra_ldflags=[ '/DEBUG:FULL' ]"); var outDir = OUTPUT_PATH.Combine(dir); EnsureDirectoryExists(outDir); diff --git a/native/wasm/build.cake b/native/wasm/build.cake index 8ea38291c60..1f3a4bb1950 100644 --- a/native/wasm/build.cake +++ b/native/wasm/build.cake @@ -49,7 +49,7 @@ Task("libSkiaSharp") $"skia_use_wuffs=true " + $"use_PIC=false " + $"extra_cflags=[ " + - $" '-DSKIA_C_DLL', '-DXML_POOR_ENTROPY', '-DSK_BUILD_FOR_WASM', " + + $" '-DSKIA_C_DLL', '-DXML_POOR_ENTROPY', " + $" '-DSKNX_NO_SIMD', '-DSK_DISABLE_AAA', '-DGR_GL_CHECK_ALLOC_WITH_GET_ERROR=0', " + $" '-s', 'WARN_UNALIGNED=1' " + // '-s', 'USE_WEBGL2=1' (experimental) $"] " + diff --git a/native/watchos/build.cake b/native/watchos/build.cake index 777e83c4175..42c5fa0ebd2 100644 --- a/native/watchos/build.cake +++ b/native/watchos/build.cake @@ -13,13 +13,7 @@ Task("libSkiaSharp") Build("watchos", "armv7k", "arm"); Build("watchos", "arm64_32", "arm64"); - CopyDirectory(OUTPUT_PATH.Combine("armv7k/libSkiaSharp.framework"), OUTPUT_PATH.Combine("libSkiaSharp.framework")); - DeleteFile(OUTPUT_PATH.CombineWithFilePath("libSkiaSharp.framework/libSkiaSharp")); - RunLipo(OUTPUT_PATH, "libSkiaSharp.framework/libSkiaSharp", new [] { - (FilePath) "i386/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "armv7k/libSkiaSharp.framework/libSkiaSharp", - (FilePath) "arm64_32/libSkiaSharp.framework/libSkiaSharp" - }); + CreateFatFramework(OUTPUT_PATH.Combine("libSkiaSharp")); void Build(string sdk, string arch, string skiaArch) { @@ -30,6 +24,7 @@ Task("libSkiaSharp") $"target_cpu='{skiaArch}' " + $"skia_enable_gpu=false " + $"skia_use_icu=false " + + $"skia_use_metal=false " + $"skia_use_piex=true " + $"skia_use_sfntly=false " + $"skia_use_system_expat=false " + @@ -37,16 +32,13 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + - $"extra_cflags=[ '-DSK_BUILD_FOR_WATCHOS', '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF', '-mwatchos-version-min=2.0' ] " + - $"extra_ldflags=[ '-Wl,watchos_version_min=2.0' ]"); + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_ARC4RANDOM_BUF' ] "); RunXCodeBuild("libSkiaSharp/libSkiaSharp.xcodeproj", "libSkiaSharp", sdk, arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libSkiaSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); - - StripSign(outDir.CombineWithFilePath("libSkiaSharp.framework")); + SafeCopy( + $"libSkiaSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libSkiaSharp/{arch}.xcarchive")); } }); @@ -58,11 +50,7 @@ Task("libHarfBuzzSharp") Build("watchos", "armv7k"); Build("watchos", "arm64_32"); - RunLipo(OUTPUT_PATH, "libHarfBuzzSharp.a", new [] { - (FilePath) "i386/libHarfBuzzSharp.a", - (FilePath) "armv7k/libHarfBuzzSharp.a", - (FilePath) "arm64_32/libHarfBuzzSharp.a" - }); + CreateFatFramework(OUTPUT_PATH.Combine("libHarfBuzzSharp")); void Build(string sdk, string arch) { @@ -70,11 +58,9 @@ Task("libHarfBuzzSharp") RunXCodeBuild("libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj", "libHarfBuzzSharp", sdk, arch); - var outDir = OUTPUT_PATH.Combine(arch); - EnsureDirectoryExists(outDir); - CopyDirectory($"libHarfBuzzSharp/bin/{CONFIGURATION}/{arch}/{CONFIGURATION}-{sdk}", outDir); - - StripSign(outDir.CombineWithFilePath("libHarfBuzzSharp.a")); + SafeCopy( + $"libHarfBuzzSharp/bin/{CONFIGURATION}/{sdk}/{arch}.xcarchive", + OUTPUT_PATH.Combine($"libHarfBuzzSharp/{arch}.xcarchive")); } }); diff --git a/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj b/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj index 3f66eab82ee..fed1a3015e4 100644 --- a/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj +++ b/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp.xcodeproj/project.pbxproj @@ -7,74 +7,71 @@ objects = { /* Begin PBXBuildFile section */ - 34F57AD3233ED14400427BE9 /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57ACD233ED14300427BE9 /* hb-ot-meta.cc */; }; - 34F57AD4233ED14400427BE9 /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AD0233ED14400427BE9 /* hb-ot-metrics.cc */; }; - 34F64D3C21FA6048008FBDBD /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D0F21FA6047008FBDBD /* hb-ot-cff1-table.cc */; }; - 34F64D3D21FA6048008FBDBD /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1021FA6047008FBDBD /* hb-ot-shape-complex-indic-table.cc */; }; - 34F64D3E21FA6048008FBDBD /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1121FA6047008FBDBD /* hb-ot-font.cc */; }; - 34F64D3F21FA6048008FBDBD /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1221FA6047008FBDBD /* hb-ot-color.cc */; }; - 34F64D4121FA6048008FBDBD /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1421FA6047008FBDBD /* hb-ot-shape-complex-thai.cc */; }; - 34F64D4221FA6048008FBDBD /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1521FA6047008FBDBD /* hb-blob.cc */; }; - 34F64D4321FA6048008FBDBD /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1621FA6047008FBDBD /* hb-map.cc */; }; - 34F64D4421FA6048008FBDBD /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1721FA6047008FBDBD /* hb-ot-shape-complex-use-table.cc */; }; - 34F64D4521FA6048008FBDBD /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1821FA6047008FBDBD /* hb-ot-shape-complex-use.cc */; }; - 34F64D4621FA6048008FBDBD /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1921FA6047008FBDBD /* hb-buffer-serialize.cc */; }; - 34F64D4721FA6048008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1A21FA6047008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc */; }; - 34F64D4821FA6048008FBDBD /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1B21FA6047008FBDBD /* hb-aat-map.cc */; }; - 34F64D4921FA6048008FBDBD /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1C21FA6047008FBDBD /* hb-ot-shape-normalize.cc */; }; - 34F64D4A21FA6048008FBDBD /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1D21FA6047008FBDBD /* hb-unicode.cc */; }; - 34F64D4B21FA6048008FBDBD /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1E21FA6047008FBDBD /* hb-warning.cc */; }; - 34F64D4C21FA6048008FBDBD /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1F21FA6047008FBDBD /* hb-ot-shape-complex-myanmar.cc */; }; - 34F64D4D21FA6048008FBDBD /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2021FA6047008FBDBD /* hb-ot-shape-complex-hangul.cc */; }; - 34F64D4E21FA6048008FBDBD /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2121FA6047008FBDBD /* hb-ot-shape-fallback.cc */; }; - 34F64D4F21FA6048008FBDBD /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2221FA6047008FBDBD /* hb-ot-cff2-table.cc */; }; - 34F64D5021FA6048008FBDBD /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2321FA6047008FBDBD /* hb-ot-shape-complex-hebrew.cc */; }; - 34F64D5121FA6048008FBDBD /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2421FA6047008FBDBD /* hb-ot-shape-complex-arabic.cc */; }; - 34F64D5221FA6048008FBDBD /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2521FA6047008FBDBD /* hb-ot-shape.cc */; }; - 34F64D5321FA6048008FBDBD /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2621FA6047008FBDBD /* hb-ot-var.cc */; }; - 34F64D5421FA6048008FBDBD /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2721FA6047008FBDBD /* hb-shape.cc */; }; - 34F64D5521FA6048008FBDBD /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2821FA6047008FBDBD /* hb-ot-shape-complex-khmer.cc */; }; - 34F64D5621FA6048008FBDBD /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2921FA6047008FBDBD /* hb-set.cc */; }; - 34F64D5721FA6048008FBDBD /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2A21FA6048008FBDBD /* hb-face.cc */; }; - 34F64D5821FA6048008FBDBD /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2B21FA6048008FBDBD /* hb-shaper.cc */; }; - 34F64D5921FA6048008FBDBD /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2C21FA6048008FBDBD /* hb-ot-shape-complex-indic.cc */; }; - 34F64D5A21FA6048008FBDBD /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2D21FA6048008FBDBD /* hb-common.cc */; }; - 34F64D5B21FA6048008FBDBD /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2E21FA6048008FBDBD /* hb-ot-layout.cc */; }; - 34F64D5C21FA6048008FBDBD /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2F21FA6048008FBDBD /* hb-aat-layout.cc */; }; - 34F64D5D21FA6048008FBDBD /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3021FA6048008FBDBD /* hb-ot-face.cc */; }; - 34F64D5F21FA6048008FBDBD /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3221FA6048008FBDBD /* hb-fallback-shape.cc */; }; - 34F64D6021FA6048008FBDBD /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3321FA6048008FBDBD /* hb-shape-plan.cc */; }; - 34F64D6121FA6048008FBDBD /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3421FA6048008FBDBD /* hb-ot-math.cc */; }; - 34F64D6221FA6048008FBDBD /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3521FA6048008FBDBD /* hb-ot-tag.cc */; }; - 34F64D6321FA6048008FBDBD /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3621FA6048008FBDBD /* hb-ot-shape-complex-default.cc */; }; - 34F64D6421FA6048008FBDBD /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3721FA6048008FBDBD /* hb-static.cc */; }; - 34F64D6521FA6048008FBDBD /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3821FA6048008FBDBD /* hb-ot-map.cc */; }; - 34F64D6621FA6048008FBDBD /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3921FA6048008FBDBD /* hb-ot-name.cc */; }; - 34F64D6721FA6048008FBDBD /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3A21FA6048008FBDBD /* hb-buffer.cc */; }; - 34F64D6821FA6048008FBDBD /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3B21FA6048008FBDBD /* hb-font.cc */; }; - 34FEAAFC22BD8FAC007299F0 /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF522BD8FAB007299F0 /* hb-subset.cc */; }; - 34FEAAFD22BD8FAC007299F0 /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF622BD8FAB007299F0 /* hb-subset-input.cc */; }; - 34FEAAFE22BD8FAC007299F0 /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF722BD8FAC007299F0 /* hb-subset-cff1.cc */; }; - 34FEAAFF22BD8FAC007299F0 /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF822BD8FAC007299F0 /* hb-ucd.cc */; }; - 34FEAB0022BD8FAC007299F0 /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF922BD8FAC007299F0 /* hb-subset-cff-common.cc */; }; - 34FEAB0122BD8FAC007299F0 /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAFA22BD8FAC007299F0 /* hb-subset-cff2.cc */; }; - 34FEAB0222BD8FAC007299F0 /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAFB22BD8FAC007299F0 /* hb-subset-plan.cc */; }; + 342989962614C6A00019CB69 /* libHarfBuzzSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 342989942614C6A00019CB69 /* libHarfBuzzSharp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3429899B2614C7390019CB69 /* hb-aat-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2F21FA6048008FBDBD /* hb-aat-layout.cc */; }; + 3429899C2614C7390019CB69 /* hb-aat-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1B21FA6047008FBDBD /* hb-aat-map.cc */; }; + 3429899D2614C7390019CB69 /* hb-blob.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1521FA6047008FBDBD /* hb-blob.cc */; }; + 3429899E2614C7390019CB69 /* hb-buffer-serialize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1921FA6047008FBDBD /* hb-buffer-serialize.cc */; }; + 3429899F2614C7390019CB69 /* hb-buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3A21FA6048008FBDBD /* hb-buffer.cc */; }; + 342989A02614C7390019CB69 /* hb-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2D21FA6048008FBDBD /* hb-common.cc */; }; + 342989A12614C7390019CB69 /* hb-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2A21FA6048008FBDBD /* hb-face.cc */; }; + 342989A22614C7390019CB69 /* hb-fallback-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3221FA6048008FBDBD /* hb-fallback-shape.cc */; }; + 342989A32614C7390019CB69 /* hb-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3B21FA6048008FBDBD /* hb-font.cc */; }; + 342989A42614C7390019CB69 /* hb-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1621FA6047008FBDBD /* hb-map.cc */; }; + 342989A52614C7390019CB69 /* hb-ot-cff1-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D0F21FA6047008FBDBD /* hb-ot-cff1-table.cc */; }; + 342989A62614C7390019CB69 /* hb-ot-cff2-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2221FA6047008FBDBD /* hb-ot-cff2-table.cc */; }; + 342989A72614C7390019CB69 /* hb-ot-color.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1221FA6047008FBDBD /* hb-ot-color.cc */; }; + 342989A82614C7390019CB69 /* hb-ot-face.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3021FA6048008FBDBD /* hb-ot-face.cc */; }; + 342989A92614C7390019CB69 /* hb-ot-font.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1121FA6047008FBDBD /* hb-ot-font.cc */; }; + 342989AA2614C7390019CB69 /* hb-ot-layout.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2E21FA6048008FBDBD /* hb-ot-layout.cc */; }; + 342989AB2614C7390019CB69 /* hb-ot-map.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3821FA6048008FBDBD /* hb-ot-map.cc */; }; + 342989AC2614C7390019CB69 /* hb-ot-math.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3421FA6048008FBDBD /* hb-ot-math.cc */; }; + 342989AD2614C7390019CB69 /* hb-ot-meta-table.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AD1233ED14400427BE9 /* hb-ot-meta-table.hh */; }; + 342989AE2614C7390019CB69 /* hb-ot-meta.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57ACD233ED14300427BE9 /* hb-ot-meta.cc */; }; + 342989AF2614C7390019CB69 /* hb-ot-meta.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AD2233ED14400427BE9 /* hb-ot-meta.h */; }; + 342989B02614C7390019CB69 /* hb-ot-metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F57AD0233ED14400427BE9 /* hb-ot-metrics.cc */; }; + 342989B12614C7390019CB69 /* hb-ot-metrics.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F57ACF233ED14400427BE9 /* hb-ot-metrics.h */; }; + 342989B22614C7390019CB69 /* hb-ot-metrics.hh in Sources */ = {isa = PBXBuildFile; fileRef = 34F57ACE233ED14400427BE9 /* hb-ot-metrics.hh */; }; + 342989B32614C7390019CB69 /* hb-ot-name.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3921FA6048008FBDBD /* hb-ot-name.cc */; }; + 342989B42614C7390019CB69 /* hb-ot-shape-complex-arabic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2421FA6047008FBDBD /* hb-ot-shape-complex-arabic.cc */; }; + 342989B52614C7390019CB69 /* hb-ot-shape-complex-default.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3621FA6048008FBDBD /* hb-ot-shape-complex-default.cc */; }; + 342989B62614C7390019CB69 /* hb-ot-shape-complex-hangul.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2021FA6047008FBDBD /* hb-ot-shape-complex-hangul.cc */; }; + 342989B72614C7390019CB69 /* hb-ot-shape-complex-hebrew.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2321FA6047008FBDBD /* hb-ot-shape-complex-hebrew.cc */; }; + 342989B82614C7390019CB69 /* hb-ot-shape-complex-indic-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1021FA6047008FBDBD /* hb-ot-shape-complex-indic-table.cc */; }; + 342989B92614C7390019CB69 /* hb-ot-shape-complex-indic.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2C21FA6048008FBDBD /* hb-ot-shape-complex-indic.cc */; }; + 342989BA2614C7390019CB69 /* hb-ot-shape-complex-khmer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2821FA6047008FBDBD /* hb-ot-shape-complex-khmer.cc */; }; + 342989BB2614C7390019CB69 /* hb-ot-shape-complex-myanmar.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1F21FA6047008FBDBD /* hb-ot-shape-complex-myanmar.cc */; }; + 342989BC2614C7390019CB69 /* hb-ot-shape-complex-thai.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1421FA6047008FBDBD /* hb-ot-shape-complex-thai.cc */; }; + 342989BD2614C7390019CB69 /* hb-ot-shape-complex-use-table.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1721FA6047008FBDBD /* hb-ot-shape-complex-use-table.cc */; }; + 342989BE2614C7390019CB69 /* hb-ot-shape-complex-use.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1821FA6047008FBDBD /* hb-ot-shape-complex-use.cc */; }; + 342989BF2614C7390019CB69 /* hb-ot-shape-complex-vowel-constraints.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1A21FA6047008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc */; }; + 342989C02614C7390019CB69 /* hb-ot-shape-fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2121FA6047008FBDBD /* hb-ot-shape-fallback.cc */; }; + 342989C12614C7390019CB69 /* hb-ot-shape-normalize.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1C21FA6047008FBDBD /* hb-ot-shape-normalize.cc */; }; + 342989C22614C7390019CB69 /* hb-ot-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2521FA6047008FBDBD /* hb-ot-shape.cc */; }; + 342989C32614C7390019CB69 /* hb-ot-tag.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3521FA6048008FBDBD /* hb-ot-tag.cc */; }; + 342989C42614C7390019CB69 /* hb-ot-var.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2621FA6047008FBDBD /* hb-ot-var.cc */; }; + 342989C52614C7390019CB69 /* hb-set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2921FA6047008FBDBD /* hb-set.cc */; }; + 342989C62614C7390019CB69 /* hb-shape-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3321FA6048008FBDBD /* hb-shape-plan.cc */; }; + 342989C72614C7390019CB69 /* hb-shape.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2721FA6047008FBDBD /* hb-shape.cc */; }; + 342989C82614C7390019CB69 /* hb-shaper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D2B21FA6048008FBDBD /* hb-shaper.cc */; }; + 342989C92614C7390019CB69 /* hb-static.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D3721FA6048008FBDBD /* hb-static.cc */; }; + 342989CA2614C7390019CB69 /* hb-subset-cff-common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF922BD8FAC007299F0 /* hb-subset-cff-common.cc */; }; + 342989CB2614C7390019CB69 /* hb-subset-cff1.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF722BD8FAC007299F0 /* hb-subset-cff1.cc */; }; + 342989CC2614C7390019CB69 /* hb-subset-cff2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAFA22BD8FAC007299F0 /* hb-subset-cff2.cc */; }; + 342989CD2614C7390019CB69 /* hb-subset-input.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF622BD8FAB007299F0 /* hb-subset-input.cc */; }; + 342989CE2614C7390019CB69 /* hb-subset-plan.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAFB22BD8FAC007299F0 /* hb-subset-plan.cc */; }; + 342989CF2614C7390019CB69 /* hb-subset.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF522BD8FAB007299F0 /* hb-subset.cc */; }; + 342989D02614C7390019CB69 /* hb-ucd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34FEAAF822BD8FAC007299F0 /* hb-ucd.cc */; }; + 342989D12614C7390019CB69 /* hb-unicode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1D21FA6047008FBDBD /* hb-unicode.cc */; }; + 342989D22614C7390019CB69 /* hb-warning.cc in Sources */ = {isa = PBXBuildFile; fileRef = 34F64D1E21FA6047008FBDBD /* hb-warning.cc */; }; + 342989D32614C7390019CB69 /* config.h in Sources */ = {isa = PBXBuildFile; fileRef = 34F64C0521FA5FC6008FBDBD /* config.h */; }; + 342989D42614C7390019CB69 /* libHarfBuzzSharp.h in Sources */ = {isa = PBXBuildFile; fileRef = 342989942614C6A00019CB69 /* libHarfBuzzSharp.h */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 341E97BA1EB3CE10008E2876 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ - 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libHarfBuzzSharp.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 342989922614C6A00019CB69 /* libHarfBuzzSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libHarfBuzzSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 342989942614C6A00019CB69 /* libHarfBuzzSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libHarfBuzzSharp.h; sourceTree = ""; }; + 342989952614C6A00019CB69 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 34F57ACD233ED14300427BE9 /* hb-ot-meta.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "hb-ot-meta.cc"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-meta.cc"; sourceTree = ""; }; 34F57ACE233ED14400427BE9 /* hb-ot-metrics.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = "hb-ot-metrics.hh"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.hh"; sourceTree = ""; }; 34F57ACF233ED14400427BE9 /* hb-ot-metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "hb-ot-metrics.h"; path = "../../../externals/skia/third_party/externals/harfbuzz/src/hb-ot-metrics.h"; sourceTree = ""; }; @@ -135,7 +132,7 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 341E97B91EB3CE10008E2876 /* Frameworks */ = { + 3429898F2614C6A00019CB69 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -150,6 +147,7 @@ children = ( 34F64C0021FA5FA1008FBDBD /* src */, 34F64C0521FA5FC6008FBDBD /* config.h */, + 342989932614C6A00019CB69 /* libHarfBuzzSharp */, 341E97BD1EB3CE10008E2876 /* Products */, ); sourceTree = ""; @@ -157,11 +155,20 @@ 341E97BD1EB3CE10008E2876 /* Products */ = { isa = PBXGroup; children = ( - 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */, + 342989922614C6A00019CB69 /* libHarfBuzzSharp.framework */, ); name = Products; sourceTree = ""; }; + 342989932614C6A00019CB69 /* libHarfBuzzSharp */ = { + isa = PBXGroup; + children = ( + 342989942614C6A00019CB69 /* libHarfBuzzSharp.h */, + 342989952614C6A00019CB69 /* Info.plist */, + ); + path = libHarfBuzzSharp; + sourceTree = ""; + }; 34F64C0021FA5FA1008FBDBD /* src */ = { isa = PBXGroup; children = ( @@ -227,14 +234,26 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 3429898D2614C6A00019CB69 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 342989962614C6A00019CB69 /* libHarfBuzzSharp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 341E97BB1EB3CE10008E2876 /* libHarfBuzzSharp */ = { + 342989912614C6A00019CB69 /* libHarfBuzzSharp */ = { isa = PBXNativeTarget; - buildConfigurationList = 341E97C51EB3CE10008E2876 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; + buildConfigurationList = 342989972614C6A00019CB69 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */; buildPhases = ( - 341E97B81EB3CE10008E2876 /* Sources */, - 341E97B91EB3CE10008E2876 /* Frameworks */, - 341E97BA1EB3CE10008E2876 /* CopyFiles */, + 3429898D2614C6A00019CB69 /* Headers */, + 3429898E2614C6A00019CB69 /* Sources */, + 3429898F2614C6A00019CB69 /* Frameworks */, + 342989902614C6A00019CB69 /* Resources */, ); buildRules = ( ); @@ -242,8 +261,8 @@ ); name = libHarfBuzzSharp; productName = libHarfBuzzSharp; - productReference = 341E97BC1EB3CE10008E2876 /* libHarfBuzzSharp.a */; - productType = "com.apple.product-type.library.static"; + productReference = 342989922614C6A00019CB69 /* libHarfBuzzSharp.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -251,90 +270,106 @@ 341E97B41EB3CE10008E2876 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1240; ORGANIZATIONNAME = "Matthew Leibowitz"; TargetAttributes = { - 341E97BB1EB3CE10008E2876 = { - CreatedOnToolsVersion = 8.3.2; + 342989912614C6A00019CB69 = { + CreatedOnToolsVersion = 12.4; ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 341E97B71EB3CE10008E2876 /* Build configuration list for PBXProject "libHarfBuzzSharp" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + Base, ); mainGroup = 341E97B31EB3CE10008E2876; productRefGroup = 341E97BD1EB3CE10008E2876 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 341E97BB1EB3CE10008E2876 /* libHarfBuzzSharp */, + 342989912614C6A00019CB69 /* libHarfBuzzSharp */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 342989902614C6A00019CB69 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 341E97B81EB3CE10008E2876 /* Sources */ = { + 3429898E2614C6A00019CB69 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 34F64D5A21FA6048008FBDBD /* hb-common.cc in Sources */, - 34F64D4421FA6048008FBDBD /* hb-ot-shape-complex-use-table.cc in Sources */, - 34F64D6721FA6048008FBDBD /* hb-buffer.cc in Sources */, - 34F64D5121FA6048008FBDBD /* hb-ot-shape-complex-arabic.cc in Sources */, - 34F64D6221FA6048008FBDBD /* hb-ot-tag.cc in Sources */, - 34FEAB0222BD8FAC007299F0 /* hb-subset-plan.cc in Sources */, - 34F64D4F21FA6048008FBDBD /* hb-ot-cff2-table.cc in Sources */, - 34F64D5321FA6048008FBDBD /* hb-ot-var.cc in Sources */, - 34F64D3F21FA6048008FBDBD /* hb-ot-color.cc in Sources */, - 34F64D6621FA6048008FBDBD /* hb-ot-name.cc in Sources */, - 34F64D3C21FA6048008FBDBD /* hb-ot-cff1-table.cc in Sources */, - 34F64D4221FA6048008FBDBD /* hb-blob.cc in Sources */, - 34F64D4121FA6048008FBDBD /* hb-ot-shape-complex-thai.cc in Sources */, - 34F64D3D21FA6048008FBDBD /* hb-ot-shape-complex-indic-table.cc in Sources */, - 34F64D5221FA6048008FBDBD /* hb-ot-shape.cc in Sources */, - 34F64D4621FA6048008FBDBD /* hb-buffer-serialize.cc in Sources */, - 34F64D4921FA6048008FBDBD /* hb-ot-shape-normalize.cc in Sources */, - 34F64D3E21FA6048008FBDBD /* hb-ot-font.cc in Sources */, - 34F57AD4233ED14400427BE9 /* hb-ot-metrics.cc in Sources */, - 34FEAB0122BD8FAC007299F0 /* hb-subset-cff2.cc in Sources */, - 34F64D4B21FA6048008FBDBD /* hb-warning.cc in Sources */, - 34F64D5621FA6048008FBDBD /* hb-set.cc in Sources */, - 34F64D4321FA6048008FBDBD /* hb-map.cc in Sources */, - 34F64D5821FA6048008FBDBD /* hb-shaper.cc in Sources */, - 34F64D4C21FA6048008FBDBD /* hb-ot-shape-complex-myanmar.cc in Sources */, - 34F64D4521FA6048008FBDBD /* hb-ot-shape-complex-use.cc in Sources */, - 34F64D4721FA6048008FBDBD /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, - 34F64D6321FA6048008FBDBD /* hb-ot-shape-complex-default.cc in Sources */, - 34F64D5B21FA6048008FBDBD /* hb-ot-layout.cc in Sources */, - 34F57AD3233ED14400427BE9 /* hb-ot-meta.cc in Sources */, - 34F64D4E21FA6048008FBDBD /* hb-ot-shape-fallback.cc in Sources */, - 34F64D6021FA6048008FBDBD /* hb-shape-plan.cc in Sources */, - 34FEAAFC22BD8FAC007299F0 /* hb-subset.cc in Sources */, - 34FEAAFD22BD8FAC007299F0 /* hb-subset-input.cc in Sources */, - 34F64D5521FA6048008FBDBD /* hb-ot-shape-complex-khmer.cc in Sources */, - 34FEAB0022BD8FAC007299F0 /* hb-subset-cff-common.cc in Sources */, - 34F64D5C21FA6048008FBDBD /* hb-aat-layout.cc in Sources */, - 34F64D5421FA6048008FBDBD /* hb-shape.cc in Sources */, - 34F64D6521FA6048008FBDBD /* hb-ot-map.cc in Sources */, - 34F64D5721FA6048008FBDBD /* hb-face.cc in Sources */, - 34FEAAFF22BD8FAC007299F0 /* hb-ucd.cc in Sources */, - 34F64D5021FA6048008FBDBD /* hb-ot-shape-complex-hebrew.cc in Sources */, - 34F64D4821FA6048008FBDBD /* hb-aat-map.cc in Sources */, - 34F64D5921FA6048008FBDBD /* hb-ot-shape-complex-indic.cc in Sources */, - 34F64D5F21FA6048008FBDBD /* hb-fallback-shape.cc in Sources */, - 34F64D4A21FA6048008FBDBD /* hb-unicode.cc in Sources */, - 34F64D4D21FA6048008FBDBD /* hb-ot-shape-complex-hangul.cc in Sources */, - 34F64D6421FA6048008FBDBD /* hb-static.cc in Sources */, - 34F64D6121FA6048008FBDBD /* hb-ot-math.cc in Sources */, - 34F64D6821FA6048008FBDBD /* hb-font.cc in Sources */, - 34F64D5D21FA6048008FBDBD /* hb-ot-face.cc in Sources */, - 34FEAAFE22BD8FAC007299F0 /* hb-subset-cff1.cc in Sources */, + 3429899B2614C7390019CB69 /* hb-aat-layout.cc in Sources */, + 3429899C2614C7390019CB69 /* hb-aat-map.cc in Sources */, + 3429899D2614C7390019CB69 /* hb-blob.cc in Sources */, + 3429899E2614C7390019CB69 /* hb-buffer-serialize.cc in Sources */, + 3429899F2614C7390019CB69 /* hb-buffer.cc in Sources */, + 342989A02614C7390019CB69 /* hb-common.cc in Sources */, + 342989A12614C7390019CB69 /* hb-face.cc in Sources */, + 342989A22614C7390019CB69 /* hb-fallback-shape.cc in Sources */, + 342989A32614C7390019CB69 /* hb-font.cc in Sources */, + 342989A42614C7390019CB69 /* hb-map.cc in Sources */, + 342989A52614C7390019CB69 /* hb-ot-cff1-table.cc in Sources */, + 342989A62614C7390019CB69 /* hb-ot-cff2-table.cc in Sources */, + 342989A72614C7390019CB69 /* hb-ot-color.cc in Sources */, + 342989A82614C7390019CB69 /* hb-ot-face.cc in Sources */, + 342989A92614C7390019CB69 /* hb-ot-font.cc in Sources */, + 342989AA2614C7390019CB69 /* hb-ot-layout.cc in Sources */, + 342989AB2614C7390019CB69 /* hb-ot-map.cc in Sources */, + 342989AC2614C7390019CB69 /* hb-ot-math.cc in Sources */, + 342989AD2614C7390019CB69 /* hb-ot-meta-table.hh in Sources */, + 342989AE2614C7390019CB69 /* hb-ot-meta.cc in Sources */, + 342989AF2614C7390019CB69 /* hb-ot-meta.h in Sources */, + 342989B02614C7390019CB69 /* hb-ot-metrics.cc in Sources */, + 342989B12614C7390019CB69 /* hb-ot-metrics.h in Sources */, + 342989B22614C7390019CB69 /* hb-ot-metrics.hh in Sources */, + 342989B32614C7390019CB69 /* hb-ot-name.cc in Sources */, + 342989B42614C7390019CB69 /* hb-ot-shape-complex-arabic.cc in Sources */, + 342989B52614C7390019CB69 /* hb-ot-shape-complex-default.cc in Sources */, + 342989B62614C7390019CB69 /* hb-ot-shape-complex-hangul.cc in Sources */, + 342989B72614C7390019CB69 /* hb-ot-shape-complex-hebrew.cc in Sources */, + 342989B82614C7390019CB69 /* hb-ot-shape-complex-indic-table.cc in Sources */, + 342989B92614C7390019CB69 /* hb-ot-shape-complex-indic.cc in Sources */, + 342989BA2614C7390019CB69 /* hb-ot-shape-complex-khmer.cc in Sources */, + 342989BB2614C7390019CB69 /* hb-ot-shape-complex-myanmar.cc in Sources */, + 342989BC2614C7390019CB69 /* hb-ot-shape-complex-thai.cc in Sources */, + 342989BD2614C7390019CB69 /* hb-ot-shape-complex-use-table.cc in Sources */, + 342989BE2614C7390019CB69 /* hb-ot-shape-complex-use.cc in Sources */, + 342989BF2614C7390019CB69 /* hb-ot-shape-complex-vowel-constraints.cc in Sources */, + 342989C02614C7390019CB69 /* hb-ot-shape-fallback.cc in Sources */, + 342989C12614C7390019CB69 /* hb-ot-shape-normalize.cc in Sources */, + 342989C22614C7390019CB69 /* hb-ot-shape.cc in Sources */, + 342989C32614C7390019CB69 /* hb-ot-tag.cc in Sources */, + 342989C42614C7390019CB69 /* hb-ot-var.cc in Sources */, + 342989C52614C7390019CB69 /* hb-set.cc in Sources */, + 342989C62614C7390019CB69 /* hb-shape-plan.cc in Sources */, + 342989C72614C7390019CB69 /* hb-shape.cc in Sources */, + 342989C82614C7390019CB69 /* hb-shaper.cc in Sources */, + 342989C92614C7390019CB69 /* hb-static.cc in Sources */, + 342989CA2614C7390019CB69 /* hb-subset-cff-common.cc in Sources */, + 342989CB2614C7390019CB69 /* hb-subset-cff1.cc in Sources */, + 342989CC2614C7390019CB69 /* hb-subset-cff2.cc in Sources */, + 342989CD2614C7390019CB69 /* hb-subset-input.cc in Sources */, + 342989CE2614C7390019CB69 /* hb-subset-plan.cc in Sources */, + 342989CF2614C7390019CB69 /* hb-subset.cc in Sources */, + 342989D02614C7390019CB69 /* hb-ucd.cc in Sources */, + 342989D12614C7390019CB69 /* hb-unicode.cc in Sources */, + 342989D22614C7390019CB69 /* hb-warning.cc in Sources */, + 342989D32614C7390019CB69 /* config.h in Sources */, + 342989D42614C7390019CB69 /* libHarfBuzzSharp.h in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -347,6 +382,7 @@ ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; BITCODE_GENERATION_MODE = bitcode; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -368,6 +404,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -397,7 +434,10 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = watchos; TARGETED_DEVICE_FAMILY = 4; + VALIDATE_PRODUCT = YES; WATCHOS_DEPLOYMENT_TARGET = 2.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; @@ -407,6 +447,7 @@ ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; BITCODE_GENERATION_MODE = bitcode; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -428,6 +469,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -455,33 +497,61 @@ TARGETED_DEVICE_FAMILY = 4; VALIDATE_PRODUCT = YES; WATCHOS_DEPLOYMENT_TARGET = 2.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 341E97C61EB3CE10008E2876 /* Debug */ = { + 342989982614C6A00019CB69 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Debug; }; - 341E97C71EB3CE10008E2876 /* Release */ = { + 342989992614C6A00019CB69 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - EXECUTABLE_PREFIX = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = libHarfBuzzSharp/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.microsoft.libHarfBuzzSharp; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WARNING_CFLAGS = ( "-Wno-comma", "-Wno-conditional-uninitialized", + "-Wno-documentation", ); }; name = Release; @@ -498,11 +568,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 341E97C51EB3CE10008E2876 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { + 342989972614C6A00019CB69 /* Build configuration list for PBXNativeTarget "libHarfBuzzSharp" */ = { isa = XCConfigurationList; buildConfigurations = ( - 341E97C61EB3CE10008E2876 /* Debug */, - 341E97C71EB3CE10008E2876 /* Release */, + 342989982614C6A00019CB69 /* Debug */, + 342989992614C6A00019CB69 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist b/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist new file mode 100644 index 00000000000..9bcb244429e --- /dev/null +++ b/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h b/native/watchos/libHarfBuzzSharp/libHarfBuzzSharp/libHarfBuzzSharp.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/native/watchos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h b/native/watchos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h index e1a30eb4648..e69de29bb2d 100644 --- a/native/watchos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h +++ b/native/watchos/libSkiaSharp/libSkiaSharp/libSkiaSharp.h @@ -1,7 +0,0 @@ -// -// libSkiaSharp.h -// libSkiaSharp -// -// Created by Bill Holmes on 11/21/15. -// Copyright © 2015 Xamarin. All rights reserved. -// diff --git a/nuget/HarfbuzzSharp.nuspec b/nuget/HarfbuzzSharp.nuspec index 4f0853b1fdf..7bab04f53db 100644 --- a/nuget/HarfbuzzSharp.nuspec +++ b/nuget/HarfbuzzSharp.nuspec @@ -124,11 +124,11 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release - + - + - + diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 30fc1123faa..12cf11b54c7 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -226,6 +226,12 @@ stages: displayName: iOS vmImage: $(VM_IMAGE_MAC) target: externals-ios + - template: azure-templates-bootstrapper.yml # Build Native Mac Catalyst (macOS) + parameters: + name: native_maccatalyst_macos + displayName: Mac Catalyst + vmImage: $(VM_IMAGE_MAC) + target: externals-maccatalyst - template: azure-templates-bootstrapper.yml # Build Native macOS (macOS) parameters: name: native_macos_macos @@ -345,6 +351,7 @@ stages: - native_android_arm_macos - native_android_arm64_macos - native_ios_macos + - native_maccatalyst_macos - native_macos_macos # - native_tizen_macos - native_tizen_windows diff --git a/scripts/create-dummy-native.ps1 b/scripts/create-dummy-native.ps1 deleted file mode 100644 index 41fe87c791c..00000000000 --- a/scripts/create-dummy-native.ps1 +++ /dev/null @@ -1,48 +0,0 @@ -function Dummy { - param ([string] $RootPath, [string[]] $Platforms, [string[]] $FileNames) - - foreach ($platform in $Platforms) { - foreach ($filename in $FileNames) { - New-Item -ItemType File -Force -Path "$RootPath/$platform/$filename" | Out-Null - } - } -} - -Dummy output/native/android @('arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64') @( - 'libSkiaSharp.so', - 'libHarfBuzzSharp.so') - -Dummy output/native/ios @('.') @( - 'libHarfBuzzSharp.a', - 'libSkiaSharp.framework/libSkiaSharp') - -Dummy output/native/linux @('x64') @( - 'libSkiaSharp.so', - 'libHarfBuzzSharp.so') - -Dummy output/native/osx @('.') @( - 'libHarfBuzzSharp.dylib', - 'libSkiaSharp.dylib') - -Dummy output/native/tizen @('armel', 'i386') @( - 'libSkiaSharp.so', - 'libHarfBuzzSharp.so') - -Dummy output/native/tvos @('.') @( - 'libHarfBuzzSharp.a', - 'libSkiaSharp.framework/libSkiaSharp') - -Dummy output/native/uwp @('arm', 'x86', 'x64') @( - 'libSkiaSharp.dll', - 'libHarfBuzzSharp.dll', - 'SkiaSharp.Views.Interop.UWP.dll', - 'libEGL.dll', - 'libGLESv2.dll') - -Dummy output/native/watchos @('.') @( - 'libHarfBuzzSharp.a', - 'libSkiaSharp.framework/libSkiaSharp') - -Dummy output/native/windows @('x86', 'x64') @( - 'libSkiaSharp.dll', - 'libHarfBuzzSharp.dll')