Hi,

I'm seeing some weirdness compiling libglade on my
systems. This weirdness causes it not to be made
against gnome.

The buildoutputs show:

checking for gnome-config... (cached) /usr/bin/gnome-config
checking for BONOBO - version >= 0.10... no
*** Could not run BONOBO test program, checking why...
*** The test program failed to compile or link. See the file config.log
for the
*** exact error that occured. This usually means BONOBO was incorrectly
installed
*** or that you have moved BONOBO since it was installed. In the latter
case, you
*** may want to edit the gnome-config script: /usr/bin/gnome-config
checking what warning flags to pass to the C compiler... -Wall -Wunused
checking what language compliance flags to pass to the C compiler...

Now I'm wondering... what's wrong with my (default) gnome-config
script? Any clues?

Stefan

Buildoutputs:
http://d10179.dtk.chello.nl/build/cooker/alpha/OK/libglade-0.13-1mdk.src.rpm.txt
and
http://d10179.dtk.chello.nl/build/cooker/i586/OK/libglade-0.13-1mdk.src.rpm.txt
#!/bin/sh

prefix=/usr
exec_prefix=${prefix}

bindir=${exec_prefix}/bin
sbindir=${exec_prefix}/sbin
libexecdir=${exec_prefix}/libexec
datadir=${prefix}/share
sysconfdir=/etc
sharedstatedir=${prefix}/com
localstatedir=/var/lib
libdir=${exec_prefix}/lib
infodir=${prefix}/info
mandir=${prefix}/man
includedir=${prefix}/include

pkgdatadir=${datadir}/gnome-libs
pkglibdir=${libdir}/gnome-libs
pkgincludedir=${includedir}/gnome-libs
MODULE_VERSION=gnome-libs-1.2.3
module_dirs="$libdir"

# stolen from autoconf
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
    ac_n= ac_c='
' ac_t='        '
  else
    ac_n=-n ac_c= ac_t=
  fi
else
  ac_n= ac_c='\c' ac_t=
fi

for extra in `echo $GNOME_PATH  | sed 's/:/ /g'`; do
    module_dirs="$extra/lib:$module_dirs"
done
for extra in `echo $GNOME_LIBCONFIG_PATH  | sed 's/:/ /g'`; do
    module_dirs="$extra:$module_dirs"
done

usage()
{
    exit_code=$1

    cat <<EOF
Usage: gnome-config [OPTION]... [LIBRARY]...

Generic options
  --version     output gnome version information.
  --modversion  output the module version information.
  --help        display this help and exit.

Compilation support options
  --cflags      print pre-processor and compiler flags
  --libs        print library linking information
  --libs-only-L only print the -L/-R part of --libs
  --libs-only-l only print the -l part of --libs

Install directories gnome-libs was configured to
  --prefix  --exec-prefix  --bindir  --sbindir  --libexecdir  --datadir
  --sysconfdir  --sharedstatedir  --localstatedir  --libdir  --infodir
  --mandir  --includedir

Known values for LIBRARY are:

    glib        (calls glib-config)
    idl         (to be used with orbit-idl)
    gnome
    gnomeui
    gnorba
    gtk         (calls gtk-config)
    gtkxmhtml   (only --libs)
    zvt         (only --libs)

If LIBRARY is none of these,
    
    ${libdir}/<LIBRARY>Conf.sh

is looked in for the necessary information.  Those currently installed 
appear to be:

EOF

    for dir in `echo $module_dirs | sed 's/:/ /g'`; do
        conf_shs=`cd $dir; echo *Conf.sh`
        if test "x$conf_shs" = x || test "x$conf_shs" = 'x*Conf.sh'; then :
        else
            set gnomeConf.sh $conf_shs

            for i
            do
                case "$i" in
                gnomeConf.sh) ;;
                *Conf.sh) echo $ac_n "$i $ac_c";;
                *) echo "*** ERROR: What is this? $i" 1>&2; exit 2 ;;
                esac
            done
        fi
    done | sed -e 's/Conf\.sh /, /g' -e 's/, $//' | fmt

    exit $exit_code
}

if test $# -eq 0; then
    usage 1
fi

cflags=false
libs_L=false
libs_l=false
modversion=false

while test $# -gt 0; do
    case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
    esac

    case $1 in
    --version)
        echo gnome-libs 1.2.3
        exit 0
        ;;
    --exec-prefix)
        echo $exec_prefix
        exit 0
        ;;
    --prefix)
        echo $prefix
        exit 0
        ;;
    --*dir)
        dirname=\$`echo $1 | sed -e 's,^--,,'`
        dirname=`eval echo $dirname`
        test -z "$dirname" && exit 1
        echo $dirname
        exit 0
        ;;
    --help)
        usage 0
        ;;
    --cflags)
        cflags=true
        ;;
    --libs)
        libs_L=true
        libs_l=true
        ;;
    --libs-only-L)
        libs_L=true
        ;;
    --libs-only-l)
        libs_l=true
        ;;
    --modversion)
        modversion=true
        ;;
    --*)
        usage 1
        ;;
    glib)
        the_libs="$the_libs `glib-config --libs`"
        the_flags="$the_flags `glib-config --cflags`"
        ;;
    gtk)
        the_libs="$the_libs `gtk-config --libs`"
        the_flags="$the_flags `gtk-config --cflags`"
        ;;
    gnome)
        the_libs="$the_libs -L${libdir} -lgnome -lgnomesupport -L/usr/lib -lesd 
