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