Port gtk2 with directfb as backend for arm

I have all the tar packages in netdisk http://mail.sina.com.cn/netdisk/download.php?id=04366451404ccd7717d6cf292e1cd92609

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/

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 write a build.sh file as below to do all the build work, this is also a list or a procedure.

#!/bin/shexport 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-1.4.tar.gz
tar xf zlib-1.2.3.tar.gz

sudo mkdir -p $PREFIX
sudo chmod a+rw $PREFIX

# 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

#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=tslib --enable-debug --enable-trace
$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

# .directfbrcsystem=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

# directfb
export DIRECTFB=/opt/gtk_dfb_arm
export PATH=$PATH:$DIRECTFB/bin
时间: 2024-09-06 05:53:54

Port gtk2 with directfb as backend for arm的相关文章

Apache+varnish(高性能开源HTTP加速器)搭建负载均衡集群

实验环境:RHEL6.5 实验环境4台 真机进行访问测试     willis.example.com         172.25.254.6 虚拟机1(缓存端)   varnish.example.com       172.25.254.8 虚拟机2(服务器端1) web1.example.com     172.25.254.10 虚拟机3(服务器端2) web2.example.com     172.25.254.20 两台服务器主要用于负载均衡实验. 实验内容:1.服务器端安装Ap

haproxy详细介绍

Haproxy是既可以工作在7层也能工作在4层的反代工具.Haproxy的功能: 路由HTTP请求到后端服务器,基于cookie作会话绑定. 能够将多个请求反代至后端主机完成负载均衡的效果. 主服务器失败时能自动切换到备服务器上. 接受特殊的端口连接完成服务监控 拒绝新连接时不会关闭已经连接的请求. 在两个方向上添加.修改和删除HTTP首部 根据特定匹配条件阻止相应请求. 通过一个URI接口web应用程序为通过身份验证的用户提供报告详细状态. 虽然主要提供http反代,但也能反代几乎所有基于tc

Linux_haproxy_acl访问控制(4)v1.0

acl: The use of Access Control Lists (ACL) provides a flexible solution to perform content switching and generally to take decisions based on content extracted from the request, the response or any environmental status.基于某种检测条件 ,将用户请求或相应的某一类(通常为请求),做

hostapd wpa_supplicant madwifi详细分析(十三)——EAPOL(802.1X-2004/IEEE Std 802.1X-2010)

这篇文章主要介绍EAPOL,关于它的详细定义可以到802.1X-2004/IEEE Std 802.1X-2010两个文档里面查询.这两个文档核心内容大同小异,只是2010版定义得更细致,同时也更难以理解,建议先了解2004版,会更容易看懂.因为2010版引入来更多的名词,加入了更多的参考资料,对一致性的描述更加细致具体,让标准可以适用于更多的加密场合,补充2004 版中的一下缺陷. 两个标准的前5章的差异,我们可以不用太深究,他们主要包括802.1x的定义,名词解释,适用范围,引用文档,一致性

varnish---反向代理web加速缓存服务器和CDN的推送

Varnish 简介 Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点,很多大型的网站都开始尝试使用 varnish 来替换 squid,这些都促进 varnish 迅速发展起来. 挪威的最大的在线报纸 Verdens Gang(vg.no) 使用 3 台 Varnish 代替了原来的 12 台 Squid,性能比以前更好,这是 V

varnish 优秀的缓存服务器

[去除干扰环境]关停:本机的httpd,haproxy,nginx iptables [varnish 优秀的缓存服务器] 特点 反向代理,负载均衡,健康状态检查 连接弱于nginx,nginx比varnish反向代理好 [看看] curl -I www.sohu.com Cache-Control: no-transform, max-age=120 [安装] varnish-3.0.4-1.el6.x86_64.rpm varnish-libs-3.0.4-1.el6.x86_64.rpm

移动终端基带芯片基本架构

(一)概述 基带数字处理功能以及手机基本外围功能都集中到单片片上系统(SOC)中,其基本构架都采用了微处理器+数字信号处理器(DSP)的结构,微处理器和DSP的处理能力一直增强.微处理器是整颗芯片的控制中心,会运行一个实时嵌入式操作系统(如Nucleus PLUS).DSP子系统是基带处理的重点,其中包含了许多硬件加速器和基带专用处理模块,完成所有物理层功能.现在,随着实时数字信号处理技术的发展,ARM微处理器(会采用不同的微系列,如3G芯片多采用ARM9).DSP和FPGA体系结构成为移动终端

varnish服务

1.安装varnish http :// repo . varnish - cache . org / redhat / varnish -3.0/ el 6/ x 86_64/ # yum install varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm -y 2.配置 ### 配置一个后端服务器 # vim /etc/varnish/default.vcl backend default { .host = 

devices-list

转自:https://www.kernel.org/pub/linux/docs/lanana/device-list/devices-2.6.txt LINUX ALLOCATED DEVICES (2.6+ version) Maintained by Torben Mathiasen <[email protected]> Last revised: 25 January 2005 This list is the Linux Device List, the official regi