New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Haiku: Initial work at OS support #36727

Merged
merged 9 commits into from Sep 27, 2016

Conversation

Projects
None yet
8 participants
@kallisti5
Contributor

kallisti5 commented Sep 25, 2016

These changes should be non-invasive to non-Haiku platforms. These patches were hand reworked from Neil's original Rust 1.9.0 patches. I've done some style cleanup and design updates along the way.

There are a few small additional patches to libc, rust-installer and compiler-rt that will be submitted once this one is accepted.

Haiku can be compiled on Linux, and a full gcc cross-compiler with a Haiku target is available, which means bootstrapping should be fairly easy. The patches here have already successfully bootstrapped under our haiku x86_gcc2 architecture. http://rust-on-haiku.com/wiki/PortingRust

I'll be focusing on our more modern gcc5 x86 and x86 architectures for now.

As for support, we're not seeking official support for now. We understand Haiku isn't a top-tier OS choice, however having these patches upstream greatly reduces the amount of patchwork we have to do. Mesa has Haiku code upstream, and we submit patches to keep it going. Mesa doesn't test on Haiku and we're ok with that :-)

nielx and others added some commits Sep 25, 2016

Add support for the Haiku operating system on x86 and x86_64 machines
* Hand rebased from Niels original work on 1.9.0
Haiku: Work around the lack of the FIOCLEX ioctl
* Hand rebased from Niels original work on 1.9.0
Haiku: add workaround for missing F_DUPFD_CLOEXEC
The src/libstd/sys/unix/net.rs file depends on it. It is missing
from Haiku. This workaround should actually 'fix' the problem,
but it turns out the fds-are-cloexec.rs test hangs. I do not
know how related these two issues are, but it warrants further
investigation.

The test is ignored on this platform for now.

* Hand rebased from Niels original work on 1.9.0
Haiku: add search path for terminfo
* Hand rebased from Niels original work on 1.9.0
Haiku: add support for building on Haiku
* Hand rebased from Niels original work on 1.9.0
@rust-highfive

This comment has been minimized.

Show comment
Hide comment
@rust-highfive

rust-highfive Sep 25, 2016

Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @aturon (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

Collaborator

rust-highfive commented Sep 25, 2016

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @aturon (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@Aatch

This comment has been minimized.

Show comment
Hide comment
@Aatch

Aatch Sep 26, 2016

Contributor

@bors r+

Contributor

Aatch commented Sep 26, 2016

@bors r+

@bors

This comment has been minimized.

Show comment
Hide comment
@bors

bors Sep 26, 2016

Contributor

📌 Commit 7c34d9c has been approved by Aatch

Contributor

bors commented Sep 26, 2016

📌 Commit 7c34d9c has been approved by Aatch

jonathandturner added a commit to jonathandturner/rust that referenced this pull request Sep 27, 2016

Rollup merge of rust-lang#36727 - kallisti5:master, r=Aatch
Haiku: Initial work at OS support

These changes should be non-invasive to non-Haiku platforms. These patches were hand reworked from Neil's original Rust 1.9.0 patches. I've done some style cleanup and design updates along the way.

There are a few small additional patches to libc, rust-installer and compiler-rt that will be submitted once this one is accepted.

Haiku can be compiled on Linux, and a full gcc cross-compiler with a Haiku target is available, which means bootstrapping should be fairly easy. The patches here have already successfully bootstrapped under our haiku x86_gcc2 architecture. http://rust-on-haiku.com/wiki/PortingRust

I'll be focusing on our more modern gcc5 x86 and x86 architectures for now.

As for support, we're not seeking official support for now. We understand Haiku isn't a top-tier OS choice, however having these patches upstream greatly reduces the amount of patchwork we have to do. Mesa has Haiku code upstream, and we submit patches to keep it going. Mesa doesn't test on Haiku and we're ok with that :-)
@@ -279,7 +279,12 @@ impl DirEntry {
stat(&self.path()).map(|m| m.file_type())
}
#[cfg(not(target_os = "solaris"))]
#[cfg(target_os = "haiku")]

This comment has been minimized.

@alexcrichton

alexcrichton Sep 27, 2016

Member

Shouldn't the haiku/solaris fallbacks here be the same?

@alexcrichton

alexcrichton Sep 27, 2016

Member

Shouldn't the haiku/solaris fallbacks here be the same?

@brson brson added the relnotes label Sep 27, 2016

@brson

This comment has been minimized.

Show comment
Hide comment
@brson

brson Sep 27, 2016

Contributor

cc @rust-lang/libs @rust-lang/tools

Contributor

brson commented Sep 27, 2016

cc @rust-lang/libs @rust-lang/tools

bors added a commit that referenced this pull request Sep 27, 2016

bors added a commit that referenced this pull request Sep 27, 2016

@bors bors merged commit 7c34d9c into rust-lang:master Sep 27, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@waddlesplash waddlesplash referenced this pull request Nov 27, 2017

Open

Haiku support #2697

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment