Update to last version, add configure.addopts
[maemo-efl] / scripts / e17 / libs / build-efl-core-maemo-deb.sh
1 #!/bin/bash
2
3 PRELEASE="indt3"
4 PNAME="efl-core"
5 PVER="$(grep AM_INIT_AUTOMAKE evas/configure.in | sed 's/AM_INIT_AUTOMAKE(evas, \([^)]\+\))/\1/')_${PRELEASE}"
6 SECTION="libs"
7
8 #DEF_PKGS="imlib2 eet edb imlib2_loaders evas ecore epeg embryo edje epsilon esmart efreet ewl emotion engrave etk exml enhance "
9 DEF_PKGS="eet evas ecore embryo edje"
10
11 DESC="Enlightenment Foundation Libraries Core"
12 LONG_DESC="\
13  This package includes: $DEF_PKGS
14  .
15  Homepage: http://www.enlightenment.org/
16 "
17 BDEPENDS="pkg-config, libfreetype6-dev, zlib1g-dev, libjpeg62-dev, libexpat1-dev, libssl-dev, libcurl3-openssl-dev, libxdamage-dev"
18 DEPENDS="libfreetype6, zlib1g, libjpeg62, libexpat1, libssl0.9.7, libcurl3, libxdamage1"
19
20 OPTS_evas="--enable-software-16-x11 --enable-software-x11 --disable-scale-smooth --disable-pthreads --enable-no-dither-mask --enable-small-dither-mask --disable-fb --disable-xrender-x11 --disable-image-loader-tiff --disable-image-loader-edb --disable-image-loader-gif --disable-image-loader-xpm --disable-image-loader-svg --disable-convert-yuv --disable-convert-8-rgb-332 --disable-convert-8-rgb-666 --disable-convert-8-rgb-232 --disable-convert-8-rgb-222 --disable-convert-8-rgb-221 --disable-convert-8-rgb-121 --disable-convert-8-rgb-111 --disable-convert-16-bgr-565 --disable-convert-16-rgb-555 --disable-convert-16-rgb-444 --disable-convert-16-rgb-ipq --disable-convert-16-rgb-rot-180 --disable-convert-16-rgb-rot-270 --disable-convert-16-rgb-rot-90 --disable-convert-24-rgb-888 --disable-convert-24-bgr-888 --disable-convert-32-rgb-8888 --disable-convert-32-rgbx-8888 --disable-convert-32-bgr-8888 --disable-convert-32-bgrx-8888 --disable-convert-32-rgb-rot-0 --disable-convert-32-rgb-rot-180 --disable-convert-32-rgb-rot-270 --disable-convert-32-rgb-rot-90"
21
22 OPTS_ecore="--enable-ecore-evas-x11-16 --disable-ecore-fb --disable-ecore-directfb --disable-ecore-evas-gl --disable-ecore-evas-dfb --disable-ecore-evas-xrender --disable-ecore-evas-fb"
23
24 ARCH="$(arch)"
25
26 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"
27 DESTDIR="/tmp/$PNAME-$ARCH"
28
29 PKGS="$@"
30 if [ x"$PKGS" = x ]; then
31         PKGS=$DEF_PKGS
32 fi
33
34 die() {
35         echo "ERROR: $@"
36         exit 1
37 }
38
39 if [ x"$NODESTDIR" != x1 ]; then
40     rm -fr $DESTDIR
41 fi
42
43 LOG_PREFIX="$(basename $0)"
44
45 CWD=$PWD
46 for p in $PKGS; do
47     PKG_OPTS_NAME="OPTS_$p"
48     PKG_OPTS="${!PKG_OPTS_NAME}"
49     LOG="/tmp/${LOG_PREFIX}__$p.log"
50
51     echo "Build: $p"
52     echo "$(date) ---- $p" >> "$LOG"
53     cd $CWD/$p || die "missing package $p"
54
55     if [ x"$NORECONFIGURE" != x1 ]; then
56         if [ -f Makefile ] && [  x"$NOMAKE" != x1 ]; then
57             (make uninstall && make distclean) >/dev/null 2>> "$LOG"
58         fi
59         libtoolize --copy --force >/dev/null 2>> "$LOG" || die "failed to run libtoolize $p"
60         NOCONFIGURE=1 ./autogen.sh >/dev/null 2>> "$LOG" || die "failed to autogen.sh $p"
61
62         OPTS="--prefix=/usr"
63         ./configure $OPTS $PKG_OPTS >/dev/null 2>> "$LOG" || die "failed to configure $p"
64     fi
65
66     if [ x"$NOMAKE" != x1 ]; then
67         make >/dev/null 2>> "$LOG" || die "failed to make $p"
68         make install >/dev/null 2>> "$LOG" || die "failed to install $p"
69     fi
70
71     if [ x"$NODESTDIR" != x1 ]; then
72         make DESTDIR=$DESTDIR install >/dev/null 2>> "$LOG"
73     fi
74     cd $CWD
75 done
76
77 if [ x"$NODESTDIR" != x1 ]; then
78     cd $DESTDIR
79     tar czf $DESTDIR.tar.gz .
80     cd $CWD
81 fi
82
83 ##
84 ## Clean
85 ##
86 find $DESTDIR/usr/lib -name '*.a' -exec rm \{\} \;
87 find $DESTDIR/usr/lib -name '*.la' -exec rm \{\} \;
88 find $DESTDIR/usr/lib -name '*.so' -exec strip -s \{\} \;
89 rm -fr $DESTDIR/usr/include
90 rm -fr $DESTDIR/usr/bin/*-config
91 rm -fr $DESTDIR/usr/lib/pkgconfig
92 SIZE=$(du -sc $DESTDIR | grep total | sed s/total//)
93
94 ##
95 ## Package
96 ##
97 PDIR="${DESTDIR}-deb"
98 mkdir -p $PDIR
99 cd $PDIR
100 cat > control <<EOF
101 Package: $PNAME
102 Version: $PVER
103 Section: $SECTION
104 Priority: optional
105 Architecture: armel
106 Installed-Size: $SIZE
107 Maintainer: Gustavo Sverzut Barbieri <gustavo.barbieri@openbossa.org>
108 Build-Depends: $BDEPENDS
109 Depends: $DEPENDS
110 Description: $DESC
111 $LONG_DESC
112 EOF
113 echo 2.0 > debian-binary
114 tar czf control.tar.gz control
115 (cd $DESTDIR; tar czf $PDIR/data.tar.gz .)
116 rm -f ${PNAME}_${PVER}.deb
117 ar q ${PNAME}_${PVER}_armel.deb debian-binary control.tar.gz data.tar.gz
118 echo $PWD/${PNAME}_${PVER}_armel.deb