The `toolchain-desktop-macos` task implicitly depends on the
`fetch-nss-artifact` task, as it is using the index here:
41ecfc79dd/libs/build-nss-desktop.sh (L61)
However, it doesn't list the task as a dependency. This means that the
`fetch-nss-artifact` task never gets pulled into the graph and needs to be
run manually anytime it expires or is updated.
By adding this as a `fetch` to the `toolchain-desktop-macos`, it:
1. Sets up the dependency link in Taskcluster
2. Automatically downloads + extracts the artifact (so we can cleanup
the build script a bunch)
The new NDK doesn't link to `libgcc` anymore, which breaks our our NSS
and SQLCipher libraries since they depended on the symbols from
libclang_rt.builtins-x86_64-android` like `__extenddftf2`. See #5436 for
more details.
The change works around this by manually linking to the
libclang_rt.builtins-x86_64-android library in this case.
Added a doc on how to upgrade the Android NDK which hopefully will help
us in the future. Extracted some common code from the the
`build-*-android.sh` scripts to make these directions simpler.
Updating to 4.5.3 and start using the official builds from zetetic.net.
This is needed for #5354. I was able to verify this one with their GPG
key so I think it should be trusted.
* Update iOS docs for adding a new component.
* Fix the path to `MozillaTestServices.xcodeproj`.
* Clarify that the generated bindings for the component should be added
after the UDL file. When adding a UniFFIed component for the first
time, the `Generated` subdirectory won't exist until after the UDL
file has been added to the project, _and_ Xcode has run
`uniffi_bindgen` to generate the `.swift` file.
* Add a note to double-check that the new `.udl` file is _not_ added as
a bundle resource (it should be added as a source), and the generated
`.swift` file isn't added at all. Xcode's "add files" dialog likes to
add files to a target, which will cause a cryptic build cycle error
in this case.
* The "Headers" phase has been removed; it looks like it's not necessary
to add `<your_crate_name>FFI.h` to the list of Public headers anymore.
* Fix the module name for tests.
* Add the Apple silicon iOS simulator Rust target.
We currently install the Intel iOS Simulator target, but not the Apple
silicon iOS Simulator target. Without the latter, `build-xcframework.sh`
can't build the framework on an M1 Mac.
Co-authored-by: Tarik Eshaq <teshaq@mozilla.com>