Ver Fonte

Merged Android build scripts

Tatsuhiro Tsujikawa há 13 anos atrás
pai
commit
0c8ec9c325
3 ficheiros alterados com 109 adições e 0 exclusões
  1. 64 0
      android-config
  2. 41 0
      android-make
  3. 4 0
      src/OptionHandlerFactory.cc

+ 64 - 0
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.

+ 41 - 0
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 "$@"

+ 4 - 0
src/OptionHandlerFactory.cc

@@ -94,7 +94,11 @@ OptionHandlerFactory::createOptionHandlers()
     SharedHandle<OptionHandler> 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);