From 0c8ec9c325beaaaf356286ce3fe0d995a2c38fb6 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 29 Jun 2012 00:51:13 +0900 Subject: [PATCH] Merged Android build scripts --- android-config | 64 +++++++++++++++++++++++++++++++++++++ android-make | 41 ++++++++++++++++++++++++ src/OptionHandlerFactory.cc | 4 +++ 3 files changed, 109 insertions(+) create mode 100755 android-config create mode 100755 android-make diff --git a/android-config b/android-config new file mode 100755 index 00000000..c8f38f30 --- /dev/null +++ b/android-config @@ -0,0 +1,64 @@ +#!/bin/sh + +# aria2 - The high speed download utility +# +# Copyright (C) 2012 Tatsuhiro Tsujikawa +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. + +if [ -z "$ANDROID_HOME" ]; then + echo 'No $ANDROID_HOME specified.' + exit 1 +fi +PREFIX=$ANDROID_HOME/usr/local +TOOLCHAIN=$ANDROID_HOME/toolchain +PATH=$TOOLCHAIN/bin:$PATH + +./configure \ + --host=arm-linux-androideabi \ + --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \ + --disable-nls \ + --without-gnutls \ + --with-openssl --with-openssl-prefix=$PREFIX \ + --without-sqlite3 \ + --without-libxml2 \ + --with-libexpat --with-libexpat-prefix=$PREFIX \ + --with-libcares --with-libcares-prefix=$PREFIX \ + --with-libz --with-libz-prefix=$PREFIX \ + CXXFLAGS="-Os -g" \ + CFLAGS="-Os -g" \ + LIBS="-lstdc++ -lsupc++" \ + LDFLAGS="-L$PREFIX/lib" \ + PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig" \ + ZLIB_LIBS="-lz" \ + ZLIB_CFLAGS="-I$TOOLCHAIN/sysroot/usr/include" + +# ZLIB_LIBS and ZLIB_CFLAGS are needed because aria2 configure script +# checks zlib availability using pkg-config, but android toochain does +# not provide pkg-config file. We need to specify these variables +# manually. diff --git a/android-make b/android-make new file mode 100755 index 00000000..249fc2c6 --- /dev/null +++ b/android-make @@ -0,0 +1,41 @@ +#!/bin/sh + +# aria2 - The high speed download utility +# +# Copyright (C) 2012 Tatsuhiro Tsujikawa +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the +# OpenSSL library under certain conditions as described in each +# individual source file, and distribute linked combinations +# including the two. +# You must obey the GNU General Public License in all respects +# for all of the code used other than OpenSSL. If you modify +# file(s) with this exception, you may extend this exception to your +# version of the file(s), but you are not obligated to do so. If you +# do not wish to do so, delete this exception statement from your +# version. If you delete this exception statement from all source +# files in the program, then also delete it here. + +if [ -z "$ANDROID_HOME" ]; then + echo 'No $ANDROID_HOME specified.' + exit 1 +fi +TOOLCHAIN=$ANDROID_HOME/toolchain +PATH=$TOOLCHAIN/bin:$PATH + +make "$@" diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc index 7c12e608..571113ea 100644 --- a/src/OptionHandlerFactory.cc +++ b/src/OptionHandlerFactory.cc @@ -94,7 +94,11 @@ OptionHandlerFactory::createOptionHandlers() SharedHandle op(new BooleanOptionHandler (PREF_ASYNC_DNS, TEXT_ASYNC_DNS, +#if defined(__ANDROID__) || defined(ANDROID) + A2_V_FALSE, +#else // !__ANDROID__ && !ANDROID A2_V_TRUE, +#endif // !__ANDROID__ && !ANDROID OptionHandler::OPT_ARG)); op->addTag(TAG_ADVANCED); op->setInitialOption(true);