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

Proposed build wrapper script for static libs macOS / iOS / Android platforms #1717

Closed
wants to merge 32 commits into from

Conversation

andybrucenet
Copy link

@andybrucenet andybrucenet commented Mar 1, 2024

We wish to integrate kyber and other algorithms in our apps via oqs-provider - and this requires a built liboqs foreach of our cross-compiled solutions in addition to a built openssl.

The script has the following features:

  • CMake output for all platforms (e.g. build/apple/iphoneos/arm64 or build/android/arm64-v8a).
  • The script can also generate build/export in a versioned format; example: build/export/android/0.10.0-dev/armeabi-v7a/lib.
  • The export version is determined automatically from the cmake-generated headers.
  • Because the cmake-generated headers are platform specific via #defines the output includes headers for each platform. Example: build/export/apple/0.10.0-dev/macosx/arm64/include
  • Libraries are always built static and macOS / iOS libraries include all required architectures.
  • Script can be invoked with any of the included functions; by default, builds all platforms and creates export output.

The output from the script can be used as-is with the analogous script for the oqs-provider project - there is a separate PR for that project.

No

No new features added. The script requires access to a versioned openssl with subfolders to each platform.
Examples:

  • Android - [dir]/android/3.2.1 with subfolders similar to arm64-v8a/{include,lib}
  • Apple - [dir]/apple/3.2.1 with subfolders similar to iphoneos/{include,lib}
  • [NO] Does this PR change the input/output behaviour of a cryptographic algorithm (i.e., does it change known answer test values)? (If so, a version bump will be required from x.y.z to x.(y+1).0.)
  • [NO] Does this PR change the list of algorithms available -- either adding, removing, or renaming? Does this PR otherwise change an API? (If so, PRs in fully supported downstream projects dependent on these, i.e., oqs-provider and OQS-OpenSSH will also need to be ready for review and merge by the time this is merged.)

@andybrucenet andybrucenet requested a review from dstebila as a code owner March 1, 2024 19:16
Copy link
Member

@baentsch baentsch left a comment

Choose a reason for hiding this comment

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

Suggest to close as per open-quantum-safe/oqs-provider#363 (comment). Tagging @dstebila @andybrucenet for additional feedback.

@SWilson4
Copy link
Member

@SWilson4 SWilson4 closed this Aug 21, 2024
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.

3 participants