This repository hosts builds of GNU Binutils for Xamarin.Android.
Xamarin.Android uses a handful of utilities from Binutils (as, ld
and strip) in its application build process, parts of which entail
generation of native assembly for ARM, ARM64, x86 and x86_64
devices. Until NDK release 22 these utilities were part of its
distribution, but with release 23 almost all of them (except for as)
are going to be removed. Thus the need to build our own copies.
The Binutils sources are built in this repository without any changes. After the build is done, we create a tarball with the binaries for Linux, macOS and Windows. The tarball is then used by Xamarin.Android to package the utilities for Xamarin.Android distribution.
- Edit
.github/workflows/ci.yml - Set the
BINUTILS_VERSIONvariable to the new version number of the upstream package. - Commit and push the changes
- After the build finishes, visit the Actions tab, find the run
corresponding to commit from
3.above, download theXamarin.Androidartifact - On your local machine, execute the release preparation script (
TAG_NAMEshould be created by concatenating the Binutils version with the-XA.NUMstring, whereNUMis an integer increasing monotonously each time a new release of the same Binutils version is made):
./prepare-release.sh PATH_TO_ARTIFACT_FROM_4 TAG_NAME- The script will produce a
7-zippackage on your local disk and display instructions how to proceed with the release.