b7a7e46fdd
The CC and CXX environmental variables cannot be set to the cross compiler, meson expects them to point to the native compiler and the build fails when meson tries to execute binaries compiled with CC and CXX, as part of the configure tests (sanitycheckc.exe fails to run). Unsetting CC and CXX means that clang and clang++ from the frida sdk is used instead of the ones from the android-ndk. This is probably fine for our purposes (and could otherwise be changed by patching releng/setup-env.sh).
173 lines
11 KiB
Diff
173 lines
11 KiB
Diff
--- ./Makefile.linux.mk.orig 2020-07-22 19:15:43.163995037 +0000
|
|
+++ ./Makefile.linux.mk 2020-07-22 19:19:19.060924976 +0000
|
|
@@ -241,6 +241,10 @@
|
|
--prefix $(FRIDA)/build/frida-android-arm \
|
|
--libdir $(FRIDA)/build/frida-android-arm/lib \
|
|
$(frida_core_flags) \
|
|
+ -Dhelper32=$(FRIDA)/build/tmp-android-x86/frida-core/src/frida-helper \
|
|
+ -Dhelper64=$(FRIDA)/build/tmp-android-x86_64/frida-core/src/frida-helper \
|
|
+ -Dagent32=$(FRIDA)/build/tmp-android-x86/frida-core/lib/agent/frida-agent.so \
|
|
+ -Dagent64=$(FRIDA)/build/tmp-android-x86_64/frida-core/lib/agent/frida-agent.so \
|
|
frida-core $$builddir || exit 1; \
|
|
fi
|
|
@touch $@
|
|
@@ -269,6 +273,10 @@
|
|
--prefix $(FRIDA)/build/frida_thin-$* \
|
|
--libdir $(FRIDA)/build/frida_thin-$*/lib \
|
|
$(frida_core_flags) \
|
|
+ -Dhelper32=$(FRIDA)/build/tmp-android-arm/frida-core/src/frida-helper \
|
|
+ -Dhelper64=$(FRIDA)/build/tmp-android-arm64/frida-core/src/frida-helper \
|
|
+ -Dagent32=$(FRIDA)/build/tmp-android-arm/frida-core/lib/agent/frida-agent.so \
|
|
+ -Dagent64=$(FRIDA)/build/tmp-android-arm64/frida-core/lib/agent/frida-agent.so \
|
|
frida-core $$builddir || exit 1; \
|
|
fi
|
|
@touch $@
|
|
@@ -326,6 +334,10 @@
|
|
python-linux-x86-thin: build/tmp_thin-linux-x86/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/x86 without cross-arch support
|
|
python-linux-x86_64-thin: build/tmp_thin-linux-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/x86-64 without cross-arch support
|
|
python-linux-arm64: build/tmp_thin-linux-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/ARM64
|
|
+python-android-x86: build/tmp-android-x86/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/x86
|
|
+python-android-x86_64: build/tmp-android-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/x86_64
|
|
+python-android-arm: build/tmp-android-arm/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/ARM
|
|
+python-android-arm64: build/tmp-android-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/ARM64
|
|
|
|
define make-python-rule
|
|
build/$2-%/frida-$$(PYTHON_NAME)/.frida-stamp: build/.frida-python-submodule-stamp build/$1-%/lib/pkgconfig/frida-core-1.0.pc
|
|
@@ -336,8 +348,8 @@
|
|
--cross-file build/$1-$$*.txt \
|
|
--prefix $$(FRIDA)/build/$1-$$* \
|
|
--libdir $$(FRIDA)/build/$1-$$*/lib \
|
|
- -Dpython=$$(PYTHON) \
|
|
- -Dpython_incdir=$$(PYTHON_INCDIR) \
|
|
+ -Dpython=/usr/bin/python3.8 \
|
|
+ -Dpython_incdir=@TERMUX_PREFIX@/include/python3.8 \
|
|
frida-python $$$$builddir || exit 1; \
|
|
fi; \
|
|
$$(NINJA) -C $$$$builddir install || exit 1
|
|
@@ -366,13 +378,32 @@
|
|
export PYTHONPATH="$(shell pwd)/build/frida_thin-linux-arm64/lib/$(PYTHON_NAME)/site-packages" \
|
|
&& cd frida-python \
|
|
&& ${PYTHON} -m unittest discover
|
|
-
|
|
+check-python-android-x86: build/tmp_thin-android-x86/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/x86
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-python \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-python-android-x86_64: build/tmp_thin-android-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/x86_64
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86_64/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-python \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-python-android-arm: build/tmp_thin-android-arm/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/ARM
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-python \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-python-android-arm64: build/tmp_thin-android-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/ARM64
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm64/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-python \
|
|
+ && ${PYTHON} -m unittest discover
|
|
|
|
node-linux-x86: build/frida-linux-x86/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86
|
|
node-linux-x86_64: build/frida-linux-x86_64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86-64
|
|
node-linux-x86-thin: build/frida_thin-linux-x86/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86 without cross-arch support
|
|
node-linux-x86_64-thin: build/frida_thin-linux-x86_64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86-64 without cross-arch support
|
|
node-linux-arm64: build/frida_thin-linux-arm64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/ARM64
|
|
+node-android-x86: build/frida_thin-android-x86/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/x86
|
|
+node-android-x86_64: build/frida_thin-android-x86_64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/x86_64
|
|
+node-android-arm: build/frida_thin-android-arm/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/ARM
|
|
+node-android-arm64: build/frida_thin-android-arm64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/ARM64
|
|
|
|
define make-node-rule
|
|
build/$1-%/lib/node_modules/frida: build/$1-%/lib/pkgconfig/frida-core-1.0.pc build/.frida-node-submodule-stamp
|
|
@@ -417,6 +448,14 @@
|
|
$(call run-node-tests,frida_thin-linux-x86_64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
check-node-linux-arm64: node-linux-arm64 ##@node Test Node.js bindings for Linux/ARM64
|
|
$(call run-node-tests,frida_thin-linux-arm64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
+check-node-android-x86: node-android-x86 ##@node Test Node.js bindings for Android/x86
|
|
+ $(call run-node-tests,frida_thin-android-x86,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
+check-node-android-x86_64: node-android-x86_64 ##@node Test Node.js bindings for Android/x86_64
|
|
+ $(call run-node-tests,frida_thin-android-x86_64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
+check-node-android-arm: node-android-arm ##@node Test Node.js bindings for Android/ARM
|
|
+ $(call run-node-tests,frida_thin-android-arm,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
+check-node-android-arm64: node-android-arm64 ##@node Test Node.js bindings for Android/ARM64
|
|
+ $(call run-node-tests,frida_thin-android-arm64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM))
|
|
|
|
|
|
tools-linux-x86: build/tmp-linux-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/x86
|
|
@@ -424,6 +463,10 @@
|
|
tools-linux-x86-thin: build/tmp_thin-linux-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/x86 without cross-arch support
|
|
tools-linux-x86_64-thin: build/tmp_thin-linux-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/x86-64 without cross-arch support
|
|
tools-linux-arm64: build/tmp_thin-linux-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/ARM64
|
|
+tools-android-x86: build/tmp-android-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/x86
|
|
+tools-android-x86_64: build/tmp-android-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/x86_64
|
|
+tools-android-arm: build/tmp-android-arm/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/ARM
|
|
+tools-android-arm64: build/tmp-android-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/ARM64
|
|
|
|
define make-tools-rule
|
|
build/$2-%/frida-tools-$$(PYTHON_NAME)/.frida-stamp: build/.frida-tools-submodule-stamp build/$2-%/frida-$$(PYTHON_NAME)/.frida-stamp
|
|
@@ -463,6 +506,23 @@
|
|
export PYTHONPATH="$(shell pwd)/build/frida_thin-linux-arm64/lib/$(PYTHON_NAME)/site-packages" \
|
|
&& cd frida-tools \
|
|
&& ${PYTHON} -m unittest discover
|
|
+check-tools-android-x86: build/tmp_thin-android-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/x86
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-tools \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-tools-android-x86_64: build/tmp_thin-android-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/x86_64
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86_64/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-tools \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-tools-android-arm: build/tmp_thin-android-arm/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/ARM
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-tools \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+check-tools-android-arm64: build/tmp_thin-android-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/ARM64
|
|
+ export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm64/lib/$(PYTHON_NAME)/site-packages" \
|
|
+ && cd frida-tools \
|
|
+ && ${PYTHON} -m unittest discover
|
|
+
|
|
|
|
|
|
.PHONY: \
|
|
@@ -492,27 +552,41 @@
|
|
check-core-linux-x86 check-core-linux-x86_64 \
|
|
check-core-linux-x86-thin check-core-linux-x86_64-thin \
|
|
check-core-linux-arm64 \
|
|
+ check-core-android-x86 check-core-android-x86_64 \
|
|
+ check-core-android-arm check-core-android-arm64 \
|
|
frida-core-update-submodule-stamp \
|
|
python-linux-x86 python-linux-x86_64 \
|
|
python-linux-x86-thin python-linux-x86_64-thin \
|
|
python-linux-arm64 \
|
|
+ python-android-x86 python-android-x86_64 \
|
|
+ python-android-arm python-android-arm64 \
|
|
check-python-linux-x86 check-python-linux-x86_64 \
|
|
check-python-linux-x86-thin check-python-linux-x86_64-thin \
|
|
check-python-linux-arm64 \
|
|
+ check-python-android-x86 check-python-android-x86_64 \
|
|
+ check-python-android-arm check-python-android-arm64 \
|
|
frida-python-update-submodule-stamp \
|
|
node-linux-x86 node-linux-x86_64 \
|
|
node-linux-x86-thin node-linux-x86_64-thin \
|
|
node-linux-arm64 \
|
|
+ node-android-x86 node-android-x86_64 \
|
|
+ node-android-arm node-android-arm64 \
|
|
check-node-linux-x86 check-node-linux-x86_64 \
|
|
check-node-linux-x86-thin check-node-linux-x86_64-thin \
|
|
check-node-linux-arm64 \
|
|
+ check-node-android-x86 check-node-android-x86_64 \
|
|
+ check-node-android-arm check-node-android-arm64 \
|
|
frida-node-update-submodule-stamp \
|
|
tools-linux-x86 tools-linux-x86_64 \
|
|
tools-linux-x86-thin tools-linux-x86_64-thin \
|
|
tools-linux-arm64 \
|
|
+ tools-android-x86 tools-android-x86_64 \
|
|
+ tools-android-arm tools-android-arm64 \
|
|
check-tools-linux-x86 check-tools-linux-x86_64 \
|
|
check-tools-linux-x86-thin check-tools-linux-x86_64-thin \
|
|
check-tools-linux-arm64 \
|
|
+ check-tools-android-x86 check-tools-android-x86_64 \
|
|
+ check-tools-android-arm check-tools-android-arm64 \
|
|
frida-tools-update-submodule-stamp \
|
|
glib glib-symlinks \
|
|
v8 v8-symlinks
|