Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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 > 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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77
, '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

Haiku: Initial managed libraries support - #121880

Merged
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib
Apr 11, 2026
Merged

Haiku: Initial managed libraries support#121880
jkotas merged 2 commits into
dotnet:mainfrom
trungnt2910:dev/trungnt2910/haiku-lib-corelib

Conversation

@trungnt2910

Copy link
Copy Markdown
Contributor

This contains the code required to build the first managed runtime libraries for Haiku, namely System.Private.CoreLib.

Part of #55803.

CopilotAI review requested due to automatic review settings November 21, 2025 14:26
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 21, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Nov 21, 2025
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from 540d8bb to f20b31cCompareNovember 21, 2025 14:34

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial managed libraries support for Haiku OS by implementing the necessary interop and environment code for System.Private.CoreLib. The changes enable basic Haiku platform detection and working set memory queries.

  • Adds Haiku OS platform detection with TARGET_HAIKU constant
  • Implements WorkingSet property for Haiku using native area_info API
  • Provides comprehensive Haiku OS interop definitions (teams, threads, areas, system info)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Private.CoreLib/src/System/OperatingSystem.csAdds TARGET_HAIKU constant to platform name detection
src/libraries/System.Private.CoreLib/src/System/Environment.Haiku.csImplements WorkingSet property for Haiku by iterating process memory areas
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitemsConfigures conditional compilation for Haiku and includes required interop files
src/libraries/Common/src/Interop/Haiku/Interop.OS.csDefines comprehensive Haiku OS interop structures, enums, and P/Invoke methods for process/thread/memory management
src/libraries/Common/src/Interop/Haiku/Interop.Libraries.csDefines libroot library constant for Haiku interop
Comments suppressed due to low confidence (3)

src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:209

  • The parameter documentation is incorrect. The who parameter is of type BTeamUsage (an enum specifying self or children), not "The thread ID". It should describe that this parameter specifies whether to get usage information for the team itself or its children.
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:252
  • The parameter documentation should use <see cref="system_info"/> instead of just "system_info" for consistency with other parameter documentation in this file (e.g., lines 159, 170, 181, 210, 230, 242).
    src/libraries/Common/src/Interop/Haiku/Interop.OS.cs:86
  • The enum name thread_state uses snake_case which is inconsistent with C# naming conventions and the pattern used by other enums in this file (BTeamUsage, BPriority). It should be renamed to ThreadState to follow PascalCase naming convention.

@am11am11 added area-System.Runtime os-haiku and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 21, 2025
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

C/c @am11

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

@am11

am11 commented Nov 21, 2025

Copy link
Copy Markdown
Member

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

Each library has its own review team, and they’ll use your tests as a measure of correctness while providing feedback mainly on efficiency and code style. The individual PRs don’t need to build (there’s no Haiku CI here).

You could open two or three PRs in parallel if you want to speed up the upstream process (since you already have these patches in your fork tested for a while).

@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Haiku's System.Diagnostics.Process depends on this so I will open that one later.

What I meant was the two share a common file, Interop.OS.cs, so it will be hard to have both open concurrently.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Feb 1, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Still tracking, will take action soon.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Feb 17, 2026
@jeffhandleyjeffhandley added the needs-author-action An issue or pull request that requires more info or actions from the author. label Mar 23, 2026
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Thanks for the reminder, and sorry for the delay. I will take action as soon as I can.

@dotnet-policy-servicedotnet-policy-serviceBot removed needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity labels Apr 6, 2026
@jkotas
jkotas marked this pull request as draft April 6, 2026 15:26
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from f20b31c to 265e06bCompareApril 9, 2026 09:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment threadsrc/native/libs/configure.cmake
Comment threadsrc/native/libs/System.Native/pal_getosinfo.c
@trungnt2910

Copy link
Copy Markdown
ContributorAuthor

Local Haiku bootstrap builds are succeeding (after also applying #126701 and making some llvm-libunwind blocks compatible with downstream .NET patches - not sure the right way to do the latter).

The CI failures seem like unrelated WASM/Android targets. Most targets are passing.

Therefore, I am marking this PR for review again.

@trungnt2910
trungnt2910 marked this pull request as ready for review April 9, 2026 12:02
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from acf2867 to eef1222CompareApril 9, 2026 13:51
@trungnt2910
trungnt2910 requested a review from jkotasApril 9, 2026 13:53
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs Outdated
This contains the code required to build the first managed runtime
libraries for Haiku, namely `System.Private.CoreLib`.
Co-authored-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
CopilotAI review requested due to automatic review settings April 9, 2026 14:04
@trungnt2910
trungnt2910force-pushed the dev/trungnt2910/haiku-lib-corelib branch from eef1222 to 54ada29CompareApril 9, 2026 14:04

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment threadsrc/libraries/Common/src/Interop/Haiku/Interop.OS.cs
@jkotas
jkotas merged commit d38d8f7 into dotnet:mainApr 11, 2026
173 of 177 checks passed
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtimecommunity-contributionIndicates that the PR has been added by a community memberos-haiku

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@trungnt2910@am11@jeffhandley@waddlesplash@huoyaoyuan@danmoseley@jkotas@Ayshel77