Skip to content

Commit

Permalink
Add build-scripts and certs
Browse files Browse the repository at this point in the history
  • Loading branch information
xzl2021 authored Aug 27, 2017
1 parent 695ab4d commit 3d374b5
Show file tree
Hide file tree
Showing 12 changed files with 5,250 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
#!/bin/bash

# In this configuration, the following dependent libraries are compiled:
#
# * zlib
# * c-ares
# * expat
# * sqlite3
# * openSSL
# * libssh2

#CHECK TOOL FOR DOWNLOAD
aria2c --help > /dev/null
if [ "$?" -eq 0 ] ; then
DOWNLOADER="aria2c --check-certificate=false"
else
DOWNLOADER="wget -c"
fi

## DEPENDENCES ##
ZLIB=http://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
OPENSSL=http://www.openssl.org/source/openssl-1.0.2k.tar.gz
EXPAT=https://sourceforge.net/projects/expat/files/expat/2.2.0/expat-2.2.0.tar.bz2
SQLITE3=http://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz
C_ARES=http://c-ares.haxx.se/download/c-ares-1.12.0.tar.gz
SSH2=https://www.libssh2.org/download/libssh2-1.7.0.tar.gz

## CONFIG ##
ARCH="armhf"
HOST="arm-linux-gnueabihf"
PREFIX="/opt/aria2-arm-rbpi/build_libs"
LOCAL_DIR="/opt/aria2-arm-rbpi/build_libs"

TOOL_BIN_DIR="/opt/aria2-arm-rbpi/tools/arm-bcm2708/gcc-linaro-$HOST-raspbian/bin"
PATH=${TOOL_BIN_DIR}:$PATH

CFLAGS="-march=armv7-a -mtune=cortex-a9"
DEST="/opt/aria2-arm-rbpi/build_libs"
CC=$HOST-gcc
CXX=$HOST-g++
LDFLAGS="-L$DEST/lib"
CPPFLAGS="-I$DEST/include"
CXXFLAGS=$CFLAGS
MAKE="make -j`nproc`"
CONFIGURE="./configure --prefix=${LOCAL_DIR} --host=$HOST"
BUILD_DIRECTORY=/tmp/

## BUILD ##
cd $BUILD_DIRECTORY
#
# zlib build
$DOWNLOADER $ZLIB
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc STRIP=$HOST-strip RANLIB=$HOST-ranlib CXX=$HOST-g++ AR=$HOST-ar LD=$HOST-ld ./configure --prefix=$PREFIX --static
make
make install
#
# expat build
cd ..
$DOWNLOADER $EXPAT
tar jxvf expat-2.2.0.tar.bz2
cd expat-2.2.0/
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc CXX=$HOST-g++ ./configure --host=$HOST --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
#
# c-ares build
cd ..
$DOWNLOADER $C_ARES
tar zxvf c-ares-1.12.0.tar.gz
cd c-ares-1.12.0/
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc CXX=$HOST-g++ ./configure --host=$HOST --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` --prefix=$PREFIX --enable-static --disable-shared
make
make install
#
# Openssl build
cd ..
$DOWNLOADER $OPENSSL
tar zxvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k/
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc CXX=$HOST-g++ ./Configure linux-armv4 $CFLAGS --prefix=$PREFIX shared zlib zlib-dynamic -D_GNU_SOURCE -D_BSD_SOURCE --with-zlib-lib=$LOCAL_DIR/lib --with-zlib-include=$LOCAL_DIR/include
make CC=$CC
make CC=$CC install INSTALLTOP=$DEST OPENSSLDIR=$DEST/ssl
#
# sqlite3
cd ..
$DOWNLOADER $SQLITE3
tar zxvf sqlite-autoconf-3180000.tar.gz
cd sqlite-autoconf-3180000/
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc CXX=$HOST-g++ ./configure --host=$HOST --prefix=$PREFIX --enable-static --enable-shared --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE`
make
make install
#
# libssh2
cd ..
$DOWNLOADER $SSH2
tar zxvf libssh2-1.7.0.tar.gz
cd libssh2-1.7.0/
rm -rf $PREFIX/lib/pkgconfig/libssh2.pc
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC=$HOST-gcc CXX=$HOST-g++ AR=$HOST-ar RANLIB=$HOST-ranlib ./configure --host=$HOST --without-libgcrypt --with-openssl --without-wincng --prefix=$PREFIX --enable-static --disable-shared
make
make install
#
#cleaning
cd ..
rm -rf c-ares*
rm -rf sqlite-autoconf*
rm -rf zlib-*
rm -rf expat-*
rm -rf openssl-*
rm -rf libssh2-*
#
echo "finished!"
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/bin/bash

