Update to last version, add configure.addopts
[maemo-efl] / scripts / e17 / libs / build-etk-maemo-deb.sh
1 #!/bin/bash
2
3 PRELEASE="indt2"
4 PNAME="etk"
5 PVER="$(grep AM_INIT_AUTOMAKE etk/configure.in | sed 's/AM_INIT_AUTOMAKE(etk, \([^)]\+\))/\1/')_${PRELEASE}"
6 SECTION="libs"
7
8 DEF_PKGS="etk"
9
10 DESC="ETK - Enlightenment Toolkit"
11 LONG_DESC="\
12  ETK is a widget toolkit much like GTK+, but with more visual features.
13  .
14  Homepage: http://www.enlightenment.org/
15 "
16 BDEPENDS="pkg-config"
17 DEPENDS="efl-core (>= 0.9.9.040_indt2)"
18
19 ARCH="$(arch)"
20
21 export CFLAGS="$CFLAGS -DNDEBUG=1 -fomit-frame-pointer -O2 -mfpu=vfp -mfloat-abi=softfp -mcpu=arm1136jf-s -ffast-math -funsafe-math-optimizations -fno-math-errno -fsingle-precision-constant"
22 DESTDIR="/tmp/$PNAME-$ARCH"
23
24 PKGS="$@"
25 if [ x"$PKGS" = x ]; then
26         PKGS=$DEF_PKGS
27 fi
28
29 die() {
30         echo "ERROR: $@"
31         exit 1
32 }
33
34 if [ x"$NODESTDIR" != x1 ]; then
35     rm -fr $DESTDIR
36 fi
37
38 LOG_PREFIX="$(basename $0)"
39
40 CWD=$PWD
41 for p in $PKGS; do
42     PKG_OPTS_NAME="OPTS_$p"
43     PKG_OPTS="${!PKG_OPTS_NAME}"
44     LOG="/tmp/${LOG_PREFIX}__$p.log"
45
46     echo "Build: $p"
47     echo "$(date) ---- $p" >> "$LOG"
48     cd $CWD/$p || die "missing package $p"
49
50     if [ x"$NORECONFIGURE" != x1 ]; then
51         if [ -f Makefile ] && [  x"$NOMAKE" != x1 ]; then
52             (make uninstall && make distclean) >/dev/null 2>> "$LOG"
53         fi
54         libtoolize --copy --force >/dev/null 2>> "$LOG" || die "failed to libtoolize $p"
55         NOCONFIGURE=1 ./autogen.sh >/dev/null 2>> "$LOG" || die "failed to autogen.sh $p"
56
57         OPTS="--prefix=/usr"
58         ./configure $OPTS $PKG_OPTS >/dev/null 2>> "$LOG" || die "failed to configure $p"
59     fi
60
61     if [ x"$NOMAKE" != x1 ]; then
62         make >/dev/null 2>> "$LOG" || die "failed to make $p"
63         make install >/dev/null 2>> "$LOG" || die "failed to install $p"
64     fi
65
66     if [ x"$NODESTDIR" != x1 ]; then
67         make DESTDIR=$DESTDIR install >/dev/null 2>> "$LOG"
68     fi
69     cd $CWD
70 done
71
72 if [ x"$NODESTDIR" != x1 ]; then
73     cd $DESTDIR
74     tar czf $DESTDIR.tar.gz .
75     cd $CWD
76 fi
77
78 ##
79 ## Clean
80 ##
81 find $DESTDIR/usr/lib -name '*.a' -exec rm \{\} \;
82 find $DESTDIR/usr/lib -name '*.la' -exec rm \{\} \;
83 find $DESTDIR/usr/lib -name '*.so' -exec strip -s \{\} \;
84 rm -fr $DESTDIR/usr/include
85 rm -fr $DESTDIR/usr/bin/*-config
86 rm -fr $DESTDIR/usr/lib/pkgconfig
87 SIZE=$(du -sc $DESTDIR | grep total | sed s/total//)
88
89 ##
90 ## Package
91 ##
92 PDIR="${DESTDIR}-deb"
93 mkdir -p $PDIR
94 cd $PDIR
95 cat > control <<EOF
96 Package: $PNAME
97 Version: $PVER
98 Section: $SECTION
99 Priority: optional
100 Architecture: armel
101 Installed-Size: $SIZE
102 Maintainer: Gustavo Sverzut Barbieri <gustavo.barbieri@openbossa.org>
103 Build-Depends: $BDEPENDS
104 Depends: $DEPENDS
105 Description: $DESC
106 $LONG_DESC
107 EOF
108 echo 2.0 > debian-binary
109 tar czf control.tar.gz control
110 (cd $DESTDIR; tar czf $PDIR/data.tar.gz .)
111 rm -f ${PNAME}_${PVER}.deb
112 ar q ${PNAME}_${PVER}_armel.deb debian-binary control.tar.gz data.tar.gz
113 echo $PWD/${PNAME}_${PVER}_armel.deb