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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build/Build.LibAlphaSkia.cs
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ partial class Build
PatchSkiaFile(SkiaPath / "BUILD.gn", buildNew, "Build", "#");
PatchSkiaToolchain();
PatchSkiaMacOsVersion();
PatchLlvm();
});


Expand Down
1 change: 1 addition & 0 deletions build/Build.LibSkia.cs
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,7 @@ partial class Build
PatchSkiaToolchain();
PatchSkiaMacOsVersion();
PatchVulcanAllocatorIncludes();
PatchLlvm();
});

void PatchVulcanAllocatorIncludes()
Expand Down
28 changes: 28 additions & 0 deletions build/Build.Native.cs
Original file line number Diff line number Diff line change
Expand Up @@ -400,4 +400,32 @@ void PatchSkiaToolchain()
" # env_setup = \"$shell set \\\"PATH=%PATH%;$win_vc\\\\Tools\\\\MSVC\\\\$win_toolchain_version\\\\bin\\\\HostX64\\\\x64\\\" && \""
));
}

void PatchLlvm()
{
// https://github.com/llvm/llvm-project/issues/95133
// https://github.com/llvm/llvm-project/commit/bac4171073399352e5bd0ba541820e2a9b3f37d7
if (!OperatingSystem.IsWindows())
{
return;
}

AbsolutePath intrinHeaders = "C:\\Program Files\\LLVM\\lib\\clang";
var headers = intrinHeaders.GlobFiles("**/intrin.h");
foreach (var intrin in headers)
{
Log.Information("Rewriting clang header {header}", intrin);
try
{
intrin.WriteAllText(intrin.ReadAllText()
.Replace("unsigned __int32 xbegin(void);", "")
.Replace("void _xend(void);", "")
);
}
catch (Exception e)
{
Log.Error(e, "Error patching clang headers");
}
}
}
}
2 changes: 1 addition & 1 deletion build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ static int LoadSkiaVersion()
return int.Parse(text[(startOfMarker + marker.Length)..endOfMarker].Trim());
}

static readonly Version FileVersionBase = new Version(3, 3, 0, 0);
static readonly Version FileVersionBase = new Version(3, 4, 0, 0);

#endregion

Expand Down
2 changes: 1 addition & 1 deletion lib/dotnet/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>
<Version Condition=" '$(Version)' == '' ">3.3.135</Version>
<Version Condition=" '$(Version)' == '' ">3.4.135</Version>
<AssemblyVersion Condition=" '$(AssemblyVersion)' == '' ">$(Version).0</AssemblyVersion>
<FileVersion Condition=" '$(FileVersion)' == '' ">$(AssemblyVersion)</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
Expand Down
2 changes: 1 addition & 1 deletion lib/java/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ var libAuthorId = ""
var libAuthorName = ""
var libOrgUrl = ""
var libCompany = ""
var libVersion = "3.3.135"
var libVersion = "3.4.135"
var libProjectUrl = ""
var libGitUrlHttp = ""
var libGitUrlGit = ""
Expand Down
2 changes: 1 addition & 1 deletion lib/node/alphaskia-linux/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@coderline/alphaskia-linux",
"version": "3.3.135",
"version": "3.4.135",
"description": "The node addon for alphaSkia enabling it to run on Linux",
"engines": {
"node": ">=18.0.0"
Expand Down
2 changes: 1 addition & 1 deletion lib/node/alphaskia-macos/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@coderline/alphaskia-macos",
"version": "3.3.135",
"version": "3.4.135",
"description": "The node addon for alphaSkia enabling it to run on MacOS",
"engines": {
"node": ">=18.0.0"
Expand Down
2 changes: 1 addition & 1 deletion lib/node/alphaskia-windows/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@coderline/alphaskia-windows",
"version": "3.3.135",
"version": "3.4.135",
"description": "The node addon for alphaSkia enabling it to run on Windows",
"engines": {
"node": ">=18.0.0"
Expand Down
2 changes: 1 addition & 1 deletion lib/node/alphaskia/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@coderline/alphaskia",
"version": "3.3.135",
"version": "3.4.135",
"description": "A Skia based rendering backend for alphaTab.",
"module": "./dist/alphaskia.mjs",
"typings": "./dist/alphaskia.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion test/java/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

// do not inline (updated dynamically via Nuke)
var libVersion = "3.3.135"
var libVersion = "3.4.135"

group = "alphaTab.alphaSkia"
version = libVersion
Expand Down
2 changes: 1 addition & 1 deletion test/node/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "alphaskiatest",
"version": "3.3.135",
"version": "3.4.135",
"private": true,
"scripts": {
"start": "tsx index.ts"
Expand Down
2 changes: 1 addition & 1 deletion wrapper/src/AlphaSkiaCanvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ std::unique_ptr<skia::textlayout::Paragraph> AlphaSkiaCanvas::build_paragraph(co
}

auto builder = skia::textlayout::ParagraphBuilder::make(paraStyle, font_collection_);
builder->addText(text);
builder->addText(std::u16string(text, static_cast<size_t>(text_length)));

return builder->Build();
}
Expand Down