Граф коммитов

27 Коммитов

Автор SHA1 Сообщение Дата
Thom Chiovoloni 26fa2fa3c6 Update SQLcipher to 4.0.0 2018-12-14 14:10:21 -08:00
Edouard Oger 88dc09a0de Run Rust tests on CircleCI 2018-12-11 21:00:07 -05:00
Nick Alexander 2f80134492 Produce libs/ and build `forUnitTests` artifacts for win32-x86-64 in automation.
This makes the `forUnitTests` artifacts include a .dll for
Windows (JNA's win32-x86-64) to go with the .so for Linux (JNA's
linux-x86-64) and macOS (JNA's darwin).

This uses the MingW 64-bit toolchain (i.e., the Rust target
x86_64-pc-windows-gnu) for libs/ and therefore requires it for
producing the DLL for unit testing against as well.  That's
unfortunate because local developers are probably happier building
against MSVC; but it's hard to ship libs/ for _static_ use against
MSVC out of our (Linux Docker-based) automation.

After installing MingW 64 on my Windows laptop, this works fine locally.
2018-11-28 14:20:01 -08:00
Nick Alexander df24f2c454 [automation] Put Android libs into directories like libs/android/{x86,arm64-v8a,armeabi-v7a}. 2018-11-27 15:15:44 -08:00
Nick Alexander 26001fc8f1 Use OpenSSL 1.0.2p. Fixes #193. 2018-11-16 15:14:10 -08:00
Nick Alexander 4299b40855 [automation] Cross compile libs from host Linux to target macOS.
This does a bunch of things:

- cross compiles OpenSSL and SQLcipher from host Linux to target macOS
- enables running the `testDebug` targets for the library projects
-- this runs the existing tests for logins against a real SQLcipher DB \o/

The `.a` files are not yet packaged for consumption by local builders;
that'll come next.
2018-11-01 20:40:29 -07:00
Nick Alexander 4b4951ed0d [automation] Pre: Allow building Desktop libs on Linux.
This also addresses a duplicate definition of SQLcipher's temp store.
We want "always" on Android and "yes" on Linux, which is what Firefox
for Android sets.
2018-10-30 16:41:20 -07:00
Thom Chiovoloni 49a4f107f3 Pre: Set SQLCIPHER_CFLAGS consistently on desktop/android, and set it's default pagesize 2018-10-17 18:11:34 -07:00
Nick Alexander a20afc62b6 [automation/fxa client] Part 4: Build FxA client AAR rather than ZIP. 2018-09-19 11:09:48 -07:00
Thom Chiovoloni fb985a1736 Pre: Build sqlcipher as part of `./build-all.sh desktop` 2018-09-19 10:35:24 -07:00
Edouard Oger 9a2a57d2f1 Provide a helper script to set-up android toolchains (#182) 2018-08-20 10:17:35 -07:00
Thom 83c4e28be2
Patch FxA soname (fixes #174) (#175) 2018-08-10 16:06:29 -04:00
Thom 7d4329d7ab
Set Make parallelism when building openssl/sqlcipher (#171) 2018-08-09 20:30:19 -04:00
Nick Alexander ab293349d8
[fxa-client] Statically link OpenSSL into `libfxa_client.so`. (Fixes #172) (#173) r=@eoger
This reduces the set of artifacts and will require changes in the
`android-components` repository.

SQLcipher is still built (statically), but it's not exposed as a Task
Cluster artifact.  When we get to shipping the Logins API, we'll use
`libsqlcipher.a` (statically, like we do `lib{crypto,ssl}.a`.
2018-08-09 16:49:02 -07:00
Nick Alexander 85a266775e
Build SQLcipher for Android in automation. (#148) r=eoger
SQLcipher depends on OpenSSL, so it's not worth much effort to try to
separate them.
2018-08-03 16:26:45 -07:00
Nick Alexander ac7e7fb4ae
Build FxA Rust client in pull requests. (#141) r=eoger
There are a number of changes here.  The most obvious is that we run a
decision task and build a taskgraph for PRs now.  But internally, many
things are ready to generalize to non-FxA Rust Client projects.  The
NDK and Rust toolchains are built into a Docker image (with a very
verbose name!) that is shared with Mentat.  It's nice!  The standalone
toolchains are installed in that image.  The image sets:

ANDROID_NDK_HOME=/build/android-ndk
ANDROID_NDK_API_VERSION=26
ANDROID_NDK_TOOLCHAIN_DIR=/build/android-ndk-toolchain

In $ANDROID_NDK_TOOLCHAIN_DIR the toolchains are named like
$ARCH-$ANDROID_NDK_API_VERSION; this allows to cache multiple versions
of the toolchain (if needed).  So we have, say

/build/android-ndk-toolchain/arm-26
/build/android-ndk-toolchain/arm64-26
/build/android-ndk-toolchain/x86-26

This configuration is what the `rust-android-gradle` plugin expects.
That plugin will be used for the Android Logins API in this repository.

The Dockerfile is in the Mentat repository right now, but I expect it
to migrate to application-services (or even android-components)
eventually.
2018-08-03 16:25:10 -07:00
Edouard Oger fc75924664 Remove cjose/jansson build 2018-07-11 15:07:07 -04:00
Edouard Oger 056d41acd9 Make openssl libraries writable after build 2018-06-27 19:22:06 -04:00
Edouard Oger 16eb3cb98d
Taskcluster Android build (#72) 2018-06-07 14:54:11 -04:00
Edouard Oger 0554b082b6 Skip library builds if folders present 2018-06-03 16:49:18 -04:00
Edouard Oger bc520942b9 Fix build-all-desktop.sh usage 2018-05-29 17:30:13 -04:00
Edouard Oger 23e289693f
Add desktop library builds (#63) 2018-05-28 14:44:34 -04:00
Vlad Filippov 63ce679f23
Add libs README 2018-05-25 16:57:59 -04:00
Edouard Oger 29a1b675a7
Unify lib dependencies build scripts (#61) 2018-05-25 16:39:00 -04:00
Edouard Oger b5add47410 Build dependant libraries for Android (#60) 2018-05-25 13:20:35 -04:00
Edouard Oger bb87a06aba Don't rebuild libs if already present 2018-05-15 13:47:12 -04:00
Edouard Oger 2705350a0c Add build scripts for cjose, jansson and openssl 2018-05-10 13:46:41 -04:00