Apple has released a CrashWrangler update due to the recent changes in the
CrashReporter frameworks. Use the latest version when compiling under 10.13
(High SIerra).
Signed-off-by: Anestis Bechtsoudis <[email protected]>
All CPU targets have matching names expect arm64 (vs aarch64). Create
a softlink for this case so that we don't need create more target naming
conventions in makefiles.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
When user clones repo without submodules, by default most
git versions appear to create just an empty directory for them. As
such just checking if directory present to init submodules is not
enough. Checks have been upgraded to use the present of
projects .git dir as an indicator for missing submodule initialization.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
If repo was cloned with recursive submodule fetch, the client
hooks were not registered from build scripts. As such split
the missing submodule update from client hooks register
logic.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
Each build script is dealing with a separate submodule. As
such don't recursively fetch them all in one step, since not
all client hooks will be registered.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
If user updates dep submodules (capstone, libunwind)
although forgets to make a clean build, old .a files persist
the update resulting into an invalid setup. Avoid such case
by registering post-checkout git hooks for the two submodules.
As soon as the submodules are updated the client git hooks
ensure the previous .a files will be deleted forcing the user to
rebuild with new source code version.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
We're applying a set of patches to upstream libunwind to be
compatible with some Android specific internals. We want the
repo to be left in a clean state to accept future submodule
updates without requiring user manual steps. As such after
static library for selected CPU is built, reset local applied
changes.
Output .a files persist across git reset so users can have them
available across different CPU target builds.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
Capstone was providing some basic automation to build
arm & arm64 targets, although selected toolchains are not
compatible with NDK r12 & r13. Apply cross-compilation
toolchain selection manually for all targets.
Signed-off-by: Anestis Bechtsoudis <[email protected]>
Fetch upstream AOSP source-code as 3rd-party
dependency and compile as static lib. Treat arch
in compile script with same patterns as other android
dependencies (capstone, libunwind, etc.)
Signed-off-by: Anestis Bechtsoudis <[email protected]>
libunwind imports have to be re-ordered to pick the correct
"_Ux86_64_setcontext" definition. Small typo fixes too.
Signed-off-by: Anestis Bechtsoudis <[email protected]>