I have all the tar packages in netdisk gtk_dfb_arm_src.tar.xz
I download them from below links:
http://ftp.gnome.org/pub/gnome/sources glib-2.19.0 :ftp://ftp.gtk.org/pub/glib/2.19/ pango-1.20.2 :http://ftp.gnome.org/pub/gnome/sources/pango/1.20/ gtk+-2.12.9 :http://ftp.gnome.org/pub/gnome/sources/gtk+/2.12/ tslib: https://github.com/kergoth/tslib.git DirectFB-1.4.17 :http://www.directfb.org/downloads/ zlib-1.2.3 :http://www.zlib.net/ jpegsrc.v6b :ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/ (http://sourceforge.net/projects/libjpeg/files/libjpeg/6b/) freetype-2.3.7 :http://freetype.sourceforge.net/index2.html fontconfig-2.6.0 :http://www.fontconfig.org/release/ libxml2-2.6.31 :http://xmlsoft.org/sources/ (/linux/gnome.org/sources/libxml2/2.6)
I test this project in my qemu-mini2440 virtual board.
I write a build.sh file as below to do all the build work, this is also a list or a procedure. I make a directory in /tmp path to build this project, boost building speed and protect my SSD disk.
#!/bin/sh
export SRCDIR=$(pwd) export PREFIX=/opt/gtk_dfb_arm export PATH=$PATH:$PREFIX/bin export C_INCLUDE_PATH=$PREFIX/include export LD_LIBRARY_PATH=$PREFIX/lib export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig export LDFLAGS=-L$LD_LIBRARY_PATH export CFLAGS=-I$PREFIX/include export MK="make -j4" export MK_INS="make install" # http://downloads.sourceforge.net/project/giflib/giflib-5.1.0.tar.bz2 # http://downloads.sourceforge.net/project/libpng/libpng12/1.2.44/libpng-1.2.44.tar.xz # http://ftp.gnome.org/pub/gnome/sources/atk/1.12/atk-1.12.2.tar.bz2 # http://cairographics.org/releases/cairo-1.12.18.tar.xz # http://cairographics.org/releases/pixman-0.18.4.tar.gz # http://linux.thai.net/pub/thailinux/software/libthai/libthai-0.1.21.tar.xz # http://linux.thai.net/pub/thailinux/software/libthai/libdatrie-0.2.8.tar.xz tar xf atk-1.12.2.tar.bz2 tar xf cairo-1.12.18.tar.xz tar xf DirectFB-1.4.17.tar.gz tar xf fontconfig-2.6.0.tar.gz tar xf freetype-2.3.7.tar.gz tar xf giflib-5.1.0.tar.bz2 tar xf glib-2.19.0.tar.gz tar xf gtk+-2.12.9.tar.gz tar xf jpegsrc.v6b.tar.gz tar xf libdatrie-0.2.8.tar.xz tar xf libpng-1.2.44.tar.gz tar xf libthai-0.1.21.tar.xz tar xf libxml2-2.6.30.tar.gz tar xf pango-1.20.2.tar.gz tar xf pixman-0.18.4.tar.gz tar xf tslib.tar.xz tar xf zlib-1.2.3.tar.gz sudo mkdir -p $PREFIX sudo chmod a+rw $PREFIX # tslib cd $SRCDIR/tslib ./autogen.sh echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache $MK $MK_INS # giflib cd $SRCDIR/giflib-5.1.0 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS # libjpeg cd $SRCDIR/jpeg-6b CC=arm-linux-gcc AR="arm-linux-ar rc" AR2=arm-linux-ranlib ./configure --host=arm-linux --prefix=$PREFIX mkdir $PREFIX/man mkdir $PREFIX/man/man1 $MK $MK_INS $MK_INS-lib # zlib cd $SRCDIR/zlib-1.2.3 CC=arm-linux-gcc ./configure --prefix=$PREFIX -shared $MK $MK_INS #libpng-1.2.44 cd $SRCDIR/libpng-1.2.44 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #freetype2 cd $SRCDIR/freetype-2.3.7 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS # DirectFB-1.4.17 cd $SRCDIR/DirectFB-1.4.17 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --with-gfxdrivers=none --enable-png --enable-jpeg --enable-gif --enable-zlib --enable-sdl=no --disable-x11 --with-inputdrivers=all --enable-debug --enable-trace --with-tests $MK $MK_INS #glib-2.19.0 cd $SRCDIR/glib-2.19.0 echo ac_cv_type_long_long=yes>arm-linux.cache echo glib_cv_stack_grows=no>>arm-linux.cache echo glib_cv_uscore=no>>arm-linux.cache echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache echo ac_cv_func_posix_getgrgid_r=yes>>arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache --enable-debug=no $MK $MK_INS #atk-1.12.2 cd $SRCDIR/atk-1.12.2 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #libxml2-2.6.30 cd $SRCDIR/libxml2-2.6.30 echo ac_cv_type_long_long=yes>arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache $MK $MK_INS #build pass at archlinux 32bit, fail on opensuse 64bit #fontconfig-2.6.0 cd $SRCDIR/fontconfig-2.6.0 export LIBXML2_CFLAGS=-I$PREFIX/include/libxml2 export LIBXML2_LIBS="-L$PREFIX/lib -lxml2" CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --with-freetype-config=$PREFIX/bin/freetype-config --with-arch=arm --enable-libxml2 --enable-shared $MK $MK_INS cp fontconfig $PREFIX/include -r #pixman-0.18.4 cd $SRCDIR/pixman-0.18.4 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --disable-gtk $MK $MK_INS #cairo-1.12.18 #cairo 1.12 , need pixman>=0.16 cd $SRCDIR/cairo-1.12.18 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --without-x --disable-xlib --disable-xlib-xrender --enable-directfb --enable-freetype --disable-win32 --enable-pdf --enable-ps --disable-svg --enable-png --enable-ft --disable-xcb-shm --disable-xcb $MK $MK_INS #libdatrie-0.2.8 cd $SRCDIR/libdatrie-0.2.8 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #libthai-0.1.21 cd $SRCDIR/libthai-0.1.21 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #pango-1.20.2 cd $SRCDIR/pango-1.20.2 echo have_cairo=true>>arm-linux.cache echo have_cairo_png=true>>arm-linux.cache echo have_cairo_ps=true>>arm-linux.cache echo have_cairo_pdf=true>>arm-linux.cache echo have_cairo_freetype=true>>arm-linux.cache export CAIRO_CFLAGS="-fno-strict-aliasing -I$PREFIX/include/cairo -I$PREFIX/include/fontconfig -I$PREFIX/include -I$PREFIX/include/pixman-1 -I$PREFIX/include/freetype2 -I$PREFIX/include/libpng12" export CAIRO_LIBS="-L$PREFIX/lib -lcairo" export GLIB_CFLAGS="-I$PREFIX/include -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include" export GLIB_LIBS="-L$PREFIX/lib -lgobject-2.0 -lgmodule-2.0 -lglib-2.0" export FONTCONFIG_CFLAGS="-I$PREFIX/include/fontconfig -I$PREFIX/include" export FONTCONFIG_LIBS="-L$PREFIX/lib -lfontconfig" export FREETYPE_CFLAGS="-I$PREFIX/include/freetype2 -I$PREFIX/include" export FREETYPE_LIBS="-L$PREFIX/lib -lfreetype -lz" export FREETYPE_CONFIG="${PREFIX}/bin/freetype-config" export CAIRO_PREFIX=$prefix CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache --without-x $MK $MK_INS #gtk+-2.12.9 cd $SRCDIR/gtk+-2.12.9 export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" export CPPFLAGS="-I$PREFIX/include" CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --with-gdktarget=directfb --without-x --without-libtiff --disable-cups $MK $MK_INS
mv /opt/gtk_dfb_arm to root filesystem /opt/opt/gtk_dfb_arm
then add .directfbrc to root filesystem $HOME/.directfbrc content as below
# .directfbrc
system=fbdev fbdev=/dev/fb0 mode=240x320 depth=16 pixelformat=RGB16 # print info,warining,error,once # quiet=info # for send text output at remote with: "socat - udp4-listen:8088,fork" #Send all messages via UDP to the specified host and port. ## log-udp=192.168.1.110:8088 # debug ## debug
The /etc/profile in root filesystem
#!/bin/sh export TSLIB_PLUGINDIR=/lib/ts export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONSOLEDEVICE=none # gtk-directfb export GUILIB=/opt/gtk_dfb_arm export PATH=$PATH:$GUILIB/bin
Use direct test to test dfb functioning correct. use "dfbtest_window_cursor" test a very nice cursor show in board's screen.
/# dfbtest_window_cursor
If use "--input-drivers=" not have keyboard, will error when open gtk-demo(DirectFBError [gdk_display_open: GetDisplayLayer]: Requested ID not found!), so better to let it =all
(-) [Main Thread 0.935] ( 970) Fusion/Skirmish: fusion_skirmish_dismiss( 0x48f38, 'Layer Context' ) (-) [Main Thread 0.936] ( 970) IDirectFB: IDirectFB_GetInputDevice( 0x48c20, 0 ) (#) DirectFBError [gdk_display_open: GetDisplayLayer]: Requested ID not found! (gtk-demo:970): Gtk-WARNING **: cannot open display:
Then, let's test gtk-demo
/# gtk-demo&
WOW! It shows!
But the fonts have been missed, whatever, I succeed.Well done!
The gtk-demo message, I have some issue:
(gtk-demo:979): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0) commandline read: gtk-demo ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.17 |~~~~~~~~~~~~~~~~~~~~~~~~~~ (c) 2001-2012 The world wide DirectFB Open Source Community (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2015-01-07 03:05) [ DEBUG ][ TRACE ] (*) Direct/Memcpy: Using libc memcpy() (*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>... (*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/FBDev: Found 's3c2410fb' (ID 0) with frame buffer at 0x33940000, 150k (MMIO 0x00000000, 0k) (*) Direct/Thread: Started 'Hotplug with Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver (*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: IMPS/2 Mouse (1) 1.0 (directfb.org) (*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: IMPS/2 Mouse (2) 1.0 (directfb.org) (*) Direct/Thread: Started 'Keyboard Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Keyboard 0.9 (directfb.org) (*) DirectFB/Graphics: Generic Software Rasterizer 0.7 (directfb.org) (*) DirectFB/Core/WM: Default 0.3 (directfb.org) (*) FBDev/Mode: Setting 240x320 RGB16 (*) FBDev/Mode: Switched to 240x320 (virtual 240x320) at 16 bit (RGB16), pitch 480 (*) FBDev/Mode: Setting 240x320 RGB16 (*) FBDev/Mode: Switched to 240x320 (virtual 240x320) at 16 bit (RGB16), pitch 480 (*) Direct/Thread: Started 'EventBufferFeed' (987) [MESSAGING OTHER/OTHER 0/0] <8388608>... (gtk-demo:979): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/opt/gtk_dfb_arm/etc/gtk-2.0/gdk-pixbuf.loaders': No such file or directory (gtk-demo:979): Pango-CRITICAL **: No fonts found: This probably means that the fontconfig library is not correctly configured. You may need to edit the fonts.conf configuration file. More information about fontconfig can be found in the fontconfig(3) manual page and on http://fontconfig.org (gtk-demo:979): Pango-CRITICAL **: No modules found: No builtin or dynamically loaded modules were found. PangoFc will not work correctly. This probably means there was an error in the creation of: '/opt/gtk_dfb_arm/etc/pango/pango.modules' You should create this file by running: pango-querymodules > '/opt/gtk_dfb_arm/etc/pango/pango.modules' (gtk-demo:979): Pango-WARNING **: failed to find shape engine, expect ugly output. engine-type='PangoRenderFc', script='latin'
To fix the items, should make some new files in board
/ # gdk-pixbuf-query-loaders > '/opt/gtk_dfb_arm/etc/gtk-2.0/gdk-pixbuf.loaders' / # pango-querymodules > '/opt/gtk_dfb_arm/etc/pango/pango.modules'
and copy my "wenquanyi" fonts(wenquanyi) to board,
# mkdir -p /path/to/rootfs/fonts/ # cp -r /usr/share/fonts/wenquanyi /path/to/rootfs/fonts/
then modify the font.conf file on board,
<!-- $PREFIX/etc/fonts/font.conf --> <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/fonts.conf file to configure system font access --> <fontconfig> <!-- Font directory list --> <dir>/opt/gtk_dfb_arm/fonts</dir>
Test fonts on board using fc-list, fc-list will make cache in the $PREFIX/var directory, this makes application run faster(save time to search fonts).
/ # fc-list WenQuanYi Micro Hei Mono Light,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Light WenQuanYi Bitmap Song:style=Bold WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Regular WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular WenQuanYi Micro Hei,文泉驛微米黑,文泉驿微米黑:style=Regular WenQuanYi Bitmap Song:style=Regular WenQuanYi Micro Hei Light,文泉驛微米黑,文泉驿微米黑:style=Light WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular WenQuanYi Zen Hei Sharp,文泉驛點陣正黑,文泉驿点阵正黑:style=Regular
Make a hello gtk window and test again.
#include<gtk/gtk.h> int main(int argc,char *argv[]) { GtkWidget *window; GtkWidget *btn; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); btn =gtk_button_new_with_label("Hello World! Your's Kozmers."); gtk_container_add(GTK_CONTAINER(window),btn); gtk_widget_show_all(window); g_signal_connect(btn,"clicked",gtk_main_quit,NULL); gtk_main(); return 0; }
$ arm-linux-gcc -o hellogtk hello.c -L$PREFIX/lib -lts -Wl,--rpath-link $PREFIX/lib `pkg-config --cflags --libs gtk+-2.0`
To let tslib functioned with hellogtk, should add "-L$PREFIX/lib -lts" even the directfb lib has dynamically load tslib, but it cannot share it to the application hellogtk, so, every application using directfb want to use tslib should add "-L$PREFIX/lib -lts" again when compile. This is very important.
Now, run my hello, hehe, "Hello World!" shows up. Well done. All finished. Thanks!
Gtk running needs a lot memory, it's neccessory that set "mem=xxM" in the kernel boot command line like this: (less memory will cause "Segmentation fault" even when use "dfbinfo" to test directfb start status)
noinitrd console=ttySAC0 init=/linuxrc root=/dev/mtdblock3 rw mem=64M
To optimize the size of all the libraries, I made another build process configuration list. This only produces 22M size gtk supported files (includes bin/,lib/ and etc/; without include/,man/ and share/)
#!/bin/sh export SRCDIR=$(pwd) export MAINDIR=gtk_dfb_arm export PREFIX=/opt/$MAINDIR export PATH=$PATH:$PREFIX/bin export C_INCLUDE_PATH=$PREFIX/include export LD_LIBRARY_PATH=$PREFIX/lib export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig export LDFLAGS=-L$LD_LIBRARY_PATH export CFLAGS=-I$PREFIX/include export MK="make -j4" export MK_INS="make install" # http://downloads.sourceforge.net/project/giflib/giflib-5.1.0.tar.bz2 # http://downloads.sourceforge.net/project/libpng/libpng12/1.2.44/libpng-1.2.44.tar.xz # http://ftp.gnome.org/pub/gnome/sources/atk/1.12/atk-1.12.2.tar.bz2 # http://cairographics.org/releases/cairo-1.12.18.tar.xz # http://cairographics.org/releases/pixman-0.18.4.tar.gz # http://linux.thai.net/pub/thailinux/software/libthai/libthai-0.1.21.tar.xz # http://linux.thai.net/pub/thailinux/software/libthai/libdatrie-0.2.8.tar.xz tar xf atk-1.12.2.tar.bz2 tar xf cairo-1.12.18.tar.xz tar xf DirectFB-1.4.17.tar.gz tar xf fontconfig-2.6.0.tar.gz tar xf freetype-2.3.7.tar.gz tar xf giflib-5.1.0.tar.bz2 tar xf glib-2.19.0.tar.gz tar xf gtk+-2.12.9.tar.gz tar xf jpegsrc.v6b.tar.gz tar xf libdatrie-0.2.8.tar.xz tar xf libpng-1.2.44.tar.gz tar xf libpng-1.6.16.tar.xz tar xf libthai-0.1.21.tar.xz tar xf libxml2-2.6.30.tar.gz tar xf pango-1.20.2.tar.gz tar xf pixman-0.18.4.tar.gz tar xf tslib-1.4.tar.gz tar xf zlib-1.2.3.tar.gz sudo mkdir -p $PREFIX sudo chmod a+rw $PREFIX stty -echo # tslib-1.4 cd $SRCDIR/tslib ./autogen.sh echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache $MK $MK_INS # giflib cd $SRCDIR/giflib-5.1.0 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS # libjpeg cd $SRCDIR/jpeg-6b CC=arm-linux-gcc AR="arm-linux-ar rc" AR2=arm-linux-ranlib ./configure --host=arm-linux --prefix=$PREFIX mkdir $PREFIX/man mkdir $PREFIX/man/man1 $MK $MK_INS $MK_INS-lib # zlib cd $SRCDIR/zlib-1.2.3 CC=arm-linux-gcc ./configure --prefix=$PREFIX -shared $MK $MK_INS #libpng-1.2.44 cd $SRCDIR/libpng-1.2.44 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #libpng-1.6.16 cd $SRCDIR/libpng-1.6.16 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #freetype2 cd $SRCDIR/freetype-2.3.7 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --without-fsspec --without-fsref --without-quickdraw-toolbox --without-quickdraw-carbon --without-ats $MK $MK_INS cd $SRCDIR/DirectFB-1.4.17 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --enable-png --enable-jpeg --enable-gif --enable-zlib \ --enable-sdl=no --disable-x11 \ --with-inputdrivers=tslib,keyboard --with-gfxdrivers=none \ --disable-debug-support --disable-network \ --disable-mmx --disable-sse --disable-devmem --enable-fbdev \ --disable-vnc --disable-sysfs --disable-linotype --disable-video4linux \ --without-setsockopt $MK $MK_INS #glib-2.19.0 cd $SRCDIR/glib-2.19.0 echo ac_cv_type_long_long=yes>arm-linux.cache echo glib_cv_stack_grows=no>>arm-linux.cache echo glib_cv_uscore=no>>arm-linux.cache echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache echo ac_cv_func_posix_getgrgid_r=yes>>arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache --enable-debug=no $MK $MK_INS #atk-1.12.2 cd $SRCDIR/atk-1.12.2 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #libxml2-2.6.30 cd $SRCDIR/libxml2-2.6.30 echo ac_cv_type_long_long=yes>arm-linux.cache CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --cache-file=arm-linux.cache \ --disable-ipv6 --without-c14n --without-catalog --without-debug \ --without-fexceptions --without-ftp --without-history --without-http \ --without-iso8859x --without-push \ --without-shemas --without-schematron --with-zilib $MK $MK_INS #fontconfig-2.6.0 cd $SRCDIR/fontconfig-2.6.0 export LIBXML2_CFLAGS=-I$PREFIX/include/libxml2 export LIBXML2_LIBS="-L$PREFIX/lib -lxml2" CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --with-freetype-config=$PREFIX/bin/freetype-config --with-arch=arm \ --enable-libxml2 --disable-docs --without-expat $MK $MK_INS cp fontconfig $PREFIX/include -r #pixman-0.18.4 cd $SRCDIR/pixman-0.18.4 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --disable-gtk --disable-mmx --disable-sse2 --disable-vmx $MK $MK_INS #cairo-1.12.18 #cairo 1.12 , need pixman>=0.16 cd $SRCDIR/cairo-1.12.18 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --without-x --disable-xlib --disable-xlib-xrender \ --disable-xcb-shm --disable-xcb \ --disable-win32 --disable-win32-font --disable-quartz --disable-quartz-font \ --enable-directfb --enable-freetype \ --enable-png --enable-ft \ --disable-gtk-doc-html --disable-trace\ --disable-valgrind --disable-egl --disable-glx --disable-wgl \ --enable-pdf --enable-ps --disable-svg --disable-full-testing $MK $MK_INS #libdatrie-0.2.8 cd $SRCDIR/libdatrie-0.2.8 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #libthai-0.1.21 cd $SRCDIR/libthai-0.1.21 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX $MK $MK_INS #pango-1.20.2 cd $SRCDIR/pango-1.20.2 echo have_cairo=true>>arm-linux.cache echo have_cairo_png=true>>arm-linux.cache echo have_cairo_ps=true>>arm-linux.cache echo have_cairo_pdf=true>>arm-linux.cache echo have_cairo_freetype=true>>arm-linux.cache export CAIRO_CFLAGS="-fno-strict-aliasing -I$PREFIX/include/cairo -I$PREFIX/include/fontconfig -I$PREFIX/include -I$PREFIX/include/pixman-1 -I$PREFIX/include/freetype2 -I$PREFIX/include/libpng12" export CAIRO_LIBS="-L$PREFIX/lib -lcairo" export GLIB_CFLAGS="-I$PREFIX/include -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include" export GLIB_LIBS="-L$PREFIX/lib -lgobject-2.0 -lgmodule-2.0 -lglib-2.0" export FONTCONFIG_CFLAGS="-I$PREFIX/include/fontconfig -I$PREFIX/include" export FONTCONFIG_LIBS="-L$PREFIX/lib -lfontconfig" export FREETYPE_CFLAGS="-I$PREFIX/include/freetype2 -I$PREFIX/include" export FREETYPE_LIBS="-L$PREFIX/lib -lfreetype -lz" export FREETYPE_CONFIG="${PREFIX}/bin/freetype-config" export CAIRO_PREFIX=$prefix CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --cache-file=arm-linux.cache --without-x $MK $MK_INS #gtk+-2.12.9 cd $SRCDIR/gtk+-2.12.9 export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" export CPPFLAGS="-I$PREFIX/include" CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PREFIX \ --with-gdktarget=directfb --without-x --without-libtiff --disable-cups \ --disable-xkb --disable-xinerama --disable-glibtest \ --without-xinput --without-html-dir $MK $MK_INS stty echo cp -r $PREFIX /tmp/ rm `find /tmp/$MAINDIR -name "*.la"` rm `find /tmp/$MAINDIR -name "*.a"` rm /tmp/$MAINDIR/include /tmp/$MAINDIR/man /tmp/$MAINDIR/share du -hd1 /tmp/$MAINDIR
2.0M gtk_dfb_arm/bin
19M gtk_dfb_arm/lib
148K gtk_dfb_arm/etc
21M gtk_dfb_arm