Packaging GTK for redistribution



Hello,

 

I am trying to get GTK working for an IA32 system. I am using an Ubuntu 8.04.1 development box. I am using a gcc and ld specific to my IA32 system.

 

This is my makefile:

###################################

BUILD_DEST = /i686-custom-kernel

CC = $(BUILD_DEST)/bin/i686-linux-gcc

CPP = $(CC) –E

CXX = $(BUILD_DEST)/bin/i686-linux-g++

LD = $(BUILD_DEST)/bin/i686-linux-ld

GTKINSTALLPATH = $(BUILD_DEST)

export

 

all:

                ./buildgtk

###################################

 

And this is the fontconfig portion of my buildgtk script (the other packages GTK needs are built the same way with the paths being overridden at make install time):

###################################

export LD_LIBRARY_PATH=$BUILD_DEST/lib

export PKG_CONFIG_PATH=$BUILD_DEST/lib/pkgconfig

export CPPFLAGS=”-I$BUILD_DEST/include -I$BUILD_DEST/include/libxml2 -I$BUILD_DEST/include/freetype2 -I$BUILD_DEST/include/glib-2.0 -I$BUILD_DEST/include/atk-1.0 -I$BUILD_DEST/include/pango-1.0 -I$BUILD_DEST/include/pixman-1 -I$BUILD_DEST/include/cairo”

export CFLAGS=${CPPFLAGS}

export CXXFLAGS=${CPPFLAGS}

export LDFLAGS=”-L$BUILD_DEST/lib”

export FREETYPE_CFLAGS=”-I$BUILD_DEST/include/ -I$BUILD_DEST/include/freetype2”

export FREETYPE_LIBS=”-L$BUILD_DEST/lib –lfreetype”

export FREETYPE_CONFIG=$BUILD_DEST/bin/freetype-config

export CAIRO_CFLAGS=”-I$BUILD_DEST/include/cairo”

export CAIRO_LIBS=”-L$BUILD_DEST/lib –lcairo”

export PANGO_CFLAGS=”-I$BUILD_DEST/include/pango-1.0 -I$BUILD_DEST/include”

export PANGO_LIBS=”-L$BUILD_DEST/lib –lpango-1.0 –lpangocairo-1.0 –lpangoft2-1.0”

export FONTCONFIG_CFLAGS=”-I$BUILD_DEST/include”

export FONTCONFIG_LIBS=”-L$BUILD_DEST/lib”

 

# … a bunch of stuff in between to build glib, pixman, freetype, atk, and all other dependencies…

 

./configure –prefix= --enable-shared --enable-libxml2 --with-freetype-config=$BUILD_DEST/bin/freetype-config --disable-docs --host=i686-linux && \

make && \

make bindir=${GTKINSTALLPATH}/bin \

                sbindir=${GTKINSTALLPATH}/sbin \

                includedir=${GTKINSTALLPATH}/include \

                libdir=${GTKINSTALLPATH}/lib \

                datarootdir=${GTKINSTALLPATH}/share \

                mandir=${GTKINSTALLPATH}/share/man \

                install

###################################

 

The problem arises because I am building this so then I can transfer it to my IA32 system. The contents of $BUILD_DEST are actually the contents of the root on my IA32 system. But because I need to build all of the components for GTK on my system, the paths are set incorrectly.

 

I fix the “prefix” portion of all of the .pc files to make them point to $BUILD_DEST. However, when I try to compile pango, I get the following error:

###################################

grep: /lib/libfontconfig.la: No such file or directory

libtool: link: `/lib/libfontconfig.la’ is not a valid libtool archive

###################################

 

This is caused because fontconfig thinks that its path is actually in /lib when in reality on my dev system it is in $BUILD_DEST/lib

 

So my question is:

Is there any way to package up something like fontconfig so that I can build against it properly on my dev system but I can also easily transfer it to my IA32 system and it work properly? Namely I do not want for fontconfig to look inside $BUILD_DEST/etc/fonts for fonts.conf, but to look in /etc/fonts when I put it on my IA32 system. The end result that I want is a fully transferable GTK to my IA32 system.

 

The method that “worked” for me was by setting the prefix to $BUILD_DEST and the conf file to /etc/fonts. But I had to rename my system /etc/fonts, install my package, take the /etc/fonts and move it to $BUILD_DEST, and then restore my normal /etc/fonts.

 

Thank you,

 

Razvan A. Lupusoru



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]