Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Add Windows ARM64 support - #99

Open
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64
Open

Add Windows ARM64 support#99
Demonese wants to merge 1 commit into
imneme:masterfrom
Legacy-LuaSTG-Engine:feature/windows-arm64

Conversation

@Demonese

@DemoneseDemonese commented Apr 20, 2025

Copy link
Copy Markdown

Currently, pcg-cpp lacks Windows ARM64 support.

This modification has been tested on github actions.

See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357

pitrou pushed a commit to apache/arrow that referenced this pull request Oct 15, 2025
…nsics (#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: #47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Nov 5, 2025
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@Demonese

Copy link
Copy Markdown
Author

Hello @imneme ,

I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by Arrow and requires only minimal changes. Thank you for your pcg library—it's fantastic!

@Demonese

Copy link
Copy Markdown
Author

It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833

image

@lgray

Copy link
Copy Markdown

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

@Demonese

Copy link
Copy Markdown
Author

Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great!

This repository has been inactive for years, so I think the best solution is to fix the code using a patch.

@JkarVN

Copy link
Copy Markdown

Merged into Total-Random/pcg-cpp

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
… intrinsics (apache#47779)
### Rationale for this change
This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency.
Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.
### What changes are included in this PR?
A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.
### Are these changes tested?
Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`).
### Are there any user-facing changes?
Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?
* GitHub Issue: apache#47784
Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Demonese@lgray@JkarVN