In Ubuntu 10.4 Desktop and "root" login
apt-get install build-essential libncurses5-dev
apt-get install autoconf
apt-get install libtool
apt-get install gettext
apt-get install libglib2.0-dev
apt-get install libgtk2.0-dev
cd zlib-1.2.3
//zlib-1.2.3
make clean
export PREFIX=/usr/x11dfb
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --prefix=$PREFIX
make
make install
cd ..
cd glib-2.24.1
//ps:default static
//glib 2.24.1
make clean
export PREFIX=/usr/x11dfb
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-g -I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
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
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no --cache-file=arm-linux.cache
make
make install
cd ..
cd atk-1.30.0
//atk 1.30.0
make clean
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-g -I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd jpeg-6b
//jpeg6b
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
mkdir $PREFIX/man
mkdir $PREFIX/man/man1
make
make install
make install-lib
cd ..
cd libpng-1.2.33
//libpng expat freetype libxml2
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd expat-2.0.1
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd freetype-2.3.7
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd libxml2-2.6.31
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd fontconfig-2.6.0
//fontconfig-2.6.0
make clean
export LIBXML2_CFLAGS=-I$PREFIX/include/libxml2
export LIBXML2_LIBS="-L$PREFIX/lib -lxml2"
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no --with-freetype-config=$PREFIX/bin/freetype-config
make
make install
cd ..
cd tiff-3.7.4
//tiff-3.7.4
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd DirectFB-1.3.0
//DirectFB-1.3.0
make clean
export PREFIX=/usr/x11dfb
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
--enable-sysfs=no --enable-mmx=no --enable-sse=no --enable-x11=no
--enable-multi=no --enable-fbdev=yes --enable-sdl=no
--with-gfxdrivers=none --enable-freetype=yes --enable-zlib=yes
--enable-png=yes --enable-gif=no --enable-jpeg=no --enable-tiff=no
make
make install
cd ..
cd pixman-0.12.0
//pixman-0.12.0
make clean
export PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig"
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
make
make install
cd ..
cd cairo-1.8.10
//cairo-1.8.10
export PREFIX=/usr/x11dfb
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
--enable-directfb=yes --without-x --enable-xlib=no
--enable-xlib-xrender=no --enable-win32=no --enable-win32-font=no
--enable-ft=yes --enable-png=yes --enable-pdf=yes --enable-ps=yes
make
make install
cd ..
cd pango-1.24.5
//pango-1.24.5
//have_cairo=true
//have_cairo_png=true
//have_cairo_ps=true
//have_cairo_pdf=true
//have_cairo_xlib=false
//have_cairo_freetype=true
make clean
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no --without-x --with-included-modules=basic-fc
make
make install
cd ..
cd gtk+-2.17.2
In gdkwindow-directfb.c mark two lines
while (tmp_list)
{
//#ifdef DIRECT_ENABLE_DEBUG
GdkWindowImplDirectFB *wimpl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
//#endif
modify gtk+-2.17.2/perf/marshalers.c
//void _gtk_marshal_OBJECT__VOID
modify configure
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org" >&2;}
{ (exit 1); exit 1; }; }
to
{ (echo 1); echo 1; }; }
make clean
export PREFIX=/usr/x11dfb
export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export CFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
echo gio_can_sniff=yes>arm-linux.cache
echo ac_cv_path_GTK_UPDATE_ICON_CACHE=/usr/bin/gtk-update-icon-cache>>arm-linux.cache
echo ac_cv_path_GDK_PIXBUF_CSOURCE=/usr/bin/gdk-pixbuf-csource>>arm-linux.cache
./configure --prefix=$PREFIX --enable-static=yes --enable-shared=no
--with-gdktarget=directfb --without-x --without-libtiff
--without-libjpeg --without-libjasper --disable-glibtest
--with-included-immodules=am-et,cedilla,cyrillic-translit,inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr
--with-included-loaders=ani,bmp,ico,icns,pcx,png,gif,pnm,ras,tga,wbmp,xbm,xpm
--cache-file=arm-linux.cache
make
make install
Rember add follows in gtk-demo makefile
FBDEV_OBJS = /usr/ubuntufb/lib/directfb-1.3-0/wm/libdirectfbwm_default.o\
/usr/ubuntufb/lib/directfb-1.3-0/systems/libdirectfb_fbdev.o\
/usr/ubuntufb/lib/directfb-1.3-0/inputdrivers/libdirectfb_linux_input.o\
/usr/ubuntufb/lib/directfb-1.3-0/inputdrivers/libdirectfb_keyboard.o\
/usr/ubuntufb/lib/directfb-1.3-0/inputdrivers/libdirectfb_ps2mouse
gtk-demo$(EXEEXT): $(gtk_demo_OBJECTS) $(gtk_demo_DEPENDENCIES)
@rm -f gtk-demo$(EXEEXT)
$(LINK) $(gtk_demo_LDFLAGS) $(gtk_demo_OBJECTS) $(gtk_demo_LDADD) $(LIBS) $(FBDEV_OBJS)
If want to make more faster, remove follows
gtk+-2.17.2/makefile.in
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
remove tests perf contrib
gtk+-2.17.2/gtk/makefile.in
SUBDIRS = theme-bits . tests
DIST_SUBDIRS = theme-bits tests
remove . tests and tests
gtk+-2.17.2_f/demos/Makefile.in
PROGRAMS = $(noinst_PROGRAMS)
remove $(noinst_PROGRAMS)
gedit /usr/ubuntufb/etc/directfbrc or gedit userhome/.directfbrc
system=FBDev
fbdev=/dev/fb0
wm=default
mode=800x600
depth=32
pixelformat=ARGB
沒有留言:
張貼留言