-laudiofile -lm -L/usr/lib -laudiofile -lm -ldb1 -L/usr/lib -lglib -ldl"
        the_flags="$the_flags -I${includedir} -DNEED_GNOMESUPPORT_H 
-I${pkglibdir}/include -I/usr/lib/glib/include -I/usr/X11R6/include"
        ;;
    gnomeui)
        the_libs="$the_libs -L${libdir} -lgnomeui -lart_lgpl -L/usr/lib -lgdk_imlib 
-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext 
-lX11 -lm -lSM -lICE -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule 
-lglib -ldl -lXi -lXext -lX11 -lm -lgnome -lgnomesupport -L/usr/lib -lesd -laudiofile 
-lm -L/usr/lib -laudiofile -lm -ldb1 -L/usr/lib -lglib -ldl"
        the_flags="$the_flags -I${includedir} -DNEED_GNOMESUPPORT_H 
-I${pkglibdir}/include -I/usr/lib/glib/include -I/usr/X11R6/include"
        ;;
    gtkxmhtml)
        the_libs="$the_libs -L${libdir} -lgtkxmhtml -lXpm -ljpeg -lpng -lz -lz -lSM 
-lICE -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi 
-lXext -lX11 -lm"
        ;;
    gnorba)
        the_libs="$the_libs -L${libdir} -lgnorba -L/usr/lib -lORBitCosNaming -lORBit 
-lIIOP -lORBitutil -lglib -lnsl -lm"
        the_flags="$the_flags -I${includedir} -DNEED_GNOMESUPPORT_H 
-I${pkglibdir}/include -I/usr/lib/glib/include -I/usr/include"
        ;;
    idl)
        the_flags="-I${datadir}/idl"
        for extra in `echo $GNOME_PATH  | sed 's/:/ /g'`; do
                the_flags="-I$extra/share/idl $the_flags"
        done
        ;;
    zvt)
        the_libs="$the_libs -L${libdir} -lzvt -lutil -lSM -lICE -L/usr/lib 
-L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm"
        ;;
    *)
        error=true
        for dir in `echo $module_dirs | sed 's/:/ /g'`; do
            cnf_sh=${dir}/${1}Conf.sh
            if test -f ${cnf_sh}; then
                . ${cnf_sh}
                up_name=`echo $1 | tr a-z A-Z`
                cnf_libdir=\$${up_name}_LIBDIR
                cnf_libs=\$${up_name}_LIBS
                cnf_flags=\$${up_name}_INCLUDEDIR
                the_libs="$the_libs `eval echo $cnf_libdir` `eval echo $cnf_libs`"
                the_flags="$the_flags `eval echo $cnf_flags`"
                error=false
                break
            fi
        done
        if $error; then
            echo Unknown library \`$1\' 1>&2
        fi
        ;;
    esac
    shift
done

if $cflags; then
    all_flags="$the_flags"
fi

if $libs_L || $libs_l; then
    all_flags="$all_flags $the_libs"
fi

if $modversion; then
    echo $MODULE_VERSION
    exit 0
fi

if test -z "$all_flags" || test "x$all_flags" = "x "; then
    exit 1
fi

# Straight out any possible duplicates, but be careful to
# get `-lfoo -lbar -lbaz' for `-lfoo -lbaz -lbar -lbaz'
other_flags=
lib_L_flags=
rev_libs=
for i in $all_flags; do
    case "$i" in
    # a library, save it for later, in reverse order
    -l*) rev_libs="$i $rev_libs" ;;
    -L*|-R*)
        if $libs_L; then
            case " $lib_L_flags " in
            *\ $i\ *) ;;                        # already there
            *) lib_L_flags="$lib_L_flags $i" ;; # add it to output
            esac 
        fi;;
    *)
        case " $other_flags " in
        *\ $i\ *) ;;                            # already there
        *) other_flags="$other_flags $i" ;;     # add it to output
        esac ;;
    esac
done

ord_libs=
if $libs_l; then
    for i in $rev_libs; do
        case " $ord_libs " in
        *\ $i\ *) ;;                    # already there
        *) ord_libs="$i $ord_libs" ;;   # add it to output in reverse order
        esac
    done
fi

echo $other_flags $lib_L_flags $ord_libs

exit 0

Reply via email to