]> sigrok.org Git - sigrok-util.git/blame - cross-compile/android/sigrok-cross-android
sigrok-cross-android: Add and build zlib.
[sigrok-util.git] / cross-compile / android / sigrok-cross-android
CommitLineData
0832e7d6
UH
1#!/bin/bash
2##
3## This file is part of the sigrok-util project.
4##
5## Copyright (C) 2013 Uwe Hermann <uwe@hermann-uwe.de>
6##
7## This program is free software; you can redistribute it and/or modify
8## it under the terms of the GNU General Public License as published by
9## the Free Software Foundation; either version 2 of the License, or
10## (at your option) any later version.
11##
12## This program is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15## GNU General Public License for more details.
16##
17## You should have received a copy of the GNU General Public License
18## along with this program; if not, write to the Free Software
19## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20##
21
22# The path where your Android toolchain directory is located.
23TOOLCHAIN=$HOME/android/android-arm-toolchain
24
25# The path where the cross-compiled packages will be installed.
26PREFIX=$HOME/sr_android
27
28# The path where to download files to and where to build packages.
29BUILDDIR=./sr_android_build
30
31# You usually don't need to change anything below this line.
32
33# -----------------------------------------------------------------------------
34
35VER_LIBICONV=1.14
36VER_GETTEXT=0.18.2
167cb16e 37VER_ZLIB=1.2.7
85c9910a 38VER_PCRE=8.32
0832e7d6
UH
39VER_LIBFFI=3.0.11
40VER_GLIB=2.34.3
41VER_LIBZIP=0.10.1
42VER_LIBUSB=0.1.12
43VER_LIBFTDI=0.20
44
45SF_MIRROR=switch.dl.sourceforge.net
46
47# -----------------------------------------------------------------------------
48
49# We need to find tools in the toolchain and in the install directory.
50export PATH=$PREFIX/bin:$TOOLCHAIN/bin:$PATH
51
52# Define some helper variables.
53C="--host=arm-linux-androideabi --prefix=$PREFIX"
54P="$PREFIX/lib/pkgconfig"
55
56# Remove build directory contents (if any) and create a new build dir.
57rm -rf $BUILDDIR
58mkdir $BUILDDIR
59cd $BUILDDIR
60
61# Get the latest versions of config.guess/config.sub that know about Android.
62git clone git://git.savannah.gnu.org/config.git
63
64# -----------------------------------------------------------------------------
65
66## # TODO: Doesn't build yet.
67## # libiconv (needed for glib)
68## wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-$VER_LIBICONV.tar.gz
69## tar xfz libiconv-$VER_LIBICONV.tar.gz
70## cd libiconv-$VER_LIBICONV
71## cp -f ../config/config.guess build-aux
72## cp -f ../config/config.sub build-aux
73## cp -f ../config/config.guess libcharset/build-aux
74## cp -f ../config/config.sub libcharset/build-aux
75## ./configure $C && make && make install
76## cd ..
77
78## # TODO: Needs libiconv
79## # gettext (needed for glib)
80## wget http://ftp.gnu.org/pub/gnu/gettext/gettext-$VER_GETTEXT.tar.gz
81## tar xfz gettext-$VER_GETTEXT.tar.gz
82## cd gettext-$VER_GETTEXT
83## ./configure $C && make && make install
84## cd ..
85
86# zlib (needed for glib and libzip)
167cb16e
UH
87wget http://zlib.net/zlib-$VER_ZLIB.tar.gz
88tar xfvz zlib-$VER_ZLIB.tar.gz
89cd zlib-$VER_ZLIB
90# Note: zlib's configure doesn't understand --host, we need to pass $CC.
91CC=arm-linux-androideabi-gcc ./configure --prefix=$PREFIX && make && make install
92cd ..
0832e7d6
UH
93
94# pcre (needed for glib)
85c9910a
UH
95wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-$VER_PCRE.tar.gz
96tar xfvz pcre-$VER_PCRE.tar.gz
97cd pcre-$VER_PCRE
98./configure $C && make && make install
99cd ..
0832e7d6
UH
100
101# libffi (needed for glib)
102wget ftp://sourceware.org/pub/libffi/libffi-$VER_LIBFFI.tar.gz
103tar xfz libffi-$VER_LIBFFI.tar.gz
104cd libffi-$VER_LIBFFI
105./configure $C && make && make install
106cd ..
107
108## # TODO: Not all build-dependencies build, yet.
109## # glib
110## wget ftp://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-$VER_GLIB.tar.xz
111## tar xfJ glib-$VER_GLIB.tar.xz
112## cd glib-$VER_GLIB
113## ./configure $C && make && make install
114## cd ..
115
116# libzip
117wget http://www.nih.at/libzip/libzip-$VER_LIBZIP.tar.gz
118tar xfz libzip-$VER_LIBZIP.tar.gz
119cd libzip-$VER_LIBZIP
120cp -f ../config/config.guess .
121cp -f ../config/config.sub .
122./configure $C && make && make install
123cd ..
124
125# libusb-0.1 (not used directly, but needed for libftdi)
126wget http://$SF_MIRROR/project/libusb/libusb-0.1%20%28LEGACY%29/$VER_LIBUSB/libusb-$VER_LIBUSB.tar.gz
127tar xfz libusb-$VER_LIBUSB.tar.gz
128cd libusb-$VER_LIBUSB
129cp -f ../config/config.guess .
130cp -f ../config/config.sub .
131./configure $C && make && make install
132cd ..
133
134# libftdi
135wget http://www.intra2net.com/en/developer/libftdi/download/libftdi-$VER_LIBFTDI.tar.gz
136tar xfz libftdi-$VER_LIBFTDI.tar.gz
137cd libftdi-$VER_LIBFTDI
138cp -f ../config/config.guess .
139cp -f ../config/config.sub .
140./configure $C && make && make install
141cd ..
142