X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=buildscripts%2Fguile-gnome.sh;h=67b436e8036de286164f9f89b45d2bf63be01812;hb=29d0c4b33b7bc6434d32d735358b8768e965c117;hp=f1f78383a6743c97a8a1c23e1377ecdd862829a6;hpb=81d5f3ea5db5b76b81956c9504fd84dbbb51a060;p=lilypond.git diff --git a/buildscripts/guile-gnome.sh b/buildscripts/guile-gnome.sh index f1f78383a6..67b436e803 100644 --- a/buildscripts/guile-gnome.sh +++ b/buildscripts/guile-gnome.sh @@ -1,33 +1,33 @@ #!@BASH@ -# guile-gnome.sh -- download, compile, install guile-gnome +# guile-gnome.sh -- download, compile, install g-wrap, guile-gnome TLA and +# pango CVS # LilyPond has an experimental gnome canvas output backend -- hackers # only. This depends on unreleased version of guile-gnome, which -# depends on an unreleased, forked version of g-wrap. +# depends on an unreleased, forked version of g-wrap. We also need +# pango CVS > 2004-06-12 # Note: this install information is volatile, you'll probably want to # pull all from from guile-gnome-devel@gnu.org--2004 soon. set -ex -if [ -d $HOME/usr/pkg/libffi/ ]; then - export LDFLAGS=-L$HOME/usr/pkg/libffi/lib - export CPPFLAGS=-I$HOME/usr/pkg/libffi/include -fi +# Where user built stuff will be installed +OPT=$HOME/usr/pkg -if [ -x /usr/bin/gcc34 ] ;then - export GCC=gcc34 -fi - -if [ -x /usr/bin/gcc-3.4 ] ;then - export GCC=gcc-3.4 -fi +# What extra modules to pull (eg: EXTRA="libgnomecanvas libwnck") +EXTRA=${EXTRA-libgnomecanvas} export AUTOMAKE=automake-1.8 -export AUTOCONF=`which autoconf2.50 ` +export ACLOCAL=aclocal-1.8 +export AUTOCONF=$(which autoconf2.50) +export AUTOHEADER=$(which autoheader2.50) -if [ "" = "$AUTOCONF" ] ; then - unset AUTOCONF +if [ -z "$AUTOCONF" ]; then + unset AUTOCONF +fi +if [ -z "$AUTOHEADER" ]; then + unset AUTOHEADER fi @@ -40,40 +40,67 @@ cd test ## - Debian/unstable: apt-get install gnome-devel ## - ... +## 2. get pango CVS + +if [ ! -d $HOME/usr/pkg/pango ] ; then + + mkdir -p gnome/CVS + cd gnome + echo ":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome" > CVS/Root + echo "." > CVS/Repository + cvs -z3 checkout -P pango + cd pango + rm -rf $OPT/pango + ./autogen.sh --help + ./configure --prefix=$OPT/pango --enable-maintainer-mode --enable-gtk-doc + make XFT_LIBS="-L/usr/lib -lXft -L/usr/X11R6/lib -lfreetype -lz -lXrender -lX11 -lfontconfig" install + + cd ../.. +fi -## 2. *** NOTE: use guile-1.6 for g-wrap and guile-gnome *** -## using GUILE CVS g-wrap/guile-gnome is experimental (read: segfaults) -## Assuming that system has guile-1.6 installed in /usr/bin -PATH=/usr/bin:$PATH +export PKG_CONFIG_PATH=$OPT/pango/lib/pkgconfig:$PKG_CONFIG_PATH -## 3. get g-wrap 2.0 +# 3. Not for the faint of heart: GUILE CVS seems to be OK +## PATH=/usr/bin:$PATH + +if [ -d $OPT/libffi/ ]; then + export LDFLAGS=-L$OPT/libffi/lib + export CPPFLAGS=-I$OPT/libffi/include +fi + +## 4. get g-wrap 2.0 tla register-archive a.rottmann@gmx.at--2004-main \ http://people.debian.org/~rotty/arch/a.rottmann@gmx.at/2004-main || true rm -rf g-wrap -## tla get a.rottmann@gmx.at--2004-main/g-wrap--tng g-wrap -## pull latest g-wrap from janneke -- this step is probably no longer -## necessary when you read this -tla register-archive janneke@gnu.org--2004-gnome \ - http://lilypond.org/~janneke/{arch}/2004-gnome || true -tla get janneke@gnu.org--2004-gnome/g-wrap--janneke g-wrap +if false; then + ## pull latest g-wrap from janneke -- this step is probably no longer + ## necessary when you read this + tla register-archive janneke@gnu.org--2004-gnome \ + http://lilypond.org/~janneke/{arch}/2004-gnome || true + tla get janneke@gnu.org--2004-gnome/g-wrap--janneke g-wrap +else + ## tla get a.rottmann@gmx.at--2004-main/g-wrap--tng g-wrap + tla get a.rottmann@gmx.at--2004-main/g-wrap--mainline--1.9.0 g-wrap +fi cd g-wrap -rm -rf $HOME/usr/pkg/g-wrap +rm -rf $OPT/g-wrap sh autogen.sh --noconfigure mkdir =build cd =build -../configure --prefix=$HOME/usr/pkg/g-wrap +../configure --prefix=$OPT/g-wrap --enable-maintainer-mode make install -# cp srfi-34.scm from CVS head ? --hwn -(cd $HOME/usr/pkg/g-wrap/share/guile/site - mv srfi-34.scm srfi-34.scm-g-wrap - cp $HOME/usr/pkg/guile/share/guile-1.7/srfi/srfi-34.scm .) +# not a good idea +## cp srfi-34.scm from CVS head ? --hwn +#(cd $OPT/g-wrap/share/guile/site +# mv srfi-34.scm srfi-34.scm-g-wrap +# cp $OPT/guile/share/guile-1.7/srfi/srfi-34.scm .) cd ../.. -## 4. get guile-gnome +## 5. get guile-gnome tla register-archive guile-gnome-devel@gnu.org--2004 \ http://people.debian.org/~rotty/arch/guile-gnome-devel@gnu.org/2004/ || true rm -rf guile-gnome @@ -82,33 +109,38 @@ cd guile-gnome tla build-config -r configs/gnu.org/dev cd src -## 5. get the gnome canvas module -tla get guile-gnome-devel@gnu.org--2004/libgnomecanvas--dev libgnomecanvas +## 6. get extra modules (gnome canvas) +for i in $EXTRA; do + tla get guile-gnome-devel@gnu.org--2004/$i--dev $i +done -rm -rf $HOME/usr/pkg/guile-gnome +rm -rf $OPT/guile-gnome sh autogen.sh --noconfigure mkdir ../=build cd ../=build -export GUILE_LOAD_PATH=$HOME/usr/pkg/g-wrap/share/guile/site:$GUILE_LOAD_PATH -export LD_LIBRARY_PATH=$HOME/usr/pkg/g-wrap/lib:$LD_LIBRARY_PATH -export PKG_CONFIG_PATH=$HOME/usr/pkg/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH - -# ugh -# pango CVS wants libtool 1.5.6 (barfs with 1.6.0) -# guile-gnome wants libtool 1.6.0 (barfs with 1.5.6) -if [ -d $HOME/usr/pkg/pango/ ]; then - export PKG_CONFIG_PATH=$HOME/usr/pkg/pango/lib/pkgconfig:$PKG_CONFIG_PATH - export LDFLAGS=-L$HOME/usr/pkg/pango/lib - export CPPFLAGS=-I$HOME/usr/pkg/pango/include/pango-1.0 -fi - -../src/configure --prefix=$HOME/usr/pkg/guile-gnome - -G_WRAP_MODULE_DIR=$HOME/usr/pkg/g-wrap/share/guile/site make install CC=$GCC +export GUILE_LOAD_PATH=$OPT/g-wrap/share/guile/site:$GUILE_LOAD_PATH +export LD_LIBRARY_PATH=$OPT/g-wrap/lib:$LD_LIBRARY_PATH +PKG_CONFIG_PATH=$OPT/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH + +# Using libtool < 1.6.0 together with gcc-3.4 may trigger this problem: +# +# If a tag has not been given, and we're using a compiler which is +# not one of the ones with which libtool was built, attempt to +# infer the compiler from the first word of the command line passed +# to libtool. +# +if [ -z "$GCC34" ]; then + # Use libtool-1.5.6, gcc-3.{2,3} without -O2, + CFLAGS='-O -g' ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode +else + # or use gcc-3.4 with libtool-1.6.0 + CC=$GCC34 ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode +fi +make install G_WRAP_MODULE_DIR=$OPT/g-wrap/share/guile/site -export GUILE_LOAD_PATH=$HOME/usr/pkg/guile-gnome/share/guile:$GUILE_LOAD_PATH -export LD_LIBRARY_PATH=$HOME/usr/pkg/guile-gnome/lib:$LD_LIBRARY_PATH +GUILE_LOAD_PATH=$OPT/guile-gnome/share/guile:$GUILE_LOAD_PATH +LD_LIBRARY_PATH=$OPT/guile-gnome/lib:$LD_LIBRARY_PATH -# simple test -guile -s ../src/libgnomecanvas/examples/canvas.scm +# simple test -- fails atm +# guile -s ../src/libgnomecanvas/examples/canvas.scm