Skip to content

Instantly share code, notes, and snippets.

@rasa
Last active December 21, 2015 15:19
Show Gist options
  • Save rasa/6326103 to your computer and use it in GitHub Desktop.
Save rasa/6326103 to your computer and use it in GitHub Desktop.
Build win32 aria2c using: --without-sqlite3 --without-libxml2 --without-libexpat --disable-bittorrent --disable-metalink --without-libgcrypt --without-libnettle
#!/bin/bash
set -x
set -e
test -z "$HOST" && HOST=i686-w64-mingw32
test -z "$PREFIX" && PREFIX=/usr/local/$HOST
OPENSSL_URL=http://www.openssl.org/source/openssl-1.0.1f.tar.gz
SQLITE_URL=http://www.sqlite.org/2014/sqlite-autoconf-3080301.tar.gz
CARES_URL=http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
ZLIB_URL=http://zlib.net/zlib-1.2.8.tar.gz
# see http://sourceforge.net/projects/expat/files/expat/
EXPAT_URL=http://hivelocity.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
OPENSSL_GZ=$(basename $OPENSSL_URL)
SQLITE_GZ=$(basename $SQLITE_URL)
CARES_GZ=$(basename $CARES_URL)
ZLIB_GZ=$(basename $ZLIB_URL)
EXPAT_GZ=$(basename $EXPAT_URL)
OPENSSL_DIR=$(basename $OPENSSL_GZ .tar.gz)
SQLITE_DIR=$(basename $SQLITE_GZ .tar.gz)
CARES_DIR=$(basename $CARES_GZ .tar.gz)
ZLIB_DIR=$(basename $ZLIB_GZ .tar.gz)
EXPAT_DIR=$(basename $EXPAT_GZ .tar.gz)
rm -fr $OPENSSL_DIR
rm -fr $SQLITE_DIR
rm -fr $CARES_DIR
rm -fr $ZLIB_DIR
rm -fr $EXPAT_DIR
test -f $OPENSSL_GZ ||
wget $OPENSSL_URL
test -f $SQLITE_GZ ||
wget $SQLITE_URL
test -f $CARES_GZ ||
wget $CARES_URL
test -f $ZLIB_GZ ||
wget $ZLIB_URL
test -f $EXPAT_GZ ||
wget $EXPAT_URL
tar xvf $OPENSSL_GZ
pushd openssl*
./Configure --cross-compile-prefix=$HOST- --prefix=/usr/local/$HOST mingw
make
sudo make install
popd
tar xvf $SQLITE_GZ
pushd sqlite*
./configure \
--disable-shared \
--enable-static \
--prefix=/usr/local/$HOST \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE`
make
sudo make install
popd
tar xvf $CARES_GZ
pushd c-ares*
./configure \
--disable-shared \
--enable-static \
--without-random \
--prefix=/usr/local/$HOST \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
LIBS="-lws2_32"
make
sudo make install
popd
tar xvf $ZLIB_GZ
pushd zlib*
CC=$HOST-gcc \
AR=$HOST-ar \
LD=$HOST-ld \
RANLIB=$HOST-ranlib \
STRIP=$HOST-strip \
./configure \
--prefix=/usr/local/$HOST \
--libdir=/usr/local/$HOST/lib \
--includedir=/usr/local/$HOST/include \
--static
make
sudo make install
popd
tar xvf $EXPAT_GZ
pushd expat*
./configure \
--disable-shared \
--enable-static \
--prefix=/usr/local/$HOST \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE`
make
sudo make install
popd
./configure \
--host=$HOST \
--prefix=$PREFIX \
--without-included-gettext \
--disable-nls \
--with-libcares \
--without-gnutls \
--with-openssl \
--without-sqlite3 \
--without-libxml2 \
--without-libexpat \
--with-libz \
--with-cppunit-prefix=$PREFIX \
--disable-bittorrent \
--disable-metalink \
--enable-threads=win32 \
--without-libgcrypt \
--without-libnettle \
ARIA2_STATIC=yes \
CFLAGS="-Os" \
CXXFLAGS="-Os" \
CPPFLAGS="-Os -I$PREFIX/include" \
LDFLAGS="-L$PREFIX/lib" \
PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig"
make clean
make
cp -p src/aria2c.exe src/aria2c-unstripped.exe
strip src/aria2c.exe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment