Skip to content

Conversation

@morph027
Copy link

@morph027 morph027 commented Nov 7, 2022

Adds support for armv7-unknown-linux-gnueabihf

refs signalapp/libsignal#481

jrose-signal and others added 15 commits June 16, 2022 12:30
This is a Tier 3 target, but apart from working around a hardcoded
version in the 'cc' crate everything does work.
Cross-compiling to AArch64 Linux can be done with a CMake toolchain
file, along with setting the correct compiler and include paths in the
environment.

Cross-compiling from X64 Windows to ARM64 Windows doesn't look at the
toolchain at all, because CMake + Visual Studio can already
cross-compile. Unfortunately, the Visual Studio CMake generator
doesn't set CMAKE_SYSTEM_PROCESSOR, which is what the BoringSSL
CMakeLists.txt is looking at to choose the architecture. For now,
disable the use of assembly when cross-compiling on Windows (assuming
that the Visual Studio generator will be used there).
Adds CRL types and the ability to verify certificates against CRLs with
an X509StoreContext
This corresponds to `X509_get0_extensions`.
BoringSSL vends two libraries: libcrypto and libssl. Some clients
don't need the libssl part. With a feature flag, we can skip building
it (saving on compile time) and initializing it (saving on code size
and a tiny bit of run time).

The new feature is on by default for backwards compatibility.
This fixes actual cross-compile cases, like compiling for Apple
Silicon on an Intel Mac. It also makes builds more consistent by using
the SDK in the installed Xcode instead of the host root headers, which
is how Apple recommends people build anyway. (If you only have the
command line tools installed, though, it should fall back to those
without a problem.)
Signed-off-by: morph027 <[email protected]>
Copy link

@jrose-signal jrose-signal left a comment

Choose a reason for hiding this comment

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

Looks good, just one minor comment

@jrose-signal
Copy link

Also, do you have any objections to us contributing this upstream as well? They took cloudflare#78, and this is pretty much an extension of that.

@morph027
Copy link
Author

morph027 commented Nov 8, 2022

Also, do you have any objections to us contributing this upstream as well? They took cloudflare#78, and this is pretty much an extension of that.

Sure, upstream contributions are always good.

@jrose-signal
Copy link

Guess we need to pull in upstream first…

@jrose-signal
Copy link

Rebased the libsignal branch (rebase rather than merge because it helps us keep track of what hasn't been upstreamed), then squashed and merged this in #16. Thank you for this improvement!

@morph027 morph027 deleted the libsignal-arm branch November 9, 2022 20:11
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.

4 participants