# In this configuration, the following dependent libraries are used:
#
# * zlib
# * c-ares
# * expat
# * sqlite3
# * openSSL
# * libssh2

## CONFIG ##
ARCH="armhf"
HOST="arm-linux-gnueabihf"
PREFIX="/opt/aria2-arm-rbpi"
LOCAL_DIR="/opt/aria2-arm-rbpi/build_libs"

TOOL_BIN_DIR="/opt/aria2-arm-rbpi/tools/arm-bcm2708/gcc-linaro-$HOST-raspbian/bin"
PATH=${TOOL_BIN_DIR}:$PATH

CFLAGS="-march=armv7-a -mtune=cortex-a9"
DEST="/opt/aria2-arm-rbpi/build_libs"
CC=$HOST-gcc
CXX=$HOST-g++
LDFLAGS="-L$DEST/lib"
CPPFLAGS="-I$DEST/include"
CXXFLAGS=$CFLAGS
MAKE="make -j`nproc`"
CONFIGURE="./configure --prefix=${LOCAL_DIR} --host=$HOST"

./configure \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--prefix=$PREFIX \
--disable-nls \
--without-gnutls \
--with-openssl \
--without-libxml2 \
--with-libz --with-libz-prefix=${LOCAL_DIR} \
--with-libexpat --with-libexpat-prefix=${LOCAL_DIR} \
--with-slite3 --with-sqlite3-prefix=${LOCAL_DIR} \
--with-libcares --with-libcares-prefix=${LOCAL_DIR} \
--with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' \
LDFLAGS="-L$LOCAL_DIR/lib" \
PKG_CONFIG_PATH="$LOCAL_DIR/lib/pkgconfig" \
ARIA2_STATIC=yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

#IMPORTANT: Require install make binutils autoconf automake autotools-dev
# libtool pkg-config git curl dpkg-dev autopoint libcppunit-dev
# libxml2-dev libgcrypt11-dev lzip wget unzip

#COMPILER AND PATH
PREFIX=/opt/aria2-i386/build_libs
C_COMPILER="gcc"
CXX_COMPILER="g++"

#CHECK TOOL FOR DOWNLOAD
aria2c --help > /dev/null
if [ "$?" -eq 0 ] ; then
DOWNLOADER="aria2c --check-certificate=false -o tools-master.zip"
else
DOWNLOADER="wget -c -O tools-master.zip"
fi

#BUILD TOOLS FOR RASPBERRY

mkdir -p /opt/aria2-arm-rbpi/tools
cd /tmp/
$DOWNLOADER https://codeload.github.com/raspberrypi/tools/zip/master
unzip tools-master.zip
mv tools-master/arm-bcm2708 /opt/aria2-arm-rbpi/tools
rm -rf tools-master
rm tools-master.zip
107 changes: 107 additions & 0 deletions build-scripts/gnu-linux-config/aria2-i386-gnu-linux-cross-build-libs
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#!/bin/bash

# In this configuration, the following dependent libraries are compiled:
#
# * zlib
# * c-ares
# * expat
# * sqlite3
# * openSSL
# * libssh2

#IMPORTANT: Require install gcc-multilib g++-multilib libc6-dev-i386

#COMPILER AND PATH
PREFIX=/opt/aria2-i386/build_libs
C_COMPILER="gcc"
CXX_COMPILER="g++"

