To: lablgtk at kaba.or.jp Subject: Re: First cut at adding BonoboDock References: <87fz8o8io1.fsf at cs.cmu.edu> <20040622.113127.125104019.garrigue@kurims.kyoto-u.ac.jp> From: Michael Welsh Duggan Date: Thu, 24 Jun 2004 16:21:20 -0400 In-Reply-To: <20040622.113127.125104019.garrigue at kurims.kyoto-u.ac.jp> (Jacques GARRIGUE's message of "Tue, 22 Jun 2004 11:31:27 +0900 (JST)") Message-ID: <87659gr9kv.fsf at cs.cmu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Sender: Michael Welsh Duggan --=-=-= Jacques GARRIGUE writes: > From: Michael Welsh Duggan > >> I really wanted docking widgets, so I added BonoboDock, >> BonoboDockItem, and BonoboDockLayout from bonoboui-2.0 to lablgtk. >> This is an initial cut at the code, and I would appreciate any >> constructive criticism. > > This looks good enough to me. > When you think you are ready, we could include it in the distribution. > (lablgtk is still weak with external addons... need an infrastructure > for that) > > Note however that you must be very careful with the GC. > I see at least one error in Val_BonoboDockLayoutItem > > + v = alloc_small(3, 0); > + Field(v, 0) = Val_GtkAny(it->item); > > Your v is not registered as a root, but Val_GtkAny causes an > allocation: the block pointed by v may be moved around. > Better to register all your variables if you're not really sure of > where allocation occurs. > And you must also use the Store_field macro when allocation may occur > in the right hand side: > Store_field(v, 0, Val_GtkAny(it->item)); > > (Actually, your code is probably correct, because Val_GtkAny creates a > custom block, which must go in the old generation, while small blocks > like v go to the small generation. But I'd rather not depend on this > kind of reasonning...) Here is a revised version: --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=bonoboui.diff diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/config.make.in ./config.make.in --- ../lablgtk2-20040319/config.make.in 2004-01-15 11:01:00.000000000 -0500 +++ ./config.make.in 2004-06-20 04:03:14.000000000 -0400 @@ -22,6 +22,7 @@ USE_GNOMECANVAS=@USE_GNOMECANVAS@ USE_GNOMEUI=@USE_GNOMEUI@ USE_PANEL=@USE_PANEL@ +USE_BONOBOUI=@USE_BONOBOUI@ USE_CC=@USE_CC@ DEBUG=@DEBUG@ CC=@CC@ @@ -66,3 +67,5 @@ GNOMEUILIBS:=$(call clean_libs,$(GNOMEUI_LIBS)) PANEL_LIBS = @PANEL_LIBS@ PANELLIBS:=$(call clean_libs,$(PANEL_LIBS)) +BONOBOUI_LIBS = @BONOBOUI_LIBS@ +BONOBOUILIBS:=$(call clean_libs,$(BONOBOUI_LIBS)) diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/configure ./configure --- ../lablgtk2-20040319/configure 2004-01-26 22:38:54.000000000 -0500 +++ ./configure 2004-06-20 05:05:54.000000000 -0400 @@ -1,9 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.57. +# Generated by GNU Autoconf 2.59. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -20,9 +19,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -41,7 +41,7 @@ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -218,16 +218,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -271,7 +272,7 @@ PACKAGE_BUGREPORT= ac_unique_file="src/gtk.ml" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CAMLC CAMLOPT OCAMLCDOTOPT OCAMLOPTDOTOPT OCAMLRUN OCAMLDEP OCAMLDOC OCAMLLEX OCAMLLEXDOTOPT OCAMLYACC CAMLMKTOP CAMLMKLIB CAMLP4O RANLIB ac_ct_RANLIB CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT PKG_CONFIG GTK_CFLAGS GTK_LIBS GTKGL_CFLAGS GTKGL_LIBS GLADE_CFLAGS GLADE_LIBS RSVG_CFLAGS RSVG_LIBS GNOMECANVAS_CFLAGS GNOMECANVAS_LIBS GNOMEUI_CFLAGS GNOMEUI_LIBS PANEL_CFLAGS PANEL_LIBS GTKALL_CFLAGS GTKALL_LIBS EXE LIBDIR OCAMLBEST OCAMLWIN32 THREADS_LIB HAS_DLL_SUPPORT LABLGLDIR USE_GL USE_GNOME USE_GLADE USE_RSVG USE_GNOMECANVAS USE_GNOMEUI USE_PANEL USE_CC DEBUG LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CAMLC CAMLOPT OCAMLCDOTOPT OCAMLOPTDOTOPT OCAMLRUN OCAMLDEP OCAMLDOC OCAMLLEX OCAMLLEXDOTOPT OCAMLYACC CAMLMKTOP CAMLMKLIB CAMLP4O RANLIB ac_ct_RANLIB CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT PKG_CONFIG GTK_CFLAGS GTK_LIBS GTKGL_CFLAGS GTKGL_LIBS GLADE_CFLAGS GLADE_LIBS RSVG_CFLAGS RSVG_LIBS GNOMECANVAS_CFLAGS GNOMECANVAS_LIBS GNOMEUI_CFLAGS GNOMEUI_LIBS PANEL_CFLAGS PANEL_LIBS BONOBOUI_CFLAGS BONOBOUI_LIBS GTKALL_CFLAGS GTKALL_LIBS EXE LIBDIR OCAMLBEST OCAMLWIN32 THREADS_LIB HAS_DLL_SUPPORT LABLGLDIR USE_GL USE_GNOME USE_GLADE USE_RSVG USE_GNOMECANVAS USE_GNOMEUI USE_PANEL USE_BONOBOUI USE_CC DEBUG LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -630,7 +631,7 @@ # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in @@ -670,10 +671,10 @@ # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -761,9 +762,9 @@ cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -812,6 +813,7 @@ --without-gnomecanvas override autodetected libgnomecanvas support --without-gnomeui override autodetected libgnomeui support --without-panel override autodetected libpanelapplet support + --without-bonoboui override autodetected libbonoboui support Some influential environment variables: CC C compiler command @@ -857,12 +859,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. @@ -873,13 +908,13 @@ echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then + test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi - cd $ac_popdir + cd "$ac_popdir" done fi @@ -887,8 +922,7 @@ if $ac_init_version; then cat <<\_ACEOF -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -900,7 +934,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -977,19 +1011,19 @@ 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. + ac_must_keep_next=false # Got value, back to normal. else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. @@ -1023,12 +1057,12 @@ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } @@ -1057,7 +1091,7 @@ for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi @@ -1076,7 +1110,7 @@ echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core core.* *.core && + rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 @@ -1156,7 +1190,7 @@ # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" @@ -1173,13 +1207,13 @@ ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. @@ -2278,7 +2312,6 @@ (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2298,8 +2331,8 @@ # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 @@ -2319,23 +2352,23 @@ test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; + ;; conftest.$ac_ext ) - # This is the source file. - ;; + # This is the source file. + ;; [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; + # We found the default executable, but exeext='' is most + # certainly right. + break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; * ) - break;; + break;; esac done else @@ -2409,8 +2442,8 @@ case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done @@ -2435,7 +2468,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2486,7 +2518,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2506,11 +2537,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2523,7 +2563,7 @@ ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi @@ -2539,7 +2579,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2556,11 +2595,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2573,7 +2621,7 @@ ac_cv_prog_cc_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 @@ -2600,7 +2648,6 @@ ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2628,6 +2675,16 @@ va_end (v); return s; } + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -2654,11 +2711,20 @@ CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2671,7 +2737,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext +rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC @@ -2699,19 +2765,27 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ - ''\ - '#include ' \ + '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -2719,14 +2793,13 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include $ac_declaration +#include int main () { @@ -2737,11 +2810,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2754,9 +2836,8 @@ continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2773,11 +2854,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2789,7 +2879,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2803,7 +2893,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2895,7 +2985,7 @@ if pkg-config --atleast-pkgconfig-version 0.7 ; then : else - echo *** pkg-config too old; version 0.7 or better required. + echo "*** pkg-config too old; version 0.7 or better required." no_gtk=yes PKG_CONFIG=no fi @@ -2940,7 +3030,6 @@ echo $ac_n "cross compiling; assumed OK... $ac_c" else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3039,7 +3128,7 @@ ( exit $ac_status ) no_gtk=yes fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" @@ -3065,7 +3154,6 @@ CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3085,11 +3173,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3111,7 +3208,8 @@ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means GTK+ is incorrectly installed." fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi @@ -3992,6 +4090,17 @@ USE_PANEL= fi +FORCE_BONOBOUI=no + +# Check whether --with-bonoboui or --without-bonoboui was given. +if test "${with_bonoboui+set}" = set; then + withval="$with_bonoboui" + USE_BONOBOUI=$withval ; FORCE_BONOBOUI=yes +else + USE_BONOBOUI=yes +fi; + +if test $USE_BONOBOUI = yes ; then succeeded=no @@ -4046,23 +4155,135 @@ else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG" >&5 -echo $ECHO_N "checking for $GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for libbonoboui-2.0" >&5 +echo $ECHO_N "checking for libbonoboui-2.0... $ECHO_C" >&6 - if $PKG_CONFIG --exists "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG" ; then + if $PKG_CONFIG --exists "libbonoboui-2.0" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking BONOBOUI_CFLAGS" >&5 +echo $ECHO_N "checking BONOBOUI_CFLAGS... $ECHO_C" >&6 + BONOBOUI_CFLAGS=`$PKG_CONFIG --cflags "libbonoboui-2.0"` + echo "$as_me:$LINENO: result: $BONOBOUI_CFLAGS" >&5 +echo "${ECHO_T}$BONOBOUI_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking BONOBOUI_LIBS" >&5 +echo $ECHO_N "checking BONOBOUI_LIBS... $ECHO_C" >&6 + BONOBOUI_LIBS=`$PKG_CONFIG --libs "libbonoboui-2.0"` + echo "$as_me:$LINENO: result: $BONOBOUI_LIBS" >&5 +echo "${ECHO_T}$BONOBOUI_LIBS" >&6 + else + BONOBOUI_CFLAGS="" + BONOBOUI_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + BONOBOUI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libbonoboui-2.0"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + if test $FORCE_BONOBOUI = yes ; then + { { echo "$as_me:$LINENO: error: libbonoboui enforced but support not found" >&5 +echo "$as_me: error: libbonoboui enforced but support not found" >&2;} + { (exit 1); exit 1; }; } + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + USE_BONOBOUI=no + fi + fi + +fi +if test $USE_BONOBOUI = yes ; then + USE_BONOBOUI=1 + BONOBOUIPKG=libbonoboui-2.0 +else + USE_BONOBOUI= +fi + + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for $GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG" >&5 +echo $ECHO_N "checking for $GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking GTKALL_CFLAGS" >&5 echo $ECHO_N "checking GTKALL_CFLAGS... $ECHO_C" >&6 - GTKALL_CFLAGS=`$PKG_CONFIG --cflags "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG"` + GTKALL_CFLAGS=`$PKG_CONFIG --cflags "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG"` echo "$as_me:$LINENO: result: $GTKALL_CFLAGS" >&5 echo "${ECHO_T}$GTKALL_CFLAGS" >&6 echo "$as_me:$LINENO: checking GTKALL_LIBS" >&5 echo $ECHO_N "checking GTKALL_LIBS... $ECHO_C" >&6 - GTKALL_LIBS=`$PKG_CONFIG --libs "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG"` + GTKALL_LIBS=`$PKG_CONFIG --libs "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG"` echo "$as_me:$LINENO: result: $GTKALL_LIBS" >&5 echo "${ECHO_T}$GTKALL_LIBS" >&6 else @@ -4070,7 +4291,7 @@ GTKALL_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - GTKALL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG"` + GTKALL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG"` echo $GTKALL_PKG_ERRORS fi @@ -4085,8 +4306,8 @@ if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements ($GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements ($GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -4129,6 +4350,7 @@ + # Finally create the config.make from config.make.in ac_config_files="$ac_config_files config.make" cat >confcache <<\_ACEOF @@ -4159,13 +4381,13 @@ # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | @@ -4195,13 +4417,13 @@ # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi @@ -4215,13 +4437,13 @@ cat >confdef2opt.sed <<\_ACEOF t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g t quote d : quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g s,\[,\\&,g s,\],\\&,g s,\$,$$,g @@ -4243,7 +4465,7 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' @@ -4287,9 +4509,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -4308,7 +4531,7 @@ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -4487,16 +4710,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -4523,7 +4747,7 @@ cat >&5 <<_CSEOF This file was extended by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4567,7 +4791,7 @@ -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE Configuration files: $config_files @@ -4578,11 +4802,10 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.57, +configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir @@ -4801,6 +5024,8 @@ s,@GNOMEUI_LIBS@,$GNOMEUI_LIBS,;t t s,@PANEL_CFLAGS@,$PANEL_CFLAGS,;t t s,@PANEL_LIBS@,$PANEL_LIBS,;t t +s,@BONOBOUI_CFLAGS@,$BONOBOUI_CFLAGS,;t t +s,@BONOBOUI_LIBS@,$BONOBOUI_LIBS,;t t s,@GTKALL_CFLAGS@,$GTKALL_CFLAGS,;t t s,@GTKALL_LIBS@,$GTKALL_LIBS,;t t s,@EXE@,$EXE,;t t @@ -4817,6 +5042,7 @@ s,@USE_GNOMECANVAS@,$USE_GNOMECANVAS,;t t s,@USE_GNOMEUI@,$USE_GNOMEUI,;t t s,@USE_PANEL@,$USE_PANEL,;t t +s,@USE_BONOBOUI@,$USE_BONOBOUI,;t t s,@USE_CC@,$USE_CC,;t t s,@DEBUG@,$DEBUG,;t t s,@LIBOBJS@,$LIBOBJS,;t t @@ -4850,9 +5076,9 @@ (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -4870,21 +5096,21 @@ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -4900,10 +5126,10 @@ as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -4941,20 +5167,48 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ @@ -4964,7 +5218,7 @@ configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -4973,26 +5227,32 @@ case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + echo "$f";; *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub @@ -5110,6 +5370,15 @@ else echo "not found" fi fi + +echo -n " libbonoboui " +if test -n "$USE_BONOBOUI" +then echo "yes" +else if test "$FORCE_BONOBOUI" = "yes" + then echo "disabled" + else echo "not found" + fi +fi echo echo -n " debug " if test -n "$DEBUG" ; then echo "yes" ; else echo "no" ; fi diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/configure.in ./configure.in --- ../lablgtk2-20040319/configure.in 2004-01-15 11:00:02.000000000 -0500 +++ ./configure.in 2004-06-20 05:02:07.000000000 -0400 @@ -353,7 +353,29 @@ USE_PANEL= fi -PKG_CHECK_MODULES(GTKALL,$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG) +FORCE_BONOBOUI=no +AC_ARG_WITH(bonoboui, + [ --without-bonoboui override autodetected libbonoboui support], + USE_BONOBOUI=$withval ; FORCE_BONOBOUI=yes, + USE_BONOBOUI=yes) + +if test $USE_BONOBOUI = yes ; then + PKG_CHECK_MODULES(BONOBOUI,libbonoboui-2.0,, + if test $FORCE_BONOBOUI = yes ; then + AC_MSG_ERROR(libbonoboui enforced but support not found) + else + AC_MSG_RESULT(no) + USE_BONOBOUI=no + fi) +fi +if test $USE_BONOBOUI = yes ; then + USE_BONOBOUI=1 + BONOBOUIPKG=libbonoboui-2.0 +else + USE_BONOBOUI= +fi + +PKG_CHECK_MODULES(GTKALL,$GTKPKG $GTKGLPKG $GLADEPKG $RSVGPKG $GNOMECANVASPKG $GNOMEUIPKG $PANELPKG $BONOBOUIPKG) AC_ARG_ENABLE(debug, [ --enable-debug enable debug mode], @@ -387,6 +409,7 @@ AC_SUBST(USE_GNOMECANVAS) AC_SUBST(USE_GNOMEUI) AC_SUBST(USE_PANEL) +AC_SUBST(USE_BONOBOUI) AC_SUBST(USE_CC) AC_SUBST(DEBUG) @@ -411,6 +434,7 @@ CONF_SUMMARY(libgnomecanvas, GNOMECANVAS) CONF_SUMMARY(libgnomeui, GNOMEUI) CONF_SUMMARY(libpanelapplet, PANEL) +CONF_SUMMARY(libbonoboui, BONOBOUI) echo echo -n " debug " if test -n "$DEBUG" ; then echo "yes" ; else echo "no" ; fi diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/.depend ./src/.depend --- ../lablgtk2-20040319/src/.depend 2004-03-18 02:05:28.000000000 -0500 +++ ./src/.depend 2004-06-24 02:56:04.000000000 -0400 @@ -1,3 +1,13 @@ +bonoboDock.cmo: bonoboui.cmo gContainer.cmi gObj.cmi gobject.cmi \ + obonoboDockProps.cmo +bonoboDock.cmx: bonoboui.cmx gContainer.cmx gObj.cmx gobject.cmx \ + obonoboDockProps.cmx +bonoboDockProps.cmo: bonoboui.cmo gobject.cmi gtkEnums.cmo gtkObject.cmo \ + gtkSignal.cmi +bonoboDockProps.cmx: bonoboui.cmx gobject.cmx gtkEnums.cmx gtkObject.cmx \ + gtkSignal.cmx +bonoboui.cmo: gobject.cmi gtk.cmo gtkEnums.cmo +bonoboui.cmx: gobject.cmx gtk.cmx gtkEnums.cmx gAction.cmo: gObj.cmi gaux.cmo gobject.cmi gtk.cmo gtkActionProps.cmo \ gtkData.cmo gtkSignal.cmi ogtkActionProps.cmo gAction.cmi gAction.cmx: gObj.cmx gaux.cmx gobject.cmx gtk.cmx gtkActionProps.cmx \ @@ -6,12 +16,12 @@ gtkBase.cmo gtkBin.cmo gtkBinProps.cmo ogtkBinProps.cmo gBin.cmi gBin.cmx: gContainer.cmx gData.cmx gObj.cmx gaux.cmx gobject.cmx gtk.cmx \ gtkBase.cmx gtkBin.cmx gtkBinProps.cmx ogtkBinProps.cmx gBin.cmi -gBroken.cmo: gContainer.cmi gDraw.cmi gEdit.cmi gObj.cmi gaux.cmo gobject.cmi \ - gpointer.cmi gtk.cmo gtkBase.cmo gtkBroken.cmo ogtkBaseProps.cmo \ - ogtkBrokenProps.cmo ogtkEditProps.cmo gBroken.cmi -gBroken.cmx: gContainer.cmx gDraw.cmx gEdit.cmx gObj.cmx gaux.cmx gobject.cmx \ - gpointer.cmx gtk.cmx gtkBase.cmx gtkBroken.cmx ogtkBaseProps.cmx \ - ogtkBrokenProps.cmx ogtkEditProps.cmx gBroken.cmi +gBroken.cmo: gContainer.cmi gData.cmi gDraw.cmi gEdit.cmi gObj.cmi gaux.cmo \ + gobject.cmi gpointer.cmi gtk.cmo gtkBase.cmo gtkBroken.cmo \ + ogtkBaseProps.cmo ogtkBrokenProps.cmo ogtkEditProps.cmo gBroken.cmi +gBroken.cmx: gContainer.cmx gData.cmx gDraw.cmx gEdit.cmx gObj.cmx gaux.cmx \ + gobject.cmx gpointer.cmx gtk.cmx gtkBase.cmx gtkBroken.cmx \ + ogtkBaseProps.cmx ogtkBrokenProps.cmx ogtkEditProps.cmx gBroken.cmi gButton.cmo: gContainer.cmi gObj.cmi gaux.cmo gobject.cmi gtk.cmo gtkBase.cmo \ gtkButton.cmo ogtkButtonProps.cmo gButton.cmi gButton.cmx: gContainer.cmx gObj.cmx gaux.cmx gobject.cmx gtk.cmx gtkBase.cmx \ @@ -267,7 +277,9 @@ gtkXmHTML.cmo: gdk.cmi gtk.cmo gtkXmHTML.cmx: gdk.cmx gtk.cmx lablgladecc.cmo: xml_lexer.cmi -lablgladecc.cmx: xml_lexer.cmx +lablgladecc.cmx: xml_lexer.cmi +obonoboDockProps.cmo: bonoboDockProps.cmo gobject.cmi gtkSignal.cmi +obonoboDockProps.cmx: bonoboDockProps.cmx gobject.cmx gtkSignal.cmx ogtkActionProps.cmo: gObj.cmi gobject.cmi gtkActionProps.cmo gtkSignal.cmi ogtkActionProps.cmx: gObj.cmx gobject.cmx gtkActionProps.cmx gtkSignal.cmx ogtkBaseProps.cmo: gObj.cmi gobject.cmi gtkBaseProps.cmo gtkSignal.cmi @@ -312,8 +324,6 @@ pangoEnums.cmx: gobject.cmx gpointer.cmx rsvg.cmo: gdkPixbuf.cmi rsvg.cmi rsvg.cmx: gdkPixbuf.cmx rsvg.cmi -xml_lexer.cmo: xml_lexer.cmi -xml_lexer.cmx: xml_lexer.cmi gAction.cmi: gObj.cmi gobject.cmi gtk.cmo gtkSignal.cmi gtkStock.cmo gBin.cmi: gContainer.cmi gData.cmi gObj.cmi gtk.cmo gtkSignal.cmi gBroken.cmi: gContainer.cmi gData.cmi gDraw.cmi gEdit.cmi gObj.cmi gdk.cmi \ diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/Makefile ./src/Makefile --- ../lablgtk2-20040319/src/Makefile 2004-03-18 02:05:28.000000000 -0500 +++ ./src/Makefile 2004-06-24 16:16:47.000000000 -0400 @@ -99,6 +99,17 @@ RSVGCOBJS = ml_rsvg$(XO) endif +ifdef USE_BONOBOUI +MLLIBS += lablbonoboui.cma +CLIBS += liblablbonoboui$(XA) +BONOBOUIPROPS = bonoboDock.props +BONOBOUIMLOBJS = bonobouiEnums.cmo bonoboui.cmo \ + $(BONOBOUIPROPS:.props=Props.cmo) \ + $(BONOBOUIPROPS:%.props=o%Props.cmo) \ + bonoboDock.cmo +BONOBOUICOBJS = ml_bonoboui$(XO) +endif + # Rules .SUFFIXES: .ml .mli .cmo .cmi .cmx .c $(XO) .d$(XO) .var .h .opt .def .ml4 @@ -158,11 +169,11 @@ INITOBJS = gtkInit.cmo THINITOBJS = gtkThInit.cmo ALLOBJS = $(MLXOBJS) $(GLMLOBJS) $(GNOMEMLOBJS) $(GLADEMLOBJS) \ - $(RSVGMLOBJS) $(GNOMECANVASMLOBJS) $(GNOMEUIMLOBJS) $(PANELOBJS) \ - $(INITOBJS) + $(RSVGMLOBJS) $(GNOMECANVASMLOBJS) $(GNOMEUIMLOBJS) $(PANELMLOBJS) \ + $(BONOBOUIMLOBJS) $(INITOBJS) ALLTHOBJS = $(THOBJS) $(THINITOBJS) -depend: $(ENUMOBJS:.cmo=.ml) $(GTKPROPS:%.props=%Props.ml) $(GTKPROPS:%.props=o%Props.ml) +depend: $(ENUMOBJS:.cmo=.ml) $(GTKPROPS:%.props=%Props.ml) $(GTKPROPS:%.props=o%Props.ml) $(BONOBOUIPROPS:%.props=%Props.ml) $(BONOBOUIPROPS:%.props=o%Props.ml) ocamldep *.ml *.mli > .depend ifeq ($(THREADS_LIB),no) @@ -328,6 +339,14 @@ $(LIBRARIAN) -o lablpanel \ $(PANELMLOBJS:.cmo=.cmx) $(PANELLIBS) +liblablbonoboui$(XA): $(BONOBOUICOBJS) + $(LIBRARIAN) -o lablbonoboui $(BONOBOUICOBJS) $(BONOBOUILIBS) +lablbonoboui.cma: liblablbonoboui$(XA) $(BONOBOUIMLOBJS) + $(LIBRARIAN) -o lablbonoboui $(BONOBOUIMLOBJS) $(BONOBOUILIBS) +lablbonoboui.cmxa: liblablbonoboui$(XA) $(BONOBOUIMLOBJS:.cmo=.cmx) + $(LIBRARIAN) -o lablbonoboui \ + $(BONOBOUIMLOBJS:.cmo=.cmx) $(BONOBOUILIBS) + gtkThread.cmo: gtkThread.ml $(COMPILER) $(THFLAGS) gtkThread.ml @@ -389,6 +408,9 @@ ifdef USE_PANEL DOCFILES += panel.mli endif +ifdef USE_BONOBOUI +DOCFILES += bonoboui.mli +endif OCAMLDOC = ocamldoc lablgtk$(XO)doc : $(DOCFILES) $(ALLOBJS) @@ -408,6 +430,7 @@ ml_gobject.h ml_glib.h wrappers.h $(GNOMEUICOBJS) : gnomeui_tags.h $(PANELCOBJS) : panel_tags.h +$(BONOBOUICOBJS) : bonoboui_tags.h ml_glib$(XO): glib_tags.h ml_glib.h wrappers.h ml_gobject$(XO): gobject_tags.h ml_gvaluecaml.h wrappers.h ml_gvaluecaml$(XO): ml_gobject.h wrappers.h @@ -424,6 +447,7 @@ ml_gnomecanvas$(XO): ml_gtk.h ml_gobject.h wrappers.h ml_gnomedruid$(XO): ml_gtk.h ml_gobject.h wrappers.h ml_panel$(XO): ml_gtk.h ml_gobject.h wrappers.h +ml_bonoboui$(XO): ml_gobject.h ml_gtk.h gtk_tags.h wrappers.h varcc.cmo: varcc.ml4 include .depend diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/bonoboDock.ml ./src/bonoboDock.ml --- ../lablgtk2-20040319/src/bonoboDock.ml 1969-12-31 19:00:00.000000000 -0500 +++ ./src/bonoboDock.ml 2004-06-24 03:10:25.000000000 -0400 @@ -0,0 +1,73 @@ +(* $Id: $ *) + +open Bonoboui +open ObonoboDockProps +open GContainer +open GObj + + +module B = Bonoboui + +class item_signals_impl obj = object + inherit container_signals_impl obj + inherit dock_item_sigs +end + +class item obj = object + inherit [B.dock_item] bin_impl (obj :> B.dock_item Gobject.obj) + inherit dock_item_props + method connect = new item_signals_impl obj + method event = new GObj.event_ops obj + method as_item = (obj :> B.dock_item Gobject.obj) + method child = new widget (DockItem.get_child obj) + method name = DockItem.get_name obj + method shadow_type = DockItem.get_shadow_type obj + method set_shadow_type = DockItem.set_shadow_type obj + method orientation = DockItem.get_orientation obj + method set_orientation = DockItem.set_orientation obj +end + +let as_item (it : item) = it#as_item + +let item name behavior = + pack_container [] + ~create:(fun _ -> new item (DockItem.new_item name behavior)) + +class layout obj = object + val obj = (obj :> B.dock_layout Gobject.obj) + method private obj = obj + method misc = new GObj.gobject_ops obj + method as_layout = (obj :> B.dock_layout Gobject.obj) + method add it = DockLayout.add_item obj (as_item it) + method add_floating it = DockLayout.add_floating_item obj (as_item it) + method remove it = DockLayout.remove_item obj (as_item it) + method remove_item_by_name = DockLayout.remove_item_by_name obj + method string = DockLayout.create_string obj + method parse = DockLayout.parse_string obj + method add_to_dock (d : dock) = DockLayout.add_to_dock obj (d#as_dock) +end + +and dock obj = object + inherit [B.dock] container_impl (obj :> B.dock Gobject.obj) + method connect = new container_signals_impl obj + method as_dock = (obj :> B.dock Gobject.obj) + method allow_floating_items ?(allow=true) () = + Dock.allow_floating_items obj allow + method add_item ?(band=0) ?(pos=(-1)) ?(offset=0) ?(new_band=false) it = + Dock.add_item ~band ~pos ~offset ~new_band obj (as_item it) + method add_floating_item it = Dock.add_floating_item obj (as_item it) + method set_client w = Dock.set_client_area obj (as_widget w) + method client = new widget (Dock.get_client_area obj) + method item n = + let {Dock.item = item} = (Dock.get_item_by_name obj n) in + new item item + method placement n = + let {Dock.placement = placement} = (Dock.get_item_by_name obj n) in + placement + method layout = new layout (Dock.get_layout obj) + method add_from_layout (lo : layout) = + Dock.add_from_layout obj (lo#as_layout) +end + +let dock = + pack_container [] ~create:(fun _ -> new dock (Dock.new_dock ())) diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/bonoboDock.props ./src/bonoboDock.props --- ../lablgtk2-20040319/src/bonoboDock.props 1969-12-31 19:00:00.000000000 -0500 +++ ./src/bonoboDock.props 2004-06-24 03:10:11.000000000 -0400 @@ -0,0 +1,20 @@ +(* $Id: $ *) + +prefix "Bonoboui" + +class Dock wrapsig : Container { + signal layout_changed +} + +class DockItem wrapsig wrap : Bin { + "shadow" GtkShadowType : Read / Write / NoWrap + "orientation" GtkOrientation : Read / Write / NoWrap + "prefered_width" gint : Read + "prefered_height" gint : Read + (* signals *) + signal dock_drag_begin + signal dock_drag_motion : x:int y:int + signal dock_drag_end + signal dock_detach + signal orientation_changed : GtkOrientation +} diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/bonoboui.ml ./src/bonoboui.ml --- ../lablgtk2-20040319/src/bonoboui.ml 1969-12-31 19:00:00.000000000 -0500 +++ ./src/bonoboui.ml 2004-06-24 02:51:21.000000000 -0400 @@ -0,0 +1,72 @@ +(* $Id: $ *) + +type dock = [Gtk.container|`dock] +type dock_item = [Gtk.bin|`dockitem] +type dock_layout = [`docklayout] + +type floating = + { + x: int; + y: int; + orientation: GtkEnums.orientation + } + +type docked = + { + band: int; + pos: int; + offset: int + } + +module Dock = + struct + type item_info = + { + item: dock_item Gobject.obj; + placement: BonobouiEnums.dock_placement; + location: docked + } + + external new_dock : unit -> dock Gobject.obj = "ml_bonobo_dock_new" + external allow_floating_items : [> dock] Gobject.obj -> bool -> unit = "ml_bonobo_dock_allow_floating_items" + external add_item : [> dock] Gobject.obj -> [> dock_item] Gobject.obj -> BonobouiEnums.dock_placement -> band:int -> pos:int -> offset:int -> new_band:bool -> unit = "ml_bonobo_dock_add_item_bc" "ml_bonobo_dock_add_item" + external add_floating_item : [> dock] Gobject.obj -> [> dock_item] Gobject.obj -> x:int -> y:int -> GtkEnums.orientation -> unit = "ml_bonobo_dock_add_floating_item" + external set_client_area : [> dock] Gobject.obj -> [> Gtk.widget] Gobject.obj -> unit = "ml_bonobo_dock_set_client_area" + external get_client_area : [> dock] Gobject.obj -> Gtk.widget Gobject.obj = "ml_bonobo_dock_get_client_area" + external get_item_by_name : [> dock] Gobject.obj -> string -> item_info = "ml_bonobo_dock_get_item_by_name" + external get_layout : [> dock] Gobject.obj -> dock_layout Gobject.obj = "ml_bonobo_dock_get_layout" + external add_from_layout : [> dock] Gobject.obj -> [> dock_layout] Gobject.obj -> bool = "ml_bonobo_dock_add_from_layout" + end + +module DockItem = + struct + external new_item : string -> BonobouiEnums.dock_item_behavior -> dock_item Gobject.obj = "ml_bonobo_dock_item_new" + external get_child : [> dock_item] Gobject.obj -> Gtk.widget Gobject.obj = "ml_bonobo_dock_item_get_child" + external get_name : [> dock_item] Gobject.obj -> string = "ml_bonobo_dock_item_get_name" + external set_shadow_type : [> dock_item] Gobject.obj -> GtkEnums.shadow_type -> unit = "ml_bonobo_dock_item_set_shadow_type" + external get_shadow_type : [> dock_item] Gobject.obj -> GtkEnums.shadow_type = "ml_bonobo_dock_item_get_shadow_type" + external set_orientation : [> dock_item] Gobject.obj -> GtkEnums.orientation ->bool = "ml_bonobo_dock_item_set_orientation" + external get_orientation : [> dock_item] Gobject.obj -> GtkEnums.orientation = "ml_bonobo_dock_item_get_orientation" + end + +module DockLayout = + struct + type layout_item = + { + item: dock_item Gobject.obj; + placement: BonobouiEnums.dock_placement; + location: + [ `FLOATING of floating | `DOCKED of docked ] + } + + external new_layout : unit -> dock_layout Gobject.obj = "ml_bonobo_dock_layout_new" + external add_item : [> dock_layout] Gobject.obj -> [> dock_item] Gobject.obj -> BonobouiEnums.dock_placement -> band:int -> pos:int -> offset:int -> bool = "ml_bonobo_dock_layout_add_item_bc" "ml_bonobo_dock_layout_add_item" + external add_floating_item : [> dock_layout] Gobject.obj -> [> dock_item] Gobject.obj -> x:int -> y:int -> GtkEnums.orientation -> bool = "ml_bonobo_dock_layout_add_floating_item" + external get_item : [> dock_layout] Gobject.obj -> [> dock_item] Gobject.obj -> layout_item = "ml_bonobo_dock_layout_get_item" + external get_item_by_name : [> dock_layout] Gobject.obj -> string -> layout_item = "ml_bonobo_dock_layout_get_item_by_name" + external remove_item : [> dock_layout] Gobject.obj -> [> dock_item] Gobject.obj -> bool = "ml_bonobo_dock_layout_remove_item" + external remove_item_by_name : [> dock_layout] Gobject.obj -> string -> bool = "ml_bonobo_dock_layout_remove_item_by_name" + external create_string : [> dock_layout] Gobject.obj -> string = "ml_bonobo_dock_layout_create_string" + external parse_string : [> dock_layout] Gobject.obj -> string -> bool = "ml_bonobo_dock_layout_parse_string" + external add_to_dock : [> dock_layout] Gobject.obj -> [> dock] Gobject.obj -> bool = "ml_bonobo_dock_layout_add_to_dock" + end diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/bonoboui_tags.var ./src/bonoboui_tags.var --- ../lablgtk2-20040319/src/bonoboui_tags.var 1969-12-31 19:00:00.000000000 -0500 +++ ./src/bonoboui_tags.var 2004-06-20 18:34:33.000000000 -0400 @@ -0,0 +1,14 @@ +(* $Id: $ *) + +package "bonoboui" + +type dock_item_behavior = "BONOBO_DOCK_ITEM_BEH_" + [ `NORMAL | `EXCLUSIVE | `NEVER_FLOATING | `NEVER_VERTICAL + | `NEVER_HORIZONTAL | `LOCKED ] + +type dock_placement = "BONOBO_DOCK_" + [ `TOP | `RIGHT | `BOTTOM | `LEFT | `FLOATING ] + +type dock_location = "ML_BONOBOUI_DOCK_LAYOUT_ITEM_" + [ `FLOATING | `DOCKED ] + diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/ml_bonoboui.c ./src/ml_bonoboui.c --- ../lablgtk2-20040319/src/ml_bonoboui.c 1969-12-31 19:00:00.000000000 -0500 +++ ./src/ml_bonoboui.c 2004-06-22 17:59:22.000000000 -0400 @@ -0,0 +1,136 @@ +/* $Id: $ */ + +#include + +#include +#include +#include +#include +#include + +#include "wrappers.h" +#include "ml_gobject.h" +#include "ml_gtk.h" +#include "ml_bonoboui.h" + +#include "bonoboui_tags.h" +#include "bonoboui_tags.c" + +#include "gtk_tags.h" + +/* BonoboDock */ + +#define BonoboDock_val(val) check_cast(BONOBO_DOCK,val) +#define BonoboDockItem_val(val) check_cast(BONOBO_DOCK_ITEM,val) +#define BonoboDockLayout_val(val) check_cast(BONOBO_DOCK_LAYOUT,val) + +ML_0 (bonobo_dock_new, Val_GtkWidget_sink) +ML_2 (bonobo_dock_allow_floating_items, BonoboDock_val, Bool_val, Unit) +ML_7 (bonobo_dock_add_item, BonoboDock_val, BonoboDockItem_val, Dock_placement_val, Int_val, Int_val, Int_val, Bool_val, Unit) +ML_bc7 (ml_bonobo_dock_add_item) +ML_5 (bonobo_dock_add_floating_item, BonoboDock_val, BonoboDockItem_val, Int_val, Int_val, Orientation_val, Unit) +ML_2 (bonobo_dock_set_client_area, BonoboDock_val, GtkWidget_val, Unit) +ML_1 (bonobo_dock_get_client_area, BonoboDock_val, Val_GtkWidget) + +CAMLprim value ml_bonobo_dock_get_item_by_name(value dock, value name) +{ + BonoboDockItem *it; + BonoboDockPlacement p; + guint num_band_return; + guint band_position_return; + guint offset_return; + CAMLparam0 (); + CAMLlocal2 (v, loc); + + it = bonobo_dock_get_item_by_name(BonoboDock_val(dock), String_val(name), + &p, &num_band_return, + &band_position_return, &offset_return); + if (!it) + raise_not_found(); + loc = alloc_small(3, 0); + Field(loc, 0) = Val_int(num_band_return); + Field(loc, 1) = Val_int(band_position_return); + Field(loc, 2) = Val_int(offset_return); + v = alloc_small(3, 0); + Field(v, 0) = Val_unit; + Field(v, 1) = Val_dock_placement(p); + Field(v, 2) = loc; + modify(&Field(v, 0), Val_GtkAny(it)); + CAMLreturn (v); +} + +ML_1 (bonobo_dock_get_layout, BonoboDock_val, Val_GtkAny) +ML_2 (bonobo_dock_add_from_layout, BonoboDock_val, BonoboDockLayout_val, Val_bool) + + +/* BonoboDockItem */ + +ML_2 (bonobo_dock_item_new, String_val, Dock_item_behavior_val, Val_GtkWidget_sink) +ML_1 (bonobo_dock_item_get_child, BonoboDockItem_val, Val_GtkWidget) +ML_1 (bonobo_dock_item_get_name, BonoboDockItem_val, Val_string) +ML_2 (bonobo_dock_item_set_shadow_type, BonoboDockItem_val, Shadow_type_val, Unit) +ML_1 (bonobo_dock_item_get_shadow_type, BonoboDockItem_val, Val_shadow_type) +ML_2 (bonobo_dock_item_set_orientation, BonoboDockItem_val, Orientation_val, Val_bool) +ML_1 (bonobo_dock_item_get_orientation, BonoboDockItem_val, Val_orientation) +ML_1 (bonobo_dock_item_get_behavior, BonoboDockItem_val, Val_dock_item_behavior) + + +/* BonoboDockLayout */ + +ML_0 (bonobo_dock_layout_new, Val_GtkWidget_sink) +ML_6 (bonobo_dock_layout_add_item, BonoboDockLayout_val, BonoboDockItem_val, Dock_placement_val, Int_val, Int_val, Int_val, Val_bool) +ML_bc6(ml_bonobo_dock_layout_add_item) +ML_5 (bonobo_dock_layout_add_floating_item, BonoboDockLayout_val, BonoboDockItem_val, Int_val, Int_val, Orientation_val, Val_bool) + +value Val_BonoboDockLayoutItem(BonoboDockLayoutItem *it) +{ + CAMLparam0 (); + CAMLlocal3 (v, loc, pos); + + if (!it) + raise_not_found(); + + pos = alloc_small(3, 0); + if (it->placement == BONOBO_DOCK_FLOATING) + { + Field(pos, 0) = Val_int(it->position.floating.x); + Field(pos, 1) = Val_int(it->position.floating.y); + Field(pos, 2) = Val_orientation(it->position.floating.orientation); + } + else + { + Field(pos, 0) = Val_int(it->position.docked.band_num); + Field(pos, 1) = Val_int(it->position.docked.band_position); + Field(pos, 2) = Val_int(it->position.docked.offset); + } + loc = alloc_small(2, 0); + Field(loc, 0) = + (it->placement == BONOBO_DOCK_FLOATING) ? MLTAG_FLOATING : MLTAG_DOCKED; + Field(loc, 1) = pos; + v = alloc_small(3, 0); + Field(v, 0) = Val_unit; + Field(v, 1) = Val_dock_placement(it->placement); + Field(v, 2) = loc; + modify(&Field(v, 0), Val_GtkAny(it->item)); + + CAMLreturn (v); +} + +ML_2 (bonobo_dock_layout_get_item, BonoboDockLayout_val, BonoboDockItem_val, Val_BonoboDockLayoutItem); +ML_2 (bonobo_dock_layout_get_item_by_name, BonoboDockLayout_val, String_val, Val_BonoboDockLayoutItem); +ML_2 (bonobo_dock_layout_remove_item, BonoboDockLayout_val, BonoboDockItem_val, Val_bool) +ML_2 (bonobo_dock_layout_remove_item_by_name, BonoboDockLayout_val, String_val, Val_bool) + +CAMLprim value ml_bonobo_dock_layout_create_string(value layout) +{ + value v; + gchar *s; + + s = bonobo_dock_layout_create_string(BonoboDockLayout_val(layout)); + v = Val_string(s); + free(s); + return v; +} + +ML_2 (bonobo_dock_layout_parse_string, BonoboDockLayout_val, String_val, Val_bool) +ML_2 (bonobo_dock_layout_add_to_dock, BonoboDockLayout_val, BonoboDock_val, Val_bool) diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/ml_bonoboui.h ./src/ml_bonoboui.h --- ../lablgtk2-20040319/src/ml_bonoboui.h 1969-12-31 19:00:00.000000000 -0500 +++ ./src/ml_bonoboui.h 2004-06-20 18:33:48.000000000 -0400 @@ -0,0 +1,7 @@ +/* $Id: $ */ + +typedef enum +{ + ML_BONOBOUI_DOCK_LAYOUT_ITEM_FLOATING, + ML_BONOBOUI_DOCK_LAYOUT_ITEM_DOCKED +} ml_bonobo_dock_layout_item_location; diff -x semantic.cache -x config.make -x bonoboui.diff -x patch-stamp -x config.status -x config.make -x config.log -x aclocal.m4 -x test.ml -x debian -u -r -N ../lablgtk2-20040319/src/propcc.ml4 ./src/propcc.ml4 --- ../lablgtk2-20040319/src/propcc.ml4 2003-12-13 11:35:55.000000000 -0500 +++ ./src/propcc.ml4 2004-06-24 03:13:21.000000000 -0400 @@ -164,7 +164,7 @@ let attributes = ["Read";"Write";"Construct";"ConstructOnly";"NoSet";"Set"; - "NoWrap";"Wrap";"NoGet";"VSet";"NoVSet"] + "NoWrap";"Wrap";"WrapGet";"WrapSet";"NoGet";"VSet";"NoVSet"] let label_type2 id = parser | [< ' Kwd":"; ' Ident ty >] -> (id,ty) --=-=-= -- Michael Welsh Duggan (md5i@cs.cmu.edu) --=-=-=--