Lupusoru, Razvan A
2008-Jul-31  16:54 UTC
[Fontconfig] Packaging fontconfig 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:
###################################
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 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.freedesktop.org/archives/fontconfig/attachments/20080731/6ae5d0fa/attachment.htm
Wouldn''t your situation be more correct with "--prefix=/usr" and with install command like so: make install DESTDIR=$BUILD_DEST You can also experiment with --sysconfdir=/etc or however you need it. --Pat Lupusoru, Razvan A wrote:> 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: > > ################################### > > 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 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 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Fontconfig mailing list > Fontconfig at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/fontconfig