2008年11月5日 星期三

第五章 GTK移植

*******************************************************************************************
51.fixesproto-4.0

$CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD
$make install
*******************************************************************************************
52.xineramaproto-1.1.2

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD
$ make install
*******************************************************************************************
53.libXinerama-1.0.2

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes --enable-malloc0returnsnull

$ make all
$ make install
*******************************************************************************************
54.libXfixes-4.0.3

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes

$ make all
$ make install
*******************************************************************************************
55.libgpg-error-1.0

patch -Np1 -i pkgconfig.patch

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes
$ make all
$ make install
*******************************************************************************************
56.libgcrypt-1.2.3

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes --with-gpg-error-prefix=$PREFIX
$ make all
$ make install

ps. 這個選項很多不知道什麼要開 有空好好研究
*******************************************************************************************
57.libXcomposite-0.4.0

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

patch -Np1 -i change-include-order.patch

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes
$ make all
$ make install
*******************************************************************************************
58.atk-1.20.0

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

$ CC=arm-softfloat-linux-gnu-gcc ./configure --build=$BUILD --host=$HOST --prefix=$PREFIX --disable-glibtest --enable-static=yes --enable-shared=yes --disable-glibtest

$ make all
$ make install
*******************************************************************************************
59.libXcursor-X11R7.2-1.1.8

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

$ CC=arm-softfloat-linux-gnu-gcc ./configure --build=$BUILD --host=$HOST --prefix=$PREFIX --disable-glibtest --enable-static=yes --enable-shared=yes

$ make all
$ make install
*******************************************************************************************
60.libXdamage-1.1.1

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

$ CC=arm-softfloat-linux-gnu-gcc ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes
$ make all
$ make install
*******************************************************************************************
61.gtk+-2.12.7

$export PREFIX=/mnt/sd/arm_lib_4.2.1
$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
$export HOST=arm-softfloat-linux-gnu
$export BUILD=i686-linux

patch -Np1 -i xsettings.patch
patch -Np1 -i run-iconcache.patch
patch -Np1 -i disable-print.patch
patch -Np1 -i hardcoded_libtool.patch
patch -Np1 -i no-demos.patch
patch -Np1 -i filesystem-volumes.patch
patch -Np1 -i filechooser-props.patch
patch -Np1 -i filechooser-default.patch
patch -Np1 -i filechooser-sizefix.patch

cp 到gtk的目錄下可以打成功
patch -Np1 -i cellrenderer-cairo.patch
patch -Np1 -i entry-cairo.patch
patch -Np1 -i toggle-font.diff

cp到gdk/x11的目錄下
patch -Np1 -i scrolled-placement.patch cp到gdk/x11的目錄下




$ CC=arm-softfloat-linux-gnu-gcc ac_cv_lib_jpeg_jpeg_destroy_decompress=yes ac_cv_func_XOpenDisplay=yes ac_cv_func_XextFindDisplay=yes ac_cv_lib_jpeg_jpeg_simple_progression=yes ac_cv_func_XRenderQueryExtension=yes ./configure --prefix=$PREFIX --host=$HOST --build=$BUILD --enable-shared=yes --enable-static=yes --without-libtiff --disable-xkb --disable-glibtest --with-gdktarget=x11 --with-xinput=yes --enable-display-migration

再加一個
ac_cv_func_XOpenDisplay=yes
避免
configure: error: *** libX11 not found.
再加一個
ac_cv_func_XextFindDisplay=yes
configure: error: *** libXext not found.
再加一個
ac_cv_func_XRenderQueryExtension=yes
configure: error: *** libXrender not found.

checking Pango flags... -DPNG_NO_MMX_CODE -I/arm_lib_4.2.1/include/pango-1.0 -I/arm_lib_4.2.1/include/glib-2.0 -I/arm_lib_4.2.1/lib/glib-2.0/include -I/arm_lib_4.2.1/include/cairo -I/arm_lib_4.2.1/include/freetype2 -I/arm_lib_4.2.1/include -I/arm_lib_4.2.1/include/libpng12 -L/arm_lib_4.2.1/lib -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
configure: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org

modified configure
{ { echo "$as_me:$LINENO: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org" >&5
echo "$as_me: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org" >&2;}
{ (exit 1); exit 1; }; }
fi

exit 拿掉

-fsigned-char
IA__gdk_keyval_convert_case

../../gdk/gdkaliasdef.c:1748: error: 'gdk_keyval_convert_case' aliased to undefined symbol 'IA__gdk_keyval_convert_case'
make[2]: *** [gdkkeys-x11.lo] Error 1
make[2]: Leaving directory `/home/clouds/work_2/gtk+-2.12.7/gdk/x11'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/clouds/work_2/gtk+-2.12.7/gdk'
make: *** [all] Error 2

會有二個機車的error

修改config.h
#define HAVE_XCONVERTCASE 1
/* #undef HAVE_XCONVERTCASE */

#define HAVE_SHAPE_EXT 1
/* #undef HAVE_SHAPE_EXT */