auto merge of #4292 : glennw/servo/android-ssl, r=mbrubeck

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.
This commit is contained in:
bors-servo 2014-12-08 17:54:57 -07:00
commit 2741fd2e13
6 changed files with 32 additions and 16 deletions

View file

@ -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

View file

@ -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)

View file

@ -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

3
support/android/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
openssl-1.0.1j/
openssl-1.0.1j.tar.gz

View file

@ -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

View file

@ -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
make all