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

Cross-compile armv7l binaries for 32-bit Raspberry Pi's #167

Merged
merged 2 commits into from Jul 17, 2023
Merged

Cross-compile armv7l binaries for 32-bit Raspberry Pi's #167

merged 2 commits into from Jul 17, 2023

Conversation

bjia56
Copy link
Contributor

@bjia56 bjia56 commented Jul 6, 2023

Though Raspberry Pi OS supports 64-bit with architecture aarch64, there are still users of the 32-bit OS with architecture armv7l. This change adds cross-compilation targeting the 32-bit armv7l architecture with a few tweaks:

  • Patch compilation error due to easy_lock.h (this has been fixed upstream in curl 7.85+)
  • Extend Makefile to include nss NEON libraries for Firefox build

I built the cross-compiled binaries locally with these changes and tested them on a Raspberry Pi 3b+ running 32-bit Raspbian bullseye.

Makefile.in Outdated
@@ -380,11 +381,16 @@ $(CURL_VERSION)/.firefox: $(firefox_libs) $(CURL_VERSION).tar.xz $(CURL_VERSION)
fi; \
add_cflags="-I$(nss_install_dir)/../public/nss"; \
add_cflags+=" -I$(nss_install_dir)/include/nspr"; \
if test "$(host_cpu)" = "arm"; then \
add_libs="-L$(nss_install_dir)/lib -l:libgcm-aes-arm32-neon_c_lib.a"; \
Copy link
Owner

Choose a reason for hiding this comment

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

I think this should go in the curl patch file, look for the patch to libcurl.pc.in where these flags are set.

@lwthiker lwthiker merged commit 9303ce3 into lwthiker:main Jul 17, 2023
5 checks passed
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.

None yet

2 participants