diff options
author | Glenn Watson <gw@intuitionlibrary.com> | 2014-12-08 13:40:23 +1000 |
---|---|---|
committer | Glenn Watson <gw@intuitionlibrary.com> | 2014-12-09 08:20:36 +1000 |
commit | 030dab553e6ae37e2ef2cda8c897b9555d967d5d (patch) | |
tree | 82d1217ccc99793cf6897103068628a3c73c6a9f | |
parent | feabaf34acfc41c0976acdff5e4df15a135d1b09 (diff) | |
download | servo-030dab553e6ae37e2ef2cda8c897b9555d967d5d.tar.gz servo-030dab553e6ae37e2ef2cda8c897b9555d967d5d.zip |
Use mach to build openssl on android instead of glut makefile.
The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.
-rw-r--r-- | ports/android/Makefile | 15 | ||||
-rw-r--r-- | python/servo/build_commands.py | 12 | ||||
-rw-r--r-- | python/servo/command_base.py | 3 | ||||
-rw-r--r-- | support/android/.gitignore | 3 | ||||
-rw-r--r-- | support/android/openssl.makefile | 13 | ||||
-rwxr-xr-x[-rw-r--r--] | support/android/openssl.sh (renamed from ports/android/openssl.sh) | 2 |
6 files changed, 32 insertions, 16 deletions
diff --git a/ports/android/Makefile b/ports/android/Makefile index 98d4c3528f1..b99354e98cb 100644 --- a/ports/android/Makefile +++ b/ports/android/Makefile @@ -18,21 +18,10 @@ all: glut_app ant debug .PHONY: glut_app -glut_app: openssl +glut_app: cd glut_app; \ - OPENSSL_PATH=`pwd`/../openssl-1.0.1j ../../../mach cargo build --target=arm-linux-androideabi $(CARGO_OPTS) + ../../../mach cargo build --target=arm-linux-androideabi $(CARGO_OPTS) .PHONY: install install: $(ANDROID_SDK)/platform-tools/adb install -r bin/ServoAndroid-debug.apk - -# From http://wiki.openssl.org/index.php/Android -.PHONY: openssl -openssl: openssl-1.0.1j/libssl.so - -openssl-1.0.1j/libssl.so: openssl-1.0.1j/Configure - bash openssl.sh ${ANDROID_NDK} - -openssl-1.0.1j/Configure: - wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz - tar -zxvf openssl-1.0.1j.tar.gz diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 11b2fdd08e5..e3e41ca38e2 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -63,17 +63,25 @@ class MachCommands(CommandBase): opts += ["--features", "%s" % ' '.join(features)] build_start = time() + env = self.build_env() if android: + # Build OpenSSL for android + with cd(self.android_support_dir()): + status = subprocess.call( + ["make", "-j4", "-f", "openssl.makefile"], + env=self.build_env()) + env['OPENSSL_PATH'] = path.join(self.android_support_dir(), "openssl-1.0.1j") + make_opts = [] if opts: make_opts += ["CARGO_OPTS=" + " ".join(opts)] status = subprocess.call( ["make", "-C", "ports/android"] + make_opts, - env=self.build_env()) + env=env) else: status = subprocess.call( ["cargo", "build"] + opts, - env=self.build_env(), cwd=self.servo_crate()) + env=env, cwd=self.servo_crate()) elapsed = time() - build_start print("Build completed in %0.2fs" % elapsed) diff --git a/python/servo/command_base.py b/python/servo/command_base.py index a34104b734e..2af5fcd63c1 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -145,6 +145,9 @@ class CommandBase(object): def servo_crate(self): return path.join(self.context.topdir, "components", "servo") + def android_support_dir(self): + return path.join(self.context.topdir, "support", "android") + def ensure_bootstrapped(self): if self.context.bootstrapped: return diff --git a/support/android/.gitignore b/support/android/.gitignore new file mode 100644 index 00000000000..1d0971b22e9 --- /dev/null +++ b/support/android/.gitignore @@ -0,0 +1,3 @@ +openssl-1.0.1j/ +openssl-1.0.1j.tar.gz + diff --git a/support/android/openssl.makefile b/support/android/openssl.makefile new file mode 100644 index 00000000000..081bafb1afb --- /dev/null +++ b/support/android/openssl.makefile @@ -0,0 +1,13 @@ +.PHONY: all +all: openssl + +# From http://wiki.openssl.org/index.php/Android +.PHONY: openssl +openssl: openssl-1.0.1j/libssl.so + +openssl-1.0.1j/libssl.so: openssl-1.0.1j/Configure + ./openssl.sh ${ANDROID_NDK} + +openssl-1.0.1j/Configure: + wget https://www.openssl.org/source/openssl-1.0.1j.tar.gz + tar -zxf openssl-1.0.1j.tar.gz diff --git a/ports/android/openssl.sh b/support/android/openssl.sh index 154a7dcf75d..201503ea451 100644..100755 --- a/ports/android/openssl.sh +++ b/support/android/openssl.sh @@ -185,4 +185,4 @@ cd openssl-1.0.1j perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org ./config shared -no-ssl2 -no-ssl3 -no-comp -no-hw -no-engine --openssldir=/usr/local/ssl/$ANDROID_API make depend -make all
\ No newline at end of file +make all |