#CHECK TOOL FOR DOWNLOAD
aria2c --help > /dev/null
if [ "$?" -eq 0 ] ; then
DOWNLOADER="aria2c --check-certificate=false"
else
DOWNLOADER="wget -c"
fi

## DEPENDENCES ##
ZLIB=http://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
OPENSSL=http://www.openssl.org/source/openssl-1.0.2k.tar.gz
EXPAT=https://sourceforge.net/projects/expat/files/expat/2.2.0/expat-2.2.0.tar.bz2
SQLITE3=http://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz
C_ARES=http://c-ares.haxx.se/download/c-ares-1.12.0.tar.gz
SSH2=https://www.libssh2.org/download/libssh2-1.7.0.tar.gz

## CONFIG ##
BUILD_DIRECTORY=/tmp/

## BUILD ##
cd $BUILD_DIRECTORY
export CFLAGS="-m32"
export CXXFLAGS="-m32"
export LDFLAGS="-m32"
#
# zlib build
$DOWNLOADER $ZLIB
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./configure --prefix=$PREFIX --static
make
make install
#
# expat build
cd ..
$DOWNLOADER $EXPAT
tar jxvf expat-2.2.0.tar.bz2
cd expat-2.2.0/
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./configure --prefix=$PREFIX --enable-static --enable-shared
make
make install
#
# c-ares build
cd ..
$DOWNLOADER $C_ARES
tar zxvf c-ares-1.12.0.tar.gz
cd c-ares-1.12.0/
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./configure --prefix=$PREFIX --enable-static --disable-shared
make
make install
#
# Openssl build
cd ..
$DOWNLOADER $OPENSSL
tar zxvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k/
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./Configure --prefix=$PREFIX linux-elf shared
make
make install
#
# sqlite3
cd ..
$DOWNLOADER $SQLITE3
tar zxvf sqlite-autoconf-3180000.tar.gz
cd sqlite-autoconf-3180000/
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./configure --prefix=$PREFIX --enable-static --enable-shared
make
make install
#
# libssh2
cd ..
$DOWNLOADER $SSH2
tar zxvf libssh2-1.7.0.tar.gz
cd libssh2-1.7.0/
rm -rf $PREFIX/lib/pkgconfig/libssh2.pc
CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ LD_LIBRARY_PATH=$PREFIX/lib/ CC="$C_COMPILER -m32" CXX="$CXX_COMPILER -m32" ./configure --without-libgcrypt --with-openssl --without-wincng --prefix=$PREFIX --enable-static --disable-shared
make
make install
#
#cleaning
cd ..
rm -rf c-ares*
rm -rf sqlite-autoconf*
rm -rf zlib-*
rm -rf expat-*
rm -rf openssl-*
rm -rf libssh2-*
#
echo "finished!"
42 changes: 42 additions & 0 deletions build-scripts/gnu-linux-config/aria2-i386-gnu-linux-cross-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

# In this configuration, the following dependent libraries are used:
#
# * zlib
# * c-ares
# * expat
# * sqlite3
# * openSSL
# * libssh2

#IMPORTANT: Require install gcc-multilib g++-multilib libc6-dev-i386
#COMPILER AND PATH
PREFIX=/usr
C_COMPILER="gcc"
CXX_COMPILER="g++"

## BUILD ##
export CFLAGS="-m32"
export CXXFLAGS="-m32"
export LDFLAGS="-m32"

CFLAGS="-m32" \
CXXFLAGS="-m32" \
LDFLAGS="-m32" \
PKG_CONFIG_PATH=/opt/aria2-i386/build_libs/lib/pkgconfig/ \
LD_LIBRARY_PATH=/opt/aria2-i386/build_libs/lib/ \
CC="$C_COMPILER -m32" \
CXX="$CXX_COMPILER -m32" \
./configure \
--prefix=$PREFIX \
--without-libxml2 \
--without-libgcrypt \
--with-openssl \
--without-libnettle \
--without-gnutls \
--with-libssh2 \
--without-libgmp \
--with-sqlite3 \
--with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' \
ARIA2_STATIC=yes \
--enable-shared=no
Loading

0 comments on commit 3d374b5

Please sign in to comment.