Skip to content
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

OpenBSD support. #1126

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

OpenBSD support. #1126

wants to merge 6 commits into from

Conversation

3405691582
Copy link
Member

Fixes a few small matters:

  • OpenBSD also needs pthread_mutex_t?.

  • OpenBSD does not have secure_getenv.

  • OpenBSD does not support extended attributes.

  • Correct statvfs type casts for OpenBSD.

    On OpenBSD, fsblkcnt_t -- the type of f_blocks -- is a UInt64; therefore, so must blockSize be.
    Ultimately, both sides of the totalSizeBytes multiplication should probably be type cast for all platforms, but that's a more significant functional change for another time.

Additionally, #1075 beat me to a few small changes; some follow-ups:

  • In FileOperations+Enumeration.swift originally I followed Darwin's check with d_namlen, but this should work too.

  • In my working edit for _CStdlib.h I incorporated a small piece of guidance in my working edit; add this guidance in now.

@finagolfin
Copy link
Member

@swift-ci please test

1 similar comment
@3405691582
Copy link
Member Author

@swift-ci please test

@finagolfin
Copy link
Member

Good to see you finally joined the swiftlang org and got CI access. 😃

In swiftlang#1075 the change was already made for BSD (thank you!); my working
edit had this guidance to ensure future porters get an error directing
them where to make a necessary change.

Otherwise, the FoundationEssentials build will fail and complain these
variables are not defined but not have guidance as to where they are
sourced from.
* OpenBSD also needs `pthread_mutex_t?`.

* Originally I followed Darwin's check with `d_namlen`, but this should
  work too.
On OpenBSD, fsblkcnt_t -- the type of f_blocks -- is a UInt64; therefore,
so must `blockSize` be.

Ultimately, both sides of the `totalSizeBytes` multiplication should
probably be type cast for all platforms, but that's a more significant
functional change for another time.
@3405691582
Copy link
Member Author

@swift-ci please test

After a rather tedious debugging session trying to figure out why
swiftpm-bootstrap appeared to be deadlocked, this turned out to be the
culprit. Perhaps this should be #error instead, but for now, set a
sensible default.
Sign up for free to 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.

2 participants