Skip to content

redox: convert to target_family unix #60139

Closed
@jackpot51

Description

@jackpot51

Major changes have been happening in Redox since the design of the libstd/sys/redox module. The creation of relibc has led to the development of a POSIX, C API for Redox that supports the vast majority of required functions in the libstd/sys/unix module. This has allowed the use of a separate target family for Redox to be reconsidered, perhaps allowing it to fall under the unix target family and gain support from a large number of crates without requiring any explicit changes.

After such a unification, the one remaining issue is #52331. Solving this requires the potentially breaking change indicated in these four lines. This change adds a path::Prefix::Scheme variant, but only on Redox. Although this would be a breaking change for Redox, all of the supported packages on Redox have already been compiled successfully with this new variant.

I believe that this change will significantly reduce the work required to move Redox OS to Tier 3, with full support for cargo, rustc, and the other rust tools.

The downside is that crates that have both cfg(unix) and cfg(target_os = "redox") defined will not compile correctly on Redox. This would likely break Redox support for some of the crates that have already added specific support for Redox, while enabling Redox support for many crates that only have support for the unix target family.

I would appreciate any feedback on this potential change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    O-redoxOperating system: Redox, https://www.redox-os.org/T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions