diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/dillo/dillo2-0.6.6 | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/dillo/dillo2-0.6.6')
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/dillo.desktop | 9 | ||||
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/dillo.png | bin | 0 -> 4175 bytes | |||
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/dillo2-gcc4.patch | 27 | ||||
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/dillorc | 71 | ||||
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/fix_about_syntax.patch | 174 | ||||
-rw-r--r-- | recipes/dillo/dillo2-0.6.6/gtk2.patch | 23878 |
6 files changed, 24159 insertions, 0 deletions
diff --git a/recipes/dillo/dillo2-0.6.6/dillo.desktop b/recipes/dillo/dillo2-0.6.6/dillo.desktop new file mode 100644 index 0000000000..6c5f994da4 --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/dillo.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Web browser +Comment=Dillo +Exec=dillo +Terminal=0 +Type=Application +Icon=dillo.png +Categories=Application;PIM;GPE +StartupNotify=True diff --git a/recipes/dillo/dillo2-0.6.6/dillo.png b/recipes/dillo/dillo2-0.6.6/dillo.png Binary files differnew file mode 100644 index 0000000000..99c942f190 --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/dillo.png diff --git a/recipes/dillo/dillo2-0.6.6/dillo2-gcc4.patch b/recipes/dillo/dillo2-0.6.6/dillo2-gcc4.patch new file mode 100644 index 0000000000..b8e01aaca5 --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/dillo2-gcc4.patch @@ -0,0 +1,27 @@ +diff -Naur dillo-0.6.6-orig/src/dw_table.c dillo-0.6.6/src/dw_table.c +--- dillo-0.6.6-orig/src/dw_table.c 2007-03-22 22:46:10.000000000 +0100 ++++ dillo-0.6.6/src/dw_table.c 2007-03-22 22:48:57.000000000 +0100 +@@ -1177,7 +1177,10 @@ + sub_extr_width = rest_w * cols_per_sub / rest_n; + rest_w -= sub_extr_width; + rest_n -= cols_per_sub; +- EXTR_VALUE (sub_extremes[i]) = sub_extr_width; ++ if(max) ++ sub_extremes[i].max_width = sub_extr_width; ++ else ++ sub_extremes[i].min_width = sub_extr_width; + } + } + } else { +@@ -1196,7 +1199,10 @@ + delta = rest_w * EXTR_VALUE (sub_extremes[i]) / rest_n; + rest_w -= delta; + rest_n -= EXTR_VALUE (sub_extremes[i]); +- EXTR_VALUE (sub_extremes[i]) += delta; ++ if(max) ++ sub_extremes[i].max_width += delta; ++ else ++ sub_extremes[i].min_width += delta; + } + DEBUG_MSG (DEBUG_WIDTH_LEVEL + 2, "%d\n", + EXTR_VALUE (sub_extremes[i])); diff --git a/recipes/dillo/dillo2-0.6.6/dillorc b/recipes/dillo/dillo2-0.6.6/dillorc new file mode 100644 index 0000000000..fce16dd957 --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/dillorc @@ -0,0 +1,71 @@ +# dillorc +# Sample dillo initialization file. +# Lines that start with a '#' are comments. + +# Set the desired initial browser size +geometry=240x310 + +# Set the home location +home=http://www.google.com/palm/ + +# Set the proxy information for http +#http_proxy=http://localhost:8080/ + +# Set the domain to access without proxy +#no_proxy = http://www.mynet.com/ + +# If you prefer oblique over italic fonts, uncoment next line +use_oblique=YES + +# Color Section +# Here we can use the standard (and extended) html named color or +# the hexdecimal version (in C style) + +# Set the background color +# bg_color=gray +# bg_color=0xd6d6c0 +# bg_color=0xdcd1ba + +# Set the text color +text_color=black + +# Set the link color +link_color=blue + +# If you like white backgrounds, uncomment next line +allow_white_bg=YES + +# Use the same colors with all documents? +force_my_colors=NO + +# All fontsizes are scaled by this value (default is 1.0) +font_factor=0.6 + +# Show ALT popup for images? +show_alt=YES + +# Size of dillo panel (used to enlarge the browsing area) +# tiny : recommended for iPAQ (with small_icons) +# medium : nice! +# large : Traditional +panel_size=stack +small_icons=YES + +# Set this to YES, if you want to limit the word wrap width to the vieport +# width (may be useful for iPAQ) +limit_text_width=YES + +use_dicache=YES + +show_back = YES +show_forw = YES +show_home = YES +show_save = YES +show_stop = YES +show_menubar = YES +show_clear_url = YES +show_url = YES +show_progress_box = NO +transient_dialogs = YES + +# dillorc ends here. diff --git a/recipes/dillo/dillo2-0.6.6/fix_about_syntax.patch b/recipes/dillo/dillo2-0.6.6/fix_about_syntax.patch new file mode 100644 index 0000000000..06b4d09614 --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/fix_about_syntax.patch @@ -0,0 +1,174 @@ +diff -urNd ../dillo2-0.6.6-r0/dillo2-0.6.6/src/IO/about.c dillo2-0.6.6/src/IO/about.c +--- ../dillo2-0.6.6-r0/dillo2-0.6.6/src/IO/about.c 2003-04-21 19:36:31.000000000 +0100 ++++ dillo2-0.6.6/src/IO/about.c 2004-09-11 10:58:48.000000000 +0100 +@@ -28,88 +28,88 @@ + * HTML text for startup screen + */ + static char *Splash= +-"Content-type: text/html +- +-<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\"> +-<html> +-<head> +-<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"> +-</head> +- +-<body bgcolor=\"gray\" link=\"aqua\" vlink=\"black\"> +- +-<table WIDTH=\"100%\" BORDER=0 CELLSPACING=0 CELLPADDING=5> +-<tr> +-<td BGCOLOR=\"gray\"> +-<hr> +- <A HREF='http://dillo.cipsga.org.br/dillo-help.html'>Help</A><br> +- <A HREF='http://dillo.cipsga.org.br/'>Home Page</A><br> +- <A HREF='http://dillo.cipsga.org.br/ChangeLog.html'> +- Full ChangeLog</A><br> +- <A HREF='http://www.google.com/'>Google</A><br> +-<hr> +-</td> +- +-<td BGCOLOR=\"#9090F0\"> +-<h1><b>Dillo 0.6.7-pre</b></h1> +- +-<hr> +- <h1>Dillo project<br> +- <h3>Version 0.6.7-pre<BR> <EM>(this is alpha code)</EM> </h3></h1> +-<h4> License: </h4> +-<p> +- This program is free software; you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 2 of the License, or +- (at your option) any later version. +-<p> +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- GNU General Public License for more details. +- +-<hr> +-<h4> Release overview: </h4> +-<BLOCKQUOTE> +- [...] +-</BLOCKQUOTE><BLOCKQUOTE> +- Remember that dillo project uses a release model where every new +-browser shall be better than the former. +-<EM>Keep up with the latest one!</EM> +-</BLOCKQUOTE> +-<hr> +-<h4>NOTES:</h4> +-<p> +-<ul> +-<li> There's a <STRONG>dillorc</STRONG> (readable config) file within the +-tarball; It is well commented and has plenty of options to customize dillo, +-so <STRONG>copy it</STRONG> to your <STRONG>~/.dillo/</STRONG> directory, +-and modify to your taste. +-<li> There's documentation for developers in the <CODE>/doc</CODE> +-dir within the tarball; +-you can find directions on everything else at the home page. </li> +-<li> Dillo has context sensitive menus on the right-mouse-button +- (pages, links, Back and Forward buttons)</li> +-<li> Dillo behaves very nice when browsing local files, images, and HTML. +-It's also very good for Internet searching (try Google!).</li> +-<li> This release is mainly intended <strong>for developers</strong> +-and <em>advanced users</em></li> +-</ul> +-<hr> +-<h4>Notes to Xfce users:</h4> +-<P> Please bear in mind that dillo is alpha code; it is not ready for +-end users yet. Anyway, local browsing (files and local HTTP) is quite stable +-and chances are you'll not be disappointed. +-<P> Tip: if you set BROWSER=dillo, Xfce's help will be a sweet tour! +-<P> TABLES are a work in progress. +-<P> FRAMES, Java, and Javascript are not supported. +-<hr> +-<hr> +- +-</td> +-</table> +-</body> +-</html> ++"Content-type: text/html \ ++ \ ++<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\"> \ ++<html> \ ++<head> \ ++<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"> \ ++</head> \ ++ \ ++<body bgcolor=\"gray\" link=\"aqua\" vlink=\"black\"> \ ++ \ ++<table WIDTH=\"100%\" BORDER=0 CELLSPACING=0 CELLPADDING=5> \ ++<tr> \ ++<td BGCOLOR=\"gray\"> \ ++<hr> \ ++ <A HREF='http://dillo.cipsga.org.br/dillo-help.html'>Help</A><br> \ ++ <A HREF='http://dillo.cipsga.org.br/'>Home Page</A><br> \ ++ <A HREF='http://dillo.cipsga.org.br/ChangeLog.html'> \ ++ Full ChangeLog</A><br> \ ++ <A HREF='http://www.google.com/'>Google</A><br> \ ++<hr> \ ++</td> \ ++ \ ++<td BGCOLOR=\"#9090F0\"> \ ++<h1><b>Dillo 0.6.7-pre</b></h1> \ ++ \ ++<hr> \ ++ <h1>Dillo project<br> \ ++ <h3>Version 0.6.7-pre<BR> <EM>(this is alpha code)</EM> </h3></h1> \ ++<h4> License: </h4> \ ++<p> \ ++ This program is free software; you can redistribute it and/or modify \ ++ it under the terms of the GNU General Public License as published by \ ++ the Free Software Foundation; either version 2 of the License, or \ ++ (at your option) any later version. \ ++<p> \ ++ This program is distributed in the hope that it will be useful, \ ++ but WITHOUT ANY WARRANTY; without even the implied warranty of \ ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \ ++ GNU General Public License for more details. \ ++ \ ++<hr> \ ++<h4> Release overview: </h4> \ ++<BLOCKQUOTE> \ ++ [...] \ ++</BLOCKQUOTE><BLOCKQUOTE> \ ++ Remember that dillo project uses a release model where every new \ ++browser shall be better than the former. \ ++<EM>Keep up with the latest one!</EM> \ ++</BLOCKQUOTE> \ ++<hr> \ ++<h4>NOTES:</h4> \ ++<p> \ ++<ul> \ ++<li> There's a <STRONG>dillorc</STRONG> (readable config) file within the \ ++tarball; It is well commented and has plenty of options to customize dillo, \ ++so <STRONG>copy it</STRONG> to your <STRONG>~/.dillo/</STRONG> directory, \ ++and modify to your taste. \ ++<li> There's documentation for developers in the <CODE>/doc</CODE> \ ++dir within the tarball; \ ++you can find directions on everything else at the home page. </li> \ ++<li> Dillo has context sensitive menus on the right-mouse-button \ ++ (pages, links, Back and Forward buttons)</li> \ ++<li> Dillo behaves very nice when browsing local files, images, and HTML. \ ++It's also very good for Internet searching (try Google!).</li> \ ++<li> This release is mainly intended <strong>for developers</strong> \ ++and <em>advanced users</em></li> \ ++</ul> \ ++<hr> \ ++<h4>Notes to Xfce users:</h4> \ ++<P> Please bear in mind that dillo is alpha code; it is not ready for \ ++end users yet. Anyway, local browsing (files and local HTTP) is quite stable \ ++and chances are you'll not be disappointed. \ ++<P> Tip: if you set BROWSER=dillo, Xfce's help will be a sweet tour! \ ++<P> TABLES are a work in progress. \ ++<P> FRAMES, Java, and Javascript are not supported. \ ++<hr> \ ++<hr> \ ++ \ ++</td> \ ++</table> \ ++</body> \ ++</html> \ + "; + + diff --git a/recipes/dillo/dillo2-0.6.6/gtk2.patch b/recipes/dillo/dillo2-0.6.6/gtk2.patch new file mode 100644 index 0000000000..44aa3d31ce --- /dev/null +++ b/recipes/dillo/dillo2-0.6.6/gtk2.patch @@ -0,0 +1,23878 @@ +diff -urN dillo-0.6.6/AUTHORS dillo2-0.6.6/AUTHORS +--- dillo-0.6.6/AUTHORS 2002-05-29 15:26:51.000000000 -0600 ++++ dillo2-0.6.6/AUTHORS 2003-04-21 12:35:02.000000000 -0600 +@@ -25,10 +25,10 @@ + Patches: + * Sam Dennis + * Andrew McPherson +- * Andreas Schweitzer + * Sean 'Shaleh' Perry + * Marcos Ramírez + * Adam Sampson ++ * Andreas Schweitzer + * Dominic Wong + _________________________________________________________________ + +diff -urN dillo-0.6.6/ChangeLog dillo2-0.6.6/ChangeLog +--- dillo-0.6.6/ChangeLog 2002-05-29 15:20:44.000000000 -0600 ++++ dillo2-0.6.6/ChangeLog 2003-04-21 12:35:02.000000000 -0600 +@@ -3,6 +3,27 @@ + ============================================================================= + + ++dillo-0.6.7 [?, 2002] ++ ++ - * Added code so that tooltips stay within the screen. ++ Patch: Pekka Lampila, Sebastian Geerken ++ - * Fixed a problem occurring when scrolling with the "b" key. ++ Patch: Livio Baldini ++ - * Fixed a memory leak in DwAlignedPage. ++ Patch: Jörgen Viksell, Sebastian Geerken ++ - * Fixed a bug in DwPage ("height" argument). ++ Patch: Pekka Lampila ++ - * Removed space around tables. ++ * Implemented the <button> tag! (BUG#276) ++ Patches: Sebastian Geerken ++ - * Added support for <input type=image...> (BUG#313) ++ Patch: Madis Janson, Sebastian Geerken, Jorge Arellano ++ - * Made a better EAGAIN handler, and enabled FreeIOVec operation in IOWrite. ++ Patch: Jorge Arellano, Livio Baldini ++ - * Avoided a file lock when cookiesrc disables cookies (BUG#358). ++ Patch: Jorge Arellano ++ ++ + dillo-0.6.6 [May 30, 2002] + + - * Added a few canonical casts to fix some obvious 64bit issues. +diff -urN dillo-0.6.6/ChangeLog.old dillo2-0.6.6/ChangeLog.old +--- dillo-0.6.6/ChangeLog.old 2000-08-30 10:17:58.000000000 -0600 ++++ dillo2-0.6.6/ChangeLog.old 1969-12-31 17:00:00.000000000 -0700 +@@ -1,89 +0,0 @@ +- +-This is the Changelog file that existed before Dillo began. +- +- +-=========================================================================== +-Gzilla project +- +-Wed 28 Oct 1999 Christopher Reid Palmer <chrisp@innerfireworks.com> +- Rota Luca +- * support for arrow keys +- * proper tool bar +- * cursor changing +- +- Randy Maas +- * documentation +- * URL sub-tree cleanups and speed-ups +- +- Sammy Mannaert +- * bookmarks.c fix +- * menu hotkeys, menu pulloffs and Location pull-off +- * file:/ URL bugfix, for larger than 12 char names +- +- David Press +- * fix to cursor change +- +-Fri Jul 23 22:12:14 1999 ObiTuarY <obituary@freshmeat.net> +- +- * *.*: Upgraded to autoconf 2.13 and automake 1.4. Reorganization +- of the source. +- * src/interface.{c,h}: Added pixmaps for the buttons. Removed the +- open button. Doesn't it feel redundant with the location text entry +- just under it ? ;-) +- * src/pixmaps.h: New file holding the pixmaps. +- +-0.2.0 17-18 Jul 1999 Christopher Reid Palmer <chrisp@innerFireWorks.com> +- * Restructured menus, beginning to implement functionality of new menu items. +- * Closed hole for when ~/.gzilla exists but is not a dir. +- * Poked at bookmarks. +- +- +- +-=========================================================================== +-Raph Levien project +- +- +-Mon Dec 21 00:07:36 1998 Raph Levien <raph@gimp.org> +- +- * gzilladns.c: fixed a bug (adding the input handler more +- than once) that got triggered in Gtk 1.1.x. +- * gzillageturl.c: added an "about:" mechanism with simple +- redirects. This is 0.1.7. +- +-Sun Dec 20 22:25:17 1998 Raph Levien <raph@gimp.org> +- +- * Accelerator group code so that it now compiles with both +- Gtk 1.0.x and 1.1.x +- * Added directory scanning support to gzilla_file (thanks to Jim +- McBeath!) +- +-0.1.5 (2 Jan 1998 RLL) +- * Finished moving junk out of bytesink (mostly into linkblock). +- Now, the former abstraction is lean and mean, and the latter +- is a junkheap :). +- * Tried to hook up most of the abort/destroy logic, so it should +- leak a lot less memory now. +- * I'm moving images from gtk_preview to gzw_image as well. +- +-0.1.4 (26 Nov 1997 RLL) +- * Pages > 32kpixels actually scroll now. +- * Pretty significant rework of the whole abort architecture (see +- abort.html for more details). Also separated out some of the +- web-specific stuff in bytesink to linkblock. +- * It seems relatively stable now, but it's nowhere near freeing +- all of the memory it allocates. +- +-0.1.3 +- * Switched page widget from gtk to gzw. +- * Significant enhancements in functionality and stability. +- +-0.0.10 +- * Major change is reorganization of network code - all fetches now +- go through gzilla_url_get. +- +- * Aborts (i.e. the implementation of the Stop button) are now +- handled by a new bytesink signal ("abort"). The abort logic has +- been partially upgraded to handle multiple windows - now, +- gzilla_bw_abort_all aborts all bytesinks in a window. +- +- +diff -urN dillo-0.6.6/Makefile dillo2-0.6.6/Makefile +--- dillo-0.6.6/Makefile 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/Makefile 2003-04-21 14:26:43.000000000 -0600 +@@ -0,0 +1,435 @@ ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# Makefile. Generated from Makefile.in by configure. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++ ++SHELL = /bin/sh ++ ++srcdir = . ++top_srcdir = . ++ ++prefix = /usr ++exec_prefix = ${prefix} ++ ++bindir = ${exec_prefix}/bin ++sbindir = ${exec_prefix}/sbin ++libexecdir = ${exec_prefix}/libexec ++datadir = ${prefix}/share ++sysconfdir = ${prefix}/etc ++sharedstatedir = ${prefix}/com ++localstatedir = ${prefix}/var ++libdir = ${exec_prefix}/lib ++infodir = ${prefix}/info ++mandir = ${prefix}/man ++includedir = ${prefix}/include ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/dillo ++pkglibdir = $(libdir)/dillo ++pkgincludedir = $(includedir)/dillo ++top_builddir = . ++ ++ACLOCAL = aclocal-1.6 ++AUTOCONF = autoconf ++AUTOMAKE = automake-1.6 ++AUTOHEADER = autoheader ++ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = /usr/bin/install -c ++INSTALL_PROGRAM = ${INSTALL} ++INSTALL_DATA = ${INSTALL} -m 644 ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_SCRIPT = ${INSTALL} ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = s,x,x, ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++ ++EXEEXT = ++OBJEXT = o ++PATH_SEPARATOR = : ++AMTAR = tar ++AWK = gawk ++CC = gcc ++DEPDIR = .deps ++INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s ++LIBJPEG_LIB = -ljpeg ++PACKAGE = dillo ++PKG_CONFIG = /usr/bin/pkg-config ++RANLIB = ranlib ++STRIP = ++VERSION = 0.6.6 ++am__include = include ++am__quote = ++install_sh = /home/pb/dillo2/install-sh ++src = ++SUBDIRS = doc src ++ ++EXTRA_DIST = ChangeLog.old dillorc ++subdir = . ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = config.h ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = ++ ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ ++ Makefile.in NEWS aclocal.m4 config.h.in configure configure.in \ ++ depcomp install-sh missing mkinstalldirs ++DIST_SUBDIRS = $(SUBDIRS) ++all: config.h ++ $(MAKE) $(AM_MAKEFLAGS) all-recursive ++ ++.SUFFIXES: ++ ++am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ ++ configure.lineno ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) ++ ++$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ $(SHELL) ./config.status --recheck ++$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) ++ cd $(srcdir) && $(AUTOCONF) ++ ++$(ACLOCAL_M4): configure.in ++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ++ ++config.h: stamp-h1 ++ @if test ! -f $@; then \ ++ rm -f stamp-h1; \ ++ $(MAKE) stamp-h1; \ ++ else :; fi ++ ++stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status ++ @rm -f stamp-h1 ++ cd $(top_builddir) && $(SHELL) ./config.status config.h ++ ++$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && $(AUTOHEADER) ++ touch $(srcdir)/config.h.in ++ ++distclean-hdr: ++ -rm -f config.h stamp-h1 ++uninstall-info-am: ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @set fnord $$MAKEFLAGS; amf=$$2; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @set fnord $$MAKEFLAGS; amf=$$2; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ ++ETAGS = etags ++ETAGSFLAGS = ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = . ++distdir = $(PACKAGE)-$(VERSION) ++ ++am__remove_distdir = \ ++ { test ! -d $(distdir) \ ++ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ ++ && rm -fr $(distdir); }; } ++ ++GZIP_ENV = --best ++distcleancheck_listfiles = find . -type f -print ++ ++distdir: $(DISTFILES) ++ $(am__remove_distdir) ++ mkdir $(distdir) ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d $(distdir)/$$subdir \ ++ || mkdir $(distdir)/$$subdir \ ++ || exit 1; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ || chmod -R a+r $(distdir) ++dist-gzip: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++dist dist-all: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++# This target untars the dist file and tries a VPATH configuration. Then ++# it guarantees that the distribution is self-contained by making another ++# tarfile. ++distcheck: dist ++ $(am__remove_distdir) ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ++ chmod -R a-w $(distdir); chmod a+w $(distdir) ++ mkdir $(distdir)/=build ++ mkdir $(distdir)/=inst ++ chmod a-w $(distdir) ++ dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \ ++ && cd $(distdir)/=build \ ++ && ../configure --srcdir=.. --prefix=$$dc_install_base \ ++ $(DISTCHECK_CONFIGURE_FLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) check \ ++ && $(MAKE) $(AM_MAKEFLAGS) install \ ++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ ++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ ++ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ ++ || { echo "ERROR: files left after uninstall:" ; \ ++ find $$dc_install_base -type f -print ; \ ++ exit 1; } >&2 ) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ ++ && rm -f $(distdir).tar.gz \ ++ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck ++ $(am__remove_distdir) ++ @echo "$(distdir).tar.gz is ready for distribution" | \ ++ sed 'h;s/./=/g;p;x;p;x' ++distcleancheck: distclean ++ if test '$(srcdir)' = . ; then \ ++ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ ++ exit 1 ; \ ++ fi ++ test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ ++ || { echo "ERROR: files left after distclean:" ; \ ++ $(distcleancheck_listfiles) ; \ ++ exit 1; } >&2 ++check-am: all-am ++check: check-recursive ++all-am: Makefile config.h ++installdirs: installdirs-recursive ++installdirs-am: ++ ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-generic mostlyclean-am ++ ++distclean: distclean-recursive ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++distclean-am: clean-am distclean-generic distclean-hdr distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: install-data-local ++ ++install-exec-am: ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++ -rm -rf autom4te.cache ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am uninstall-local ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-generic clean-recursive dist dist-all dist-gzip distcheck \ ++ distclean distclean-generic distclean-hdr distclean-recursive \ ++ distclean-tags distcleancheck distdir dvi dvi-am dvi-recursive \ ++ info info-am info-recursive install install-am install-data \ ++ install-data-am install-data-local install-data-recursive \ ++ install-exec install-exec-am install-exec-recursive \ ++ install-info install-info-am install-info-recursive install-man \ ++ install-recursive install-strip installcheck installcheck-am \ ++ installdirs installdirs-am installdirs-recursive \ ++ maintainer-clean maintainer-clean-generic \ ++ maintainer-clean-recursive mostlyclean mostlyclean-generic \ ++ mostlyclean-recursive tags tags-recursive uninstall \ ++ uninstall-am uninstall-info-am uninstall-info-recursive \ ++ uninstall-local uninstall-recursive ++ ++ ++install-data-local: dillorc ++ -if [ -d $(DESTDIR)$(sysconfdir) ]; then \ ++ $(INSTALL_DATA) --backup=t $(srcdir)/dillorc $(DESTDIR)$(sysconfdir)/; \ ++ elif [ -d /etc/ ]; then \ ++ $(INSTALL_DATA) --backup=t $(srcdir)/dillorc /etc/; \ ++ fi ++ ++uninstall-local: ++ -if [ -d $(DESTDIR)$(sysconfdir) ]; then \ ++ rm -f $(DESTDIR)$(sysconfdir)/dillorc*; \ ++ elif [ -d /etc/ ]; then \ ++ rm -f /etc/dillorc* ++ fi ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -urN dillo-0.6.6/Makefile.am dillo2-0.6.6/Makefile.am +--- dillo-0.6.6/Makefile.am 2002-02-14 06:48:46.000000000 -0700 ++++ dillo2-0.6.6/Makefile.am 2003-04-21 12:35:04.000000000 -0600 +@@ -1,6 +1,6 @@ + SUBDIRS = doc src + +-EXTRA_DIST = ChangeLog dillorc ++EXTRA_DIST = ChangeLog.old dillorc + + install-data-local: dillorc + -if [ -d $(DESTDIR)$(sysconfdir) ]; then \ +diff -urN dillo-0.6.6/Makefile.in dillo2-0.6.6/Makefile.in +--- dillo-0.6.6/Makefile.in 2002-05-29 15:02:18.000000000 -0600 ++++ dillo2-0.6.6/Makefile.in 2003-04-21 14:25:02.000000000 -0600 +@@ -1,6 +1,8 @@ +-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ + +-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -10,7 +12,7 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +- ++@SET_MAKE@ + SHELL = @SHELL@ + + srcdir = @srcdir@ +@@ -31,13 +33,9 @@ + mandir = @mandir@ + includedir = @includedir@ + oldincludedir = /usr/include +- +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +- + top_builddir = . + + ACLOCAL = @ACLOCAL@ +@@ -45,90 +43,97 @@ + AUTOMAKE = @AUTOMAKE@ + AUTOHEADER = @AUTOHEADER@ + ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c + INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) + transform = @program_transform_name@ +- + NORMAL_INSTALL = : + PRE_INSTALL = : + POST_INSTALL = : + NORMAL_UNINSTALL = : + PRE_UNINSTALL = : + POST_UNINSTALL = : ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AWK = @AWK@ + CC = @CC@ +-GTK_CFLAGS = @GTK_CFLAGS@ +-GTK_CONFIG = @GTK_CONFIG@ +-GTK_LIBS = @GTK_LIBS@ ++DEPDIR = @DEPDIR@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LIBJPEG_LIB = @LIBJPEG_LIB@ +-MAKEINFO = @MAKEINFO@ + PACKAGE = @PACKAGE@ ++PKG_CONFIG = @PKG_CONFIG@ + RANLIB = @RANLIB@ ++STRIP = @STRIP@ + VERSION = @VERSION@ +-datadir = @datadir@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ + src = @src@ +- + SUBDIRS = doc src + +-EXTRA_DIST = ChangeLog dillorc ++EXTRA_DIST = ChangeLog.old dillorc ++subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = config.h +-CONFIG_CLEAN_FILES = +-DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ +-Makefile.am Makefile.in NEWS aclocal.m4 config.h.in configure \ +-configure.in install-sh missing mkinstalldirs +- ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = + +-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ ++ Makefile.in NEWS aclocal.m4 config.h.in configure configure.in \ ++ depcomp install-sh missing mkinstalldirs ++DIST_SUBDIRS = $(SUBDIRS) ++all: config.h ++ $(MAKE) $(AM_MAKEFLAGS) all-recursive + +-TAR = tar +-GZIP_ENV = --best +-all: all-redirect + .SUFFIXES: +-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile + +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +- cd $(top_builddir) \ +- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status ++am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ ++ configure.lineno ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) + +-$(ACLOCAL_M4): configure.in +- cd $(srcdir) && $(ACLOCAL) +- +-config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES) ++$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +-$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) ++$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +-config.h: stamp-h +- @if test ! -f $@; then \ +- rm -f stamp-h; \ +- $(MAKE) stamp-h; \ +- else :; fi +-stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status +- cd $(top_builddir) \ +- && CONFIG_FILES= CONFIG_HEADERS=config.h \ +- $(SHELL) ./config.status +- @echo timestamp > stamp-h 2> /dev/null +-$(srcdir)/config.h.in: $(srcdir)/stamp-h.in ++$(ACLOCAL_M4): configure.in ++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ++ ++config.h: stamp-h1 + @if test ! -f $@; then \ +- rm -f $(srcdir)/stamp-h.in; \ +- $(MAKE) $(srcdir)/stamp-h.in; \ ++ rm -f stamp-h1; \ ++ $(MAKE) stamp-h1; \ + else :; fi +-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOHEADER) +- @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null + +-mostlyclean-hdr: ++stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status ++ @rm -f stamp-h1 ++ cd $(top_builddir) && $(SHELL) ./config.status config.h + +-clean-hdr: ++$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && $(AUTOHEADER) ++ touch $(srcdir)/config.h.in + + distclean-hdr: +- -rm -f config.h +- +-maintainer-clean-hdr: ++ -rm -f config.h stamp-h1 ++uninstall-info-am: + + # This directory's subdirectories are mostly independent; you can cd + # into them and run `make' without going through this Makefile. +@@ -136,13 +141,8 @@ + # (1) if the variable is set in `config.status', edit `config.status' + # (which will cause the Makefiles to be regenerated when you run `make'); + # (2) otherwise, pass the desired values on the `make' command line. +- +-@SET_MAKE@ +- +-all-recursive install-data-recursive install-exec-recursive \ +-installdirs-recursive install-recursive uninstall-recursive \ +-check-recursive installcheck-recursive info-recursive dvi-recursive: +- @set fnord $(MAKEFLAGS); amf=$$2; \ ++$(RECURSIVE_TARGETS): ++ @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ +@@ -162,13 +162,18 @@ + + mostlyclean-recursive clean-recursive distclean-recursive \ + maintainer-clean-recursive: +- @set fnord $(MAKEFLAGS); amf=$$2; \ ++ @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ +- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ +- rev="$$subdir $$rev"; \ +- test "$$subdir" = "." && dot_seen=yes; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ + done; \ +- test "$$dot_seen" = "no" && rev=". $$rev"; \ ++ rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ +@@ -185,176 +190,231 @@ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + ++ETAGS = etags ++ETAGSFLAGS = ++ + tags: TAGS + +-ID: $(HEADERS) $(SOURCES) $(LISP) +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- here=`pwd` && cd $(srcdir) \ +- && mkid -f$$here/ID $$unique $(LISP) ++ mkid -fID $$unique + +-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) ++TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ ++ if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ +- fi; \ ++ fi; \ + done; \ +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ +- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) +- +-mostlyclean-tags: +- +-clean-tags: ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here + + distclean-tags: +- -rm -f TAGS ID +- +-maintainer-clean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ++top_distdir = . + distdir = $(PACKAGE)-$(VERSION) +-top_distdir = $(distdir) + +-# This target untars the dist file and tries a VPATH configuration. Then +-# it guarantees that the distribution is self-contained by making another +-# tarfile. +-distcheck: dist +- -rm -rf $(distdir) +- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz +- mkdir $(distdir)/=build +- mkdir $(distdir)/=inst +- dc_install_base=`cd $(distdir)/=inst && pwd`; \ +- cd $(distdir)/=build \ +- && ../configure --srcdir=.. --prefix=$$dc_install_base \ +- && $(MAKE) $(AM_MAKEFLAGS) \ +- && $(MAKE) $(AM_MAKEFLAGS) dvi \ +- && $(MAKE) $(AM_MAKEFLAGS) check \ +- && $(MAKE) $(AM_MAKEFLAGS) install \ +- && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +- && $(MAKE) $(AM_MAKEFLAGS) dist +- -rm -rf $(distdir) +- @banner="$(distdir).tar.gz is ready for distribution"; \ +- dashes=`echo "$$banner" | sed s/./=/g`; \ +- echo "$$dashes"; \ +- echo "$$banner"; \ +- echo "$$dashes" +-dist: distdir +- -chmod -R a+r $(distdir) +- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) +- -rm -rf $(distdir) +-dist-all: distdir +- -chmod -R a+r $(distdir) +- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) +- -rm -rf $(distdir) ++am__remove_distdir = \ ++ { test ! -d $(distdir) \ ++ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ ++ && rm -fr $(distdir); }; } ++ ++GZIP_ENV = --best ++distcleancheck_listfiles = find . -type f -print ++ + distdir: $(DISTFILES) +- -rm -rf $(distdir) ++ $(am__remove_distdir) + mkdir $(distdir) +- -chmod 777 $(distdir) +- here=`cd $(top_builddir) && pwd`; \ +- top_distdir=`cd $(distdir) && pwd`; \ +- distdir=`cd $(distdir) && pwd`; \ +- cd $(top_srcdir) \ +- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile +- @for file in $(DISTFILES); do \ +- d=$(srcdir); \ ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ + if test -d $$d/$$file; then \ +- cp -pr $$d/$$file $(distdir)/$$file; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ +- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +- || cp -p $$d/$$file $(distdir)/$$file || :; \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ + fi; \ + done +- for subdir in $(SUBDIRS); do \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ +- chmod 777 $(distdir)/$$subdir; \ +- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ + || exit 1; \ + fi; \ + done +-info-am: +-info: info-recursive +-dvi-am: +-dvi: dvi-recursive ++ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ || chmod -R a+r $(distdir) ++dist-gzip: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++dist dist-all: distdir ++ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++# This target untars the dist file and tries a VPATH configuration. Then ++# it guarantees that the distribution is self-contained by making another ++# tarfile. ++distcheck: dist ++ $(am__remove_distdir) ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ++ chmod -R a-w $(distdir); chmod a+w $(distdir) ++ mkdir $(distdir)/=build ++ mkdir $(distdir)/=inst ++ chmod a-w $(distdir) ++ dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \ ++ && cd $(distdir)/=build \ ++ && ../configure --srcdir=.. --prefix=$$dc_install_base \ ++ $(DISTCHECK_CONFIGURE_FLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) check \ ++ && $(MAKE) $(AM_MAKEFLAGS) install \ ++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ ++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ ++ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ ++ || { echo "ERROR: files left after uninstall:" ; \ ++ find $$dc_install_base -type f -print ; \ ++ exit 1; } >&2 ) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ ++ && rm -f $(distdir).tar.gz \ ++ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck ++ $(am__remove_distdir) ++ @echo "$(distdir).tar.gz is ready for distribution" | \ ++ sed 'h;s/./=/g;p;x;p;x' ++distcleancheck: distclean ++ if test '$(srcdir)' = . ; then \ ++ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ ++ exit 1 ; \ ++ fi ++ test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ ++ || { echo "ERROR: files left after distclean:" ; \ ++ $(distcleancheck_listfiles) ; \ ++ exit 1; } >&2 + check-am: all-am + check: check-recursive +-installcheck-am: +-installcheck: installcheck-recursive +-all-recursive-am: config.h +- $(MAKE) $(AM_MAKEFLAGS) all-recursive ++all-am: Makefile config.h ++installdirs: installdirs-recursive ++installdirs-am: + +-install-exec-am: ++install: install-recursive + install-exec: install-exec-recursive +- +-install-data-am: install-data-local + install-data: install-data-recursive ++uninstall: uninstall-recursive + + install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +-install: install-recursive +-uninstall-am: uninstall-local +-uninstall: uninstall-recursive +-all-am: Makefile config.h +-all-redirect: all-recursive-am +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +-installdirs: installdirs-recursive +-installdirs-am: +- + ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* + + maintainer-clean-generic: +-mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive + +-mostlyclean: mostlyclean-recursive ++clean-am: clean-generic mostlyclean-am + +-clean-am: clean-hdr clean-tags clean-generic mostlyclean-am ++distclean: distclean-recursive ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +-clean: clean-recursive ++dvi: dvi-recursive + +-distclean-am: distclean-hdr distclean-tags distclean-generic clean-am ++dvi-am: + +-distclean: distclean-recursive +- -rm -f config.status ++info: info-recursive + +-maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ +- maintainer-clean-generic distclean-am +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." ++info-am: ++ ++install-data-am: install-data-local ++ ++install-exec-am: ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: + + maintainer-clean: maintainer-clean-recursive +- -rm -f config.status ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++ -rm -rf autom4te.cache ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-generic + +-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +-install-data-recursive uninstall-data-recursive install-exec-recursive \ +-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +-all-recursive check-recursive installcheck-recursive info-recursive \ +-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +-dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ +-install-exec-am install-exec install-data-local install-data-am \ +-install-data install-am install uninstall-local uninstall-am uninstall \ +-all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ +-distclean-generic clean-generic maintainer-clean-generic clean \ +-mostlyclean distclean maintainer-clean ++uninstall-am: uninstall-info-am uninstall-local ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-generic clean-recursive dist dist-all dist-gzip distcheck \ ++ distclean distclean-generic distclean-hdr distclean-recursive \ ++ distclean-tags distcleancheck distdir dvi dvi-am dvi-recursive \ ++ info info-am info-recursive install install-am install-data \ ++ install-data-am install-data-local install-data-recursive \ ++ install-exec install-exec-am install-exec-recursive \ ++ install-info install-info-am install-info-recursive install-man \ ++ install-recursive install-strip installcheck installcheck-am \ ++ installdirs installdirs-am installdirs-recursive \ ++ maintainer-clean maintainer-clean-generic \ ++ maintainer-clean-recursive mostlyclean mostlyclean-generic \ ++ mostlyclean-recursive tags tags-recursive uninstall \ ++ uninstall-am uninstall-info-am uninstall-info-recursive \ ++ uninstall-local uninstall-recursive + + + install-data-local: dillorc +@@ -370,7 +430,6 @@ + elif [ -d /etc/ ]; then \ + rm -f /etc/dillorc* + fi +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +diff -urN dillo-0.6.6/aclocal.m4 dillo2-0.6.6/aclocal.m4 +--- dillo-0.6.6/aclocal.m4 2002-05-29 15:02:15.000000000 -0600 ++++ dillo2-0.6.6/aclocal.m4 2003-04-21 14:24:42.000000000 -0600 +@@ -1,70 +1,233 @@ +-dnl aclocal.m4 generated automatically by aclocal 1.4-p4 ++# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*- + +-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +-dnl This file is free software; the Free Software Foundation +-dnl gives unlimited permission to copy and/or distribute it, +-dnl with or without modifications, as long as this notice is preserved. +- +-dnl This program is distributed in the hope that it will be useful, +-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +-dnl PARTICULAR PURPOSE. +- +-# Do all the work for Automake. This macro actually does too much -- +-# some checks are only needed if your package does certain things. +-# But this isn't really a big deal. ++# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++# Do all the work for Automake. -*- Autoconf -*- ++ ++# This macro actually does too much some checks are only needed if ++# your package does certain things. But this isn't really a big deal. ++ ++# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 8 ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++AC_PREREQ([2.52]) ++ ++# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow ++# the ones we care about. ++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl ++ ++# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) ++# AM_INIT_AUTOMAKE([OPTIONS]) ++# ----------------------------------------------- ++# The call with PACKAGE and VERSION arguments is the old style ++# call (pre autoconf-2.50), which is being phased out. PACKAGE ++# and VERSION should now be passed to AC_INIT and removed from ++# the call to AM_INIT_AUTOMAKE. ++# We support both call styles for the transition. After ++# the next Automake release, Autoconf can make the AC_INIT ++# arguments mandatory, and then we can depend on a new Autoconf ++# release and drop the old call support. ++AC_DEFUN([AM_INIT_AUTOMAKE], ++[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl ++ AC_REQUIRE([AC_PROG_INSTALL])dnl ++# test to see if srcdir already configured ++if test "`cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) ++fi + +-# serial 1 ++# Define the identity of the package. ++dnl Distinguish between old-style and new-style calls. ++m4_ifval([$2], ++[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl ++ AC_SUBST([PACKAGE], [$1])dnl ++ AC_SUBST([VERSION], [$2])], ++[_AM_SET_OPTIONS([$1])dnl ++ AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl ++ AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl ++ ++_AM_IF_OPTION([no-define],, ++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) ++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl ++ ++# Some tools Automake needs. ++AC_REQUIRE([AM_SANITY_CHECK])dnl ++AC_REQUIRE([AC_ARG_PROGRAM])dnl ++AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) ++AM_MISSING_PROG(AUTOCONF, autoconf) ++AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) ++AM_MISSING_PROG(AUTOHEADER, autoheader) ++AM_MISSING_PROG(MAKEINFO, makeinfo) ++AM_MISSING_PROG(AMTAR, tar) ++AM_PROG_INSTALL_SH ++AM_PROG_INSTALL_STRIP ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++AC_REQUIRE([AC_PROG_AWK])dnl ++AC_REQUIRE([AC_PROG_MAKE_SET])dnl ++ ++_AM_IF_OPTION([no-dependencies],, ++[AC_PROVIDE_IFELSE([AC_PROG_][CC], ++ [_AM_DEPENDENCIES(CC)], ++ [define([AC_PROG_][CC], ++ defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl ++AC_PROVIDE_IFELSE([AC_PROG_][CXX], ++ [_AM_DEPENDENCIES(CXX)], ++ [define([AC_PROG_][CXX], ++ defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl ++]) ++]) + +-dnl Usage: +-dnl AM_INIT_AUTOMAKE(package,version, [no-define]) ++# Copyright 2002 Free Software Foundation, Inc. + +-AC_DEFUN(AM_INIT_AUTOMAKE, +-[AC_REQUIRE([AC_PROG_INSTALL]) +-PACKAGE=[$1] +-AC_SUBST(PACKAGE) +-VERSION=[$2] +-AC_SUBST(VERSION) +-dnl test to see if srcdir already configured +-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +- AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +-fi +-ifelse([$3],, +-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) +-AC_REQUIRE([AM_SANITY_CHECK]) +-AC_REQUIRE([AC_ARG_PROGRAM]) +-dnl FIXME This is truly gross. +-missing_dir=`cd $ac_aux_dir && pwd` +-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) +-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) +-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +-AC_REQUIRE([AC_PROG_MAKE_SET])]) ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++ ++# AM_AUTOMAKE_VERSION(VERSION) ++# ---------------------------- ++# Automake X.Y traces this macro to ensure aclocal.m4 has been ++# generated from the m4 files accompanying Automake X.Y. ++AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"]) ++ ++# AM_SET_CURRENT_AUTOMAKE_VERSION ++# ------------------------------- ++# Call AM_AUTOMAKE_VERSION so it can be traced. ++# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. ++AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], ++ [AM_AUTOMAKE_VERSION([1.6.3])]) ++ ++# Helper functions for option handling. -*- Autoconf -*- ++ ++# Copyright 2001, 2002 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 2 ++ ++# _AM_MANGLE_OPTION(NAME) ++# ----------------------- ++AC_DEFUN([_AM_MANGLE_OPTION], ++[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) ++ ++# _AM_SET_OPTION(NAME) ++# ------------------------------ ++# Set option NAME. Presently that only means defining a flag for this option. ++AC_DEFUN([_AM_SET_OPTION], ++[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) ++ ++# _AM_SET_OPTIONS(OPTIONS) ++# ---------------------------------- ++# OPTIONS is a space-separated list of Automake options. ++AC_DEFUN([_AM_SET_OPTIONS], ++[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) ++ ++# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) ++# ------------------------------------------- ++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. ++AC_DEFUN([_AM_IF_OPTION], ++[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + + # + # Check to make sure that the build environment is sane. + # + +-AC_DEFUN(AM_SANITY_CHECK, ++# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 3 ++ ++# AM_SANITY_CHECK ++# --------------- ++AC_DEFUN([AM_SANITY_CHECK], + [AC_MSG_CHECKING([whether build environment is sane]) + # Just in case + sleep 1 +-echo timestamp > conftestfile ++echo timestamp > conftest.file + # Do `set' in a subshell so we don't clobber the current shell's + # arguments. Must try -L first in case configure is actually a + # symlink; some systems play weird games with the mod time of symlinks + # (eg FreeBSD returns the mod time of the symlink's containing + # directory). + if ( +- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` +- if test "[$]*" = "X"; then ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` ++ if test "$[*]" = "X"; then + # -L didn't work. +- set X `ls -t $srcdir/configure conftestfile` ++ set X `ls -t $srcdir/configure conftest.file` + fi +- if test "[$]*" != "X $srcdir/configure conftestfile" \ +- && test "[$]*" != "X conftestfile $srcdir/configure"; then ++ rm -f conftest.file ++ if test "$[*]" != "X $srcdir/configure conftest.file" \ ++ && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a +@@ -74,7 +237,7 @@ + alias in your environment]) + fi + +- test "[$]2" = conftestfile ++ test "$[2]" = conftest.file + ) + then + # Ok. +@@ -83,48 +246,611 @@ + AC_MSG_ERROR([newly created file is older than distributed files! + Check your system clock]) + fi +-rm -f conftest* + AC_MSG_RESULT(yes)]) + +-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) +-dnl The program must properly implement --version. +-AC_DEFUN(AM_MISSING_PROG, +-[AC_MSG_CHECKING(for working $2) +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if ($2 --version) < /dev/null > /dev/null 2>&1; then +- $1=$2 +- AC_MSG_RESULT(found) ++# -*- Autoconf -*- ++ ++ ++# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 3 ++ ++# AM_MISSING_PROG(NAME, PROGRAM) ++# ------------------------------ ++AC_DEFUN([AM_MISSING_PROG], ++[AC_REQUIRE([AM_MISSING_HAS_RUN]) ++$1=${$1-"${am_missing_run}$2"} ++AC_SUBST($1)]) ++ ++ ++# AM_MISSING_HAS_RUN ++# ------------------ ++# Define MISSING if not defined so far and test if it supports --run. ++# If it does, set am_missing_run to use it, otherwise, to nothing. ++AC_DEFUN([AM_MISSING_HAS_RUN], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " + else +- $1="$3/missing $2" +- AC_MSG_RESULT(missing) ++ am_missing_run= ++ AC_MSG_WARN([`missing' script is too old or missing]) + fi +-AC_SUBST($1)]) ++]) ++ ++# AM_AUX_DIR_EXPAND ++ ++# Copyright 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets ++# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to ++# `$srcdir', `$srcdir/..', or `$srcdir/../..'. ++# ++# Of course, Automake must honor this variable whenever it calls a ++# tool from the auxiliary directory. The problem is that $srcdir (and ++# therefore $ac_aux_dir as well) can be either absolute or relative, ++# depending on how configure is run. This is pretty annoying, since ++# it makes $ac_aux_dir quite unusable in subdirectories: in the top ++# source directory, any form will work fine, but in subdirectories a ++# relative path needs to be adjusted first. ++# ++# $ac_aux_dir/missing ++# fails when called from a subdirectory if $ac_aux_dir is relative ++# $top_srcdir/$ac_aux_dir/missing ++# fails if $ac_aux_dir is absolute, ++# fails when called from a subdirectory in a VPATH build with ++# a relative $ac_aux_dir ++# ++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir ++# are both prefixed by $srcdir. In an in-source build this is usually ++# harmless because $srcdir is `.', but things will broke when you ++# start a VPATH build or use an absolute $srcdir. ++# ++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, ++# iff we strip the leading $srcdir from $ac_aux_dir. That would be: ++# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` ++# and then we would define $MISSING as ++# MISSING="\${SHELL} $am_aux_dir/missing" ++# This will work as long as MISSING is not called from configure, because ++# unfortunately $(top_srcdir) has no meaning in configure. ++# However there are other variables, like CC, which are often used in ++# configure, and could therefore not use this "fixed" $ac_aux_dir. ++# ++# Another solution, used here, is to always expand $ac_aux_dir to an ++# absolute PATH. The drawback is that using absolute paths prevent a ++# configured tree to be moved without reconfiguration. ++ ++# Rely on autoconf to set up CDPATH properly. ++AC_PREREQ([2.50]) ++ ++AC_DEFUN([AM_AUX_DIR_EXPAND], [ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`cd $ac_aux_dir && pwd` ++]) ++ ++# AM_PROG_INSTALL_SH ++# ------------------ ++# Define $install_sh. ++ ++# Copyright 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++AC_DEFUN([AM_PROG_INSTALL_SH], ++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl ++install_sh=${install_sh-"$am_aux_dir/install-sh"} ++AC_SUBST(install_sh)]) ++ ++# AM_PROG_INSTALL_STRIP ++ ++# Copyright 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# One issue with vendor `install' (even GNU) is that you can't ++# specify the program used to strip binaries. This is especially ++# annoying in cross-compiling environments, where the build's strip ++# is unlikely to handle the host's binaries. ++# Fortunately install-sh will honor a STRIPPROG variable, so we ++# always use install-sh in `make install-strip', and initialize ++# STRIPPROG with the value of the STRIP variable (set by the user). ++AC_DEFUN([AM_PROG_INSTALL_STRIP], ++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl ++# Installed binaries are usually stripped using `strip' when the user ++# run `make install-strip'. However `strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the `STRIP' environment variable to overrule this program. ++dnl Don't test for $cross_compiling = yes, because it might be `maybe'. ++if test "$cross_compiling" != no; then ++ AC_CHECK_TOOL([STRIP], [strip], :) ++fi ++INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" ++AC_SUBST([INSTALL_STRIP_PROGRAM])]) ++ ++# serial 4 -*- Autoconf -*- ++ ++# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++ ++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be ++# written in clear, in which case automake, when reading aclocal.m4, ++# will think it sees a *use*, and therefore will trigger all it's ++# C support machinery. Also note that it means that autoscan, seeing ++# CC etc. in the Makefile, will ask for an AC_PROG_CC use... ++ ++ ++ ++# _AM_DEPENDENCIES(NAME) ++# ---------------------- ++# See how the compiler implements dependency checking. ++# NAME is "CC", "CXX", "GCJ", or "OBJC". ++# We try a few techniques and use that to set a single cache variable. ++# ++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was ++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular ++# dependency, and given that the user is not expected to run this macro, ++# just rely on AC_PROG_CC. ++AC_DEFUN([_AM_DEPENDENCIES], ++[AC_REQUIRE([AM_SET_DEPDIR])dnl ++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl ++AC_REQUIRE([AM_MAKE_INCLUDE])dnl ++AC_REQUIRE([AM_DEP_TRACK])dnl ++ ++ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ++ [$1], CXX, [depcc="$CXX" am_compiler_list=], ++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], ++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], ++ [depcc="$$1" am_compiler_list=]) ++ ++AC_CACHE_CHECK([dependency style of $depcc], ++ [am_cv_$1_dependencies_compiler_type], ++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_$1_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_$1_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_$1_dependencies_compiler_type=none ++fi ++]) ++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) ++]) + +-# Like AC_CONFIG_HEADER, but automatically create stamp file. + +-AC_DEFUN(AM_CONFIG_HEADER, +-[AC_PREREQ([2.12]) +-AC_CONFIG_HEADER([$1]) +-dnl When config.status generates a header, we must update the stamp-h file. +-dnl This file resides in the same directory as the config header +-dnl that is generated. We must strip everything past the first ":", +-dnl and everything past the last "/". +-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl +-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, +-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, +-<<am_indx=1 +-for am_file in <<$1>>; do +- case " <<$>>CONFIG_HEADERS " in +- *" <<$>>am_file "*<<)>> +- echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx +- ;; +- esac +- am_indx=`expr "<<$>>am_indx" + 1` +-done<<>>dnl>>) +-changequote([,]))]) ++# AM_SET_DEPDIR ++# ------------- ++# Choose a directory name for dependency files. ++# This macro is AC_REQUIREd in _AM_DEPENDENCIES ++AC_DEFUN([AM_SET_DEPDIR], ++[rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++AC_SUBST([DEPDIR]) ++]) ++ ++ ++# AM_DEP_TRACK ++# ------------ ++AC_DEFUN([AM_DEP_TRACK], ++[AC_ARG_ENABLE(dependency-tracking, ++[ --disable-dependency-tracking Speeds up one-time builds ++ --enable-dependency-tracking Do not reject slow dependency extractors]) ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) ++AC_SUBST([AMDEPBACKSLASH]) ++]) ++ ++# Generate code to set up dependency tracking. -*- Autoconf -*- ++ ++# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++#serial 2 ++ ++# _AM_OUTPUT_DEPENDENCY_COMMANDS ++# ------------------------------ ++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], ++[for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`AS_DIRNAME("$mf")` ++ else ++ continue ++ fi ++ grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`AS_DIRNAME(["$file"])` ++ AS_MKDIR_P([$dirpart/$fdir]) ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++])# _AM_OUTPUT_DEPENDENCY_COMMANDS ++ ++ ++# AM_OUTPUT_DEPENDENCY_COMMANDS ++# ----------------------------- ++# This macro should only be invoked once -- use via AC_REQUIRE. ++# ++# This code is only required when automatic dependency tracking ++# is enabled. FIXME. This creates each `.P' file that we will ++# need in order to bootstrap the dependency handling code. ++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], ++[AC_CONFIG_COMMANDS([depfiles], ++ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], ++ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ++]) ++ ++# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*- ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 2 ++ ++# AM_MAKE_INCLUDE() ++# ----------------- ++# Check to see how make treats includes. ++AC_DEFUN([AM_MAKE_INCLUDE], ++[am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++AC_MSG_CHECKING([for style of include used by $am_make]) ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++AC_SUBST(am__include) ++AC_SUBST(am__quote) ++AC_MSG_RESULT($_am_result) ++rm -f confinc confmf ++]) + ++# AM_CONDITIONAL -*- Autoconf -*- ++ ++# Copyright 1997, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# serial 5 ++ ++AC_PREREQ(2.52) ++ ++# AM_CONDITIONAL(NAME, SHELL-CONDITION) ++# ------------------------------------- ++# Define a conditional. ++AC_DEFUN([AM_CONDITIONAL], ++[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], ++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl ++AC_SUBST([$1_TRUE]) ++AC_SUBST([$1_FALSE]) ++if $2; then ++ $1_TRUE= ++ $1_FALSE='#' ++else ++ $1_TRUE='#' ++ $1_FALSE= ++fi ++AC_CONFIG_COMMANDS_PRE( ++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then ++ AC_MSG_ERROR([conditional \"$1\" was never defined. ++Usually this means the macro was only invoked conditionally.]) ++fi])]) ++ ++# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- ++ ++# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++AC_PREREQ([2.52]) ++ ++# serial 6 ++ ++# When config.status generates a header, we must update the stamp-h file. ++# This file resides in the same directory as the config header ++# that is generated. We must strip everything past the first ":", ++# and everything past the last "/". ++ ++# _AM_DIRNAME(PATH) ++# ----------------- ++# Like AS_DIRNAME, only do it during macro expansion ++AC_DEFUN([_AM_DIRNAME], ++ [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, ++ m4_if(regexp([$1], [^//\([^/]\|$\)]), -1, ++ m4_if(regexp([$1], [^/.*]), -1, ++ [.], ++ patsubst([$1], [^\(/\).*], [\1])), ++ patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), ++ patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl ++])# _AM_DIRNAME ++ ++ ++# The stamp files are numbered to have different names. ++# We could number them on a directory basis, but that's additional ++# complications, let's have a unique counter. ++m4_define([_AM_STAMP_Count], [0]) ++ ++ ++# _AM_STAMP(HEADER) ++# ----------------- ++# The name of the stamp file for HEADER. ++AC_DEFUN([_AM_STAMP], ++[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl ++AS_ESCAPE(_AM_DIRNAME(patsubst([$1], ++ [:.*])))/stamp-h[]_AM_STAMP_Count]) ++ ++ ++# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS) ++# ------------------------------------------------------------ ++# We used to try to get a real timestamp in stamp-h. But the fear is that ++# that will cause unnecessary cvs conflicts. ++AC_DEFUN([_AM_CONFIG_HEADER], ++[# Add the stamp file to the list of files AC keeps track of, ++# along with our hook. ++AC_CONFIG_HEADERS([$1], ++ [# update the timestamp ++echo 'timestamp for $1' >"_AM_STAMP([$1])" ++$2], ++ [$3]) ++])# _AM_CONFIG_HEADER ++ ++ ++# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS) ++# -------------------------------------------------------------- ++AC_DEFUN([AM_CONFIG_HEADER], ++[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])]) ++])# AM_CONFIG_HEADER ++ ++ ++# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. + + # serial 1 + +@@ -143,7 +869,7 @@ + # program @code{ansi2knr}, which comes with Ghostscript. + # @end defmac + +-AC_DEFUN(AM_PROG_CC_STDC, ++AC_DEFUN([AM_PROG_CC_STDC], + [AC_REQUIRE([AC_PROG_CC]) + AC_BEFORE([$0], [AC_C_INLINE]) + AC_BEFORE([$0], [AC_C_CONST]) +@@ -153,7 +879,7 @@ + dnl FIXME: can't do this because then AC_AIX won't work due to a + dnl circular dependency. + dnl AC_BEFORE([$0], [AC_PROG_CPP]) +-AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) ++AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) + AC_CACHE_VAL(am_cv_prog_cc_stdc, + [am_cv_prog_cc_stdc=no + ac_save_CC="$CC" +@@ -161,9 +887,10 @@ + # breaks some systems' header files. + # AIX -qlanglvl=ansi + # Ultrix and OSF/1 -std1 +-# HP-UX -Aa -D_HPUX_SOURCE ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE + # SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + do + CC="$ac_save_CC $ac_arg" + AC_TRY_COMPILE( +@@ -205,7 +932,7 @@ + if test -z "$am_cv_prog_cc_stdc"; then + AC_MSG_RESULT([none needed]) + else +- AC_MSG_RESULT($am_cv_prog_cc_stdc) ++ AC_MSG_RESULT([$am_cv_prog_cc_stdc]) + fi + case "x$am_cv_prog_cc_stdc" in + x|xno) ;; +@@ -213,198 +940,61 @@ + esac + ]) + +-# Configure paths for GTK+ +-# Owen Taylor 97-11-3 + +-dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) +-dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS +-dnl +-AC_DEFUN(AM_PATH_GTK, +-[dnl +-dnl Get the cflags and libraries from the gtk-config script +-dnl +-AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], +- gtk_config_prefix="$withval", gtk_config_prefix="") +-AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], +- gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") +-AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], +- , enable_gtktest=yes) +- +- for module in . $4 +- do +- case "$module" in +- gthread) +- gtk_config_args="$gtk_config_args gthread" +- ;; +- esac +- done ++dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) ++dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page ++dnl also defines GSTUFF_PKG_ERRORS on error ++AC_DEFUN(PKG_CHECK_MODULES, [ ++ succeeded=no + +- if test x$gtk_config_exec_prefix != x ; then +- gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" +- if test x${GTK_CONFIG+set} != xset ; then +- GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config +- fi +- fi +- if test x$gtk_config_prefix != x ; then +- gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" +- if test x${GTK_CONFIG+set} != xset ; then +- GTK_CONFIG=$gtk_config_prefix/bin/gtk-config +- fi ++ if test -z "$PKG_CONFIG"; then ++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + +- AC_PATH_PROG(GTK_CONFIG, gtk-config, no) +- min_gtk_version=ifelse([$1], ,0.99.7,$1) +- AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) +- no_gtk="" +- if test "$GTK_CONFIG" = "no" ; then +- no_gtk=yes ++ 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 +- GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` +- GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` +- gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` +- gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` +- gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` +- if test "x$enable_gtktest" = "xyes" ; then +- ac_save_CFLAGS="$CFLAGS" +- ac_save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $GTK_CFLAGS" +- LIBS="$GTK_LIBS $LIBS" +-dnl +-dnl Now check if the installed GTK is sufficiently new. (Also sanity +-dnl checks the results of gtk-config to some extent +-dnl +- rm -f conf.gtktest +- AC_TRY_RUN([ +-#include <gtk/gtk.h> +-#include <stdio.h> +-#include <stdlib.h> +- +-int +-main () +-{ +- int major, minor, micro; +- char *tmp_version; +- +- system ("touch conf.gtktest"); ++ PKG_CONFIG_MIN_VERSION=0.9.0 ++ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then ++ AC_MSG_CHECKING(for $2) ++ ++ if $PKG_CONFIG --exists "$2" ; then ++ AC_MSG_RESULT(yes) ++ succeeded=yes ++ ++ AC_MSG_CHECKING($1_CFLAGS) ++ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` ++ AC_MSG_RESULT($$1_CFLAGS) ++ ++ AC_MSG_CHECKING($1_LIBS) ++ $1_LIBS=`$PKG_CONFIG --libs "$2"` ++ AC_MSG_RESULT($$1_LIBS) ++ else ++ $1_CFLAGS="" ++ $1_LIBS="" ++ ## If we have a custom action on failure, don't print errors, but ++ ## do set a variable so people can do so. ++ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` ++ ifelse([$4], ,echo $$1_PKG_ERRORS,) ++ fi + +- /* HP/UX 9 (%@#!) writes to sscanf strings */ +- tmp_version = g_strdup("$min_gtk_version"); +- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { +- printf("%s, bad version string\n", "$min_gtk_version"); +- exit(1); +- } +- +- if ((gtk_major_version != $gtk_config_major_version) || +- (gtk_minor_version != $gtk_config_minor_version) || +- (gtk_micro_version != $gtk_config_micro_version)) +- { +- printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", +- $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- printf ("*** was found! If gtk-config was correct, then it is best\n"); +- printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); +- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); +- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); +- printf("*** required on your system.\n"); +- printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); +- printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); +- printf("*** before re-running configure\n"); +- } +-#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) +- else if ((gtk_major_version != GTK_MAJOR_VERSION) || +- (gtk_minor_version != GTK_MINOR_VERSION) || +- (gtk_micro_version != GTK_MICRO_VERSION)) +- { +- printf("*** GTK+ header files (version %d.%d.%d) do not match\n", +- GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); +- printf("*** library (version %d.%d.%d)\n", +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- } +-#endif /* defined (GTK_MAJOR_VERSION) ... */ +- else +- { +- if ((gtk_major_version > major) || +- ((gtk_major_version == major) && (gtk_minor_version > minor)) || +- ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) +- { +- return 0; +- } ++ AC_SUBST($1_CFLAGS) ++ AC_SUBST($1_LIBS) + else +- { +- printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", +- major, minor, micro); +- printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); +- printf("***\n"); +- printf("*** If you have already installed a sufficiently new version, this error\n"); +- printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); +- printf("*** being found. The easiest way to fix this is to remove the old version\n"); +- printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); +- printf("*** correct copy of gtk-config. (In this case, you will have to\n"); +- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); +- printf("*** so that the correct libraries are found at run-time))\n"); +- } +- } +- return 1; +-} +-],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" ++ 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 "x$no_gtk" = x ; then +- AC_MSG_RESULT(yes) +- ifelse([$2], , :, [$2]) +- else +- AC_MSG_RESULT(no) +- if test "$GTK_CONFIG" = "no" ; then +- echo "*** The gtk-config script installed by GTK could not be found" +- echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" +- echo "*** your path, or set the GTK_CONFIG environment variable to the" +- echo "*** full path to gtk-config." +- else +- if test -f conf.gtktest ; then +- : +- else +- echo "*** Could not run GTK test program, checking why..." +- CFLAGS="$CFLAGS $GTK_CFLAGS" +- LIBS="$LIBS $GTK_LIBS" +- AC_TRY_LINK([ +-#include <gtk/gtk.h> +-#include <stdio.h> +-], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], +- [ echo "*** The test program compiled, but did not run. This usually means" +- echo "*** that the run-time linker is not finding GTK or finding the wrong" +- echo "*** version of GTK. If it is not finding GTK, you'll need to set your" +- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" +- echo "*** to the installed location Also, make sure you have run ldconfig if that" +- echo "*** is required on your system" +- echo "***" +- echo "*** If you have an old version installed, it is best to remove it, although" +- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +- echo "***" +- echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" +- echo "*** came with the system with the command" +- echo "***" +- echo "*** rpm --erase --nodeps gtk gtk-devel" ], +- [ 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 was incorrectly installed" +- echo "*** or that you have moved GTK since it was installed. In the latter case, you" +- echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" +- fi +- fi +- GTK_CFLAGS="" +- GTK_LIBS="" ++ ++ if test $succeeded = yes; then + ifelse([$3], , :, [$3]) ++ else ++ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi +- AC_SUBST(GTK_CFLAGS) +- AC_SUBST(GTK_LIBS) +- rm -f conf.gtktest + ]) + ++ ++ +diff -urN dillo-0.6.6/config.h dillo2-0.6.6/config.h +--- dillo-0.6.6/config.h 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/config.h 2003-04-21 14:24:16.000000000 -0600 +@@ -0,0 +1,83 @@ ++/* config.h. Generated by configure. */ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define to 1 if you have the <fcntl.h> header file. */ ++#define HAVE_FCNTL_H 1 ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define to 1 if you have the <jconfig.h> header file. */ ++#define HAVE_JCONFIG_H 1 ++ ++/* Define to 1 if you have the <jerror.h> header file. */ ++#define HAVE_JERROR_H 1 ++ ++/* Define to 1 if you have the <jmorecfg.h> header file. */ ++#define HAVE_JMORECFG_H 1 ++ ++/* Define to 1 if you have the <jpeglib.h> header file. */ ++#define HAVE_JPEGLIB_H 1 ++ ++/* Define to 1 if you have the `png' library (-lpng). */ ++#define HAVE_LIBPNG 1 ++ ++/* Define to 1 if you have the `pthread' library (-lpthread). */ ++#define HAVE_LIBPTHREAD 1 ++ ++/* Define to 1 if you have the `z' library (-lz). */ ++#define HAVE_LIBZ 1 ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `socket' function. */ ++#define HAVE_SOCKET 1 ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the <sys/uio.h> header file. */ ++#define HAVE_SYS_UIO_H 1 ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#define HAVE_UNISTD_H 1 ++ ++/* Name of package */ ++#define PACKAGE "dillo" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Version number of package */ ++#define VERSION "0.6.6" +diff -urN dillo-0.6.6/config.h.in dillo2-0.6.6/config.h.in +--- dillo-0.6.6/config.h.in 2002-03-02 07:15:36.000000000 -0700 ++++ dillo2-0.6.6/config.h.in 2003-04-21 14:27:01.000000000 -0600 +@@ -1,42 +1,81 @@ +-/* config.h.in. Generated automatically from configure.in by autoheader. */ ++/* config.h.in. Generated from configure.in by autoheader. */ + +-/* Define if you have the <fcntl.h> header file. */ ++/* Define to 1 if you have the <fcntl.h> header file. */ + #undef HAVE_FCNTL_H + +-/* Define if you have the <jconfig.h> header file. */ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the <jconfig.h> header file. */ + #undef HAVE_JCONFIG_H + +-/* Define if you have the <jerror.h> header file. */ ++/* Define to 1 if you have the <jerror.h> header file. */ + #undef HAVE_JERROR_H + +-/* Define if you have the <jmorecfg.h> header file. */ ++/* Define to 1 if you have the <jmorecfg.h> header file. */ + #undef HAVE_JMORECFG_H + +-/* Define if you have the <jpeglib.h> header file. */ ++/* Define to 1 if you have the <jpeglib.h> header file. */ + #undef HAVE_JPEGLIB_H + +-/* Define if you have the `png' library (-lpng). */ ++/* Define to 1 if you have the `png' library (-lpng). */ + #undef HAVE_LIBPNG + +-/* Define if you have the `pthread' library (-lpthread). */ ++/* Define to 1 if you have the `pthread' library (-lpthread). */ + #undef HAVE_LIBPTHREAD + +-/* Define if you have the `z' library (-lz). */ ++/* Define to 1 if you have the `z' library (-lz). */ + #undef HAVE_LIBZ + +-/* Define if you have the `socket' function. */ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define to 1 if you have the `socket' function. */ + #undef HAVE_SOCKET + +-/* Define if you have the <sys/uio.h> header file. */ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have the <sys/uio.h> header file. */ + #undef HAVE_SYS_UIO_H + +-/* Define if you have the <unistd.h> header file. */ ++/* Define to 1 if you have the <unistd.h> header file. */ + #undef HAVE_UNISTD_H + + /* Name of package */ + #undef PACKAGE + +-/* Define if you have the ANSI C header files. */ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* Define to 1 if you have the ANSI C header files. */ + #undef STDC_HEADERS + + /* Version number of package */ +diff -urN dillo-0.6.6/config.log dillo2-0.6.6/config.log +--- dillo-0.6.6/config.log 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/config.log 2003-04-21 14:27:11.000000000 -0600 +@@ -0,0 +1,610 @@ ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by configure, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ $ ./configure --prefix=/usr --enable-ipv6 --no-create --no-recursion ++ ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = smackdown ++uname -m = armv4l ++uname -r = 2.4.19-netwinder ++uname -s = Linux ++uname -v = #1 Thu Mar 20 03:14:34 CET 2003 ++ ++/usr/bin/uname -p = unknown ++/bin/uname -X = unknown ++ ++/bin/arch = armv4l ++/usr/bin/arch -k = unknown ++/usr/convex/getsysinfo = unknown ++hostinfo = unknown ++/bin/machine = unknown ++/usr/bin/oslevel = unknown ++/bin/universe = unknown ++ ++PATH: /usr/local/bin ++PATH: /usr/bin ++PATH: /bin ++PATH: /usr/bin/X11 ++PATH: /usr/games ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++configure:1315: checking for a BSD-compatible install ++configure:1369: result: /usr/bin/install -c ++configure:1380: checking whether build environment is sane ++configure:1423: result: yes ++configure:1448: WARNING: `missing' script is too old or missing ++configure:1456: checking for gawk ++configure:1472: found /usr/bin/gawk ++configure:1482: result: gawk ++configure:1492: checking whether make sets $(MAKE) ++configure:1512: result: yes ++configure:1766: checking for gcc ++configure:1782: found /usr/bin/gcc ++configure:1792: result: gcc ++configure:2036: checking for C compiler version ++configure:2039: gcc --version </dev/null >&5 ++gcc (GCC) 3.2.3 20030228 (Debian prerelease) ++Copyright (C) 2002 Free Software Foundation, Inc. ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ ++configure:2042: $? = 0 ++configure:2044: gcc -v </dev/null >&5 ++Reading specs from /usr/lib/gcc-lib/arm-linux/3.2.3/specs ++Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc arm-linux ++Thread model: posix ++gcc version 3.2.3 20030228 (Debian prerelease) ++configure:2047: $? = 0 ++configure:2049: gcc -V </dev/null >&5 ++gcc: argument to `-V' is missing ++configure:2052: $? = 1 ++configure:2076: checking for C compiler default output ++configure:2079: gcc -I/usr/local/include -L/usr/local/lib conftest.c >&5 ++configure:2082: $? = 0 ++configure:2128: result: a.out ++configure:2133: checking whether the C compiler works ++configure:2139: ./a.out ++configure:2142: $? = 0 ++configure:2159: result: yes ++configure:2166: checking whether we are cross compiling ++configure:2168: result: no ++configure:2171: checking for suffix of executables ++configure:2173: gcc -o conftest -I/usr/local/include -L/usr/local/lib conftest.c >&5 ++configure:2176: $? = 0 ++configure:2201: result: ++configure:2207: checking for suffix of object files ++configure:2229: gcc -c -I/usr/local/include conftest.c >&5 ++configure:2232: $? = 0 ++configure:2254: result: o ++configure:2258: checking whether we are using the GNU C compiler ++configure:2283: gcc -c -I/usr/local/include conftest.c >&5 ++configure:2286: $? = 0 ++configure:2289: test -s conftest.o ++configure:2292: $? = 0 ++configure:2305: result: yes ++configure:2311: checking whether gcc accepts -g ++configure:2333: gcc -c -g -I/usr/local/include conftest.c >&5 ++configure:2336: $? = 0 ++configure:2339: test -s conftest.o ++configure:2342: $? = 0 ++configure:2353: result: yes ++configure:2370: checking for gcc option to accept ANSI C ++configure:2431: gcc -c -g -O2 -I/usr/local/include conftest.c >&5 ++configure:2434: $? = 0 ++configure:2437: test -s conftest.o ++configure:2440: $? = 0 ++configure:2458: result: none needed ++configure:2476: gcc -c -g -O2 -I/usr/local/include conftest.c >&5 ++conftest.c:2: syntax error before "me" ++configure:2479: $? = 1 ++configure: failed program was: ++| #ifndef __cplusplus ++| choke me ++| #endif ++configure:2607: checking for style of include used by make ++configure:2635: result: GNU ++configure:2663: checking dependency style of gcc ++configure:2725: result: gcc3 ++configure:2734: checking for gcc option to accept ANSI C ++configure:2798: gcc -c -g -O2 -I/usr/local/include conftest.c >&5 ++configure:2801: $? = 0 ++configure:2804: test -s conftest.o ++configure:2807: $? = 0 ++configure:2822: result: none needed ++configure:2874: checking for ranlib ++configure:2890: found /usr/bin/ranlib ++configure:2901: result: ranlib ++configure:2923: checking for pkg-config ++configure:2941: found /usr/bin/pkg-config ++configure:2954: result: /usr/bin/pkg-config ++configure:2971: checking for gtk+-2.0 >= 2.0.0 ++configure:2975: result: yes ++configure:2979: checking GTK_CFLAGS ++configure:2982: result: -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ++configure:2985: checking GTK_LIBS ++configure:2988: result: -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ++configure:3041: checking for jpeg_destroy_decompress in -ljpeg ++configure:3072: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c -ljpeg >&5 ++configure:3075: $? = 0 ++configure:3078: test -s conftest ++configure:3081: $? = 0 ++configure:3093: result: yes ++configure:3110: checking how to run the C preprocessor ++configure:3146: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3152: $? = 0 ++configure:3184: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3185:28: ac_nonexistent.h: No such file or directory ++configure:3190: $? = 1 ++configure: failed program was: ++| #line 3175 "configure" ++| /* confdefs.h. */ ++| ++| #define PACKAGE_NAME "" ++| #define PACKAGE_TARNAME "" ++| #define PACKAGE_VERSION "" ++| #define PACKAGE_STRING "" ++| #define PACKAGE_BUGREPORT "" ++| #define PACKAGE "dillo" ++| #define VERSION "0.6.6" ++| /* end confdefs.h. */ ++| #include <ac_nonexistent.h> ++configure:3228: result: gcc -E ++configure:3253: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3259: $? = 0 ++configure:3291: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3292:28: ac_nonexistent.h: No such file or directory ++configure:3297: $? = 1 ++configure: failed program was: ++| #line 3282 "configure" ++| /* confdefs.h. */ ++| ++| #define PACKAGE_NAME "" ++| #define PACKAGE_TARNAME "" ++| #define PACKAGE_VERSION "" ++| #define PACKAGE_STRING "" ++| #define PACKAGE_BUGREPORT "" ++| #define PACKAGE "dillo" ++| #define VERSION "0.6.6" ++| /* end confdefs.h. */ ++| #include <ac_nonexistent.h> ++configure:3340: checking for egrep ++configure:3350: result: grep -E ++configure:3355: checking for ANSI C header files ++configure:3381: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3384: $? = 0 ++configure:3387: test -s conftest.o ++configure:3390: $? = 0 ++configure:3479: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c >&5 ++configure: In function `main': ++configure:3477: warning: implicit declaration of function `exit' ++configure:3482: $? = 0 ++configure:3484: ./conftest ++configure:3487: $? = 0 ++configure:3502: result: yes ++configure:3526: checking for sys/types.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for sys/stat.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for stdlib.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for string.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for memory.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for strings.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for inttypes.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for stdint.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3526: checking for unistd.h ++configure:3543: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3546: $? = 0 ++configure:3549: test -s conftest.o ++configure:3552: $? = 0 ++configure:3563: result: yes ++configure:3592: checking jpeglib.h usability ++configure:3605: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3608: $? = 0 ++configure:3611: test -s conftest.o ++configure:3614: $? = 0 ++configure:3624: result: yes ++configure:3628: checking jpeglib.h presence ++configure:3639: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3645: $? = 0 ++configure:3664: result: yes ++configure:3700: checking for jpeglib.h ++configure:3707: result: yes ++configure:3592: checking jconfig.h usability ++configure:3605: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3608: $? = 0 ++configure:3611: test -s conftest.o ++configure:3614: $? = 0 ++configure:3624: result: yes ++configure:3628: checking jconfig.h presence ++configure:3639: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3645: $? = 0 ++configure:3664: result: yes ++configure:3700: checking for jconfig.h ++configure:3707: result: yes ++configure:3592: checking jerror.h usability ++configure:3605: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3608: $? = 0 ++configure:3611: test -s conftest.o ++configure:3614: $? = 0 ++configure:3624: result: yes ++configure:3628: checking jerror.h presence ++configure:3639: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3645: $? = 0 ++configure:3664: result: yes ++configure:3700: checking for jerror.h ++configure:3707: result: yes ++configure:3592: checking jmorecfg.h usability ++configure:3605: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:3608: $? = 0 ++configure:3611: test -s conftest.o ++configure:3614: $? = 0 ++configure:3624: result: yes ++configure:3628: checking jmorecfg.h presence ++configure:3639: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:3645: $? = 0 ++configure:3664: result: yes ++configure:3700: checking for jmorecfg.h ++configure:3707: result: yes ++configure:3736: checking for pthread_create in -lpthread ++configure:3767: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c -lpthread >&5 ++configure:3770: $? = 0 ++configure:3773: test -s conftest ++configure:3776: $? = 0 ++configure:3788: result: yes ++configure:3991: checking for zlibVersion in -lz ++configure:4022: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c -lz -lpthread >&5 ++configure:4025: $? = 0 ++configure:4028: test -s conftest ++configure:4031: $? = 0 ++configure:4043: result: yes ++configure:4055: checking for png_check_sig in -lpng ++configure:4086: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c -lpng -lz -lpthread >&5 ++configure:4089: $? = 0 ++configure:4092: test -s conftest ++configure:4095: $? = 0 ++configure:4107: result: yes ++configure:4136: checking for ANSI C header files ++configure:4283: result: yes ++configure:4309: checking fcntl.h usability ++configure:4322: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6 -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:4325: $? = 0 ++configure:4328: test -s conftest.o ++configure:4331: $? = 0 ++configure:4341: result: yes ++configure:4345: checking fcntl.h presence ++configure:4356: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:4362: $? = 0 ++configure:4381: result: yes ++configure:4417: checking for fcntl.h ++configure:4424: result: yes ++configure:4300: checking for unistd.h ++configure:4305: result: yes ++configure:4309: checking sys/uio.h usability ++configure:4322: gcc -c -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6 -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c >&5 ++configure:4325: $? = 0 ++configure:4328: test -s conftest.o ++configure:4331: $? = 0 ++configure:4341: result: yes ++configure:4345: checking sys/uio.h presence ++configure:4356: gcc -E -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include conftest.c ++configure:4362: $? = 0 ++configure:4381: result: yes ++configure:4417: checking for sys/uio.h ++configure:4424: result: yes ++configure:4442: checking for socket ++configure:4492: gcc -o conftest -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6 -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 conftest.c -lpng -lz -lpthread >&5 ++configure:4495: $? = 0 ++configure:4498: test -s conftest ++configure:4501: $? = 0 ++configure:4512: result: yes ++configure:4635: creating ./config.status ++ ++## ---------------- ## ++## Cache variables. ## ++## ---------------- ## ++ ++ac_cv_c_compiler_gnu=yes ++ac_cv_env_CC_set= ++ac_cv_env_CC_value= ++ac_cv_env_CFLAGS_set= ++ac_cv_env_CFLAGS_value= ++ac_cv_env_CPPFLAGS_set= ++ac_cv_env_CPPFLAGS_value= ++ac_cv_env_CPP_set= ++ac_cv_env_CPP_value= ++ac_cv_env_LDFLAGS_set= ++ac_cv_env_LDFLAGS_value= ++ac_cv_env_build_alias_set= ++ac_cv_env_build_alias_value= ++ac_cv_env_host_alias_set= ++ac_cv_env_host_alias_value= ++ac_cv_env_target_alias_set= ++ac_cv_env_target_alias_value= ++ac_cv_exeext= ++ac_cv_func_socket=yes ++ac_cv_header_fcntl_h=yes ++ac_cv_header_inttypes_h=yes ++ac_cv_header_jconfig_h=yes ++ac_cv_header_jerror_h=yes ++ac_cv_header_jmorecfg_h=yes ++ac_cv_header_jpeglib_h=yes ++ac_cv_header_memory_h=yes ++ac_cv_header_stdc=yes ++ac_cv_header_stdint_h=yes ++ac_cv_header_stdlib_h=yes ++ac_cv_header_string_h=yes ++ac_cv_header_strings_h=yes ++ac_cv_header_sys_stat_h=yes ++ac_cv_header_sys_types_h=yes ++ac_cv_header_sys_uio_h=yes ++ac_cv_header_unistd_h=yes ++ac_cv_lib_jpeg_jpeg_destroy_decompress=yes ++ac_cv_lib_png_png_check_sig=yes ++ac_cv_lib_pthread_pthread_create=yes ++ac_cv_lib_z_zlibVersion=yes ++ac_cv_objext=o ++ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config ++ac_cv_path_install='/usr/bin/install -c' ++ac_cv_prog_AWK=gawk ++ac_cv_prog_CPP='gcc -E' ++ac_cv_prog_ac_ct_CC=gcc ++ac_cv_prog_ac_ct_RANLIB=ranlib ++ac_cv_prog_cc_g=yes ++ac_cv_prog_cc_stdc= ++ac_cv_prog_egrep='grep -E' ++ac_cv_prog_make_make_set=yes ++am_cv_CC_dependencies_compiler_type=gcc3 ++am_cv_prog_cc_stdc= ++ ++## ----------------- ## ++## Output variables. ## ++## ----------------- ## ++ ++ACLOCAL='aclocal-1.6' ++AMDEPBACKSLASH='\' ++AMDEP_FALSE='#' ++AMDEP_TRUE='' ++AMTAR='tar' ++AUTOCONF='autoconf' ++AUTOHEADER='autoheader' ++AUTOMAKE='automake-1.6' ++AWK='gawk' ++CC='gcc' ++CCDEPMODE='depmode=gcc3' ++CFLAGS='-g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6' ++CPP='gcc -E' ++CPPFLAGS=' -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' ++DEFS='-DHAVE_CONFIG_H' ++DEPDIR='.deps' ++ECHO_C='' ++ECHO_N='-n' ++ECHO_T='' ++EGREP='grep -E' ++EXEEXT='' ++GTK_CFLAGS='-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' ++GTK_LIBS='-Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ' ++INSTALL_DATA='${INSTALL} -m 644' ++INSTALL_PROGRAM='${INSTALL}' ++INSTALL_SCRIPT='${INSTALL}' ++INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' ++LDFLAGS=' -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ' ++LIBJPEG_LIB='-ljpeg' ++LIBOBJS='' ++LIBS='-lpng -lz -lpthread ' ++LTLIBOBJS='' ++MAKEINFO='makeinfo' ++OBJEXT='o' ++PACKAGE='dillo' ++PACKAGE_BUGREPORT='' ++PACKAGE_NAME='' ++PACKAGE_STRING='' ++PACKAGE_TARNAME='' ++PACKAGE_VERSION='' ++PATH_SEPARATOR=':' ++PKG_CONFIG='/usr/bin/pkg-config' ++RANLIB='ranlib' ++SET_MAKE='' ++SHELL='/bin/sh' ++STRIP='' ++VERSION='0.6.6' ++ac_ct_CC='gcc' ++ac_ct_RANLIB='ranlib' ++ac_ct_STRIP='' ++am__include='include' ++am__quote='' ++bin='' ++bindir='${exec_prefix}/bin' ++build_alias='' ++datadir='${prefix}/share' ++doc='' ++exec_prefix='${prefix}' ++host_alias='' ++includedir='${prefix}/include' ++infodir='${prefix}/info' ++install_sh='/home/pb/dillo2/install-sh' ++lib='' ++libdir='${exec_prefix}/lib' ++libexecdir='${exec_prefix}/libexec' ++localstatedir='${prefix}/var' ++mandir='${prefix}/man' ++oldincludedir='/usr/include' ++prefix='/usr' ++program_transform_name='s,x,x,' ++sbindir='${exec_prefix}/sbin' ++sharedstatedir='${prefix}/com' ++src='' ++sysconfdir='${prefix}/etc' ++target_alias='' ++util='' ++ ++## ----------- ## ++## confdefs.h. ## ++## ----------- ## ++ ++#define HAVE_FCNTL_H 1 ++#define HAVE_INTTYPES_H 1 ++#define HAVE_JCONFIG_H 1 ++#define HAVE_JERROR_H 1 ++#define HAVE_JMORECFG_H 1 ++#define HAVE_JPEGLIB_H 1 ++#define HAVE_LIBPNG 1 ++#define HAVE_LIBPTHREAD 1 ++#define HAVE_LIBZ 1 ++#define HAVE_MEMORY_H 1 ++#define HAVE_SOCKET 1 ++#define HAVE_STDINT_H 1 ++#define HAVE_STDLIB_H 1 ++#define HAVE_STRINGS_H 1 ++#define HAVE_STRING_H 1 ++#define HAVE_SYS_STAT_H 1 ++#define HAVE_SYS_TYPES_H 1 ++#define HAVE_SYS_UIO_H 1 ++#define HAVE_UNISTD_H 1 ++#define HAVE_UNISTD_H 1 ++#define PACKAGE "dillo" ++#define PACKAGE_BUGREPORT "" ++#define PACKAGE_NAME "" ++#define PACKAGE_STRING "" ++#define PACKAGE_TARNAME "" ++#define PACKAGE_VERSION "" ++#define STDC_HEADERS 1 ++#define STDC_HEADERS 1 ++#define VERSION "0.6.6" ++ ++configure: exit 0 ++ ++## ---------------------- ## ++## Running config.status. ## ++## ---------------------- ## ++ ++This file was extended by config.status, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = ++ CONFIG_HEADERS = ++ CONFIG_LINKS = ++ CONFIG_COMMANDS = ++ $ ./config.status Makefile ++ ++on smackdown ++ ++config.status:662: creating Makefile ++ ++## ---------------------- ## ++## Running config.status. ## ++## ---------------------- ## ++ ++This file was extended by config.status, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = ++ CONFIG_HEADERS = ++ CONFIG_LINKS = ++ CONFIG_COMMANDS = ++ $ ./config.status config.h ++ ++on smackdown ++ ++config.status:766: creating config.h ++config.status:895: config.h is unchanged ++ ++## ---------------------- ## ++## Running config.status. ## ++## ---------------------- ## ++ ++This file was extended by config.status, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = ++ CONFIG_HEADERS = ++ CONFIG_LINKS = ++ CONFIG_COMMANDS = ++ $ ./config.status doc/Makefile ++ ++on smackdown ++ ++config.status:662: creating doc/Makefile ++ ++## ---------------------- ## ++## Running config.status. ## ++## ---------------------- ## ++ ++This file was extended by config.status, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = ++ CONFIG_HEADERS = ++ CONFIG_LINKS = ++ CONFIG_COMMANDS = ++ $ ./config.status src/Makefile depfiles ++ ++on smackdown ++ ++config.status:662: creating src/Makefile ++config.status:1001: executing depfiles commands ++ ++## ---------------------- ## ++## Running config.status. ## ++## ---------------------- ## ++ ++This file was extended by config.status, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = ++ CONFIG_HEADERS = ++ CONFIG_LINKS = ++ CONFIG_COMMANDS = ++ $ ./config.status src/IO/Makefile depfiles ++ ++on smackdown ++ ++config.status:662: creating src/IO/Makefile ++config.status:1001: executing depfiles commands +diff -urN dillo-0.6.6/config.status dillo2-0.6.6/config.status +--- dillo-0.6.6/config.status 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/config.status 2003-04-21 14:26:40.000000000 -0600 +@@ -0,0 +1,1098 @@ ++#! /bin/sh ++# Generated by configure. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++SHELL=${CONFIG_SHELL-/bin/sh} ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++ ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ 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 ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 ++echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 ++echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ 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" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH ++ ++exec 6>&1 ++ ++# Open the log real soon, to keep \$[0] and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. Logging --version etc. is OK. ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++} >&5 ++cat >&5 <<_CSEOF ++ ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++_CSEOF ++echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 ++echo >&5 ++config_files=" Makefile doc/Makefile src/Makefile src/IO/Makefile" ++config_headers=" config.h" ++config_commands=" depfiles" ++ ++ac_cs_usage="\ ++\`$as_me' instantiates files from templates according to the ++current configuration. ++ ++Usage: $0 [OPTIONS] [FILE]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number, then exit ++ -q, --quiet do not print progress messages ++ -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 ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to <bug-autoconf@gnu.org>." ++ac_cs_version="\ ++config.status ++configured by ./configure, generated by GNU Autoconf 2.57, ++ with options \"'--prefix=/usr' '--enable-ipv6'\" ++ ++Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 ++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=. ++INSTALL="/usr/bin/install -c" ++# If no file are specified by the user, then we need to provide default ++# value. By we need to know if files were specified by the user. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=*) ++ ac_option=`expr "x$1" : 'x\([^=]*\)='` ++ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ ac_shift=: ++ ;; ++ -*) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ *) # This is not an option, so the user has probably given explicit ++ # arguments. ++ ac_option=$1 ++ ac_need_defaults=false;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --vers* | -V ) ++ echo "$ac_cs_version"; exit 0 ;; ++ --he | --h) ++ # Conflict between --help and --header ++ { { echo "$as_me:$LINENO: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: ambiguous option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; };; ++ --help | --hel | -h ) ++ echo "$ac_cs_usage"; exit 0 ;; ++ --debug | --d* | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ CONFIG_FILES="$CONFIG_FILES $ac_optarg" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ++ ac_need_defaults=false;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&5 ++echo "$as_me: error: unrecognized option: $1 ++Try \`$0 --help' for more information." >&2;} ++ { (exit 1); exit 1; }; } ;; ++ ++ *) ac_config_targets="$ac_config_targets $1" ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++if $ac_cs_recheck; then ++ echo "running /bin/sh ./configure " '--prefix=/usr' '--enable-ipv6' $ac_configure_extra_args " --no-create --no-recursion" >&6 ++ exec /bin/sh ./configure '--prefix=/usr' '--enable-ipv6' $ac_configure_extra_args --no-create --no-recursion ++fi ++ ++# ++# INIT-COMMANDS section. ++# ++ ++AMDEP_TRUE="" ac_aux_dir="." ++ ++for ac_config_target in $ac_config_targets ++do ++ case "$ac_config_target" in ++ # Handling of arguments. ++ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; ++ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; ++ "src/IO/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/IO/Makefile" ;; ++ "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 ++echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files ++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers ++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason to put it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Create a temporary directory, and hook for its removal unless debugging. ++$debug || ++{ ++ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ++ trap '{ (exit 1); exit 1; }' 1 2 13 15 ++} ++ ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && ++ test -n "$tmp" && test -d "$tmp" ++} || ++{ ++ tmp=./confstat$$-$RANDOM ++ (umask 077 && mkdir $tmp) ++} || ++{ ++ echo "$me: cannot create a temporary directory in ." >&2 ++ { (exit 1); exit 1; } ++} ++ ++ ++# ++# CONFIG_FILES section. ++# ++ ++# No need to generate the scripts if there are no CONFIG_FILES. ++# This happens for instance when ./config.status config.h ++if test -n "$CONFIG_FILES"; then ++ # Protect against being on the right side of a sed subst in config.status. ++ sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; ++ s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF ++s,@SHELL@,/bin/sh,;t t ++s,@PATH_SEPARATOR@,:,;t t ++s,@PACKAGE_NAME@,,;t t ++s,@PACKAGE_TARNAME@,,;t t ++s,@PACKAGE_VERSION@,,;t t ++s,@PACKAGE_STRING@,,;t t ++s,@PACKAGE_BUGREPORT@,,;t t ++s,@exec_prefix@,${prefix},;t t ++s,@prefix@,/usr,;t t ++s,@program_transform_name@,s,x,x,,;t t ++s,@bindir@,${exec_prefix}/bin,;t t ++s,@sbindir@,${exec_prefix}/sbin,;t t ++s,@libexecdir@,${exec_prefix}/libexec,;t t ++s,@datadir@,${prefix}/share,;t t ++s,@sysconfdir@,${prefix}/etc,;t t ++s,@sharedstatedir@,${prefix}/com,;t t ++s,@localstatedir@,${prefix}/var,;t t ++s,@libdir@,${exec_prefix}/lib,;t t ++s,@includedir@,${prefix}/include,;t t ++s,@oldincludedir@,/usr/include,;t t ++s,@infodir@,${prefix}/info,;t t ++s,@mandir@,${prefix}/man,;t t ++s,@build_alias@,,;t t ++s,@host_alias@,,;t t ++s,@target_alias@,,;t t ++s,@DEFS@,-DHAVE_CONFIG_H,;t t ++s,@ECHO_C@,,;t t ++s,@ECHO_N@,-n,;t t ++s,@ECHO_T@,,;t t ++s,@LIBS@,-lpng -lz -lpthread ,;t t ++s,@INSTALL_PROGRAM@,${INSTALL},;t t ++s,@INSTALL_SCRIPT@,${INSTALL},;t t ++s,@INSTALL_DATA@,${INSTALL} -m 644,;t t ++s,@PACKAGE@,dillo,;t t ++s,@VERSION@,0.6.6,;t t ++s,@ACLOCAL@,aclocal-1.6,;t t ++s,@AUTOCONF@,autoconf,;t t ++s,@AUTOMAKE@,automake-1.6,;t t ++s,@AUTOHEADER@,autoheader,;t t ++s,@MAKEINFO@,makeinfo,;t t ++s,@AMTAR@,tar,;t t ++s,@install_sh@,/home/pb/dillo2/install-sh,;t t ++s,@STRIP@,,;t t ++s,@ac_ct_STRIP@,,;t t ++s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t ++s,@AWK@,gawk,;t t ++s,@SET_MAKE@,,;t t ++s,@CC@,gcc,;t t ++s,@CFLAGS@,-g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6,;t t ++s,@LDFLAGS@, -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ,;t t ++s,@CPPFLAGS@, -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,;t t ++s,@ac_ct_CC@,gcc,;t t ++s,@EXEEXT@,,;t t ++s,@OBJEXT@,o,;t t ++s,@DEPDIR@,.deps,;t t ++s,@am__include@,include,;t t ++s,@am__quote@,,;t t ++s,@AMDEP_TRUE@,,;t t ++s,@AMDEP_FALSE@,#,;t t ++s,@AMDEPBACKSLASH@,\,;t t ++s,@CCDEPMODE@,depmode=gcc3,;t t ++s,@RANLIB@,ranlib,;t t ++s,@ac_ct_RANLIB@,ranlib,;t t ++s,@PKG_CONFIG@,/usr/bin/pkg-config,;t t ++s,@GTK_CFLAGS@,-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,;t t ++s,@GTK_LIBS@,-Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ,;t t ++s,@CPP@,gcc -E,;t t ++s,@EGREP@,grep -E,;t t ++s,@LIBJPEG_LIB@,-ljpeg,;t t ++s,@src@,,;t t ++s,@doc@,,;t t ++s,@bin@,,;t t ++s,@util@,,;t t ++s,@lib@,,;t t ++s,@LIBOBJS@,,;t t ++s,@LTLIBOBJS@,,;t t ++CEOF ++ ++ # Split the substitutions into bite-sized pieces for seds with ++ # small command number limits, like on Digital OSF/1 and HP-UX. ++ ac_max_sed_lines=48 ++ ac_sed_frag=1 # Number of current file. ++ ac_beg=1 # First line for current file. ++ ac_end=$ac_max_sed_lines # Line after last line for current file. ++ ac_more_lines=: ++ ac_sed_cmds= ++ while $ac_more_lines; do ++ if test $ac_beg -gt 1; then ++ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ else ++ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag ++ fi ++ if test ! -s $tmp/subs.frag; then ++ ac_more_lines=false ++ else ++ # The purpose of the label and of the branching condition is to ++ # speed up the sed processing (if there are no `@' at all, there ++ # is no need to browse any of the substitutions). ++ # These are the two extra sed commands mentioned above. ++ (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" ++ else ++ 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 ++ ac_end=`expr $ac_end + $ac_max_sed_lines` ++ fi ++ done ++ if test -z "$ac_sed_cmds"; then ++ ac_sed_cmds=cat ++ fi ++fi # test -n "$CONFIG_FILES" ++ ++for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue ++ # 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,:.*,,'` ;; ++ *:* ) ac_file_in=`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 || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" ++ else ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ 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` ++ ++ ++ case $INSTALL in ++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_builddir$INSTALL ;; ++ 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. */ ++ if test x"$ac_file" = x-; then ++ configure_input= ++ else ++ configure_input="$ac_file. " ++ fi ++ configure_input=$configure_input"Generated from `echo $ac_file_in | ++ sed 's,.*/,,'` by configure." ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ 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 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ 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 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++ sed "/^[ ]*VPATH[ ]*=/{ ++s/:*\$(srcdir):*/:/; ++s/:*\${srcdir}:*/:/; ++s/:*@srcdir@:*/:/; ++s/^\([^=]*=[ ]*\):*/\1/; ++s/:*$//; ++s/^[^=]*=[ ]*$//; ++} ++ ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s,@configure_input@,$configure_input,;t t ++s,@srcdir@,$ac_srcdir,;t t ++s,@abs_srcdir@,$ac_abs_srcdir,;t t ++s,@top_srcdir@,$ac_top_srcdir,;t t ++s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t ++s,@builddir@,$ac_builddir,;t t ++s,@abs_builddir@,$ac_abs_builddir,;t t ++s,@top_builddir@,$ac_top_builddir,;t t ++s,@abs_top_builddir@,$ac_abs_top_builddir,;t t ++s,@INSTALL@,$ac_INSTALL,;t t ++" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out ++ rm -f $tmp/stdin ++ if test x"$ac_file" != x-; then ++ mv $tmp/out $ac_file ++ else ++ cat $tmp/out ++ rm -f $tmp/out ++ fi ++ ++done ++ ++# ++# CONFIG_HEADER section. ++# ++ ++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where ++# NAME is the cpp macro being defined and VALUE is the value it is being given. ++# ++# ac_d sets the value in "#define NAME VALUE" lines. ++ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ++ac_dB='[ ].*$,\1#\2' ++ac_dC=' ' ++ac_dD=',;t' ++# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ++ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ++ac_uB='$,\1#\2define\3' ++ac_uC=' ' ++ac_uD=',;t' ++ ++for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue ++ # 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,:.*,,'` ;; ++ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; ++ * ) ac_file_in=$ac_file.in ;; ++ esac ++ ++ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ ++ # First look for the input files in the build tree, otherwise in the ++ # src tree. ++ ac_file_inputs=`IFS=: ++ for f in $ac_file_in; do ++ 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 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ 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 ++echo "$as_me: error: cannot find input file: $f" >&2;} ++ { (exit 1); exit 1; }; } ++ fi;; ++ esac ++ done` || { (exit 1); exit 1; } ++ # Remove the trailing spaces. ++ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in ++ ++ # Handle all the #define templates only if necessary. ++ if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then ++ # If there are no defines, we may have an empty if/fi ++ : ++ cat >$tmp/defines.sed <<CEOF ++/^[ ]*#[ ]*define/!b ++t clr ++: clr ++${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}""${ac_dD} ++${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}""${ac_dD} ++${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}""${ac_dD} ++${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}""${ac_dD} ++${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}""${ac_dD} ++${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"dillo"${ac_dD} ++${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"0.6.6"${ac_dD} ++${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} ++${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_JPEGLIB_H${ac_dB}HAVE_JPEGLIB_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_JCONFIG_H${ac_dB}HAVE_JCONFIG_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_JERROR_H${ac_dB}HAVE_JERROR_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_JMORECFG_H${ac_dB}HAVE_JMORECFG_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_LIBPTHREAD${ac_dB}HAVE_LIBPTHREAD${ac_dC}1${ac_dD} ++${ac_dA}HAVE_LIBZ${ac_dB}HAVE_LIBZ${ac_dC}1${ac_dD} ++${ac_dA}HAVE_LIBPNG${ac_dB}HAVE_LIBPNG${ac_dC}1${ac_dD} ++${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} ++${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_SYS_UIO_H${ac_dB}HAVE_SYS_UIO_H${ac_dC}1${ac_dD} ++${ac_dA}HAVE_SOCKET${ac_dB}HAVE_SOCKET${ac_dC}1${ac_dD} ++CEOF ++ sed -f $tmp/defines.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++ ++ fi # grep ++ ++ # Handle all the #undef templates ++ cat >$tmp/undefs.sed <<CEOF ++/^[ ]*#[ ]*undef/!b ++t clr ++: clr ++${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}""${ac_uD} ++${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}""${ac_uD} ++${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}""${ac_uD} ++${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}""${ac_uD} ++${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}""${ac_uD} ++${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"dillo"${ac_uD} ++${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"0.6.6"${ac_uD} ++${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} ++${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_JPEGLIB_H${ac_uB}HAVE_JPEGLIB_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_JCONFIG_H${ac_uB}HAVE_JCONFIG_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_JERROR_H${ac_uB}HAVE_JERROR_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_JMORECFG_H${ac_uB}HAVE_JMORECFG_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_LIBPTHREAD${ac_uB}HAVE_LIBPTHREAD${ac_uC}1${ac_uD} ++${ac_uA}HAVE_LIBZ${ac_uB}HAVE_LIBZ${ac_uC}1${ac_uD} ++${ac_uA}HAVE_LIBPNG${ac_uB}HAVE_LIBPNG${ac_uC}1${ac_uD} ++${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} ++${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_SYS_UIO_H${ac_uB}HAVE_SYS_UIO_H${ac_uC}1${ac_uD} ++${ac_uA}HAVE_SOCKET${ac_uB}HAVE_SOCKET${ac_uC}1${ac_uD} ++s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, ++CEOF ++ sed -f $tmp/undefs.sed $tmp/in >$tmp/out ++ rm -f $tmp/in ++ mv $tmp/out $tmp/in ++ ++ # 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. */ ++ if test x"$ac_file" = x-; then ++ echo "/* Generated by configure. */" >$tmp/config.h ++ else ++ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h ++ fi ++ cat $tmp/in >>$tmp/config.h ++ rm -f $tmp/in ++ if test x"$ac_file" != x-; then ++ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then ++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 ++echo "$as_me: $ac_file is unchanged" >&6;} ++ else ++ 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 || ++echo X"$ac_file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" ++ else ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ rm -f $ac_file ++ mv $tmp/config.h $ac_file ++ fi ++ else ++ cat $tmp/config.h ++ rm -f $tmp/config.h ++ fi ++ # Run the commands associated with the file. ++ case $ac_file in ++ config.h ) # update the timestamp ++echo 'timestamp for config.h' >"./stamp-h1" ++ ;; ++ esac ++done ++ ++# ++# CONFIG_COMMANDS section. ++# ++for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ++ ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ++ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_dir=`(dirname "$ac_dest") 2>/dev/null || ++$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_dest" : 'X\(//\)[^/]' \| \ ++ X"$ac_dest" : 'X\(//\)$' \| \ ++ X"$ac_dest" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_dest" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ 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` ++ ++ ++ { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 ++echo "$as_me: executing $ac_dest commands" >&6;} ++ case $ac_dest in ++ depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`(dirname "$mf") 2>/dev/null || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`(dirname "$file") 2>/dev/null || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p $dirpart/$fdir ++ else ++ as_dir=$dirpart/$fdir ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 ++echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; ++ esac ++done ++ ++{ (exit 0); exit 0; } +diff -urN dillo-0.6.6/configure dillo2-0.6.6/configure +--- dillo-0.6.6/configure 2002-05-29 15:02:13.000000000 -0600 ++++ dillo2-0.6.6/configure 2003-04-21 14:25:39.000000000 -0600 +@@ -1,22 +1,195 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by Autoconf 2.50. ++# Generated by GNU Autoconf 2.57. + # +-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 ++# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 + # Free Software Foundation, Inc. + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## + + # Be Bourne compatible + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' + elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix + fi + ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ 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 ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ + # Name of the executable. +-as_me=`echo "$0" |sed 's,.*[\\/],,'` ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac + + if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +@@ -42,24 +215,20 @@ + fi + rm -f conf$$ conf$$.exe conf$$.file + +-as_executable_p="test -f" +- +-# Support unset when possible. +-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +- as_unset=unset ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: + else +- as_unset=false ++ as_mkdir_p=false + fi + +-# NLS nuisances. +-$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } +-$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } +-$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } +-$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } +-$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } +-$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } +-$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } +-$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } ++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" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ++ + + # IFS + # We need space, tab and new line, in precisely that order. +@@ -68,7 +237,8 @@ + IFS=" $as_nl" + + # CDPATH. +-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } ++$as_unset CDPATH ++ + + # Name of the host. + # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +@@ -81,9 +251,11 @@ + # Initializations. + # + ac_default_prefix=/usr/local ++ac_config_libobj_dir=. + cross_compiling=no + subdirs= +-MFLAGS= MAKEFLAGS= ++MFLAGS= ++MAKEFLAGS= + SHELL=${CONFIG_SHELL-/bin/sh} + + # Maximum number of lines to put in a shell here document. +@@ -91,17 +263,53 @@ + # only ac_max_sed_lines should be used. + : ${ac_max_here_lines=38} + +-# Avoid depending upon Character Ranges. +-ac_cr_az='abcdefghijklmnopqrstuvwxyz' +-ac_cr_AZ='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +-ac_cr_09='0123456789' +-ac_cr_alnum=$ac_cr_az$ac_cr_AZ$ac_cr_09 +- +-# Sed expression to map a string onto a valid sh and CPP variable names. +-ac_tr_sh="sed y%*+%pp%;s%[^_$ac_cr_alnum]%_%g" +-ac_tr_cpp="sed y%*$ac_cr_az%P$ac_cr_AZ%;s%[^_$ac_cr_alnum]%_%g" ++# Identity of this package. ++PACKAGE_NAME= ++PACKAGE_TARNAME= ++PACKAGE_VERSION= ++PACKAGE_STRING= ++PACKAGE_BUGREPORT= + + ac_unique_file="src/dillo.c" ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include <stdio.h> ++#if HAVE_SYS_TYPES_H ++# include <sys/types.h> ++#endif ++#if HAVE_SYS_STAT_H ++# include <sys/stat.h> ++#endif ++#if STDC_HEADERS ++# include <stdlib.h> ++# include <stddef.h> ++#else ++# if HAVE_STDLIB_H ++# include <stdlib.h> ++# endif ++#endif ++#if HAVE_STRING_H ++# if !STDC_HEADERS && HAVE_MEMORY_H ++# include <memory.h> ++# endif ++# include <string.h> ++#endif ++#if HAVE_STRINGS_H ++# include <strings.h> ++#endif ++#if HAVE_INTTYPES_H ++# include <inttypes.h> ++#else ++# if HAVE_STDINT_H ++# include <stdint.h> ++# endif ++#endif ++#if HAVE_UNISTD_H ++# include <unistd.h> ++#endif" ++ ++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 INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE RANLIB ac_ct_RANLIB PKG_CONFIG GTK_CFLAGS GTK_LIBS CPP EGREP LIBJPEG_LIB src doc bin util lib LIBOBJS LTLIBOBJS' ++ac_subst_files='' + + # Initialize some variables set by options. + ac_init_help= +@@ -141,13 +349,6 @@ + infodir='${prefix}/info' + mandir='${prefix}/man' + +-# Identity of this package. +-PACKAGE_NAME= +-PACKAGE_TARNAME= +-PACKAGE_VERSION= +-PACKAGE_STRING= +-PACKAGE_BUGREPORT= +- + ac_prev= + for ac_option + do +@@ -193,7 +394,7 @@ + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` +@@ -202,7 +403,7 @@ + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_feature" : ".*[^-_$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` +@@ -280,7 +481,7 @@ + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +- | --no-cr | --no-c) ++ | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +@@ -384,7 +585,7 @@ + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` +@@ -397,7 +598,7 @@ + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. +- expr "x$ac_package" : ".*[^-_$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` +@@ -429,7 +630,7 @@ + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. +- expr "x$ac_envvar" : ".*[^_$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` +@@ -439,7 +640,7 @@ + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 +- expr "x$ac_option" : ".*[^-._$ac_cr_alnum]" >/dev/null && ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; +@@ -454,26 +655,36 @@ + fi + + # Be sure to have absolute paths. ++for ac_var in exec_prefix prefix ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# Be sure to have absolute paths. + for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +- localstatedir libdir includedir oldincludedir infodir mandir \ +- exec_prefix prefix ++ localstatedir libdir includedir oldincludedir infodir mandir + do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; +- NONE ) ;; +- *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac + done + + # There might be people who depend on the old broken behavior: `$host' + # used to hold the argument of --host etc. ++# FIXME: To remove some day. + build=$build_alias + host=$host_alias + target=$target_alias + +-# FIXME: should be removed in autoconf 3.0. ++# FIXME: To remove some day. + if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe +@@ -489,13 +700,23 @@ + + test "$silent" = yes && exec 6>/dev/null + ++ + # Find the source files, if location was not specified. + if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. +- ac_prog=$0 +- ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` +- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. ++ ac_confdir=`(dirname "$0") 2>/dev/null || ++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$0" : 'X\(//\)[^/]' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$0" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. +@@ -505,13 +726,16 @@ + fi + if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then +- { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else +- { echo "$as_me: error: cannot find sources in $srcdir" >&2 ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi + fi ++(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || ++ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 ++ { (exit 1); exit 1; }; } + srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` + ac_env_build_alias_set=${build_alias+set} + ac_env_build_alias_value=$build_alias +@@ -552,7 +776,7 @@ + if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. +- cat <<EOF ++ cat <<_ACEOF + \`configure' configures this package to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... +@@ -573,9 +797,9 @@ + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +-EOF ++_ACEOF + +- cat <<EOF ++ cat <<_ACEOF + Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] +@@ -602,20 +826,20 @@ + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +-EOF ++_ACEOF + +- cat <<\EOF ++ cat <<\_ACEOF + + Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +-EOF ++_ACEOF + fi + + if test -n "$ac_init_help"; then + +- cat <<\EOF ++ cat <<\_ACEOF + + Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) +@@ -625,15 +849,15 @@ + --enable-insure Try to compile and run with Insure++ + --enable-ansi Try to compile and run with ANSI flags + --enable-cookies Build with support for cookies +- --disable-gtktest Do not try to compile and run a test GTK program ++ --enable-ipv6 Build with support for IPv6 ++ --disable-dependency-tracking Speeds up one-time builds ++ --enable-dependency-tracking Do not reject slow dependency extractors + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-jpeg-lib=DIR Specify where to find libjpeg + --with-jpeg-inc=DIR Specify where to find libjpeg's headers +- --with-gtk-prefix=PFX Prefix where GTK is installed (optional) +- --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) + + Some influential environment variables: + CC C compiler command +@@ -647,40 +871,60 @@ + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. + +-EOF ++_ACEOF + fi + + if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` +- for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue +- cd $ac_subdir +- # A "../" for each directory in /$ac_subdir. +- ac_dots=`echo $ac_subdir | +- sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` +- +- case $srcdir in +- .) # No --srcdir option. We are building in place. +- ac_sub_srcdir=$srcdir ;; +- [\\/]* | ?:[\\/]* ) # Absolute path. +- ac_sub_srcdir=$srcdir/$ac_subdir ;; +- *) # Relative path. +- ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; +- esac ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d $ac_dir || continue ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ 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` + ++ cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. +- if test -f $ac_sub_srcdir/configure.gnu; then ++ if test -f $ac_srcdir/configure.gnu; then + echo +- $SHELL $ac_sub_srcdir/configure.gnu --help=recursive +- elif test -f $ac_sub_srcdir/configure; then ++ $SHELL $ac_srcdir/configure.gnu --help=recursive ++ elif test -f $ac_srcdir/configure; then + echo +- $SHELL $ac_sub_srcdir/configure --help=recursive +- elif test -f $ac_sub_srcdir/configure.ac || +- test -f $ac_sub_srcdir/configure.in; then ++ $SHELL $ac_srcdir/configure --help=recursive ++ elif test -f $ac_srcdir/configure.ac || ++ test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else +- echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 ++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +@@ -688,31 +932,31 @@ + + test -n "$ac_init_help" && exit 0 + if $ac_init_version; then +- cat <<\EOF ++ cat <<\_ACEOF + +-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 ++Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 + Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. +-EOF ++_ACEOF + exit 0 + fi + exec 5>config.log +-cat >&5 <<EOF ++cat >&5 <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + + It was created by $as_me, which was +-generated by GNU Autoconf 2.50. Invocation command line was ++generated by GNU Autoconf 2.57. Invocation command line was + + $ $0 $@ + +-EOF ++_ACEOF + { + cat <<_ASUNAME +-## ---------- ## +-## Platform. ## +-## ---------- ## ++## --------- ## ++## Platform. ## ++## --------- ## + + hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` + uname -m = `(uname -m) 2>/dev/null || echo unknown` +@@ -731,83 +975,160 @@ + /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` + /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +-PATH = $PATH +- + _ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ echo "PATH: $as_dir" ++done ++ + } >&5 + +-cat >&5 <<EOF +-## ------------ ## +-## Core tests. ## +-## ------------ ## ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF + +-EOF + + # Keep a trace of the command line. + # Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. + # Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. + ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= + ac_sep= +-for ac_arg ++ac_must_keep_next=false ++for ac_pass in 1 2 + do +- case $ac_arg in +- -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +- | --no-cr | --no-c) ;; +- -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; +- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) +- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` +- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" +- ac_sep=" " ;; +- *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" +- ac_sep=" " ;; +- esac +- # Get rid of the leading space. ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; ++ 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. ++ 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 ++ fi ++ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ++ # Get rid of the leading space. ++ ac_sep=" " ++ ;; ++ esac ++ done + done ++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } ++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + + # When interrupted or exit'd, cleanup temporary files, and complete + # config.log. We remove comments because anyway the quotes in there + # would cause problems or look ugly. ++# WARNING: Be sure not to use single quotes in there, as some shells, ++# such as our DU 5.0 friend, will then `close' the trap. + trap 'exit_status=$? + # Save into config.log some information that might help in debugging. +- echo >&5 +- echo "## ----------------- ##" >&5 +- echo "## Cache variables. ##" >&5 +- echo "## ----------------- ##" >&5 +- echo >&5 +- # The following way of writing the cache mishandles newlines in values, ++ { ++ echo ++ ++ cat <<\_ASBOX ++## ---------------- ## ++## Cache variables. ## ++## ---------------- ## ++_ASBOX ++ echo ++ # The following way of writing the cache mishandles newlines in values, + { + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; +- s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ +- "s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +-} >&5 +- sed "/^$/d" confdefs.h >conftest.log +- if test -s conftest.log; then +- echo >&5 +- echo "## ------------ ##" >&5 +- echo "## confdefs.h. ##" >&5 +- echo "## ------------ ##" >&5 +- echo >&5 +- cat conftest.log >&5 +- fi +- (echo; echo) >&5 +- test "$ac_signal" != 0 && +- echo "$as_me: caught signal $ac_signal" >&5 +- echo "$as_me: exit $exit_status" >&5 +- rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && ++} ++ echo ++ ++ cat <<\_ASBOX ++## ----------------- ## ++## Output variables. ## ++## ----------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ cat <<\_ASBOX ++## ------------- ## ++## Output files. ## ++## ------------- ## ++_ASBOX ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ cat <<\_ASBOX ++## ----------- ## ++## confdefs.h. ## ++## ----------- ## ++_ASBOX ++ echo ++ sed "/^$/d" confdefs.h | sort ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ echo "$as_me: caught signal $ac_signal" ++ echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core core.* *.core && ++ rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 + for ac_signal in 1 2 13 15; do +- trap 'ac_status=$?; ac_signal='$ac_signal'; { (exit $ac_status); exit $ac_status; }' $ac_signal ++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + done + ac_signal=0 + +@@ -816,6 +1137,33 @@ + # AIX cpp loses on an empty file, so make sure it contains at least a newline. + echo >confdefs.h + ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++ + # Let the site file select an alternate cache file if it wants to. + # Prefer explicitly selected file to automatically selected ones. + if test -z "$CONFIG_SITE"; then +@@ -827,9 +1175,9 @@ + fi + for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then +- { echo "$as_me:830: loading site script $ac_site_file" >&5 ++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + echo "$as_me: loading site script $ac_site_file" >&6;} +- cat "$ac_site_file" >&5 ++ sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi + done +@@ -838,7 +1186,7 @@ + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then +- { echo "$as_me:841: loading cache $cache_file" >&5 ++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 + echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; +@@ -846,14 +1194,14 @@ + esac + fi + else +- { echo "$as_me:849: creating cache $cache_file" >&5 ++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5 + echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file + fi + + # Check that the precious variables saved in the cache have kept the same + # value. +-ac_suggest_removing_cache=false ++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 + eval ac_old_set=\$ac_cv_env_${ac_var}_set +@@ -862,31 +1210,44 @@ + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) +- { echo "$as_me:865: WARNING: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +-echo "$as_me: WARNING: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} +- ac_suggest_removing_cache=: ;; ++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; + ,set) +- { echo "$as_me:869: WARNING: \`$ac_var' was not set in the previous run" >&5 +-echo "$as_me: WARNING: \`$ac_var' was not set in the previous run" >&2;} +- ac_suggest_removing_cache=: ;; ++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then +- { echo "$as_me:875: WARNING: \`$ac_var' has changed since the previous run:" >&5 +-echo "$as_me: WARNING: \`$ac_var' has changed since the previous run:" >&2;} +- { echo "$as_me:877: WARNING: former value: $ac_old_val" >&5 +-echo "$as_me: WARNING: former value: $ac_old_val" >&2;} +- { echo "$as_me:879: WARNING: current value: $ac_new_val" >&5 +-echo "$as_me: WARNING: current value: $ac_new_val" >&2;} +- ac_suggest_removing_cache=: ++ { 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: former value: $ac_old_val" >&2;} ++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 ++echo "$as_me: current value: $ac_new_val" >&2;} ++ ac_cache_corrupted=: + fi;; + esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; ++ esac ++ fi + done +-if $ac_suggest_removing_cache; then +- { echo "$as_me:886: WARNING: changes in the environment can compromise the build" >&5 +-echo "$as_me: WARNING: changes in the environment can compromise the build" >&2;} +- { echo "$as_me:888: WARNING: consider removing $cache_file and starting over" >&5 +-echo "$as_me: WARNING: consider removing $cache_file and starting over" >&2;} ++if $ac_cache_corrupted; then ++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 ++echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 ++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} ++ { (exit 1); exit 1; }; } + fi + + ac_ext=c +@@ -895,27 +1256,25 @@ + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + +-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in +- *c*,-n*) ECHO_N= ECHO_C=' +-' ECHO_T=' ' ;; +- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; +- *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +-esac +-echo "#! $SHELL" >conftest.sh +-echo "exit 0" >>conftest.sh +-chmod +x conftest.sh +-if { (echo "$as_me:907: PATH=\".;.\"; conftest.sh") >&5 +- (PATH=".;."; conftest.sh) 2>&5 +- ac_status=$? +- echo "$as_me:910: \$? = $ac_status" >&5 +- (exit $ac_status); }; then +- ac_path_separator=';' +-else +- ac_path_separator=: +-fi +-PATH_SEPARATOR="$ac_path_separator" +-rm -f conftest.sh + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++am__api_version="1.6" + ac_aux_dir= + for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then +@@ -933,7 +1292,7 @@ + fi + done + if test -z "$ac_aux_dir"; then +- { { echo "$as_me:936: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 + echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } + fi +@@ -953,43 +1312,48 @@ + # AFS /usr/afsws/bin/install, which mishandles nonexistent args + # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" + # ./install, which can be erroneously created by make from ./install.sh. +-echo "$as_me:956: checking for a BSD compatible install" >&5 +-echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 ++echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 + if test -z "$INSTALL"; then + if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +- for ac_dir in $PATH; do +- IFS=$ac_save_IFS +- # Account for people who put trailing slashes in PATH elements. +- case $ac_dir/ in +- / | ./ | .// | /cC/* \ +- | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ +- | /usr/ucb/* ) ;; +- *) +- # OSF1 and SCO ODT 3.0 have their own names for install. +- # Don't use installbsd from OSF since it installs stuff as root +- # by default. +- for ac_prog in ginstall scoinst install; do +- if $as_executable_p "$ac_dir/$ac_prog"; then +- if test $ac_prog = install && +- grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then +- # AIX install. It has an incompatible calling convention. +- : +- elif test $ac_prog = install && +- grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then +- # program-specific install script used by HP pwplus--don't use. +- : +- else +- ac_cv_path_install="$ac_dir/$ac_prog -c" +- break 2 +- fi +- fi ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in ++ ./ | .// | /cC/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi + done +- ;; +- esac +- done ++ done ++ ;; ++esac ++done ++ + + fi + if test "${ac_cv_path_install+set}" = set; then +@@ -1002,7 +1366,7 @@ + INSTALL=$ac_install_sh + fi + fi +-echo "$as_me:1005: result: $INSTALL" >&5 ++echo "$as_me:$LINENO: result: $INSTALL" >&5 + echo "${ECHO_T}$INSTALL" >&6 + + # Use test -z because SunOS4 sh mishandles braces in ${var-val}. +@@ -1013,80 +1377,128 @@ + + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +-echo "$as_me:1016: checking whether build environment is sane" >&5 ++echo "$as_me:$LINENO: checking whether build environment is sane" >&5 + echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 + # Just in case + sleep 1 +-echo timestamp > conftestfile ++echo timestamp > conftest.file + # Do `set' in a subshell so we don't clobber the current shell's + # arguments. Must try -L first in case configure is actually a + # symlink; some systems play weird games with the mod time of symlinks + # (eg FreeBSD returns the mod time of the symlink's containing + # directory). + if ( +- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` ++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. +- set X `ls -t $srcdir/configure conftestfile` ++ set X `ls -t $srcdir/configure conftest.file` + fi +- if test "$*" != "X $srcdir/configure conftestfile" \ +- && test "$*" != "X conftestfile $srcdir/configure"; then ++ rm -f conftest.file ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". +- { { echo "$as_me:1039: error: ls -t appears to fail. Make sure there is not a broken ++ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken + alias in your environment" >&5 + echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken + alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + +- test "$2" = conftestfile ++ test "$2" = conftest.file + ) + then + # Ok. + : + else +- { { echo "$as_me:1052: error: newly created file is older than distributed files! ++ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! + Check your system clock" >&5 + echo "$as_me: error: newly created file is older than distributed files! + Check your system clock" >&2;} + { (exit 1); exit 1; }; } + fi +-rm -f conftest* +-echo "$as_me:1059: result: yes" >&5 ++echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6 +-if test "$program_transform_name" = s,x,x,; then +- program_transform_name= +-else +- # Double any \ or $. echo might interpret backslashes. +- cat <<\EOF >conftest.sed +-s,\\,\\\\,g; s,\$,$$,g +-EOF +- program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +- rm -f conftest.sed +-fi + test "$program_prefix" != NONE && +- program_transform_name="s,^,${program_prefix},;$program_transform_name" ++ program_transform_name="s,^,$program_prefix,;$program_transform_name" + # Use a double $ so make ignores it. + test "$program_suffix" != NONE && +- program_transform_name="s,\$\$,${program_suffix},;$program_transform_name" ++ program_transform_name="s,\$,$program_suffix,;$program_transform_name" ++# Double any \ or $. echo might interpret backslashes. ++# By default was `s,x,x', remove it if useless. ++cat <<\_ACEOF >conftest.sed ++s/[\\$]/&&/g;s/;s,x,x,$// ++_ACEOF ++program_transform_name=`echo $program_transform_name | sed -f conftest.sed` ++rm conftest.sed ++ ++ ++# expand $ac_aux_dir to an absolute path ++am_aux_dir=`cd $ac_aux_dir && pwd` ++ ++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" ++# Use eval to expand $SHELL ++if eval "$MISSING --run true"; then ++ am_missing_run="$MISSING --run " ++else ++ am_missing_run= ++ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 ++echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} ++fi ++ ++for ac_prog in gawk mawk nawk awk ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; 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_prog_AWK+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++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_prog_AWK="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ echo "$as_me:$LINENO: result: $AWK" >&5 ++echo "${ECHO_T}$AWK" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi + +-# sed with no file args requires a program. +-test -z "$program_transform_name" && program_transform_name="s,x,x," ++ test -n "$AWK" && break ++done + +-echo "$as_me:1080: checking whether ${MAKE-make} sets \${MAKE}" >&5 +-echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 ++echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 + set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` + if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- cat >conftest.make <<\EOF ++ cat >conftest.make <<\_ACEOF + all: +- @echo 'ac_maketemp="${MAKE}"' +-EOF ++ @echo 'ac_maketemp="$(MAKE)"' ++_ACEOF + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` + if test -n "$ac_maketemp"; then +@@ -1097,129 +1509,176 @@ + rm -f conftest.make + fi + if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then +- echo "$as_me:1100: result: yes" >&5 ++ echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6 + SET_MAKE= + else +- echo "$as_me:1104: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" + fi + +-PACKAGE=dillo +- +-VERSION=0.6.6 +- +-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +- { { echo "$as_me:1114: error: source directory already configured; run \"make distclean\" there first" >&5 ++ # test to see if srcdir already configured ++if test "`cd $srcdir && pwd`" != "`pwd`" && ++ test -f $srcdir/config.status; then ++ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 + echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi + +-cat >>confdefs.h <<EOF ++# Define the identity of the package. ++ PACKAGE=dillo ++ VERSION=0.6.6 ++ ++ ++cat >>confdefs.h <<_ACEOF + #define PACKAGE "$PACKAGE" +-EOF ++_ACEOF + +-cat >>confdefs.h <<EOF ++ ++cat >>confdefs.h <<_ACEOF + #define VERSION "$VERSION" +-EOF ++_ACEOF + +-missing_dir=`cd $ac_aux_dir && pwd` +-echo "$as_me:1128: checking for working aclocal" >&5 +-echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6 +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if (aclocal --version) < /dev/null > /dev/null 2>&1; then +- ACLOCAL=aclocal +- echo "$as_me:1135: result: found" >&5 +-echo "${ECHO_T}found" >&6 +-else +- ACLOCAL="$missing_dir/missing aclocal" +- echo "$as_me:1139: result: missing" >&5 +-echo "${ECHO_T}missing" >&6 +-fi +- +-echo "$as_me:1143: checking for working autoconf" >&5 +-echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if (autoconf --version) < /dev/null > /dev/null 2>&1; then +- AUTOCONF=autoconf +- echo "$as_me:1150: result: found" >&5 +-echo "${ECHO_T}found" >&6 +-else +- AUTOCONF="$missing_dir/missing autoconf" +- echo "$as_me:1154: result: missing" >&5 +-echo "${ECHO_T}missing" >&6 +-fi +- +-echo "$as_me:1158: checking for working automake" >&5 +-echo $ECHO_N "checking for working automake... $ECHO_C" >&6 +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if (automake --version) < /dev/null > /dev/null 2>&1; then +- AUTOMAKE=automake +- echo "$as_me:1165: result: found" >&5 +-echo "${ECHO_T}found" >&6 +-else +- AUTOMAKE="$missing_dir/missing automake" +- echo "$as_me:1169: result: missing" >&5 +-echo "${ECHO_T}missing" >&6 +-fi +- +-echo "$as_me:1173: checking for working autoheader" >&5 +-echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if (autoheader --version) < /dev/null > /dev/null 2>&1; then +- AUTOHEADER=autoheader +- echo "$as_me:1180: result: found" >&5 +-echo "${ECHO_T}found" >&6 +-else +- AUTOHEADER="$missing_dir/missing autoheader" +- echo "$as_me:1184: result: missing" >&5 +-echo "${ECHO_T}missing" >&6 +-fi +- +-echo "$as_me:1188: checking for working makeinfo" >&5 +-echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 +-# Run test in a subshell; some versions of sh will print an error if +-# an executable is not found, even if stderr is redirected. +-# Redirect stdin to placate older versions of autoconf. Sigh. +-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then +- MAKEINFO=makeinfo +- echo "$as_me:1195: result: found" >&5 +-echo "${ECHO_T}found" >&6 +-else +- MAKEINFO="$missing_dir/missing makeinfo" +- echo "$as_me:1199: result: missing" >&5 +-echo "${ECHO_T}missing" >&6 +-fi ++# Some tools Automake needs. + +-ac_config_headers="$ac_config_headers config.h" ++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + +-ac_config_commands="$ac_config_commands default-1" + +-CPPFLAGS="$CPPFLAGS -I/usr/local/include" +-LDFLAGS="$LDFLAGS -L/usr/local/lib" ++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + +-# Check whether --with-jpeg-lib or --without-jpeg-lib was given. +-if test "${with_jpeg_lib+set}" = set; then +- withval="$with_jpeg_lib" +- LIBJPEG_LIBDIR=$withval +-fi; + +-# Check whether --with-jpeg-inc or --without-jpeg-inc was given. +-if test "${with_jpeg_inc+set}" = set; then +- withval="$with_jpeg_inc" +- LIBJPEG_INCDIR=$withval +-fi; ++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + +-# Check whether --enable-efence or --disable-efence was given. ++ ++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} ++ ++ ++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} ++ ++ ++AMTAR=${AMTAR-"${am_missing_run}tar"} ++ ++install_sh=${install_sh-"$am_aux_dir/install-sh"} ++ ++# Installed binaries are usually stripped using `strip' when the user ++# run `make install-strip'. However `strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the `STRIP' environment variable to overrule this program. ++if test "$cross_compiling" != no; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; 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_prog_STRIP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++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_prog_STRIP="${ac_tool_prefix}strip" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ echo "$as_me:$LINENO: result: $STRIP" >&5 ++echo "${ECHO_T}$STRIP" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; 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_prog_ac_ct_STRIP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. ++else ++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_prog_ac_ct_STRIP="strip" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" ++fi ++fi ++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 ++echo "${ECHO_T}$ac_ct_STRIP" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ STRIP=$ac_ct_STRIP ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++fi ++INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" ++ ++# We need awk for the "check" target. The system "awk" is bad on ++# some platforms. ++ ++ ++ ++# Add the stamp file to the list of files AC keeps track of, ++# along with our hook. ++ ac_config_headers="$ac_config_headers config.h" ++ ++ ++ ++ ++CPPFLAGS="$CPPFLAGS -I/usr/local/include" ++LDFLAGS="$LDFLAGS -L/usr/local/lib" ++ ++ ++ ++# Check whether --with-jpeg-lib or --without-jpeg-lib was given. ++if test "${with_jpeg_lib+set}" = set; then ++ withval="$with_jpeg_lib" ++ LIBJPEG_LIBDIR=$withval ++fi; ++ ++# Check whether --with-jpeg-inc or --without-jpeg-inc was given. ++if test "${with_jpeg_inc+set}" = set; then ++ withval="$with_jpeg_inc" ++ LIBJPEG_INCDIR=$withval ++fi; ++ ++# Check whether --enable-efence or --disable-efence was given. + if test "${enable_efence+set}" = set; then + enableval="$enable_efence" + +@@ -1252,6 +1711,11 @@ + enableval="$enable_cookies" + + fi; ++# Check whether --enable-ipv6 or --disable-ipv6 was given. ++if test "${enable_ipv6+set}" = set; then ++ enableval="$enable_ipv6" ++ ++fi; + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +@@ -1261,7 +1725,7 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. + set dummy ${ac_tool_prefix}gcc; ac_word=$2 +-echo "$as_me:1264: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1269,25 +1733,28 @@ + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_CC="${ac_tool_prefix}gcc" +-echo "$as_me:1279: found $ac_dir/$ac_word" >&5 +-break ++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_prog_CC="${ac_tool_prefix}gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:1287: result: $CC" >&5 ++ echo "$as_me:$LINENO: result: $CC" >&5 + echo "${ECHO_T}$CC" >&6 + else +- echo "$as_me:1290: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1296,7 +1763,7 @@ + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. + set dummy gcc; ac_word=$2 +-echo "$as_me:1299: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1304,25 +1771,28 @@ + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_ac_ct_CC="gcc" +-echo "$as_me:1314: found $ac_dir/$ac_word" >&5 +-break ++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_prog_ac_ct_CC="gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + ac_ct_CC=$ac_cv_prog_ac_ct_CC + if test -n "$ac_ct_CC"; then +- echo "$as_me:1322: result: $ac_ct_CC" >&5 ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "${ECHO_T}$ac_ct_CC" >&6 + else +- echo "$as_me:1325: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1335,7 +1805,7 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. + set dummy ${ac_tool_prefix}cc; ac_word=$2 +-echo "$as_me:1338: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1343,25 +1813,28 @@ + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_CC="${ac_tool_prefix}cc" +-echo "$as_me:1353: found $ac_dir/$ac_word" >&5 +-break ++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_prog_CC="${ac_tool_prefix}cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:1361: result: $CC" >&5 ++ echo "$as_me:$LINENO: result: $CC" >&5 + echo "${ECHO_T}$CC" >&6 + else +- echo "$as_me:1364: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1370,7 +1843,7 @@ + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 +-echo "$as_me:1373: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1378,25 +1851,28 @@ + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_ac_ct_CC="cc" +-echo "$as_me:1388: found $ac_dir/$ac_word" >&5 +-break ++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_prog_ac_ct_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + ac_ct_CC=$ac_cv_prog_ac_ct_CC + if test -n "$ac_ct_CC"; then +- echo "$as_me:1396: result: $ac_ct_CC" >&5 ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "${ECHO_T}$ac_ct_CC" >&6 + else +- echo "$as_me:1399: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1409,7 +1885,7 @@ + if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. + set dummy cc; ac_word=$2 +-echo "$as_me:1412: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1418,19 +1894,22 @@ + ac_cv_prog_CC="$CC" # Let the user override the test. + else + ac_prog_rejected=no +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then +- ac_prog_rejected=yes +- continue +-fi +-ac_cv_prog_CC="cc" +-echo "$as_me:1432: found $ac_dir/$ac_word" >&5 +-break ++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 ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + if test $ac_prog_rejected = yes; then +@@ -1442,19 +1921,17 @@ + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift +- set dummy "$ac_dir/$ac_word" ${1+"$@"} +- shift +- ac_cv_prog_CC="$@" ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi + fi + fi + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:1454: result: $CC" >&5 ++ echo "$as_me:$LINENO: result: $CC" >&5 + echo "${ECHO_T}$CC" >&6 + else +- echo "$as_me:1457: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1465,7 +1942,7 @@ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. + set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +-echo "$as_me:1468: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1473,25 +1950,28 @@ + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_CC="$ac_tool_prefix$ac_prog" +-echo "$as_me:1483: found $ac_dir/$ac_word" >&5 +-break ++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_prog_CC="$ac_tool_prefix$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + CC=$ac_cv_prog_CC + if test -n "$CC"; then +- echo "$as_me:1491: result: $CC" >&5 ++ echo "$as_me:$LINENO: result: $CC" >&5 + echo "${ECHO_T}$CC" >&6 + else +- echo "$as_me:1494: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1504,7 +1984,7 @@ + do + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 +-echo "$as_me:1507: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1512,25 +1992,28 @@ + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_ac_ct_CC="$ac_prog" +-echo "$as_me:1522: found $ac_dir/$ac_word" >&5 +-break ++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_prog_ac_ct_CC="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + ac_ct_CC=$ac_cv_prog_ac_ct_CC + if test -n "$ac_ct_CC"; then +- echo "$as_me:1530: result: $ac_ct_CC" >&5 ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "${ECHO_T}$ac_ct_CC" >&6 + else +- echo "$as_me:1533: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -1542,13 +2025,40 @@ + + fi + +-test -z "$CC" && { { echo "$as_me:1545: error: no acceptable cc found in \$PATH" >&5 +-echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} ++ ++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&5 ++echo "$as_me: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + ++# Provide some information about the compiler. ++echo "$as_me:$LINENO:" \ ++ "checking for C compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 ++ (eval $ac_compiler --version </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 ++ (eval $ac_compiler -v </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 ++ (eval $ac_compiler -V </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ + cat >conftest.$ac_ext <<_ACEOF +-#line 1550 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + int + main () +@@ -1559,94 +2069,120 @@ + } + _ACEOF + ac_clean_files_save=$ac_clean_files +-ac_clean_files="$ac_clean_files a.out a.exe" ++ac_clean_files="$ac_clean_files a.out a.exe b.out" + # Try to create an executable without -o first, disregard a.out. +-# It will help us diagnose broken compiler, and finding out an intuition ++# It will help us diagnose broken compilers, and finding out an intuition + # of exeext. +-echo "$as_me:1566: checking for C compiler default output" >&5 ++echo "$as_me:$LINENO: checking for C compiler default output" >&5 + echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 + ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +-if { (eval echo "$as_me:1569: \"$ac_link_default\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? +- echo "$as_me:1572: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then +- for ac_file in `ls a.exe conftest.exe a.* conftest conftest.* 2>/dev/null`; do ++ # Find the output, starting from the most likely. This scheme is ++# not robust to junk in `.', hence go to wildcards (a.*) only as a last ++# resort. ++ ++# Be careful to initialize this variable, since it used to be cached. ++# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ++ac_cv_exeext= ++# b.out is created by i960 compilers. ++for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out ++do ++ test -f "$ac_file" || continue + case $ac_file in +- *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; +- a.out ) # We found the default executable, but exeext='' is most +- # certainly right. +- break;; +- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` +- export ac_cv_exeext +- break;; +- * ) break;; ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ++ ;; ++ conftest.$ac_ext ) ++ # This is the source file. ++ ;; ++ [ab].out ) ++ # 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;; ++ * ) ++ break;; + esac + done + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 +-{ { echo "$as_me:1589: error: C compiler cannot create executables" >&5 +-echo "$as_me: error: C compiler cannot create executables" >&2;} ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C compiler cannot create executables ++See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + fi + + ac_exeext=$ac_cv_exeext +-echo "$as_me:1595: result: $ac_file" >&5 ++echo "$as_me:$LINENO: result: $ac_file" >&5 + echo "${ECHO_T}$ac_file" >&6 + + # Check the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +-echo "$as_me:1600: checking whether the C compiler works" >&5 ++echo "$as_me:$LINENO: checking whether the C compiler works" >&5 + echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 + # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 + # If not cross compiling, check that we can run a simple program. + if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' +- { (eval echo "$as_me:1606: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1609: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else +- { { echo "$as_me:1616: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'." >&5 ++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs. ++If you meant to cross compile, use \`--host'. ++See \`config.log' for more details." >&5 + echo "$as_me: error: cannot run C compiled programs. +-If you meant to cross compile, use \`--host'." >&2;} ++If you meant to cross compile, use \`--host'. ++See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi + fi +-echo "$as_me:1624: result: yes" >&5 ++echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6 + +-rm -f a.out a.exe conftest$ac_cv_exeext ++rm -f a.out a.exe conftest$ac_cv_exeext b.out + ac_clean_files=$ac_clean_files_save + # Check the compiler produces executables we can run. If not, either + # the compiler is broken, or we cross compile. +-echo "$as_me:1631: checking whether we are cross compiling" >&5 ++echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 + echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +-echo "$as_me:1633: result: $cross_compiling" >&5 ++echo "$as_me:$LINENO: result: $cross_compiling" >&5 + echo "${ECHO_T}$cross_compiling" >&6 + +-echo "$as_me:1636: checking for executable suffix" >&5 +-echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 +-if { (eval echo "$as_me:1638: \"$ac_link\"") >&5 ++echo "$as_me:$LINENO: checking for suffix of executables" >&5 ++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:1641: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) + # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will + # work properly (i.e., refer to `conftest.exe'), while it won't with + # `rm'. +-for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do ++for ac_file in conftest.exe conftest conftest.*; do ++ test -f "$ac_file" || continue + case $ac_file in +- *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; +@@ -1654,26 +2190,32 @@ + esac + done + else +- { { echo "$as_me:1657: error: cannot compute EXEEXT: cannot compile and link" >&5 +-echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} ++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link ++See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + + rm -f conftest$ac_cv_exeext +-echo "$as_me:1663: result: $ac_cv_exeext" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 + echo "${ECHO_T}$ac_cv_exeext" >&6 + + rm -f conftest.$ac_ext + EXEEXT=$ac_cv_exeext + ac_exeext=$EXEEXT +-echo "$as_me:1669: checking for object suffix" >&5 +-echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 ++echo "$as_me:$LINENO: checking for suffix of object files" >&5 ++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 + if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 1675 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + int + main () +@@ -1684,40 +2226,47 @@ + } + _ACEOF + rm -f conftest.o conftest.obj +-if { (eval echo "$as_me:1687: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1690: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in +- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac + done + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 +-{ { echo "$as_me:1702: error: cannot compute OBJEXT: cannot compile" >&5 +-echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + + rm -f conftest.$ac_cv_objext conftest.$ac_ext + fi +-echo "$as_me:1709: result: $ac_cv_objext" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 + echo "${ECHO_T}$ac_cv_objext" >&6 + OBJEXT=$ac_cv_objext + ac_objext=$OBJEXT +-echo "$as_me:1713: checking whether we are using the GNU C compiler" >&5 ++echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 + echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 + if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 1719 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + int + main () +@@ -1731,41 +2280,46 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1734: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1737: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1740: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1743: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_compiler_gnu=no + fi + rm -f conftest.$ac_objext conftest.$ac_ext + ac_cv_c_compiler_gnu=$ac_compiler_gnu + + fi +-echo "$as_me:1755: result: $ac_cv_c_compiler_gnu" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 + echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 + GCC=`test $ac_compiler_gnu = yes && echo yes` + ac_test_CFLAGS=${CFLAGS+set} + ac_save_CFLAGS=$CFLAGS + CFLAGS="-g" +-echo "$as_me:1761: checking whether $CC accepts -g" >&5 ++echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 + echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 + if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 1767 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + int + main () +@@ -1776,26 +2330,27 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1779: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1782: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1785: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1788: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_cv_prog_cc_g=no + fi + rm -f conftest.$ac_objext conftest.$ac_ext + fi +-echo "$as_me:1798: result: $ac_cv_prog_cc_g" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 + echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 + if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +@@ -1812,6 +2367,102 @@ + CFLAGS= + fi + fi ++echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 ++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ 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 ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdarg.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ ++struct buf { int x; }; ++FILE * (*rcsopen) (struct buf *, struct stat *, int); ++static char *e (p, i) ++ char **p; ++ int i; ++{ ++ return p[i]; ++} ++static char *f (char * (*g) (char **, int), char **p, ...) ++{ ++ char *s; ++ va_list v; ++ va_start (v,p); ++ s = g (p, va_arg (v,int)); ++ va_end (v); ++ return s; ++} ++int test (int i, double x); ++struct s1 {int (*f) (int a);}; ++struct s2 {int (*f) (double a);}; ++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); ++int argc; ++char **argv; ++int ++main () ++{ ++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ++ ; ++ return 0; ++} ++_ACEOF ++# Don't try gcc -ansi; that turns off useful extensions and ++# breaks some systems' header files. ++# AIX -qlanglvl=ansi ++# Ultrix and OSF/1 -std1 ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE ++# SVR4 -Xc -D__EXTENSIONS__ ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++do ++ 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 ++ 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 ++ ac_cv_prog_cc_stdc=$ac_arg ++break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.$ac_objext ++done ++rm -f conftest.$ac_ext conftest.$ac_objext ++CC=$ac_save_CC ++ ++fi ++ ++case "x$ac_cv_prog_cc_stdc" in ++ x|xno) ++ echo "$as_me:$LINENO: result: none needed" >&5 ++echo "${ECHO_T}none needed" >&6 ;; ++ *) ++ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 ++ CC="$CC $ac_cv_prog_cc_stdc" ;; ++esac ++ + # Some people use a C++ compiler to compile C. Since we use `exit', + # in C++ we need to declare it. In case someone uses the same compiler + # for both compiling C and C++ we need to have the C++ compiler decide +@@ -1822,16 +2473,16 @@ + #endif + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1825: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1828: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1831: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1834: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + ''\ +@@ -1843,8 +2494,12 @@ + 'void exit (int);' + do + cat >conftest.$ac_ext <<_ACEOF +-#line 1846 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <stdlib.h> + $ac_declaration + int +@@ -1856,27 +2511,32 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1859: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1862: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1865: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1868: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + continue + fi + rm -f conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +-#line 1878 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + $ac_declaration + int + main () +@@ -1887,31 +2547,36 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1890: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1893: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1896: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1899: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + fi + rm -f conftest.$ac_objext conftest.$ac_ext + done +-echo '#ifdef __cplusplus' >>confdefs.h +-echo $ac_declaration >>confdefs.h +-echo '#endif' >>confdefs.h ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi + + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + fi + rm -f conftest.$ac_objext conftest.$ac_ext + ac_ext=c +@@ -1919,8 +2584,154 @@ + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu ++rm -f .deps 2>/dev/null ++mkdir .deps 2>/dev/null ++if test -d .deps; then ++ DEPDIR=.deps ++else ++ # MS-DOS does not allow filenames that begin with a dot. ++ DEPDIR=_deps ++fi ++rmdir .deps 2>/dev/null ++ ++ ++ ac_config_commands="$ac_config_commands depfiles" ++ ++ ++am_make=${MAKE-make} ++cat > confinc << 'END' ++doit: ++ @echo done ++END ++# If we don't find an include directive, just comment out the code. ++echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 ++echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 ++am__include="#" ++am__quote= ++_am_result=none ++# First try GNU make style include. ++echo "include confinc" > confmf ++# We grep out `Entering directory' and `Leaving directory' ++# messages which can occur if `w' ends up in MAKEFLAGS. ++# In particular we don't look at `^make:' because GNU make might ++# be invoked under some other name (usually "gmake"), in which ++# case it prints its new name instead of `make'. ++if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then ++ am__include=include ++ am__quote= ++ _am_result=GNU ++fi ++# Now try BSD make style include. ++if test "$am__include" = "#"; then ++ echo '.include "confinc"' > confmf ++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then ++ am__include=.include ++ am__quote="\"" ++ _am_result=BSD ++ fi ++fi ++ ++ ++echo "$as_me:$LINENO: result: $_am_result" >&5 ++echo "${ECHO_T}$_am_result" >&6 ++rm -f confinc confmf ++ ++# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. ++if test "${enable_dependency_tracking+set}" = set; then ++ enableval="$enable_dependency_tracking" ++ ++fi; ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='\' ++fi ++ ++ ++if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ ++ ++depcc="$CC" am_compiler_list= ++ ++echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 ++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 ++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named `D' -- because `-MD' means `put the output ++ # in D'. ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` ++ fi ++ for depmode in $am_compiler_list; do ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ echo '#include "conftest.h"' > conftest.c ++ echo 'int i;' > conftest.h ++ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf ++ ++ case $depmode in ++ nosideeffect) ++ # after this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ none) break ;; ++ esac ++ # We check with `-c' and `-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle `-M -o', and we need to detect this. ++ if depmode=$depmode \ ++ source=conftest.c object=conftest.o \ ++ depfile=conftest.Po tmpdepfile=conftest.TPo \ ++ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && ++ grep conftest.h conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 ++echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ + +-echo "$as_me:1923: checking for ${CC-cc} option to accept ANSI C" >&5 ++ ++ ++ ++echo "$as_me:$LINENO: checking for ${CC-cc} option to accept ANSI C" >&5 + echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 + if test "${am_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -1931,14 +2742,19 @@ + # breaks some systems' header files. + # AIX -qlanglvl=ansi + # Ultrix and OSF/1 -std1 +-# HP-UX -Aa -D_HPUX_SOURCE ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE + # SVR4 -Xc -D__EXTENSIONS__ +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + do + CC="$ac_save_CC $ac_arg" + cat >conftest.$ac_ext <<_ACEOF +-#line 1940 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <stdarg.h> + #include <stdio.h> + #include <sys/types.h> +@@ -1979,21 +2795,22 @@ + } + _ACEOF + rm -f conftest.$ac_objext +-if { (eval echo "$as_me:1982: \"$ac_compile\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +- echo "$as_me:1985: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' +- { (eval echo "$as_me:1988: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:1991: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_prog_cc_stdc="$ac_arg"; break + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + fi + rm -f conftest.$ac_objext conftest.$ac_ext + done +@@ -2002,10 +2819,10 @@ + fi + + if test -z "$am_cv_prog_cc_stdc"; then +- echo "$as_me:2005: result: none needed" >&5 ++ echo "$as_me:$LINENO: result: none needed" >&5 + echo "${ECHO_T}none needed" >&6 + else +- echo "$as_me:2008: result: $am_cv_prog_cc_stdc" >&5 ++ echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5 + echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 + fi + case "x$am_cv_prog_cc_stdc" in +@@ -2016,7 +2833,7 @@ + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. + set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +-echo "$as_me:2019: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2024,25 +2841,28 @@ + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +-echo "$as_me:2034: found $ac_dir/$ac_word" >&5 +-break ++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_prog_RANLIB="${ac_tool_prefix}ranlib" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + fi + fi + RANLIB=$ac_cv_prog_RANLIB + if test -n "$RANLIB"; then +- echo "$as_me:2042: result: $RANLIB" >&5 ++ echo "$as_me:$LINENO: result: $RANLIB" >&5 + echo "${ECHO_T}$RANLIB" >&6 + else +- echo "$as_me:2045: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -2051,7 +2871,7 @@ + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. + set dummy ranlib; ac_word=$2 +-echo "$as_me:2054: checking for $ac_word" >&5 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2059,15 +2879,18 @@ + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + else +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- $as_executable_p "$ac_dir/$ac_word" || continue +-ac_cv_prog_ac_ct_RANLIB="ranlib" +-echo "$as_me:2069: found $ac_dir/$ac_word" >&5 +-break ++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_prog_ac_ct_RANLIB="ranlib" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done + done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +@@ -2075,10 +2898,10 @@ + fi + ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB + if test -n "$ac_ct_RANLIB"; then +- echo "$as_me:2078: result: $ac_ct_RANLIB" >&5 ++ echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + echo "${ECHO_T}$ac_ct_RANLIB" >&6 + else +- echo "$as_me:2081: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +@@ -2087,300 +2910,112 @@ + RANLIB="$ac_cv_prog_RANLIB" + fi + +-if test -z "$GTK_CONFIG"; then +- GTK_CONFIG=`which gtk-config || which gtk12-config` +-fi +- +-# Check whether --with-gtk-prefix or --without-gtk-prefix was given. +-if test "${with_gtk_prefix+set}" = set; then +- withval="$with_gtk_prefix" +- gtk_config_prefix="$withval" +-else +- gtk_config_prefix="" +-fi; + +-# Check whether --with-gtk-exec-prefix or --without-gtk-exec-prefix was given. +-if test "${with_gtk_exec_prefix+set}" = set; then +- withval="$with_gtk_exec_prefix" +- gtk_config_exec_prefix="$withval" +-else +- gtk_config_exec_prefix="" +-fi; +-# Check whether --enable-gtktest or --disable-gtktest was given. +-if test "${enable_gtktest+set}" = set; then +- enableval="$enable_gtktest" + +-else +- enable_gtktest=yes +-fi; ++GTK_REQUIRED=2.0.0 + +- for module in . +- do +- case "$module" in +- gthread) +- gtk_config_args="$gtk_config_args gthread" +- ;; +- esac +- done + +- if test x$gtk_config_exec_prefix != x ; then +- gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" +- if test x${GTK_CONFIG+set} != xset ; then +- GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config +- fi +- fi +- if test x$gtk_config_prefix != x ; then +- gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" +- if test x${GTK_CONFIG+set} != xset ; then +- GTK_CONFIG=$gtk_config_prefix/bin/gtk-config +- fi +- fi ++ succeeded=no + +- # Extract the first word of "gtk-config", so it can be a program name with args. +-set dummy gtk-config; ac_word=$2 +-echo "$as_me:2141: checking for $ac_word" >&5 ++ 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_GTK_CONFIG+set}" = set; then ++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- case $GTK_CONFIG in ++ case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) +- ac_cv_path_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test with a path. ++ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) +- ac_save_IFS=$IFS; IFS=$ac_path_separator +-ac_dummy="$PATH" +-for ac_dir in $ac_dummy; do +- IFS=$ac_save_IFS +- test -z "$ac_dir" && ac_dir=. +- if $as_executable_p "$ac_dir/$ac_word"; then +- ac_cv_path_GTK_CONFIG="$ac_dir/$ac_word" +- echo "$as_me:2158: found $ac_dir/$ac_word" >&5 +- break +-fi ++ 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_GTK_CONFIG" && ac_cv_path_GTK_CONFIG="no" ++ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; + esac + fi +-GTK_CONFIG=$ac_cv_path_GTK_CONFIG ++PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +-if test -n "$GTK_CONFIG"; then +- echo "$as_me:2170: result: $GTK_CONFIG" >&5 +-echo "${ECHO_T}$GTK_CONFIG" >&6 ++if test -n "$PKG_CONFIG"; then ++ echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 ++echo "${ECHO_T}$PKG_CONFIG" >&6 + else +- echo "$as_me:2173: result: no" >&5 ++ echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + +- min_gtk_version=1.2.0 +- echo "$as_me:2178: checking for GTK - version >= $min_gtk_version" >&5 +-echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6 +- no_gtk="" +- if test "$GTK_CONFIG" = "no" ; then +- no_gtk=yes ++ 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 +- GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` +- GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` +- gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` +- gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` +- gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ +- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` +- if test "x$enable_gtktest" = "xyes" ; then +- ac_save_CFLAGS="$CFLAGS" +- ac_save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $GTK_CFLAGS" +- LIBS="$GTK_LIBS $LIBS" +- rm -f conf.gtktest +- if test "$cross_compiling" = yes; then +- echo $ac_n "cross compiling; assumed OK... $ac_c" +-else +- cat >conftest.$ac_ext <<_ACEOF +-#line 2202 "configure" +-#include "confdefs.h" ++ PKG_CONFIG_MIN_VERSION=0.9.0 ++ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then ++ echo "$as_me:$LINENO: checking for gtk+-2.0 >= $GTK_REQUIRED" >&5 ++echo $ECHO_N "checking for gtk+-2.0 >= $GTK_REQUIRED... $ECHO_C" >&6 + +-#include <gtk/gtk.h> +-#include <stdio.h> +-#include <stdlib.h> ++ if $PKG_CONFIG --exists "gtk+-2.0 >= $GTK_REQUIRED" ; then ++ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++ succeeded=yes + +-int +-main () +-{ +- int major, minor, micro; +- char *tmp_version; ++ echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 ++echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 ++ GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= $GTK_REQUIRED"` ++ echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 ++echo "${ECHO_T}$GTK_CFLAGS" >&6 ++ ++ echo "$as_me:$LINENO: checking GTK_LIBS" >&5 ++echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 ++ GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= $GTK_REQUIRED"` ++ echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 ++echo "${ECHO_T}$GTK_LIBS" >&6 ++ else ++ GTK_CFLAGS="" ++ GTK_LIBS="" ++ ## If we have a custom action on failure, don't print errors, but ++ ## do set a variable so people can do so. ++ GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= $GTK_REQUIRED"` ++ echo $GTK_PKG_ERRORS ++ fi + +- system ("touch conf.gtktest"); + +- /* HP/UX 9 (%@#!) writes to sscanf strings */ +- tmp_version = g_strdup("$min_gtk_version"); +- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { +- printf("%s, bad version string\n", "$min_gtk_version"); +- exit(1); +- } +- +- if ((gtk_major_version != $gtk_config_major_version) || +- (gtk_minor_version != $gtk_config_minor_version) || +- (gtk_micro_version != $gtk_config_micro_version)) +- { +- printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", +- $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- printf ("*** was found! If gtk-config was correct, then it is best\n"); +- printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); +- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); +- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); +- printf("*** required on your system.\n"); +- printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); +- printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); +- printf("*** before re-running configure\n"); +- } +-#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) +- else if ((gtk_major_version != GTK_MAJOR_VERSION) || +- (gtk_minor_version != GTK_MINOR_VERSION) || +- (gtk_micro_version != GTK_MICRO_VERSION)) +- { +- printf("*** GTK+ header files (version %d.%d.%d) do not match\n", +- GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); +- printf("*** library (version %d.%d.%d)\n", +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- } +-#endif /* defined (GTK_MAJOR_VERSION) ... */ +- else +- { +- if ((gtk_major_version > major) || +- ((gtk_major_version == major) && (gtk_minor_version > minor)) || +- ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) +- { +- return 0; +- } +- else +- { +- printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", +- gtk_major_version, gtk_minor_version, gtk_micro_version); +- printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", +- major, minor, micro); +- printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); +- printf("***\n"); +- printf("*** If you have already installed a sufficiently new version, this error\n"); +- printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); +- printf("*** being found. The easiest way to fix this is to remove the old version\n"); +- printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); +- printf("*** correct copy of gtk-config. (In this case, you will have to\n"); +- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); +- printf("*** so that the correct libraries are found at run-time))\n"); +- } +- } +- return 1; +-} + +-_ACEOF +-rm -f conftest$ac_exeext +-if { (eval echo "$as_me:2281: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:2284: \$? = $ac_status" >&5 +- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (eval echo "$as_me:2286: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:2289: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- : +-else +- echo "$as_me: program exited with status $ac_status" >&5 +-echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 +-no_gtk=yes +-fi +-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_ext +-fi +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" ++ 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 "x$no_gtk" = x ; then +- echo "$as_me:2305: result: yes" >&5 +-echo "${ECHO_T}yes" >&6 +- LIBS="$LIBS $GTK_LIBS" CFLAGS="$GTK_CFLAGS $CFLAGS" ++ ++ if test $succeeded = yes; then ++ : + else +- echo "$as_me:2309: result: no" >&5 +-echo "${ECHO_T}no" >&6 +- if test "$GTK_CONFIG" = "no" ; then +- echo "*** The gtk-config script installed by GTK could not be found" +- echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" +- echo "*** your path, or set the GTK_CONFIG environment variable to the" +- echo "*** full path to gtk-config." +- else +- if test -f conf.gtktest ; then +- : +- else +- echo "*** Could not run GTK test program, checking why..." +- CFLAGS="$CFLAGS $GTK_CFLAGS" +- LIBS="$LIBS $GTK_LIBS" +- cat >conftest.$ac_ext <<_ACEOF +-#line 2324 "configure" +-#include "confdefs.h" ++ { { echo "$as_me:$LINENO: error: Library requirements (gtk+-2.0 >= $GTK_REQUIRED) 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 (gtk+-2.0 >= $GTK_REQUIRED) 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 + +-#include <gtk/gtk.h> +-#include <stdio.h> + +-int +-main () +-{ +- return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2339: \"$ac_link\"") >&5 +- (eval $ac_link) 2>&5 +- ac_status=$? +- echo "$as_me:2342: \$? = $ac_status" >&5 +- (exit $ac_status); } && +- { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2345: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:2348: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- echo "*** The test program compiled, but did not run. This usually means" +- echo "*** that the run-time linker is not finding GTK or finding the wrong" +- echo "*** version of GTK. If it is not finding GTK, you'll need to set your" +- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" +- echo "*** to the installed location Also, make sure you have run ldconfig if that" +- echo "*** is required on your system" +- echo "***" +- echo "*** If you have an old version installed, it is best to remove it, although" +- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +- echo "***" +- echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" +- echo "*** came with the system with the command" +- echo "***" +- echo "*** rpm --erase --nodeps gtk gtk-devel" +-else +- echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 +- 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 was incorrectly installed" +- echo "*** or that you have moved GTK since it was installed. In the latter case, you" +- echo "*** may want to edit the gtk-config script: $GTK_CONFIG" +-fi +-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" +- fi +- fi +- GTK_CFLAGS="" +- GTK_LIBS="" +- { echo "$as_me:2379: WARNING: Unable to find Gtk+ with a version >= 1.2.0" >&5 +-echo "$as_me: WARNING: Unable to find Gtk+ with a version >= 1.2.0" >&2;} +- fi ++CPPFLAGS="$CPPFLAGS $GTK_CFLAGS" ++LDFLAGS="$LDFLAGS $GTK_LIBS" + +- rm -f conf.gtktest + + if eval "test x$GCC = xyes"; then + if test "`echo $CFLAGS | grep '\-Wall' 2> /dev/null`" = ""; then +@@ -2398,10 +3033,12 @@ + fi + fi + ++ ++ + if test -n "$LIBJPEG_LIBDIR"; then + LIBS="$LIBS -L$LIBJPEG_LIBDIR" + fi +-echo "$as_me:2404: checking for jpeg_destroy_decompress in -ljpeg" >&5 ++echo "$as_me:$LINENO: checking for jpeg_destroy_decompress in -ljpeg" >&5 + echo $ECHO_N "checking for jpeg_destroy_decompress in -ljpeg... $ECHO_C" >&6 + if test "${ac_cv_lib_jpeg_jpeg_destroy_decompress+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2409,8 +3046,12 @@ + ac_check_lib_save_LIBS=$LIBS + LIBS="-ljpeg $LIBS" + cat >conftest.$ac_ext <<_ACEOF +-#line 2412 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2428,27 +3069,28 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2431: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2434: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2437: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2440: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_jpeg_jpeg_destroy_decompress=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_cv_lib_jpeg_jpeg_destroy_decompress=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-echo "$as_me:2451: result: $ac_cv_lib_jpeg_jpeg_destroy_decompress" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_destroy_decompress" >&5 + echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_destroy_decompress" >&6 + if test $ac_cv_lib_jpeg_jpeg_destroy_decompress = yes; then + jpeg_ok=yes +@@ -2465,7 +3107,7 @@ + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu +-echo "$as_me:2468: checking how to run the C preprocessor" >&5 ++echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 + echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 + # On Suns, sometimes $CPP names a directory. + if test -n "$CPP" && test -d "$CPP"; then +@@ -2478,27 +3120,36 @@ + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do +- # break 2 since there is a loop in there. + ac_preproc_ok=false + for ac_c_preproc_warn_flag in '' yes + do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +-#line 2490 "configure" +-#include "confdefs.h" +-#include <assert.h> ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif + Syntax error + _ACEOF +-if { (eval echo "$as_me:2495: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:2501: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -2512,7 +3163,8 @@ + : + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + # Broken: fails on valid input. + continue + fi +@@ -2521,17 +3173,21 @@ + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +-#line 2524 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <ac_nonexistent.h> + _ACEOF +-if { (eval echo "$as_me:2528: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:2534: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -2546,7 +3202,8 @@ + continue + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + # Passes both tests. + ac_preproc_ok=: + break +@@ -2557,7 +3214,7 @@ + # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. + rm -f conftest.err conftest.$ac_ext + if $ac_preproc_ok; then +- break 2 ++ break + fi + + done +@@ -2568,28 +3225,38 @@ + else + ac_cv_prog_CPP=$CPP + fi +-echo "$as_me:2571: result: $CPP" >&5 ++echo "$as_me:$LINENO: result: $CPP" >&5 + echo "${ECHO_T}$CPP" >&6 + ac_preproc_ok=false + for ac_c_preproc_warn_flag in '' yes + do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +-#line 2581 "configure" +-#include "confdefs.h" +-#include <assert.h> ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif + Syntax error + _ACEOF +-if { (eval echo "$as_me:2586: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:2592: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -2603,7 +3270,8 @@ + : + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + # Broken: fails on valid input. + continue + fi +@@ -2612,17 +3280,21 @@ + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +-#line 2615 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <ac_nonexistent.h> + _ACEOF +-if { (eval echo "$as_me:2619: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:2625: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -2637,7 +3309,8 @@ + continue + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + # Passes both tests. + ac_preproc_ok=: + break +@@ -2650,8 +3323,10 @@ + if $ac_preproc_ok; then + : + else +- { { echo "$as_me:2653: error: C preprocessor \"$CPP\" fails sanity check" >&5 +-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} ++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + +@@ -2661,26 +3336,316 @@ + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + +-for ac_header in jpeglib.h jconfig.h jerror.h jmorecfg.h ++ ++echo "$as_me:$LINENO: checking for egrep" >&5 ++echo $ECHO_N "checking for egrep... $ECHO_C" >&6 ++if test "${ac_cv_prog_egrep+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ++ then ac_cv_prog_egrep='grep -E' ++ else ac_cv_prog_egrep='egrep' ++ fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 ++echo "${ECHO_T}$ac_cv_prog_egrep" >&6 ++ EGREP=$ac_cv_prog_egrep ++ ++ ++echo "$as_me:$LINENO: checking for ANSI C header files" >&5 ++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ++if test "${ac_cv_header_stdc+set}" = set; then ++ 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 ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdlib.h> ++#include <stdarg.h> ++#include <string.h> ++#include <float.h> ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 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 ++ ac_cv_header_stdc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_header_stdc=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ ++if test $ac_cv_header_stdc = yes; then ++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ++ 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 <string.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "memchr" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++ 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 <stdlib.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "free" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ++ if test "$cross_compiling" = yes; then ++ : ++else ++ 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 <ctype.h> ++#if ((' ' & 0x0FF) == 0x020) ++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ++#else ++# define ISLOWER(c) \ ++ (('a' <= (c) && (c) <= 'i') \ ++ || ('j' <= (c) && (c) <= 'r') \ ++ || ('s' <= (c) && (c) <= 'z')) ++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++#endif ++ ++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++int ++main () ++{ ++ int i; ++ for (i = 0; i < 256; i++) ++ if (XOR (islower (i), ISLOWER (i)) ++ || toupper (i) != TOUPPER (i)) ++ exit(2); ++ exit (0); ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (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 ++ : ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++( exit $ac_status ) ++ac_cv_header_stdc=no ++fi ++rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 ++echo "${ECHO_T}$ac_cv_header_stdc" >&6 ++if test $ac_cv_header_stdc = yes; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define STDC_HEADERS 1 ++_ACEOF ++ ++fi ++ ++# On IRIX 5.3, sys/types and inttypes.h are conflicting. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ++ inttypes.h stdint.h unistd.h + do +-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh` +-echo "$as_me:2667: checking for $ac_header" >&5 ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_header" >&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$ac_ac_Header+set}\" = set"; then ++if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 2673 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++ ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 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 ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_Header=no" ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++ ++ ++ ++ ++for ac_header in jpeglib.h jconfig.h jerror.h jmorecfg.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++else ++ # Is the header compilable? ++echo "$as_me:$LINENO: checking $ac_header usability" >&5 ++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ++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. */ ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 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 ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_header_compiler=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6 ++ ++# Is the header present? ++echo "$as_me:$LINENO: checking $ac_header presence" >&5 ++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ++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_header> + _ACEOF +-if { (eval echo "$as_me:2677: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:2683: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -2691,24 +3656,70 @@ + ac_cpp_err=yes + fi + if test -z "$ac_cpp_err"; then +- eval "$ac_ac_Header=yes" ++ ac_header_preproc=yes + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 +- eval "$ac_ac_Header=no" ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no + fi + rm -f conftest.err conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6 ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc in ++ yes:no ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------ ## ++## Report this to bug-autoconf@gnu.org. ## ++## ------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++ no:yes ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------ ## ++## Report this to bug-autoconf@gnu.org. ## ++## ------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ eval "$as_ac_Header=$ac_header_preproc" + fi +-echo "$as_me:2702: result: `eval echo '${'$ac_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$ac_ac_Header'}'`" >&6 +-if test `eval echo '${'$ac_ac_Header'}'` = yes; then +- cat >>confdefs.h <<EOF +-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1 +-EOF ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++ ++fi ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF + jpeg_ok=yes + else + jpeg_ok=no + fi ++ + done + + if test "x$jpeg_ok" = "xyes"; then +@@ -2716,15 +3727,16 @@ + fi + fi + if test "x$jpeg_ok" = "xno"; then +- { echo "$as_me:2719: WARNING: *** JPEG support will not be included ***" >&5 ++ { echo "$as_me:$LINENO: WARNING: *** JPEG support will not be included ***" >&5 + echo "$as_me: WARNING: *** JPEG support will not be included ***" >&2;} + fi + ++ + system=`uname -s` + case $system in + Linux|SunOS) + +-echo "$as_me:2727: checking for pthread_create in -lpthread" >&5 ++echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 + echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6 + if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2732,8 +3744,12 @@ + ac_check_lib_save_LIBS=$LIBS + LIBS="-lpthread $LIBS" + cat >conftest.$ac_ext <<_ACEOF +-#line 2735 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2751,32 +3767,33 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2754: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2757: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2760: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2763: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_pthread_pthread_create=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_cv_lib_pthread_pthread_create=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-echo "$as_me:2774: result: $ac_cv_lib_pthread_pthread_create" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5 + echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6 + if test $ac_cv_lib_pthread_pthread_create = yes; then +- cat >>confdefs.h <<EOF ++ cat >>confdefs.h <<_ACEOF + #define HAVE_LIBPTHREAD 1 +-EOF ++_ACEOF + + LIBS="-lpthread $LIBS" + +@@ -2785,21 +3802,25 @@ + ;; + + OSF1) +- echo "$as_me:2788: checking whether pthreads work" >&5 ++ echo "$as_me:$LINENO: checking whether pthreads work" >&5 + echo $ECHO_N "checking whether pthreads work... $ECHO_C" >&6 + LDFLAGS="$LDFLAGS -lpthread -lexc -ldb" +- { echo "$as_me:2791: WARNING: *** _Untested pthreads_ try setting LDFLAGS manually if it doesn't work ***" >&5 ++ { echo "$as_me:$LINENO: WARNING: *** _Untested pthreads_ try setting LDFLAGS manually if it doesn't work ***" >&5 + echo "$as_me: WARNING: *** _Untested pthreads_ try setting LDFLAGS manually if it doesn't work ***" >&2;} + ;; + + *) +- echo "$as_me:2796: checking whether threads work with -pthread" >&5 ++ echo "$as_me:$LINENO: checking whether threads work with -pthread" >&5 + echo $ECHO_N "checking whether threads work with -pthread... $ECHO_C" >&6 + LDSAVEFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -pthread" + cat >conftest.$ac_ext <<_ACEOF +-#line 2801 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2817,32 +3838,33 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2820: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2823: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2826: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2829: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + pthread_ok=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + pthread_ok=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + if test "x$pthread_ok" = "xyes"; then +- echo "$as_me:2839: result: yes" >&5 ++ echo "$as_me:$LINENO: result: yes" >&5 + echo "${ECHO_T}yes" >&6 + else +- echo "$as_me:2842: result: no. Now we will try some libraries." >&5 ++ echo "$as_me:$LINENO: result: no. Now we will try some libraries." >&5 + echo "${ECHO_T}no. Now we will try some libraries." >&6 + LDFLAGS=$LDSAVEFLAGS +- echo "$as_me:2845: checking for library containing pthread_create" >&5 ++ echo "$as_me:$LINENO: checking for library containing pthread_create" >&5 + echo $ECHO_N "checking for library containing pthread_create... $ECHO_C" >&6 + if test "${ac_cv_search_pthread_create+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2850,8 +3872,12 @@ + ac_func_search_save_LIBS=$LIBS + ac_cv_search_pthread_create=no + cat >conftest.$ac_ext <<_ACEOF +-#line 2853 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2869,29 +3895,34 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2872: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2875: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2878: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2881: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_pthread_create="none required" + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + if test "$ac_cv_search_pthread_create" = no; then + for ac_lib in pthread c_r; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +-#line 2893 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2909,29 +3940,30 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2912: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2915: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2918: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2921: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_pthread_create="-l$ac_lib" + break + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + done + fi + LIBS=$ac_func_search_save_LIBS + fi +-echo "$as_me:2934: result: $ac_cv_search_pthread_create" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_search_pthread_create" >&5 + echo "${ECHO_T}$ac_cv_search_pthread_create" >&6 + if test "$ac_cv_search_pthread_create" != no; then + test "$ac_cv_search_pthread_create" = "none required" || LIBS="$ac_cv_search_pthread_create $LIBS" +@@ -2941,14 +3973,14 @@ + fi + + if test "x$thread_ok" = "xno"; then +- { echo "$as_me:2944: WARNING: *** No pthreads found. ***" >&5 ++ { echo "$as_me:$LINENO: WARNING: *** No pthreads found. ***" >&5 + echo "$as_me: WARNING: *** No pthreads found. ***" >&2;} +- { { echo "$as_me:2946: error: *** Try setting LIBS or LDFLAGS manually to point to your pthreads library. ***" >&5 ++ { { echo "$as_me:$LINENO: error: *** Try setting LIBS or LDFLAGS manually to point to your pthreads library. ***" >&5 + echo "$as_me: error: *** Try setting LIBS or LDFLAGS manually to point to your pthreads library. ***" >&2;} + { (exit 1); exit 1; }; } + exit 1 + else +- { echo "$as_me:2951: WARNING: found a way to link threads" >&5 ++ { echo "$as_me:$LINENO: WARNING: found a way to link threads" >&5 + echo "$as_me: WARNING: found a way to link threads" >&2;} + fi + fi +@@ -2956,7 +3988,10 @@ + + esac + +-echo "$as_me:2959: checking for zlibVersion in -lz" >&5 ++ ++ ++ ++echo "$as_me:$LINENO: checking for zlibVersion in -lz" >&5 + echo $ECHO_N "checking for zlibVersion in -lz... $ECHO_C" >&6 + if test "${ac_cv_lib_z_zlibVersion+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -2964,8 +3999,12 @@ + ac_check_lib_save_LIBS=$LIBS + LIBS="-lz $LIBS" + cat >conftest.$ac_ext <<_ACEOF +-#line 2967 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -2983,38 +4022,40 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:2986: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:2989: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:2992: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:2995: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_z_zlibVersion=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_cv_lib_z_zlibVersion=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-echo "$as_me:3006: result: $ac_cv_lib_z_zlibVersion" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_lib_z_zlibVersion" >&5 + echo "${ECHO_T}$ac_cv_lib_z_zlibVersion" >&6 + if test $ac_cv_lib_z_zlibVersion = yes; then +- cat >>confdefs.h <<EOF ++ cat >>confdefs.h <<_ACEOF + #define HAVE_LIBZ 1 +-EOF ++_ACEOF + + LIBS="-lz $LIBS" + + fi + +-echo "$as_me:3017: checking for png_check_sig in -lpng" >&5 ++ ++echo "$as_me:$LINENO: checking for png_check_sig in -lpng" >&5 + echo $ECHO_N "checking for png_check_sig in -lpng... $ECHO_C" >&6 + if test "${ac_cv_lib_png_png_check_sig+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -3022,8 +4063,12 @@ + ac_check_lib_save_LIBS=$LIBS + LIBS="-lpng $LIBS" + cat >conftest.$ac_ext <<_ACEOF +-#line 3025 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus +@@ -3041,41 +4086,47 @@ + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:3044: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:3047: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:3050: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:3053: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_png_png_check_sig=yes + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ + ac_cv_lib_png_png_check_sig=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-echo "$as_me:3064: result: $ac_cv_lib_png_png_check_sig" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_check_sig" >&5 + echo "${ECHO_T}$ac_cv_lib_png_png_check_sig" >&6 + if test $ac_cv_lib_png_png_check_sig = yes; then +- cat >>confdefs.h <<EOF ++ cat >>confdefs.h <<_ACEOF + #define HAVE_LIBPNG 1 +-EOF ++_ACEOF + + LIBS="-lpng $LIBS" + + fi + ++ + if test "x$enable_cookies" = "xno" ; then + CFLAGS="$CFLAGS -DDISABLE_COOKIES" + fi + ++if test "x$enable_ipv6" = "xyes" ; then ++ CFLAGS="$CFLAGS -DENABLE_IPV6" ++fi ++ + #dnl Test + if test "x$enable_efence" = "xyes" ; then + LIBS="-lefence $LIBS" +@@ -3084,55 +4135,67 @@ + CFLAGS="$CFLAGS -pg" + fi + +-echo "$as_me:3087: checking for ANSI C header files" >&5 ++ ++echo "$as_me:$LINENO: checking for ANSI C header files" >&5 + echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 + if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 3093 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <stdlib.h> + #include <stdarg.h> + #include <string.h> + #include <float.h> + ++int ++main () ++{ ++ ++ ; ++ return 0; ++} + _ACEOF +-if { (eval echo "$as_me:3101: \"$ac_cpp conftest.$ac_ext\"") >&5 +- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:3107: \$? = $ac_status" >&5 +- (exit $ac_status); } >/dev/null; then +- if test -s conftest.err; then +- ac_cpp_err=$ac_c_preproc_warn_flag +- else +- ac_cpp_err= +- fi +-else +- ac_cpp_err=yes +-fi +-if test -z "$ac_cpp_err"; then ++ 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 + ac_cv_header_stdc=yes + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 +- ac_cv_header_stdc=no ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_header_stdc=no + fi +-rm -f conftest.err conftest.$ac_ext ++rm -f conftest.$ac_objext conftest.$ac_ext + + if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +-#line 3129 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <string.h> + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- egrep "memchr" >/dev/null 2>&1; then ++ $EGREP "memchr" >/dev/null 2>&1; then + : + else + ac_cv_header_stdc=no +@@ -3144,13 +4207,17 @@ + if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +-#line 3147 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <stdlib.h> + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- egrep "free" >/dev/null 2>&1; then ++ $EGREP "free" >/dev/null 2>&1; then + : + else + ac_cv_header_stdc=no +@@ -3165,14 +4232,19 @@ + : + else + cat >conftest.$ac_ext <<_ACEOF +-#line 3168 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + #include <ctype.h> + #if ((' ' & 0x0FF) == 0x020) + # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) + #else +-# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ ++# define ISLOWER(c) \ ++ (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) + # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +@@ -3191,57 +4263,109 @@ + } + _ACEOF + rm -f conftest$ac_exeext +-if { (eval echo "$as_me:3194: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:3197: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' +- { (eval echo "$as_me:3199: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:3202: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : + else + echo "$as_me: program exited with status $ac_status" >&5 + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++( exit $ac_status ) + ac_cv_header_stdc=no + fi +-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_ext ++rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi + fi + fi +-echo "$as_me:3215: result: $ac_cv_header_stdc" >&5 ++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 + echo "${ECHO_T}$ac_cv_header_stdc" >&6 + if test $ac_cv_header_stdc = yes; then + +-cat >>confdefs.h <<\EOF ++cat >>confdefs.h <<\_ACEOF + #define STDC_HEADERS 1 +-EOF ++_ACEOF + + fi + ++ ++ ++ + for ac_header in fcntl.h unistd.h sys/uio.h + do +-ac_ac_Header=`echo "ac_cv_header_$ac_header" | $ac_tr_sh` +-echo "$as_me:3228: checking for $ac_header" >&5 ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo "$as_me:$LINENO: checking for $ac_header" >&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +-if eval "test \"\${$ac_ac_Header+set}\" = set"; then ++if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + else +- cat >conftest.$ac_ext <<_ACEOF +-#line 3234 "configure" +-#include "confdefs.h" ++ # Is the header compilable? ++echo "$as_me:$LINENO: checking $ac_header usability" >&5 ++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ++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. */ ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 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 ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_header_compiler=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6 ++ ++# Is the header present? ++echo "$as_me:$LINENO: checking $ac_header presence" >&5 ++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ++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_header> + _ACEOF +-if { (eval echo "$as_me:3238: \"$ac_cpp conftest.$ac_ext\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? +- egrep -v '^ *\+' conftest.er1 >conftest.err ++ grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 +- echo "$as_me:3244: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag +@@ -3252,99 +4376,166 @@ + ac_cpp_err=yes + fi + if test -z "$ac_cpp_err"; then +- eval "$ac_ac_Header=yes" ++ ac_header_preproc=yes + else + echo "$as_me: failed program was:" >&5 +- cat conftest.$ac_ext >&5 +- eval "$ac_ac_Header=no" ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no + fi + rm -f conftest.err conftest.$ac_ext ++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6 ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc in ++ yes:no ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------ ## ++## Report this to bug-autoconf@gnu.org. ## ++## ------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++ no:yes ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ ( ++ cat <<\_ASBOX ++## ------------------------------------ ## ++## Report this to bug-autoconf@gnu.org. ## ++## ------------------------------------ ## ++_ASBOX ++ ) | ++ sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ eval "$as_ac_Header=$ac_header_preproc" + fi +-echo "$as_me:3263: result: `eval echo '${'$ac_ac_Header'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$ac_ac_Header'}'`" >&6 +-if test `eval echo '${'$ac_ac_Header'}'` = yes; then +- cat >>confdefs.h <<EOF +-#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1 +-EOF ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++ ++fi ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF + + fi ++ + done + ++ ++ + for ac_func in socket + do +-ac_ac_var=`echo "ac_cv_func_$ac_func" | $ac_tr_sh` +-echo "$as_me:3276: checking for $ac_func" >&5 ++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_func" >&5 + echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +-if eval "test \"\${$ac_ac_var+set}\" = set"; then ++if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF +-#line 3282 "configure" +-#include "confdefs.h" ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ + /* System header to define __stub macros and hopefully few prototypes, +- which can conflict with char $ac_func (); below. */ +-#include <assert.h> ++ which can conflict with char $ac_func (); below. ++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ <limits.h> exists even on freestanding compilers. */ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus + extern "C" ++{ + #endif + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + char $ac_func (); +-char (*f) (); +- +-int +-main () +-{ + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ + #if defined (__stub_$ac_func) || defined (__stub___$ac_func) + choke me + #else +-f = $ac_func; ++char (*f) () = $ac_func; ++#endif ++#ifdef __cplusplus ++} + #endif + ++int ++main () ++{ ++return f != $ac_func; + ; + return 0; + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext +-if { (eval echo "$as_me:3313: \"$ac_link\"") >&5 ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? +- echo "$as_me:3316: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' +- { (eval echo "$as_me:3319: \"$ac_try\"") >&5 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +- echo "$as_me:3322: \$? = $ac_status" >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then +- eval "$ac_ac_var=yes" ++ eval "$as_ac_var=yes" + else + echo "$as_me: failed program was:" >&5 +-cat conftest.$ac_ext >&5 +-eval "$ac_ac_var=no" ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_var=no" + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + fi +-echo "$as_me:3332: result: `eval echo '${'$ac_ac_var'}'`" >&5 +-echo "${ECHO_T}`eval echo '${'$ac_ac_var'}'`" >&6 +-if test `eval echo '${'$ac_ac_var'}'` = yes; then +- cat >>confdefs.h <<EOF +-#define `echo "HAVE_$ac_func" | $ac_tr_cpp` 1 +-EOF ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ++_ACEOF + + fi + done + ++ + if test "x$enable_insure" = "xyes" ; then + CC="insure -Zoi \"compiler $CC\"" + LIBS="$LIBS -lstdc++-2-libc6.1-1-2.9.0" + fi + +-ac_config_files="$ac_config_files Makefile doc/Makefile src/Makefile src/IO/Makefile" ++ ++ ++ ++ ++ ac_config_files="$ac_config_files Makefile doc/Makefile src/Makefile src/IO/Makefile" + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure + # tests run on this system so they can be shared between configure +@@ -3355,7 +4546,7 @@ + # config.status only pays attention to the cache file if you give it + # the --recheck option to rerun configure. + # +-# `ac_cv_env_foo' variables (set or unset) will be overriden when ++# `ac_cv_env_foo' variables (set or unset) will be overridden when + # loading this file, other *unset* `ac_cv_foo' will be assigned the + # following values. + +@@ -3374,12 +4565,12 @@ + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; +- s/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ++ 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/^\\([_$ac_cr_alnum]*_cv_[_$ac_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; + } | +@@ -3390,7 +4581,7 @@ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +-if cmp -s $cache_file confcache; then :; else ++if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file +@@ -3421,35 +4612,234 @@ + + DEFS=-DHAVE_CONFIG_H + ++ac_libobjs= ++ac_ltlibobjs= ++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$//'` ++ # 2. Add them. ++ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ++ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." >&5 ++echo "$as_me: error: conditional \"AMDEP\" was never defined. ++Usually this means the macro was only invoked conditionally." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ + : ${CONFIG_STATUS=./config.status} + ac_clean_files_save=$ac_clean_files + ac_clean_files="$ac_clean_files $CONFIG_STATUS" +-{ echo "$as_me:3427: creating $CONFIG_STATUS" >&5 ++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 + echo "$as_me: creating $CONFIG_STATUS" >&6;} + cat >$CONFIG_STATUS <<_ACEOF + #! $SHELL +-# Generated automatically by configure. ++# Generated by $as_me. + # Run this file to recreate the current configuration. + # Compiler output produced by configure, useful for debugging + # configure, is in config.log if it exists. + + debug=false ++ac_cs_recheck=false ++ac_cs_silent=false + SHELL=\${CONFIG_SHELL-$SHELL} +-ac_cs_invocation="\$0 \$@" +- + _ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ + # Be Bourne compatible + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' + elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix + fi + ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ 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 ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ + # Name of the executable. +-as_me=`echo "$0" |sed 's,.*[\\/],,'` ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 ++echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 ++echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac + + if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +@@ -3475,24 +4865,20 @@ + fi + rm -f conf$$ conf$$.exe conf$$.file + +-as_executable_p="test -f" +- +-# Support unset when possible. +-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +- as_unset=unset ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: + else +- as_unset=false ++ as_mkdir_p=false + fi + +-# NLS nuisances. +-$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } +-$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } +-$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } +-$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } +-$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } +-$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } +-$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } +-$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } ++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" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ++ + + # IFS + # We need space, tab and new line, in precisely that order. +@@ -3501,10 +4887,34 @@ + IFS=" $as_nl" + + # CDPATH. +-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } ++$as_unset CDPATH + + exec 6>&1 + ++# Open the log real soon, to keep \$[0] and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. Logging --version etc. is OK. ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++} >&5 ++cat >&5 <<_CSEOF ++ ++This file was extended by $as_me, which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++_CSEOF ++echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 ++echo >&5 + _ACEOF + + # Files that config.status was made for. +@@ -3524,7 +4934,7 @@ + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS + fi + +-cat >>$CONFIG_STATUS <<\EOF ++cat >>$CONFIG_STATUS <<\_ACEOF + + ac_cs_usage="\ + \`$as_me' instantiates files from templates according to the +@@ -3534,6 +4944,7 @@ + + -h, --help print this help, then exit + -V, --version print version number, then exit ++ -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] +@@ -3551,12 +4962,12 @@ + $config_commands + + Report bugs to <bug-autoconf@gnu.org>." +-EOF ++_ACEOF + +-cat >>$CONFIG_STATUS <<EOF ++cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ + config.status +-configured by $0, generated by GNU Autoconf 2.50, ++configured by $0, generated by GNU Autoconf 2.57, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + + Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +@@ -3565,9 +4976,9 @@ + gives unlimited permission to copy, distribute and modify it." + srcdir=$srcdir + INSTALL="$INSTALL" +-EOF ++_ACEOF + +-cat >>$CONFIG_STATUS <<\EOF ++cat >>$CONFIG_STATUS <<\_ACEOF + # If no file are specified by the user, then we need to provide default + # value. By we need to know if files were specified by the user. + ac_need_defaults=: +@@ -3577,30 +4988,30 @@ + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` +- shift +- set dummy "$ac_option" "$ac_optarg" ${1+"$@"} +- shift ++ ac_shift=: ++ ;; ++ -*) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift + ;; +- -*);; + *) # This is not an option, so the user has probably given explicit + # arguments. ++ ac_option=$1 + ac_need_defaults=false;; + esac + +- case $1 in ++ case $ac_option in + # Handling of the options. +-EOF +-cat >>$CONFIG_STATUS <<EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) +- echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" +- exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; +-EOF +-cat >>$CONFIG_STATUS <<\EOF ++ ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header +- { { echo "$as_me:3603: error: ambiguous option: $1 ++ { { echo "$as_me:$LINENO: error: ambiguous option: $1 + Try \`$0 --help' for more information." >&5 + echo "$as_me: error: ambiguous option: $1 + Try \`$0 --help' for more information." >&2;} +@@ -3610,50 +5021,74 @@ + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) +- shift +- CONFIG_FILES="$CONFIG_FILES $1" ++ $ac_shift ++ CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) +- shift +- CONFIG_HEADERS="$CONFIG_HEADERS $1" ++ $ac_shift ++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; +- +- # Handling of arguments. +- 'Makefile' ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; +- 'doc/Makefile' ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; +- 'src/Makefile' ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; +- 'src/IO/Makefile' ) CONFIG_FILES="$CONFIG_FILES src/IO/Makefile" ;; +- 'default-1' ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; +- 'config.h' ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; + + # This is an error. +- -*) { { echo "$as_me:3630: error: unrecognized option: $1 ++ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 + Try \`$0 --help' for more information." >&5 + echo "$as_me: error: unrecognized option: $1 + Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; +- *) { { echo "$as_me:3635: error: invalid argument: $1" >&5 +-echo "$as_me: error: invalid argument: $1" >&2;} +- { (exit 1); exit 1; }; };; ++ ++ *) ac_config_targets="$ac_config_targets $1" ;; ++ + esac + shift + done + +-exec 5>>config.log +-cat >&5 << _ACEOF ++ac_configure_extra_args= + +-## ----------------------- ## +-## Running config.status. ## +-## ----------------------- ## ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF ++if \$ac_cs_recheck; then ++ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 ++ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ++fi ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF ++# ++# INIT-COMMANDS section. ++# + +-This file was extended by $as_me 2.50, executed with +- > $ac_cs_invocation +-on `(hostname || uname -n) 2>/dev/null | sed 1q` ++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + _ACEOF +-EOF + +-cat >>$CONFIG_STATUS <<\EOF ++ ++ ++cat >>$CONFIG_STATUS <<\_ACEOF ++for ac_config_target in $ac_config_targets ++do ++ case "$ac_config_target" in ++ # Handling of arguments. ++ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; ++ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; ++ "src/IO/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/IO/Makefile" ;; ++ "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 ++echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ + # If the user did not use the arguments to specify the items to instantiate, + # then the envvar interface is used. Set only those that are not. + # We use the long form for the default assignment because of an extremely +@@ -3664,38 +5099,34 @@ + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + fi + ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason to put it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. + # Create a temporary directory, and hook for its removal unless debugging. + $debug || + { + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 +- trap '{ (exit $?); exit $?; }' 1 2 13 15 ++ trap '{ (exit 1); exit 1; }' 1 2 13 15 + } + + # Create a (secure) tmp directory for tmp files. +-: ${TMPDIR=/tmp} ++ + { +- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && ++ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { +- tmp=$TMPDIR/cs$$-$RANDOM ++ tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) + } || + { +- echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ++ echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } + } + +-EOF +- +-cat >>$CONFIG_STATUS <<EOF +-# +-# INIT-COMMANDS section. +-# +- +-EOF ++_ACEOF + +-cat >>$CONFIG_STATUS <<EOF ++cat >>$CONFIG_STATUS <<_ACEOF + + # + # CONFIG_FILES section. +@@ -3708,6 +5139,12 @@ + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF + s,@SHELL@,$SHELL,;t t ++s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t ++s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t ++s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t ++s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t ++s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t ++s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t + s,@exec_prefix@,$exec_prefix,;t t + s,@prefix@,$prefix,;t t + s,@program_transform_name@,$program_transform_name,;t t +@@ -3723,16 +5160,13 @@ + s,@oldincludedir@,$oldincludedir,;t t + s,@infodir@,$infodir,;t t + s,@mandir@,$mandir,;t t +-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t ++s,@build_alias@,$build_alias,;t t ++s,@host_alias@,$host_alias,;t t ++s,@target_alias@,$target_alias,;t t ++s,@DEFS@,$DEFS,;t t + s,@ECHO_C@,$ECHO_C,;t t + s,@ECHO_N@,$ECHO_N,;t t + s,@ECHO_T@,$ECHO_T,;t t +-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +-s,@DEFS@,$DEFS,;t t + s,@LIBS@,$LIBS,;t t + s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t + s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +@@ -3744,6 +5178,12 @@ + s,@AUTOMAKE@,$AUTOMAKE,;t t + s,@AUTOHEADER@,$AUTOHEADER,;t t + s,@MAKEINFO@,$MAKEINFO,;t t ++s,@AMTAR@,$AMTAR,;t t ++s,@install_sh@,$install_sh,;t t ++s,@STRIP@,$STRIP,;t t ++s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t ++s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t ++s,@AWK@,$AWK,;t t + s,@SET_MAKE@,$SET_MAKE,;t t + s,@CC@,$CC,;t t + s,@CFLAGS@,$CFLAGS,;t t +@@ -3752,19 +5192,33 @@ + s,@ac_ct_CC@,$ac_ct_CC,;t t + s,@EXEEXT@,$EXEEXT,;t t + s,@OBJEXT@,$OBJEXT,;t t ++s,@DEPDIR@,$DEPDIR,;t t ++s,@am__include@,$am__include,;t t ++s,@am__quote@,$am__quote,;t t ++s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t ++s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t ++s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t ++s,@CCDEPMODE@,$CCDEPMODE,;t t + s,@RANLIB@,$RANLIB,;t t + s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +-s,@GTK_CONFIG@,$GTK_CONFIG,;t t ++s,@PKG_CONFIG@,$PKG_CONFIG,;t t + s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t + s,@GTK_LIBS@,$GTK_LIBS,;t t + s,@CPP@,$CPP,;t t ++s,@EGREP@,$EGREP,;t t + s,@LIBJPEG_LIB@,$LIBJPEG_LIB,;t t +-s,@src doc bin util lib@,$src doc bin util lib,;t t ++s,@src@,$src,;t t ++s,@doc@,$doc,;t t ++s,@bin@,$bin,;t t ++s,@util@,$util,;t t ++s,@lib@,$lib,;t t ++s,@LIBOBJS@,$LIBOBJS,;t t ++s,@LTLIBOBJS@,$LTLIBOBJS,;t t + CEOF + +-EOF ++_ACEOF + +- cat >>$CONFIG_STATUS <<\EOF ++ cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 +@@ -3803,8 +5257,8 @@ + fi + fi # test -n "$CONFIG_FILES" + +-EOF +-cat >>$CONFIG_STATUS <<\EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF + for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in +@@ -3818,7 +5272,8 @@ + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. +- ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ 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\(/\)' \| \ +@@ -3829,60 +5284,84 @@ + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` +- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then +- { case "$ac_dir" in +- [\\/]* | ?:[\\/]* ) as_incr_dir=;; +- *) as_incr_dir=.;; +-esac +-as_dummy="$ac_dir" +-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do +- case $as_mkdir_dir in +- # Skip DOS drivespec +- ?:) as_incr_dir=$as_mkdir_dir ;; +- *) +- as_incr_dir=$as_incr_dir/$as_mkdir_dir +- test -d "$as_incr_dir" || mkdir "$as_incr_dir" +- ;; +- esac +-done; } +- +- ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" +- # A "../" for each directory in $ac_dir_suffix. +- ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" + else +- ac_dir_suffix= ac_dots= +- fi +- +- case $srcdir in +- .) ac_srcdir=. +- if test -z "$ac_dots"; then +- ac_top_srcdir=. +- else +- ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` +- fi ;; +- [\\/]* | ?:[\\/]* ) +- ac_srcdir=$srcdir$ac_dir_suffix; +- ac_top_srcdir=$srcdir ;; ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; + *) # Relative path. +- ac_srcdir=$ac_dots$srcdir$ac_dir_suffix +- ac_top_srcdir=$ac_dots$srcdir ;; +- esac ++ 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` ++ + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; +- *) ac_INSTALL=$ac_dots$INSTALL ;; ++ *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then +- { echo "$as_me:3877: creating $ac_file" >&5 ++ { 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 automatically by config.status. */ +- configure_input="Generated automatically from `echo $ac_file_in | +- sed 's,.*/,,'` by configure." ++ # /* config.h. Generated by config.status. */ ++ if test x"$ac_file" = x-; then ++ configure_input= ++ else ++ configure_input="$ac_file. " ++ fi ++ configure_input=$configure_input"Generated from `echo $ac_file_in | ++ sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. +@@ -3892,7 +5371,7 @@ + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:3895: error: cannot find input file: $f" >&5 ++ 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;; +@@ -3905,23 +5384,29 @@ + echo $srcdir/$f + else + # /dev/null tree +- { { echo "$as_me:3908: error: cannot find input file: $f" >&5 ++ { { 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;; + esac + done` || { (exit 1); exit 1; } +-EOF +-cat >>$CONFIG_STATUS <<EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub + $extrasub +-EOF +-cat >>$CONFIG_STATUS <<\EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF + :t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b + s,@configure_input@,$configure_input,;t t + s,@srcdir@,$ac_srcdir,;t t ++s,@abs_srcdir@,$ac_abs_srcdir,;t t + s,@top_srcdir@,$ac_top_srcdir,;t t ++s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t ++s,@builddir@,$ac_builddir,;t t ++s,@abs_builddir@,$ac_abs_builddir,;t t ++s,@top_builddir@,$ac_top_builddir,;t t ++s,@abs_top_builddir@,$ac_abs_top_builddir,;t t + s,@INSTALL@,$ac_INSTALL,;t t + " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin +@@ -3933,8 +5418,8 @@ + fi + + done +-EOF +-cat >>$CONFIG_STATUS <<\EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF + + # + # CONFIG_HEADER section. +@@ -3966,7 +5451,7 @@ + * ) ac_file_in=$ac_file.in ;; + esac + +- test x"$ac_file" != x- && { echo "$as_me:3969: creating $ac_file" >&5 ++ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 + echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the +@@ -3977,7 +5462,7 @@ + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) +- test -f "$f" || { { echo "$as_me:3980: error: cannot find input file: $f" >&5 ++ 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;; +@@ -3990,7 +5475,7 @@ + echo $srcdir/$f + else + # /dev/null tree +- { { echo "$as_me:3993: error: cannot find input file: $f" >&5 ++ { { 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;; +@@ -3999,7 +5484,7 @@ + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +-EOF ++_ACEOF + + # Transform confdefs.h into two sed scripts, `conftest.defines' and + # `conftest.undefs', that substitutes the proper values into +@@ -4015,16 +5500,16 @@ + # `end' is used to avoid that the second main sed command (meant for + # 0-ary CPP macros) applies to n-ary macro definitions. + # See the Autoconf documentation for `clear'. +-cat >confdef2sed.sed <<\EOF ++cat >confdef2sed.sed <<\_ACEOF + s/[\\&,]/\\&/g + s,[\\$`],\\&,g + t clear + : clear +-s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp ++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp + t end + s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp + : end +-EOF ++_ACEOF + # If some macros were called several times there might be several times + # the same #defines, which is useless. Nevertheless, we may not want to + # sort them, since we want the *last* AC-DEFINE to be honored. +@@ -4035,14 +5520,14 @@ + # This sed command replaces #undef with comments. This is necessary, for + # example, in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. +-cat >>conftest.undefs <<\EOF ++cat >>conftest.undefs <<\_ACEOF + s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +-EOF ++_ACEOF + + # Break up conftest.defines because some shells have a limit on the size + # of here documents, and old seds have small limits too (100 cmds). + echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +-echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS ++echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS + echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS + echo ' :' >>$CONFIG_STATUS + rm -f conftest.tail +@@ -4066,7 +5551,7 @@ + mv conftest.tail conftest.defines + done + rm -f conftest.defines +-echo ' fi # egrep' >>$CONFIG_STATUS ++echo ' fi # grep' >>$CONFIG_STATUS + echo >>$CONFIG_STATUS + + # Break up conftest.undefs because some shells have a limit on the size +@@ -4094,23 +5579,24 @@ + done + rm -f conftest.undefs + +-cat >>$CONFIG_STATUS <<\EOF ++cat >>$CONFIG_STATUS <<\_ACEOF + # 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 automatically by config.status. */ ++ # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then +- echo "/* Generated automatically by configure. */" >$tmp/config.h ++ echo "/* Generated by configure. */" >$tmp/config.h + else +- echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h ++ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then +- if cmp -s $ac_file $tmp/config.h 2>/dev/null; then +- { echo "$as_me:4110: $ac_file is unchanged" >&5 ++ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then ++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + echo "$as_me: $ac_file is unchanged" >&6;} + else +- ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ 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\(/\)' \| \ +@@ -4121,24 +5607,31 @@ + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` +- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then +- { case "$ac_dir" in +- [\\/]* | ?:[\\/]* ) as_incr_dir=;; +- *) as_incr_dir=.;; +-esac +-as_dummy="$ac_dir" +-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do +- case $as_mkdir_dir in +- # Skip DOS drivespec +- ?:) as_incr_dir=$as_mkdir_dir ;; +- *) +- as_incr_dir=$as_incr_dir/$as_mkdir_dir +- test -d "$as_incr_dir" || mkdir "$as_incr_dir" +- ;; +- esac +-done; } ++ { if $as_mkdir_p; then ++ mkdir -p "$ac_dir" ++ else ++ as_dir="$ac_dir" ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 ++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ++ { (exit 1); exit 1; }; }; } + +- fi + rm -f $ac_file + mv $tmp/config.h $ac_file + fi +@@ -4146,9 +5639,15 @@ + cat $tmp/config.h + rm -f $tmp/config.h + fi ++ # Run the commands associated with the file. ++ case $ac_file in ++ config.h ) # update the timestamp ++echo 'timestamp for config.h' >"./stamp-h1" ++ ;; ++ esac + done +-EOF +-cat >>$CONFIG_STATUS <<\EOF ++_ACEOF ++cat >>$CONFIG_STATUS <<\_ACEOF + + # + # CONFIG_COMMANDS section. +@@ -4156,20 +5655,157 @@ + for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ++ ac_dir=`(dirname "$ac_dest") 2>/dev/null || ++$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$ac_dest" : 'X\(//\)[^/]' \| \ ++ X"$ac_dest" : 'X\(//\)$' \| \ ++ X"$ac_dest" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$ac_dest" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ 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` + ++ ++ { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 ++echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in +- default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; ++ depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do ++ # Strip MF so we end up with the name of the file. ++ mf=`echo "$mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile or not. ++ # We used to match only the files named `Makefile.in', but ++ # some people rename them; so instead we look at the file content. ++ # Grep'ing the first line is not enough: some people post-process ++ # each Makefile.in and add a new line on top of each file to say so. ++ # So let's grep whole file. ++ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then ++ dirpart=`(dirname "$mf") 2>/dev/null || ++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$mf" : 'X\(//\)[^/]' \| \ ++ X"$mf" : 'X\(//\)$' \| \ ++ X"$mf" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$mf" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ else ++ continue ++ fi ++ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue ++ # Extract the definition of DEP_FILES from the Makefile without ++ # running `make'. ++ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` ++ test -z "$DEPDIR" && continue ++ # When using ansi2knr, U may be empty or an underscore; expand it ++ U=`sed -n -e '/^U = / s///p' < "$mf"` ++ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" ++ # We invoke sed twice because it is the simplest approach to ++ # changing $(DEPDIR) to its actual value in the expansion. ++ for file in `sed -n -e ' ++ /^DEP_FILES = .*\\\\$/ { ++ s/^DEP_FILES = // ++ :loop ++ s/\\\\$// ++ p ++ n ++ /\\\\$/ b loop ++ p ++ } ++ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ ++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do ++ # Make sure the directory exists. ++ test -f "$dirpart/$file" && continue ++ fdir=`(dirname "$file") 2>/dev/null || ++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$file" : 'X\(//\)[^/]' \| \ ++ X"$file" : 'X\(//\)$' \| \ ++ X"$file" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$file" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ { if $as_mkdir_p; then ++ mkdir -p $dirpart/$fdir ++ else ++ as_dir=$dirpart/$fdir ++ as_dirs= ++ while test ! -d "$as_dir"; do ++ 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 || ++echo X"$as_dir" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ done ++ test ! -n "$as_dirs" || mkdir $as_dirs ++ fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 ++echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} ++ { (exit 1); exit 1; }; }; } ++ ++ # echo "creating $dirpart/$file" ++ echo '# dummy' > "$dirpart/$file" ++ done ++done ++ ;; + esac + done +-EOF ++_ACEOF + +-cat >>$CONFIG_STATUS <<\EOF ++cat >>$CONFIG_STATUS <<\_ACEOF + + { (exit 0); exit 0; } +-EOF ++_ACEOF + chmod +x $CONFIG_STATUS + ac_clean_files=$ac_clean_files_save + ++ + # configure is writing to config.log, and then calls config.status. + # config.status does its own redirection, appending to config.log. + # Unfortunately, on DOS this fails, as config.log is still kept open +@@ -4180,8 +5816,11 @@ + # need to make the FD available again. + if test "$no_create" != yes; then + ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null +- $SHELL $CONFIG_STATUS || ac_cs_success=false ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. +diff -urN dillo-0.6.6/configure.in dillo2-0.6.6/configure.in +--- dillo-0.6.6/configure.in 2002-05-29 15:01:55.000000000 -0600 ++++ dillo2-0.6.6/configure.in 2003-04-21 12:35:09.000000000 -0600 +@@ -21,6 +21,7 @@ + AC_ARG_ENABLE(ansi, [ --enable-ansi Try to compile and run with ANSI flags], + , enable_ansi=no) + AC_ARG_ENABLE(cookies,[ --enable-cookies Build with support for cookies], , ) ++AC_ARG_ENABLE(ipv6, [ --enable-ipv6 Build with support for IPv6], , ) + + AC_PROG_CC + AM_PROG_CC_STDC +@@ -28,11 +29,12 @@ + + dnl Check for Gtk+ (it checks glib too) + +-if test -z "$GTK_CONFIG"; then +- GTK_CONFIG=`which gtk-config || which gtk12-config` +-fi +-AM_PATH_GTK(1.2.0, [LIBS="$LIBS $GTK_LIBS" CFLAGS="$GTK_CFLAGS $CFLAGS"], +-AC_MSG_WARN(Unable to find Gtk+ with a version >= 1.2.0)) ++GTK_REQUIRED=2.0.0 ++ ++PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED) ++ ++CPPFLAGS="$CPPFLAGS $GTK_CFLAGS" ++LDFLAGS="$LDFLAGS $GTK_LIBS" + + dnl Check for compiler options + +@@ -119,6 +121,10 @@ + CFLAGS="$CFLAGS -DDISABLE_COOKIES" + fi + ++if test "x$enable_ipv6" = "xyes" ; then ++ CFLAGS="$CFLAGS -DENABLE_IPV6" ++fi ++ + #dnl Test + if test "x$enable_efence" = "xyes" ; then + LIBS="-lefence $LIBS" +diff -urN dillo-0.6.6/debian/README.Debian dillo2-0.6.6/debian/README.Debian +--- dillo-0.6.6/debian/README.Debian 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/README.Debian 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,5 @@ ++ ++To fully make use of dillo, you will want to copy the provided dillorc ++file located in /usr/share/doc/dillo/dillorc into ~/.dillo/ ++ ++This Debian package was created by Ron Farrer <rbf@debian.org>. +diff -urN dillo-0.6.6/debian/changelog dillo2-0.6.6/debian/changelog +--- dillo-0.6.6/debian/changelog 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/changelog 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,148 @@ ++dillo (0.6.6-3) unstable; urgency=low ++ ++ * Add build dependency on automake and autoconf, closes: #152820 ++ ++ -- Phil Blundell <pb@debian.org> Sat, 13 Jul 2002 13:17:27 +0100 ++ ++dillo (0.6.6-2) unstable; urgency=low ++ ++ * Correct menu, closes: #149483 ++ * Fix typo in description, closes: #150415 ++ * Don't force CFLAGS in debian/rules. ++ * Include IPv6 support. ++ ++ -- Phil Blundell <pb@debian.org> Fri, 12 Jul 2002 19:23:03 +0100 ++ ++dillo (0.6.6-1) unstable; urgency=low ++ ++ * New upstream version, closes: #145294 ++ * Install in /usr/bin, closes: #142755 ++ ++ -- Philip Blundell <pb@debian.org> Thu, 30 May 2002 21:53:16 +0100 ++ ++dillo (0.6.4-4) unstable; urgency=low ++ ++ * Update URL in debian/copyright, closes: #142741 ++ * Set --prefix=/usr, closes: #142755 ++ * Apply patch containing new pixmaps, closes: #142756 ++ ++ -- Philip Blundell <pb@debian.org> Sun, 14 Apr 2002 15:23:59 +0100 ++ ++dillo (0.6.4-3) unstable; urgency=medium ++ ++ * New maintainer, closes: #138950 ++ * Revert previous bogus change to font specification, ++ closes: #137025 ++ ++ -- Philip Blundell <pb@debian.org> Wed, 20 Mar 2002 01:35:24 +0000 ++ ++dillo (0.6.4-2) unstable; urgency=low ++ ++ * Fixed font reading problem, (Closes: Bug#134592) ++ ++ -- Ron Farrer <rbf@debian.org> Thu, 21 Feb 2002 08:10:14 -0700 ++ ++dillo (0.6.4-1) unstable; urgency=low ++ ++ * New upstream release. ++ * Fixed Long description line, (Closes: Bug#130929) ++ * Fixed oversized control files, (Closes: Bug#130273) ++ * New release doesn't leak memory, (Closes: Bug#123437) ++ ++ -- Ron Farrer <rbf@debian.org> Wed, 30 Jan 2002 07:22:41 -0700 ++ ++dillo (0.6.3-2) unstable; urgency=low ++ ++ * Added a dillo.desktop, (Closes: Bug#121767) ++ * Dillo 0.6.3 already uploaded, (Closes: Bug#126962) ++ ++ -- Ron Farrer <rbf@debian.org> Tue, 01 Jan 2002 11:09:31 -0700 ++ ++dillo (0.6.3-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Wed, 26 Dec 2001 21:32:29 -0700 ++ ++dillo (0.6.2-1) unstable; urgency=low ++ ++ * New upstream release, (Closes: Bug#115604) ++ ++ -- Ron Farrer <rbf@debian.org> Thu, 18 Oct 2001 08:20:14 -0700 ++ ++dillo (0.6.1-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Fri, 14 Sep 2001 10:40:56 -0700 ++ ++dillo (0.6.0-1) unstable; urgency=low ++ ++ * New upstream release, (Closes: Bug#107359) ++ ++ -- Ron Farrer <rbf@debian.org> Tue, 31 Jul 2001 19:08:40 -0700 ++ ++dillo (0.5.1-2) unstable; urgency=low ++ ++ * Fixed build-depends, (Closes: Bug#100669) ++ ++ -- Ron Farrer <rbf@debian.org> Fri, 15 Jun 2001 13:49:30 -0700 ++ ++dillo (0.5.1-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Mon, 04 Jun 2001 10:06:50 -0700 ++ ++dillo (0.5.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Thu, 10 May 2001 21:51:44 -0700 ++ ++dillo (0.4.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Mon, 05 Mar 2001 9:04:17 -0800 ++ ++dillo (0.3.2-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Thu, 01 Mar 2001 9:33:09 -0800 ++ ++dillo (0.3.1-2) unstable; urgency=low ++ ++ * Fixed man page, changed splash screen; Closes bug #82748 ++ ++ -- Ron Farrer <rbf@debian.org> Fri, 19 Jan 2001 10:05:27 -0800 ++ ++dillo (0.3.1-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Wed, 27 Dec 2000 10:14:30 -0800 ++ ++dillo (0.3.0.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Ron Farrer <rbf@debian.org> Mon, 13 Nov 2000 09:12:54 -0800 ++ ++dillo (0.3.0pre1-1) unstable; urgency=low ++ ++ * New upstream release. ++ * gzilla is now dead upstream, dillo takes it's place. ++ ++ -- Ron Farrer <rbf@debian.org> Wed, 8 Nov 2000 08:06:40 -0800 ++ ++dillo (0.2.4-1) unstable; urgency=low ++ ++ * Initial Release. ++ ++ -- Ron Farrer <rbf@farrer.net> Sun, 3 Sep 2000 13:53:35 -0700 ++ ++Local variables: ++mode: debian-changelog ++End: +diff -urN dillo-0.6.6/debian/control dillo2-0.6.6/debian/control +--- dillo-0.6.6/debian/control 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/control 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,17 @@ ++Source: dillo ++Section: web ++Priority: extra ++Maintainer: Phil Blundell <pb@debian.org> ++Standards-Version: 3.1.1.1 ++Build-Depends: debhelper, libgtk1.2-dev, libglib1.2-dev, libpng2-dev, zlib1g-dev, libjpeg62-dev, automake, autoconf ++ ++Package: dillo ++Architecture: any ++Depends: ${shlibs:Depends} ++Replaces: gzilla ++Conflicts: gzilla ++Provides: www-browser ++Description: GTK-based web browser ++ Dillo aims to be a multiplatform browser alternative that's small, ++ stable, developer-friendly, usable, fast, and extensible. Dillo is ++ mainly based on GTK+ (GNOME is NOT required!) Dillo is very fast! +diff -urN dillo-0.6.6/debian/copyright dillo2-0.6.6/debian/copyright +--- dillo-0.6.6/debian/copyright 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/copyright 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,22 @@ ++This package was debianized by Ron Farrer <rbf@debian.org>. ++ ++It was downloaded from http://dillo.cipsga.org.br/ ++ ++Copyright: ++ ++GNU GPL with following additions: ++ ++The gif.c module was adapted from ppmtogif.c as found in the ++netpbm-1mar1994 release. That code included the following copyright ++notice. ++ ++/* +-------------------------------------------------------------------+ */ ++/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */ ++/* | Permission to use, copy, modify, and distribute this software | */ ++/* | and its documentation for any purpose and without fee is hereby | */ ++/* | granted, provided that the above copyright notice appear in all | */ ++/* | copies and that both that copyright notice and this permission | */ ++/* | notice appear in supporting documentation. This software is | */ ++/* | provided "as is" without express or implied warranty. | */ ++/* +-------------------------------------------------------------------+ */ ++ +diff -urN dillo-0.6.6/debian/dillo.1x dillo2-0.6.6/debian/dillo.1x +--- dillo-0.6.6/debian/dillo.1x 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/dillo.1x 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,38 @@ ++.TH DILLO 1 ++.SH NAME ++dillo \- GTK-based web browser ++.SH SYNOPSIS ++.B dillo ++[url] ++.SH DESCRIPTION ++This manual page documents briefly the ++.BR dillo ++command. ++This manual page was written for the Debian GNU/Linux distribution ++because the original program does not have a manual page. ++.PP ++.B dillo ++is based on ++.B gzilla ++and is a free browser which uses the GTK. It should be considered ++"early alpha" software. ++.SH OPTIONS ++There are no options. Pass a URL on the command line to open the ++browser at that location. ++.SH EXAMPLES ++.I /usr/share/doc/dillo/dillorc ++is a sample ++.IR ~/.dillo/dillorc . ++.SH FILES ++.I ~/.dillo/dillorc ++.br ++.I ~/.dillo/bookmarks.html ++.SH AUTHOR ++.B dillo ++was created by the Dillo project. More information can be found on ++the project home page: ++.IP ++http://dillo.sourceforge.net ++.PP ++This man page was created by Ron Farrer <rbf@debian.org> for the ++Debian GNU/Linux distribution. +diff -urN dillo-0.6.6/debian/dillo.desktop dillo2-0.6.6/debian/dillo.desktop +--- dillo-0.6.6/debian/dillo.desktop 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/dillo.desktop 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,6 @@ ++[Desktop Entry] ++Name=Dillo ++Comment=Lightweight browser ++Exec=dillo ++Terminal=false ++Type=Appilcation +diff -urN dillo-0.6.6/debian/dirs dillo2-0.6.6/debian/dirs +--- dillo-0.6.6/debian/dirs 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/dirs 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,3 @@ ++usr/share/gnome/apps/Internet/ ++usr/X11R6/bin ++usr/X11R6/include/X11/pixmaps +diff -urN dillo-0.6.6/debian/docs dillo2-0.6.6/debian/docs +--- dillo-0.6.6/debian/docs 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/docs 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,20 @@ ++ChangeLog ++ChangeLog.old ++README ++AUTHORS ++dillorc ++NEWS ++debian/README.Debian ++doc/Cache.txt ++doc/Dillo.txt ++doc/Dw.txt ++doc/DwImage.txt ++doc/DwPage.txt ++doc/DwStyle.txt ++doc/DwTable.txt ++doc/DwWidget.txt ++doc/HtmlParser.txt ++doc/IO.txt ++doc/Images.txt ++doc/NC_design.txt ++doc/README +diff -urN dillo-0.6.6/debian/menu dillo2-0.6.6/debian/menu +--- dillo-0.6.6/debian/menu 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/menu 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,2 @@ ++?package(dillo):needs=X11 section=Apps/Net\ ++ title="dillo" command="/usr/bin/dillo" +diff -urN dillo-0.6.6/debian/rules dillo2-0.6.6/debian/rules +--- dillo-0.6.6/debian/rules 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/debian/rules 2003-04-21 12:36:34.000000000 -0600 +@@ -0,0 +1,64 @@ ++#!/usr/bin/make -f ++package=dillo ++ ++build: ++ $(checkdir) ++ ./configure --prefix=/usr --enable-ipv6 ++ make ++ touch build ++ ++clean: ++ $(checkdir) ++ -rm -f build ++ -make distclean ++ -rm -f `find . -name "*~"` ++ -rm -rf debian/tmp debian/files* core debian/substvars debian/prerm.debhelper debian/postinst.debhelper debian/postrm.debhelper ++ ++binary-indep: checkroot build ++ $(checkdir) ++ ++binary-arch: checkroot build ++ $(checkdir) ++ -rm -rf debian/tmp ++ install -d debian/tmp ++ cd debian/tmp && install -d `cat ../dirs` ++ make install prefix=`pwd`/debian/tmp/usr ++ dh_installdirs ++ dh_installdocs ++ dh_installexamples ++ dh_installchangelogs ++ dh_installmenu ++# dh_installcron ++ dh_installmanpages -pdillo ++ install debian/dillo.desktop debian/tmp/usr/share/gnome/apps/Internet/ ++ dh_movefiles ++ dh_strip ++ dh_compress ++ dh_fixperms ++# dh_suidregister ++ dh_shlibdeps ++ dh_gencontrol ++ dh_makeshlibs ++ dh_installdeb ++ dh_md5sums ++ dh_builddeb ++ ++# debstd ++# dpkg-gencontrol ++# chown -R root.root debian/tmp ++# chmod -R go=rX debian/tmp ++# dpkg --build debian/tmp .. ++ ++define checkdir ++ test -f debian/rules ++endef ++ ++# Below here is fairly generic really ++ ++binary: binary-indep binary-arch ++ ++checkroot: ++ $(checkdir) ++ test root = "`whoami`" ++ ++.PHONY: binary binary-arch binary-indep clean checkroot +diff -urN dillo-0.6.6/depcomp dillo2-0.6.6/depcomp +--- dillo-0.6.6/depcomp 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/depcomp 2003-04-21 12:35:20.000000000 -0600 +@@ -0,0 +1,423 @@ ++#! /bin/sh ++ ++# depcomp - compile a program generating dependencies as side-effects ++# Copyright 1999, 2000 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++# 02111-1307, USA. ++ ++# As a special exception to the GNU General Public License, if you ++# distribute this file as part of a program that contains a ++# configuration script generated by Autoconf, you may include it under ++# the same distribution terms that you use for the rest of that program. ++ ++# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. ++ ++if test -z "$depmode" || test -z "$source" || test -z "$object"; then ++ echo "depcomp: Variables source, object and depmode must be set" 1>&2 ++ exit 1 ++fi ++# `libtool' can also be set to `yes' or `no'. ++ ++if test -z "$depfile"; then ++ base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` ++ dir=`echo "$object" | sed 's,/.*$,/,'` ++ if test "$dir" = "$object"; then ++ dir= ++ fi ++ # FIXME: should be _deps on DOS. ++ depfile="$dir.deps/$base" ++fi ++ ++tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} ++ ++rm -f "$tmpdepfile" ++ ++# Some modes work just like other modes, but use different flags. We ++# parameterize here, but still list the modes in the big case below, ++# to make depend.m4 easier to write. Note that we *cannot* use a case ++# here, because this file can only contain one case statement. ++if test "$depmode" = hp; then ++ # HP compiler uses -M and no extra arg. ++ gccflag=-M ++ depmode=gcc ++fi ++ ++if test "$depmode" = dashXmstdout; then ++ # This is just like dashmstdout with a different argument. ++ dashmflag=-xM ++ depmode=dashmstdout ++fi ++ ++case "$depmode" in ++gcc3) ++## gcc 3 implements dependency tracking that does exactly what ++## we want. Yay! Note: for some reason libtool 1.4 doesn't like ++## it if -MD -MP comes after the -MF stuff. Hmm. ++ "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ mv "$tmpdepfile" "$depfile" ++ ;; ++ ++gcc) ++## There are various ways to get dependency output from gcc. Here's ++## why we pick this rather obscure method: ++## - Don't want to use -MD because we'd like the dependencies to end ++## up in a subdir. Having to rename by hand is ugly. ++## (We might end up doing this anyway to support other compilers.) ++## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ++## -MM, not -M (despite what the docs say). ++## - Using -M directly means running the compiler twice (even worse ++## than renaming). ++ if test -z "$gccflag"; then ++ gccflag=-MD, ++ fi ++ "$@" -Wp,"$gccflag$tmpdepfile" ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ++## The second -e expression handles DOS-style file names with drive letters. ++ sed -e 's/^[^:]*: / /' \ ++ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ++## This next piece of magic avoids the `deleted header file' problem. ++## The problem is that when a header file which appears in a .P file ++## is deleted, the dependency causes make to die (because there is ++## typically no way to rebuild the header). We avoid this by adding ++## dummy dependencies for each header file. Too bad gcc doesn't do ++## this for us directly. ++ tr ' ' ' ++' < "$tmpdepfile" | ++## Some versions of gcc put a space before the `:'. On the theory ++## that the space means something, we add a space to the output as ++## well. ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++hp) ++ # This case exists only to let depend.m4 do its work. It works by ++ # looking at the text of this script. This case will never be run, ++ # since it is checked for above. ++ exit 1 ++ ;; ++ ++sgi) ++ if test "$libtool" = yes; then ++ "$@" "-Wp,-MDupdate,$tmpdepfile" ++ else ++ "$@" -MDupdate "$tmpdepfile" ++ fi ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ rm -f "$depfile" ++ ++ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files ++ echo "$object : \\" > "$depfile" ++ ++ # Clip off the initial element (the dependent). Don't try to be ++ # clever and replace this with sed code, as IRIX sed won't handle ++ # lines with more than a fixed number of characters (4096 in ++ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; ++ # the IRIX cc adds comments like `#:fec' to the end of the ++ # dependency line. ++ tr ' ' ' ++' < "$tmpdepfile" \ ++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ ++ tr ' ++' ' ' >> $depfile ++ echo >> $depfile ++ ++ # The second pass generates a dummy entry for each header file. ++ tr ' ' ' ++' < "$tmpdepfile" \ ++ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ ++ >> $depfile ++ else ++ # The sourcefile does not contain any dependencies, so just ++ # store a dummy comment line, to avoid errors with the Makefile ++ # "include basename.Plo" scheme. ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++aix) ++ # The C for AIX Compiler uses -M and outputs the dependencies ++ # in a .u file. This file always lives in the current directory. ++ # Also, the AIX compiler puts `$object:' at the start of each line; ++ # $object doesn't have directory information. ++ stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` ++ tmpdepfile="$stripped.u" ++ outname="$stripped.o" ++ if test "$libtool" = yes; then ++ "$@" -Wc,-M ++ else ++ "$@" -M ++ fi ++ ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile" ++ exit $stat ++ fi ++ ++ if test -f "$tmpdepfile"; then ++ # Each line is of the form `foo.o: dependent.h'. ++ # Do two passes, one to just change these to ++ # `$object: dependent.h' and one to simply `dependent.h:'. ++ sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" ++ sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" ++ else ++ # The sourcefile does not contain any dependencies, so just ++ # store a dummy comment line, to avoid errors with the Makefile ++ # "include basename.Plo" scheme. ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++tru64) ++ # The Tru64 compiler uses -MD to generate dependencies as a side ++ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. ++ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put ++ # dependencies in `foo.d' instead, so we check for that too. ++ # Subdirectories are respected. ++ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` ++ test "x$dir" = "x$object" && dir= ++ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` ++ ++ if test "$libtool" = yes; then ++ tmpdepfile1="$dir.libs/$base.lo.d" ++ tmpdepfile2="$dir.libs/$base.d" ++ "$@" -Wc,-MD ++ else ++ tmpdepfile1="$dir$base.o.d" ++ tmpdepfile2="$dir$base.d" ++ "$@" -MD ++ fi ++ ++ stat=$? ++ if test $stat -eq 0; then : ++ else ++ rm -f "$tmpdepfile1" "$tmpdepfile2" ++ exit $stat ++ fi ++ ++ if test -f "$tmpdepfile1"; then ++ tmpdepfile="$tmpdepfile1" ++ else ++ tmpdepfile="$tmpdepfile2" ++ fi ++ if test -f "$tmpdepfile"; then ++ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" ++ # That's a space and a tab in the []. ++ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" ++ else ++ echo "#dummy" > "$depfile" ++ fi ++ rm -f "$tmpdepfile" ++ ;; ++ ++#nosideeffect) ++ # This comment above is used by automake to tell side-effect ++ # dependency tracking mechanisms from slower ones. ++ ++dashmstdout) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout, regardless of -o. ++ "$@" || exit $? ++ ++ # Remove the call to Libtool. ++ if test "$libtool" = yes; then ++ while test $1 != '--mode=compile'; do ++ shift ++ done ++ shift ++ fi ++ ++ # Remove `-o $object'. We will use -o /dev/null later, ++ # however we can't do the remplacement now because ++ # `-o $object' might simply not be used ++ IFS=" " ++ for arg ++ do ++ case $arg in ++ -o) ++ shift ++ ;; ++ $object) ++ shift ++ ;; ++ *) ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # $arg ++ ;; ++ esac ++ done ++ ++ test -z "$dashmflag" && dashmflag=-M ++ "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" ++ rm -f "$depfile" ++ cat < "$tmpdepfile" > "$depfile" ++ tr ' ' ' ++' < "$tmpdepfile" | \ ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++dashXmstdout) ++ # This case only exists to satisfy depend.m4. It is never actually ++ # run, as this mode is specially recognized in the preamble. ++ exit 1 ++ ;; ++ ++makedepend) ++ "$@" || exit $? ++ # X makedepend ++ shift ++ cleared=no ++ for arg in "$@"; do ++ case $cleared in ++ no) ++ set ""; shift ++ cleared=yes ;; ++ esac ++ case "$arg" in ++ -D*|-I*) ++ set fnord "$@" "$arg"; shift ;; ++ -*) ++ ;; ++ *) ++ set fnord "$@" "$arg"; shift ;; ++ esac ++ done ++ obj_suffix="`echo $object | sed 's/^.*\././'`" ++ touch "$tmpdepfile" ++ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" ++ rm -f "$depfile" ++ cat < "$tmpdepfile" > "$depfile" ++ sed '1,2d' "$tmpdepfile" | tr ' ' ' ++' | \ ++## Some versions of the HPUX 10.20 sed can't process this invocation ++## correctly. Breaking it into two sed invocations is a workaround. ++ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" "$tmpdepfile".bak ++ ;; ++ ++cpp) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout. ++ "$@" || exit $? ++ ++ # Remove the call to Libtool. ++ if test "$libtool" = yes; then ++ while test $1 != '--mode=compile'; do ++ shift ++ done ++ shift ++ fi ++ ++ # Remove `-o $object'. ++ IFS=" " ++ for arg ++ do ++ case $arg in ++ -o) ++ shift ++ ;; ++ $object) ++ shift ++ ;; ++ *) ++ set fnord "$@" "$arg" ++ shift # fnord ++ shift # $arg ++ ;; ++ esac ++ done ++ ++ "$@" -E | ++ sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | ++ sed '$ s: \\$::' > "$tmpdepfile" ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ cat < "$tmpdepfile" >> "$depfile" ++ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++msvisualcpp) ++ # Important note: in order to support this mode, a compiler *must* ++ # always write the proprocessed file to stdout, regardless of -o, ++ # because we must use -o when running libtool. ++ "$@" || exit $? ++ IFS=" " ++ for arg ++ do ++ case "$arg" in ++ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") ++ set fnord "$@" ++ shift ++ shift ++ ;; ++ *) ++ set fnord "$@" "$arg" ++ shift ++ shift ++ ;; ++ esac ++ done ++ "$@" -E | ++ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" ++ rm -f "$depfile" ++ echo "$object : \\" > "$depfile" ++ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" ++ echo " " >> "$depfile" ++ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" ++ rm -f "$tmpdepfile" ++ ;; ++ ++none) ++ exec "$@" ++ ;; ++ ++*) ++ echo "Unknown depmode $depmode" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++exit 0 +diff -urN dillo-0.6.6/doc/IO.txt dillo2-0.6.6/doc/IO.txt +--- dillo-0.6.6/doc/IO.txt 2001-07-01 19:06:25.000000000 -0600 ++++ dillo2-0.6.6/doc/IO.txt 2003-04-21 12:35:26.000000000 -0600 +@@ -338,6 +338,7 @@ + better understood by examining the request structure: + + typedef struct { ++ gint Key; /* Primary Key (for klist) */ + gint Op; /* IORead | IOWrite | IOWrites */ + gint FD; /* Current File Descriptor */ + glong Status; /* Number of bytes read, or -errno code */ +diff -urN dillo-0.6.6/doc/Makefile dillo2-0.6.6/doc/Makefile +--- dillo-0.6.6/doc/Makefile 2002-05-29 15:03:42.000000000 -0600 ++++ dillo2-0.6.6/doc/Makefile 2003-04-21 14:27:05.000000000 -0600 +@@ -1,6 +1,8 @@ +-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# doc/Makefile. Generated from Makefile.in by configure. + +-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -16,7 +18,7 @@ + srcdir = . + top_srcdir = .. + +-prefix = /usr/local ++prefix = /usr + exec_prefix = ${prefix} + + bindir = ${exec_prefix}/bin +@@ -31,149 +33,184 @@ + mandir = ${prefix}/man + includedir = ${prefix}/include + oldincludedir = /usr/include +- +-DESTDIR = +- + pkgdatadir = $(datadir)/dillo + pkglibdir = $(libdir)/dillo + pkgincludedir = $(includedir)/dillo +- + top_builddir = .. + +-ACLOCAL = aclocal ++ACLOCAL = aclocal-1.6 + AUTOCONF = autoconf +-AUTOMAKE = automake ++AUTOMAKE = automake-1.6 + AUTOHEADER = autoheader + +-INSTALL = /usr/bin/ginstall -c +-INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS) ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = /usr/bin/install -c ++INSTALL_PROGRAM = ${INSTALL} + INSTALL_DATA = ${INSTALL} -m 644 ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c + INSTALL_SCRIPT = ${INSTALL} ++INSTALL_HEADER = $(INSTALL_DATA) + transform = s,x,x, +- + NORMAL_INSTALL = : + PRE_INSTALL = : + POST_INSTALL = : + NORMAL_UNINSTALL = : + PRE_UNINSTALL = : + POST_UNINSTALL = : ++ ++EXEEXT = ++OBJEXT = o ++PATH_SEPARATOR = : ++AMTAR = tar ++AWK = gawk + CC = gcc +-GTK_CFLAGS = -I/opt/gnome/include/gtk-1.2 -I/opt/gnome/include/glib-1.2 -I/opt/gnome/lib/glib/include -I/usr/X11R6/include +-GTK_CONFIG = /opt/gnome/bin/gtk-config +-GTK_LIBS = -L/opt/gnome/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm ++DEPDIR = .deps ++INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s + LIBJPEG_LIB = -ljpeg +-MAKEINFO = makeinfo + PACKAGE = dillo ++PKG_CONFIG = /usr/bin/pkg-config + RANLIB = ranlib ++STRIP = + VERSION = 0.6.6 +-datadir = ${prefix}/share +-src = @src@ +- +-EXTRA_DIST = Cache.txt Cookies.txt Dillo.txt Dw.txt DwImage.txt DwPage.txt DwStyle.txt DwTable.txt DwWidget.txt HtmlParser.txt IO.txt Images.txt Makefile Makefile.am Makefile.in NC_design.txt README ++am__include = include ++am__quote = ++install_sh = /home/pb/dillo2/install-sh ++src = ++EXTRA_DIST = \ ++ Cache.txt \ ++ Cookies.txt \ ++ Dillo.txt \ ++ Dw.txt \ ++ DwImage.txt \ ++ DwPage.txt \ ++ DwStyle.txt \ ++ DwTable.txt \ ++ DwWidget.txt \ ++ HtmlParser.txt \ ++ IO.txt \ ++ Images.txt \ ++ NC_design.txt \ ++ README + ++subdir = doc + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +-CONFIG_HEADER = ../config.h +-CONFIG_CLEAN_FILES = +-DIST_COMMON = README Makefile.am Makefile.in ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = ++DIST_COMMON = README Makefile.am Makefile.in ++all: all-am + +- +-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +- +-TAR = tar +-GZIP_ENV = --best +-all: all-redirect + .SUFFIXES: +-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile +- +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +- cd $(top_builddir) \ +- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status +- ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu doc/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++uninstall-info-am: + tags: TAGS + TAGS: + ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +- +-subdir = doc ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + + distdir: $(DISTFILES) +- here=`cd $(top_builddir) && pwd`; \ +- top_distdir=`cd $(top_distdir) && pwd`; \ +- distdir=`cd $(distdir) && pwd`; \ +- cd $(top_srcdir) \ +- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile +- @for file in $(DISTFILES); do \ +- d=$(srcdir); \ ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ + if test -d $$d/$$file; then \ +- cp -pr $$d/$$file $(distdir)/$$file; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ +- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +- || cp -p $$d/$$file $(distdir)/$$file || :; \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ + fi; \ + done +-info-am: +-info: info-am +-dvi-am: +-dvi: dvi-am + check-am: all-am + check: check-am +-installcheck-am: +-installcheck: installcheck-am +-install-exec-am: +-install-exec: install-exec-am ++all-am: Makefile + +-install-data-am: +-install-data: install-data-am ++installdirs: + +-install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + install: install-am +-uninstall-am: ++install-exec: install-exec-am ++install-data: install-data-am + uninstall: uninstall-am +-all-am: Makefile +-all-redirect: all-am +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +-installdirs: + ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* + + maintainer-clean-generic: +-mostlyclean-am: mostlyclean-generic ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am + +-mostlyclean: mostlyclean-am ++clean-am: clean-generic mostlyclean-am + +-clean-am: clean-generic mostlyclean-am ++distclean: distclean-am + +-clean: clean-am ++distclean-am: clean-am distclean-generic + +-distclean-am: distclean-generic clean-am ++dvi: dvi-am + +-distclean: distclean-am ++dvi-am: + +-maintainer-clean-am: maintainer-clean-generic distclean-am +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: + + maintainer-clean: maintainer-clean-am + +-.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +-installcheck-am installcheck install-exec-am install-exec \ +-install-data-am install-data install-am install uninstall-am uninstall \ +-all-redirect all-am all installdirs mostlyclean-generic \ +-distclean-generic clean-generic maintainer-clean-generic clean \ +-mostlyclean distclean maintainer-clean ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am + ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic uninstall uninstall-am uninstall-info-am + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff -urN dillo-0.6.6/doc/Makefile.am dillo2-0.6.6/doc/Makefile.am +--- dillo-0.6.6/doc/Makefile.am 2002-05-27 15:27:46.000000000 -0600 ++++ dillo2-0.6.6/doc/Makefile.am 2003-04-21 12:35:27.000000000 -0600 +@@ -11,8 +11,5 @@ + HtmlParser.txt \ + IO.txt \ + Images.txt \ +- Makefile \ +- Makefile.am \ +- Makefile.in \ + NC_design.txt \ + README +diff -urN dillo-0.6.6/doc/Makefile.in dillo2-0.6.6/doc/Makefile.in +--- dillo-0.6.6/doc/Makefile.in 2002-05-29 15:03:04.000000000 -0600 ++++ dillo2-0.6.6/doc/Makefile.in 2003-04-21 12:35:27.000000000 -0600 +@@ -1,6 +1,8 @@ +-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ + +-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -10,7 +12,7 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +- ++@SET_MAKE@ + SHELL = @SHELL@ + + srcdir = @srcdir@ +@@ -31,13 +33,9 @@ + mandir = @mandir@ + includedir = @includedir@ + oldincludedir = /usr/include +- +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +- + top_builddir = .. + + ACLOCAL = @ACLOCAL@ +@@ -45,135 +43,174 @@ + AUTOMAKE = @AUTOMAKE@ + AUTOHEADER = @AUTOHEADER@ + ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c + INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) + transform = @program_transform_name@ +- + NORMAL_INSTALL = : + PRE_INSTALL = : + POST_INSTALL = : + NORMAL_UNINSTALL = : + PRE_UNINSTALL = : + POST_UNINSTALL = : ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AWK = @AWK@ + CC = @CC@ +-GTK_CFLAGS = @GTK_CFLAGS@ +-GTK_CONFIG = @GTK_CONFIG@ +-GTK_LIBS = @GTK_LIBS@ ++DEPDIR = @DEPDIR@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LIBJPEG_LIB = @LIBJPEG_LIB@ +-MAKEINFO = @MAKEINFO@ + PACKAGE = @PACKAGE@ ++PKG_CONFIG = @PKG_CONFIG@ + RANLIB = @RANLIB@ ++STRIP = @STRIP@ + VERSION = @VERSION@ +-datadir = @datadir@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ + src = @src@ ++EXTRA_DIST = \ ++ Cache.txt \ ++ Cookies.txt \ ++ Dillo.txt \ ++ Dw.txt \ ++ DwImage.txt \ ++ DwPage.txt \ ++ DwStyle.txt \ ++ DwTable.txt \ ++ DwWidget.txt \ ++ HtmlParser.txt \ ++ IO.txt \ ++ Images.txt \ ++ NC_design.txt \ ++ README + +-EXTRA_DIST = Cache.txt Cookies.txt Dillo.txt Dw.txt DwImage.txt DwPage.txt DwStyle.txt DwTable.txt DwWidget.txt HtmlParser.txt IO.txt Images.txt Makefile Makefile.am Makefile.in NC_design.txt README +- ++subdir = doc + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +-CONFIG_HEADER = ../config.h +-CONFIG_CLEAN_FILES = +-DIST_COMMON = README Makefile.am Makefile.in +- ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++DIST_SOURCES = ++DIST_COMMON = README Makefile.am Makefile.in ++all: all-am + +-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +- +-TAR = tar +-GZIP_ENV = --best +-all: all-redirect + .SUFFIXES: +-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile +- +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +- cd $(top_builddir) \ +- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status +- ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu doc/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++uninstall-info-am: + tags: TAGS + TAGS: + ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +- +-subdir = doc ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + + distdir: $(DISTFILES) +- here=`cd $(top_builddir) && pwd`; \ +- top_distdir=`cd $(top_distdir) && pwd`; \ +- distdir=`cd $(distdir) && pwd`; \ +- cd $(top_srcdir) \ +- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile +- @for file in $(DISTFILES); do \ +- d=$(srcdir); \ ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ + if test -d $$d/$$file; then \ +- cp -pr $$d/$$file $(distdir)/$$file; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ +- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +- || cp -p $$d/$$file $(distdir)/$$file || :; \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ + fi; \ + done +-info-am: +-info: info-am +-dvi-am: +-dvi: dvi-am + check-am: all-am + check: check-am +-installcheck-am: +-installcheck: installcheck-am +-install-exec-am: +-install-exec: install-exec-am ++all-am: Makefile + +-install-data-am: +-install-data: install-data-am ++installdirs: + +-install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + install: install-am +-uninstall-am: ++install-exec: install-exec-am ++install-data: install-data-am + uninstall: uninstall-am +-all-am: Makefile +-all-redirect: all-am +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +-installdirs: + ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* + + maintainer-clean-generic: +-mostlyclean-am: mostlyclean-generic ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am + +-mostlyclean: mostlyclean-am ++clean-am: clean-generic mostlyclean-am + +-clean-am: clean-generic mostlyclean-am ++distclean: distclean-am + +-clean: clean-am ++distclean-am: clean-am distclean-generic + +-distclean-am: distclean-generic clean-am ++dvi: dvi-am + +-distclean: distclean-am ++dvi-am: + +-maintainer-clean-am: maintainer-clean-generic distclean-am +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: + + maintainer-clean: maintainer-clean-am + +-.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +-installcheck-am installcheck install-exec-am install-exec \ +-install-data-am install-data install-am install uninstall-am uninstall \ +-all-redirect all-am all installdirs mostlyclean-generic \ +-distclean-generic clean-generic maintainer-clean-generic clean \ +-mostlyclean distclean maintainer-clean ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-generic ++ ++uninstall-am: uninstall-info-am + ++.PHONY: all all-am check check-am clean clean-generic distclean \ ++ distclean-generic distdir dvi dvi-am info info-am install \ ++ install-am install-data install-data-am install-exec \ ++ install-exec-am install-info install-info-am install-man \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic mostlyclean \ ++ mostlyclean-generic uninstall uninstall-am uninstall-info-am + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff -urN dillo-0.6.6/mkinstalldirs dillo2-0.6.6/mkinstalldirs +--- dillo-0.6.6/mkinstalldirs 2000-08-29 20:43:34.000000000 -0600 ++++ dillo2-0.6.6/mkinstalldirs 2003-04-21 12:35:08.000000000 -0600 +@@ -4,7 +4,7 @@ + # Created: 1993-05-16 + # Public domain + +-# $Id: mkinstalldirs,v 1.8 2000/08/30 02:43:34 jcid Exp $ ++# $Id: mkinstalldirs,v 1.1.1.1 2003/04/21 18:35:08 pb Exp $ + + errstatus=0 + +diff -urN dillo-0.6.6/src/IO/IO.c dillo2-0.6.6/src/IO/IO.c +--- dillo-0.6.6/src/IO/IO.c 2002-04-25 08:32:05.000000000 -0600 ++++ dillo2-0.6.6/src/IO/IO.c 2003-04-21 12:36:30.000000000 -0600 +@@ -26,7 +26,7 @@ + #include "../klist.h" + #include "IO.h" + +-//#define DEBUG_LEVEL 3 ++#define DEBUG_LEVEL 4 + #include "../debug.h" + + +@@ -90,7 +90,7 @@ + g_return_if_fail(IO_get(io->Key) == NULL); + + if (io->Flags & IOFlag_FreeIOVec) +- g_free(io->IOVec.iov_base); ++ g_free(io->IOVecStart); + g_free(io); + } + +@@ -172,9 +172,7 @@ + + /* + * Write data, from a specific buffer, into a file descriptor +- * (** Write operations MUST NOT free the buffer because the buffer +- * start is modified.) +- * todo: Implement IOWrites, remove the constraint stated above. ++ * todo: Implement IOWrites. + */ + static gboolean IO_write(IOData_t *io) + { +@@ -193,13 +191,15 @@ + io->Status = -errno; + if (errno == EINTR) + ret = TRUE; +- else if (errno == EAGAIN) +- ret = TRUE; /* todo: ??? */ +- ++ else if (errno == EAGAIN) { ++ DEBUG_MSG(4, " IO_write: EAGAIN\n"); ++ ret = FALSE; ++ } + } else if ( St < io->IOVec.iov_len ){ + /* Not all data written */ + io->IOVec.iov_len -= St; + io->IOVec.iov_base = (gchar *)io->IOVec.iov_base + St; ++ DEBUG_MSG(4, " IO_write: Changing iov_base (%d)\n", St); + ret = TRUE; + + } else { +@@ -238,6 +238,9 @@ + ret = IO_read(io); + } else if ( cond & G_IO_OUT ){ /* Write */ + while ( IO_write(io) ); ++ io = IO_get(io_key); /* IO_write may have freed 'io' */ ++ if (io && io->Status == -EAGAIN) ++ ret = TRUE; /* wait for another G_IO_OUT event... */ + } + + if ( cond & G_IO_ERR ){ /* Error */ +@@ -262,6 +265,9 @@ + */ + static void IO_submit(IOData_t *r_io) + { ++ /* Save IOVec's start */ ++ r_io->IOVecStart = r_io->IOVec.iov_base; ++ + /* Insert this IO in ValidIOs */ + IO_ins(r_io); + +@@ -333,7 +339,7 @@ + /* Backwards call */ + switch (Op) { + case OpAbort: +- DEBUG_MSG(3, "IO : OpAbort [-1]\n"); ++ DEBUG_MSG(4, "IO : OpAbort [-1]\n"); + io = Info->LocalKey; + IO_abort(io); + IO_free(io); +diff -urN dillo-0.6.6/src/IO/IO.h dillo2-0.6.6/src/IO/IO.h +--- dillo-0.6.6/src/IO/IO.h 2002-01-27 06:44:52.000000000 -0700 ++++ dillo2-0.6.6/src/IO/IO.h 2003-04-21 12:36:30.000000000 -0600 +@@ -34,13 +34,13 @@ + gint Key; /* Primary Key (for klist) */ + gint Op; /* IORead | IOWrite | IOWrites */ + gint FD; /* Current File Descriptor */ ++ gint Flags; /* Flag array (look definitions above) */ + glong Status; /* Number of bytes read, or -errno code */ + struct iovec IOVec; /* Buffer place and length */ +- gint Flags; /* Flag array (look definitions above) */ ++ void *IOVecStart; /* PRIVATE: only used inside IO.c! */ + void *ExtData; /* External data reference (not used by IO.c) */ + void *Info; /* CCC Info structure for this IO */ + GIOChannel *GioCh; /* IO channel */ +- gint GdkTag; /* gdk_input tag (used to remove) */ + } IOData_t; + + +diff -urN dillo-0.6.6/src/IO/Makefile dillo2-0.6.6/src/IO/Makefile +--- dillo-0.6.6/src/IO/Makefile 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/IO/Makefile 2003-04-21 14:27:11.000000000 -0600 +@@ -0,0 +1,318 @@ ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# src/IO/Makefile. Generated from Makefile.in by configure. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++ ++SHELL = /bin/sh ++ ++srcdir = . ++top_srcdir = ../.. ++ ++prefix = /usr ++exec_prefix = ${prefix} ++ ++bindir = ${exec_prefix}/bin ++sbindir = ${exec_prefix}/sbin ++libexecdir = ${exec_prefix}/libexec ++datadir = ${prefix}/share ++sysconfdir = ${prefix}/etc ++sharedstatedir = ${prefix}/com ++localstatedir = ${prefix}/var ++libdir = ${exec_prefix}/lib ++infodir = ${prefix}/info ++mandir = ${prefix}/man ++includedir = ${prefix}/include ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/dillo ++pkglibdir = $(libdir)/dillo ++pkgincludedir = $(includedir)/dillo ++top_builddir = ../.. ++ ++ACLOCAL = aclocal-1.6 ++AUTOCONF = autoconf ++AUTOMAKE = automake-1.6 ++AUTOHEADER = autoheader ++ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = /usr/bin/install -c ++INSTALL_PROGRAM = ${INSTALL} ++INSTALL_DATA = ${INSTALL} -m 644 ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_SCRIPT = ${INSTALL} ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = s,x,x, ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++ ++EXEEXT = ++OBJEXT = o ++PATH_SEPARATOR = : ++AMTAR = tar ++AWK = gawk ++CC = gcc ++DEPDIR = .deps ++INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s ++LIBJPEG_LIB = -ljpeg ++PACKAGE = dillo ++PKG_CONFIG = /usr/bin/pkg-config ++RANLIB = ranlib ++STRIP = ++VERSION = 0.6.6 ++am__include = include ++am__quote = ++install_sh = /home/pb/dillo2/install-sh ++src = ++noinst_LIBRARIES = libDio.a ++ ++libDio_a_SOURCES = \ ++ mime.c \ ++ mime.h \ ++ about.c \ ++ Url.c \ ++ Url.h \ ++ proto.c \ ++ file.c \ ++ http.c \ ++ IO.c \ ++ IO.h ++ ++subdir = src/IO ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libDio_a_AR = $(AR) cru ++libDio_a_LIBADD = ++am_libDio_a_OBJECTS = mime.$(OBJEXT) about.$(OBJEXT) Url.$(OBJEXT) \ ++ proto.$(OBJEXT) file.$(OBJEXT) http.$(OBJEXT) IO.$(OBJEXT) ++libDio_a_OBJECTS = $(am_libDio_a_OBJECTS) ++ ++DEFS = -DHAVE_CONFIG_H ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ++LDFLAGS = -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ++LIBS = -lpng -lz -lpthread ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++DEP_FILES = ./$(DEPDIR)/IO.Po ./$(DEPDIR)/Url.Po \ ++ ./$(DEPDIR)/about.Po ./$(DEPDIR)/file.Po \ ++ ./$(DEPDIR)/http.Po ./$(DEPDIR)/mime.Po \ ++ ./$(DEPDIR)/proto.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6 ++DIST_SOURCES = $(libDio_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(libDio_a_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/IO/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++ ++AR = ar ++ ++clean-noinstLIBRARIES: ++ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) ++libDio.a: $(libDio_a_OBJECTS) $(libDio_a_DEPENDENCIES) ++ -rm -f libDio.a ++ $(libDio_a_AR) libDio.a $(libDio_a_OBJECTS) $(libDio_a_LIBADD) ++ $(RANLIB) libDio.a ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++include ./$(DEPDIR)/IO.Po ++include ./$(DEPDIR)/Url.Po ++include ./$(DEPDIR)/about.Po ++include ./$(DEPDIR)/file.Po ++include ./$(DEPDIR)/http.Po ++include ./$(DEPDIR)/mime.Po ++include ./$(DEPDIR)/proto.Po ++ ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++ source='$<' object='$@' libtool=no \ ++ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ ++ $(CCDEPMODE) $(depcomp) \ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++ source='$<' object='$@' libtool=no \ ++ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ ++ $(CCDEPMODE) $(depcomp) \ ++ $(COMPILE) -c `cygpath -w $<` ++CCDEPMODE = depmode=gcc3 ++uninstall-info-am: ++ ++ETAGS = etags ++ETAGSFLAGS = ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LIBRARIES) ++ ++installdirs: ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-depend distclean-generic distclean-tags distdir dvi \ ++ dvi-am info info-am install install-am install-data \ ++ install-data-am install-exec install-exec-am install-info \ ++ install-info-am install-man install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -urN dillo-0.6.6/src/IO/Makefile.in dillo2-0.6.6/src/IO/Makefile.in +--- dillo-0.6.6/src/IO/Makefile.in 2002-05-29 15:03:02.000000000 -0600 ++++ dillo2-0.6.6/src/IO/Makefile.in 2003-04-21 12:36:31.000000000 -0600 +@@ -1,6 +1,8 @@ +-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ + +-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -10,7 +12,7 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +- ++@SET_MAKE@ + SHELL = @SHELL@ + + srcdir = @srcdir@ +@@ -31,13 +33,9 @@ + mandir = @mandir@ + includedir = @includedir@ + oldincludedir = /usr/include +- +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +- + top_builddir = ../.. + + ACLOCAL = @ACLOCAL@ +@@ -45,257 +43,275 @@ + AUTOMAKE = @AUTOMAKE@ + AUTOHEADER = @AUTOHEADER@ + ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c + INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) + transform = @program_transform_name@ +- + NORMAL_INSTALL = : + PRE_INSTALL = : + POST_INSTALL = : + NORMAL_UNINSTALL = : + PRE_UNINSTALL = : + POST_UNINSTALL = : ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AWK = @AWK@ + CC = @CC@ +-GTK_CFLAGS = @GTK_CFLAGS@ +-GTK_CONFIG = @GTK_CONFIG@ +-GTK_LIBS = @GTK_LIBS@ ++DEPDIR = @DEPDIR@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LIBJPEG_LIB = @LIBJPEG_LIB@ +-MAKEINFO = @MAKEINFO@ + PACKAGE = @PACKAGE@ ++PKG_CONFIG = @PKG_CONFIG@ + RANLIB = @RANLIB@ ++STRIP = @STRIP@ + VERSION = @VERSION@ +-datadir = @datadir@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ + src = @src@ +- + noinst_LIBRARIES = libDio.a + +-libDio_a_SOURCES = mime.c mime.h about.c Url.c Url.h proto.c file.c http.c IO.c IO.h ++libDio_a_SOURCES = \ ++ mime.c \ ++ mime.h \ ++ about.c \ ++ Url.c \ ++ Url.h \ ++ proto.c \ ++ file.c \ ++ http.c \ ++ IO.c \ ++ IO.h + ++subdir = src/IO + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +-CONFIG_HEADER = ../../config.h +-CONFIG_CLEAN_FILES = +-LIBRARIES = $(noinst_LIBRARIES) ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LIBRARIES = $(noinst_LIBRARIES) ++ ++libDio_a_AR = $(AR) cru ++libDio_a_LIBADD = ++am_libDio_a_OBJECTS = mime.$(OBJEXT) about.$(OBJEXT) Url.$(OBJEXT) \ ++ proto.$(OBJEXT) file.$(OBJEXT) http.$(OBJEXT) IO.$(OBJEXT) ++libDio_a_OBJECTS = $(am_libDio_a_OBJECTS) + +- +-DEFS = @DEFS@ -I. -I$(srcdir) -I../.. ++DEFS = @DEFS@ ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) + CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ +-libDio_a_LIBADD = +-libDio_a_OBJECTS = mime.o about.o Url.o proto.o file.o http.o IO.o +-AR = ar +-CFLAGS = @CFLAGS@ +-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/IO.Po ./$(DEPDIR)/Url.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/about.Po ./$(DEPDIR)/file.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/http.Po ./$(DEPDIR)/mime.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/proto.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +-DIST_COMMON = Makefile.am Makefile.in +- +- +-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +- +-TAR = tar +-GZIP_ENV = --best +-DEP_FILES = .deps/IO.P .deps/Url.P .deps/about.P .deps/file.P \ +-.deps/http.P .deps/mime.P .deps/proto.P ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = @CFLAGS@ ++DIST_SOURCES = $(libDio_a_SOURCES) ++DIST_COMMON = Makefile.am Makefile.in + SOURCES = $(libDio_a_SOURCES) +-OBJECTS = $(libDio_a_OBJECTS) +- +-all: all-redirect +-.SUFFIXES: +-.SUFFIXES: .S .c .o .s +-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/IO/Makefile + +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +- cd $(top_builddir) \ +- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status ++all: all-am + ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/IO/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + +-mostlyclean-noinstLIBRARIES: ++AR = ar + + clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +- +-distclean-noinstLIBRARIES: +- +-maintainer-clean-noinstLIBRARIES: +- +-.s.o: +- $(COMPILE) -c $< +- +-.S.o: +- $(COMPILE) -c $< ++libDio.a: $(libDio_a_OBJECTS) $(libDio_a_DEPENDENCIES) ++ -rm -f libDio.a ++ $(libDio_a_AR) libDio.a $(libDio_a_OBJECTS) $(libDio_a_LIBADD) ++ $(RANLIB) libDio.a + + mostlyclean-compile: +- -rm -f *.o core *.core +- +-clean-compile: ++ -rm -f *.$(OBJEXT) core *.core + + distclean-compile: + -rm -f *.tab.c + +-maintainer-clean-compile: ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IO.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Url.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/about.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proto.Po@am__quote@ + +-libDio.a: $(libDio_a_OBJECTS) $(libDio_a_DEPENDENCIES) +- -rm -f libDio.a +- $(AR) cru libDio.a $(libDio_a_OBJECTS) $(libDio_a_LIBADD) +- $(RANLIB) libDio.a ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `cygpath -w $<` ++CCDEPMODE = @CCDEPMODE@ ++uninstall-info-am: ++ ++ETAGS = etags ++ETAGSFLAGS = + + tags: TAGS + +-ID: $(HEADERS) $(SOURCES) $(LISP) +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- here=`pwd` && cd $(srcdir) \ +- && mkid -f$$here/ID $$unique $(LISP) ++ mkid -fID $$unique + +-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ +- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) +- +-mostlyclean-tags: +- +-clean-tags: ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here + + distclean-tags: +- -rm -f TAGS ID +- +-maintainer-clean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +- +-subdir = src/IO ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + + distdir: $(DISTFILES) +- here=`cd $(top_builddir) && pwd`; \ +- top_distdir=`cd $(top_distdir) && pwd`; \ +- distdir=`cd $(distdir) && pwd`; \ +- cd $(top_srcdir) \ +- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/IO/Makefile +- @for file in $(DISTFILES); do \ +- d=$(srcdir); \ ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ + if test -d $$d/$$file; then \ +- cp -pr $$d/$$file $(distdir)/$$file; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ +- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +- || cp -p $$d/$$file $(distdir)/$$file || :; \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ + fi; \ + done +- +-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) +- +--include $(DEP_FILES) +- +-mostlyclean-depend: +- +-clean-depend: +- +-distclean-depend: +- -rm -rf .deps +- +-maintainer-clean-depend: +- +-%.o: %.c +- @echo '$(COMPILE) -c $<'; \ +- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +- @-cp .deps/$(*F).pp .deps/$(*F).P; \ +- tr ' ' '\012' < .deps/$(*F).pp \ +- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +- >> .deps/$(*F).P; \ +- rm .deps/$(*F).pp +- +-%.lo: %.c +- @echo '$(LTCOMPILE) -c $<'; \ +- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ +- < .deps/$(*F).pp > .deps/$(*F).P; \ +- tr ' ' '\012' < .deps/$(*F).pp \ +- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +- >> .deps/$(*F).P; \ +- rm -f .deps/$(*F).pp +-info-am: +-info: info-am +-dvi-am: +-dvi: dvi-am + check-am: all-am + check: check-am +-installcheck-am: +-installcheck: installcheck-am +-install-exec-am: +-install-exec: install-exec-am ++all-am: Makefile $(LIBRARIES) + +-install-data-am: +-install-data: install-data-am ++installdirs: + +-install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + install: install-am +-uninstall-am: ++install-exec: install-exec-am ++install-data: install-data-am + uninstall: uninstall-am +-all-am: Makefile $(LIBRARIES) +-all-redirect: all-am +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +-installdirs: + ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* + + maintainer-clean-generic: +-mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ +- mostlyclean-tags mostlyclean-depend mostlyclean-generic ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am + +-mostlyclean: mostlyclean-am ++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am + +-clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-depend \ +- clean-generic mostlyclean-am ++distclean: distclean-am + +-clean: clean-am ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-tags + +-distclean-am: distclean-noinstLIBRARIES distclean-compile \ +- distclean-tags distclean-depend distclean-generic \ +- clean-am ++dvi: dvi-am + +-distclean: distclean-am ++dvi-am: + +-maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ +- maintainer-clean-compile maintainer-clean-tags \ +- maintainer-clean-depend maintainer-clean-generic \ +- distclean-am +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: + + maintainer-clean: maintainer-clean-am + +-.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ +-clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ +-mostlyclean-compile distclean-compile clean-compile \ +-maintainer-clean-compile tags mostlyclean-tags distclean-tags \ +-clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +-distclean-depend clean-depend maintainer-clean-depend info-am info \ +-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +-install-exec install-data-am install-data install-am install \ +-uninstall-am uninstall all-redirect all-am all installdirs \ +-mostlyclean-generic distclean-generic clean-generic \ +-maintainer-clean-generic clean mostlyclean distclean maintainer-clean ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-info-am + ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-noinstLIBRARIES distclean distclean-compile \ ++ distclean-depend distclean-generic distclean-tags distdir dvi \ ++ dvi-am info info-am install install-am install-data \ ++ install-data-am install-exec install-exec-am install-info \ ++ install-info-am install-man install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic tags uninstall uninstall-am \ ++ uninstall-info-am + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff -urN dillo-0.6.6/src/IO/about.c dillo2-0.6.6/src/IO/about.c +--- dillo-0.6.6/src/IO/about.c 2002-05-29 15:38:08.000000000 -0600 ++++ dillo2-0.6.6/src/IO/about.c 2003-04-21 12:36:31.000000000 -0600 +@@ -51,11 +51,11 @@ + </td> + + <td BGCOLOR=\"#9090F0\"> +-<h1><b>Dillo 0.6.6</b></h1> ++<h1><b>Dillo 0.6.7-pre</b></h1> + + <hr> + <h1>Dillo project<br> +- <h3>Version 0.6.6<BR> <EM>(this is alpha code)</EM> </h3></h1> ++ <h3>Version 0.6.7-pre<BR> <EM>(this is alpha code)</EM> </h3></h1> + <h4> License: </h4> + <p> + This program is free software; you can redistribute it and/or modify +@@ -71,8 +71,7 @@ + <hr> + <h4> Release overview: </h4> + <BLOCKQUOTE> +- This is a pure bug-fix release. The main fixes were on cookies, +-the others are detailed in the ChangeLog. ++ [...] + </BLOCKQUOTE><BLOCKQUOTE> + Remember that dillo project uses a release model where every new + browser shall be better than the former. +diff -urN dillo-0.6.6/src/IO/http.c dillo2-0.6.6/src/IO/http.c +--- dillo-0.6.6/src/IO/http.c 2002-05-01 07:34:56.000000000 -0600 ++++ dillo2-0.6.6/src/IO/http.c 2003-04-21 12:36:33.000000000 -0600 +@@ -23,6 +23,7 @@ + #include <sys/wait.h> + #include <sys/socket.h> /* for lots of socket stuff */ + #include <netinet/in.h> /* for ntohl and stuff */ ++#include <arpa/inet.h> /* for inet_ntop */ + + #include "Url.h" + #include "IO.h" +@@ -52,7 +53,8 @@ + guint port; /* need a separate port in order to support PROXY */ + gboolean use_proxy; /* indicates whether to use proxy or not */ + DilloWeb *web; /* reference to client's web structure */ +- guint32 ip_addr; /* Holds the DNS answer */ ++ GSList *addr_list; /* Holds the DNS answer */ ++ GSList *addr_list_iter; /* Points to address currently being used */ + GIOChannel *GioCh; /* GIOChannel to monitor the connecting process */ + gint Err; /* Holds the errno of the connect() call */ + ChainLink *Info; /* Used for CCC asynchronous operations */ +@@ -87,7 +89,7 @@ + */ + static void Http_send_query(ChainLink *Info, SocketData_t *S); + static void Http_expect_answer(SocketData_t *S); +- ++static int Http_connect_socket(ChainLink *Info); + + + /* +@@ -209,6 +211,12 @@ + Info = S->Info; + if ( cond & G_IO_HUP ) { + DEBUG_MSG(3, "--Connection broken\n"); ++ g_io_channel_close(S->GioCh); ++ if (S->addr_list_iter->next) { ++ S->addr_list_iter = S->addr_list_iter->next; ++ if (Http_connect_socket(Info) == 0) ++ return FALSE; ++ } + BW_MSG(S->web, 0, "ERROR: unable to connect to remote host"); + a_Chain_fcb(OpAbort, 1, Info, NULL, NULL); + Http_socket_free(SKey); +@@ -236,17 +244,53 @@ + static int Http_connect_socket(ChainLink *Info) + { + gint status; ++#ifdef ENABLE_IPV6 ++ struct sockaddr_storage name; ++#else + struct sockaddr_in name; ++#endif + SocketData_t *S; ++ DilloHost *dh; + + S = a_Klist_get_data(ValidSocks, GPOINTER_TO_INT(Info->LocalKey)); + ++ dh = S->addr_list_iter->data; ++ ++ if ( (S->SockFD = socket(dh->af, SOCK_STREAM, IPPROTO_TCP)) < 0 ) { ++ S->Err = errno; ++ DEBUG_MSG(5, "Http_connect_socket ERROR: %s\n", g_strerror(errno)); ++ return -1; ++ } ++ /* set NONBLOCKING */ ++ fcntl(S->SockFD, F_SETFL, O_NONBLOCK | fcntl(S->SockFD, F_GETFL)); ++ + /* Some OSes require this... */ + memset(&name, 0, sizeof(name)); + /* Set remaining parms. */ +- name.sin_family = AF_INET; +- name.sin_port = S->port ? htons(S->port) : htons(DILLO_URL_HTTP_PORT); +- name.sin_addr.s_addr = htonl(S->ip_addr); ++ switch (dh->af) { ++ case AF_INET: ++ { ++ struct sockaddr_in *sin = (struct sockaddr_in *)&name; ++ sin->sin_family = dh->af; ++ sin->sin_port = S->port ? htons(S->port) : htons(DILLO_URL_HTTP_PORT); ++ memcpy(&sin->sin_addr, dh->data, dh->alen); ++ DEBUG_MSG(5, "Connecting to %s\n", inet_ntoa(sin->sin_addr)); ++ break; ++ } ++#ifdef ENABLE_IPV6 ++ case AF_INET6: ++ { ++ char buf[128]; ++ struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&name; ++ sin6->sin6_family = dh->af; ++ sin6->sin6_port = S->port ? htons(S->port) : htons(DILLO_URL_HTTP_PORT); ++ memcpy(&sin6->sin6_addr, dh->data, dh->alen); ++ inet_ntop(dh->af, dh->data, buf, sizeof(buf)); ++ DEBUG_MSG(5, "Connecting to %s\n", buf); ++ break; ++ } ++#endif ++ } + + S->GioCh = g_io_channel_unix_new(S->SockFD); + g_io_add_watch(S->GioCh, G_IO_ERR | G_IO_HUP | G_IO_OUT, +@@ -357,13 +401,6 @@ + + /* Set more socket parameters */ + S->Url = Url; +- if ( (S->SockFD = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0 ) { +- S->Err = errno; +- DEBUG_MSG(5, "Http_get ERROR: %s\n", g_strerror(errno)); +- return -1; +- } +- /* set NONBLOCKING */ +- fcntl(S->SockFD, F_SETFL, O_NONBLOCK | fcntl(S->SockFD, F_GETFL)); + + /* Let the user know what we'll do */ + BW_MSG(S->web, 1, "DNS solving %s", URL_HOST_(S->Url)); +@@ -402,8 +439,10 @@ + break; + case OpSend: + /* Successful DNS answer; save the IP */ +- if (S) +- S->ip_addr = *(int *)Data; ++ if (S) { ++ S->addr_list = (GSList *)Data; ++ S->addr_list_iter = S->addr_list; ++ } + break; + case OpEnd: + if (S) { +@@ -425,7 +464,6 @@ + a_Chain_del_link(Info, CCC_BCK); + BW_MSG(S->web, 0, "ERROR: Dns can't solve %s", + (S->use_proxy) ? URL_HOST_(HTTP_Proxy) : URL_HOST_(S->Url)); +- while (close(S->SockFD) == EINTR); + Http_socket_free(SKey); + /* send abort message to higher-level functions */ + a_Chain_fcb(OpAbort, 1, Info, NULL, NULL); +diff -urN dillo-0.6.6/src/Makefile dillo2-0.6.6/src/Makefile +--- dillo-0.6.6/src/Makefile 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/Makefile 2003-04-21 14:27:08.000000000 -0600 +@@ -0,0 +1,591 @@ ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# src/Makefile. Generated from Makefile.in by configure. ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++ ++SHELL = /bin/sh ++ ++srcdir = . ++top_srcdir = .. ++ ++prefix = /usr ++exec_prefix = ${prefix} ++ ++bindir = ${exec_prefix}/bin ++sbindir = ${exec_prefix}/sbin ++libexecdir = ${exec_prefix}/libexec ++datadir = ${prefix}/share ++sysconfdir = ${prefix}/etc ++sharedstatedir = ${prefix}/com ++localstatedir = ${prefix}/var ++libdir = ${exec_prefix}/lib ++infodir = ${prefix}/info ++mandir = ${prefix}/man ++includedir = ${prefix}/include ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/dillo ++pkglibdir = $(libdir)/dillo ++pkgincludedir = $(includedir)/dillo ++top_builddir = .. ++ ++ACLOCAL = aclocal-1.6 ++AUTOCONF = autoconf ++AUTOMAKE = automake-1.6 ++AUTOHEADER = autoheader ++ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = /usr/bin/install -c ++INSTALL_PROGRAM = ${INSTALL} ++INSTALL_DATA = ${INSTALL} -m 644 ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_SCRIPT = ${INSTALL} ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = s,x,x, ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++ ++EXEEXT = ++OBJEXT = o ++PATH_SEPARATOR = : ++AMTAR = tar ++AWK = gawk ++CC = gcc ++DEPDIR = .deps ++INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s ++LIBJPEG_LIB = -ljpeg ++PACKAGE = dillo ++PKG_CONFIG = /usr/bin/pkg-config ++RANLIB = ranlib ++STRIP = ++VERSION = 0.6.6 ++am__include = include ++am__quote = ++install_sh = /home/pb/dillo2/install-sh ++src = ++SUBDIRS = IO ++ ++bin_PROGRAMS = dillo ++ ++dillo_LDADD = IO/libDio.a -ljpeg ++ ++dillo_SOURCES = \ ++ acconfig.h \ ++ chain.h \ ++ chain.c \ ++ commands.c \ ++ commands.h \ ++ cache.c \ ++ cache.h \ ++ debug.h \ ++ dw.h \ ++ dw.c \ ++ dw_aligned_page.c \ ++ dw_aligned_page.h \ ++ dw_bullet.c \ ++ dw_bullet.h \ ++ dw_button.c \ ++ dw_button.h \ ++ dw_container.c \ ++ dw_container.h \ ++ dw_embed_gtk.c \ ++ dw_embed_gtk.h \ ++ dw_ext_iterator.h \ ++ dw_ext_iterator.c \ ++ dw_gtk_scrolled_frame.c \ ++ dw_gtk_scrolled_frame.h \ ++ dw_gtk_scrolled_window.c \ ++ dw_gtk_scrolled_window.h \ ++ dw_gtk_viewport.c \ ++ dw_gtk_viewport.h \ ++ dw_hruler.c \ ++ dw_hruler.h \ ++ dw_image.c \ ++ dw_image.h \ ++ dw_list_item.c \ ++ dw_list_item.h \ ++ dw_marshal.c \ ++ dw_marshal.h \ ++ dw_page.c \ ++ dw_page.h \ ++ dw_style.c \ ++ dw_style.h \ ++ dw_table.c \ ++ dw_table.h \ ++ dw_tooltip.c \ ++ dw_tooltip.h \ ++ dw_widget.c \ ++ dw_widget.h \ ++ findtext.c \ ++ findtext.h \ ++ web.c \ ++ web.h \ ++ progressbar.c \ ++ progressbar.h \ ++ dillo.c \ ++ dillo.h \ ++ bookmark.c \ ++ bookmark.h \ ++ browser.h \ ++ dicache.c \ ++ dicache.h \ ++ dns.c \ ++ dns.h \ ++ gif.c \ ++ jpeg.c \ ++ png.c \ ++ html.c \ ++ html.h \ ++ image.c \ ++ image.h \ ++ misc.c \ ++ misc.h \ ++ interface.h \ ++ interface.c \ ++ history.c \ ++ history.h \ ++ nav.c \ ++ nav.h \ ++ plain.c \ ++ menu.c \ ++ menu.h \ ++ prefs.c \ ++ prefs.h \ ++ colors.c \ ++ colors.h \ ++ bitvec.c \ ++ bitvec.h \ ++ klist.c \ ++ klist.h \ ++ url.c \ ++ url.h \ ++ cookies.c \ ++ cookies.h \ ++ list.h \ ++ pixmaps.h ++ ++ ++EXTRA_DIST = pixmaps_old.h dw_marshal.sh chg srch ++subdir = src ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++bin_PROGRAMS = dillo$(EXEEXT) ++PROGRAMS = $(bin_PROGRAMS) ++ ++am_dillo_OBJECTS = chain.$(OBJEXT) commands.$(OBJEXT) cache.$(OBJEXT) \ ++ dw.$(OBJEXT) dw_aligned_page.$(OBJEXT) dw_bullet.$(OBJEXT) \ ++ dw_button.$(OBJEXT) dw_container.$(OBJEXT) \ ++ dw_embed_gtk.$(OBJEXT) dw_ext_iterator.$(OBJEXT) \ ++ dw_gtk_scrolled_frame.$(OBJEXT) \ ++ dw_gtk_scrolled_window.$(OBJEXT) dw_gtk_viewport.$(OBJEXT) \ ++ dw_hruler.$(OBJEXT) dw_image.$(OBJEXT) dw_list_item.$(OBJEXT) \ ++ dw_marshal.$(OBJEXT) dw_page.$(OBJEXT) dw_style.$(OBJEXT) \ ++ dw_table.$(OBJEXT) dw_tooltip.$(OBJEXT) dw_widget.$(OBJEXT) \ ++ findtext.$(OBJEXT) web.$(OBJEXT) progressbar.$(OBJEXT) \ ++ dillo.$(OBJEXT) bookmark.$(OBJEXT) dicache.$(OBJEXT) \ ++ dns.$(OBJEXT) gif.$(OBJEXT) jpeg.$(OBJEXT) png.$(OBJEXT) \ ++ html.$(OBJEXT) image.$(OBJEXT) misc.$(OBJEXT) \ ++ interface.$(OBJEXT) history.$(OBJEXT) nav.$(OBJEXT) \ ++ plain.$(OBJEXT) menu.$(OBJEXT) prefs.$(OBJEXT) colors.$(OBJEXT) \ ++ bitvec.$(OBJEXT) klist.$(OBJEXT) url.$(OBJEXT) \ ++ cookies.$(OBJEXT) ++dillo_OBJECTS = $(am_dillo_OBJECTS) ++dillo_DEPENDENCIES = IO/libDio.a ++dillo_LDFLAGS = ++ ++DEFS = -DHAVE_CONFIG_H ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ++LDFLAGS = -L/usr/local/lib -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ++LIBS = -lpng -lz -lpthread ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++DEP_FILES = ./$(DEPDIR)/bitvec.Po ./$(DEPDIR)/bookmark.Po \ ++ ./$(DEPDIR)/cache.Po ./$(DEPDIR)/chain.Po \ ++ ./$(DEPDIR)/colors.Po ./$(DEPDIR)/commands.Po \ ++ ./$(DEPDIR)/cookies.Po ./$(DEPDIR)/dicache.Po \ ++ ./$(DEPDIR)/dillo.Po ./$(DEPDIR)/dns.Po \ ++ ./$(DEPDIR)/dw.Po ./$(DEPDIR)/dw_aligned_page.Po \ ++ ./$(DEPDIR)/dw_bullet.Po ./$(DEPDIR)/dw_button.Po \ ++ ./$(DEPDIR)/dw_container.Po \ ++ ./$(DEPDIR)/dw_embed_gtk.Po \ ++ ./$(DEPDIR)/dw_ext_iterator.Po \ ++ ./$(DEPDIR)/dw_gtk_scrolled_frame.Po \ ++ ./$(DEPDIR)/dw_gtk_scrolled_window.Po \ ++ ./$(DEPDIR)/dw_gtk_viewport.Po \ ++ ./$(DEPDIR)/dw_hruler.Po ./$(DEPDIR)/dw_image.Po \ ++ ./$(DEPDIR)/dw_list_item.Po \ ++ ./$(DEPDIR)/dw_marshal.Po ./$(DEPDIR)/dw_page.Po \ ++ ./$(DEPDIR)/dw_style.Po ./$(DEPDIR)/dw_table.Po \ ++ ./$(DEPDIR)/dw_tooltip.Po ./$(DEPDIR)/dw_widget.Po \ ++ ./$(DEPDIR)/findtext.Po ./$(DEPDIR)/gif.Po \ ++ ./$(DEPDIR)/history.Po ./$(DEPDIR)/html.Po \ ++ ./$(DEPDIR)/image.Po ./$(DEPDIR)/interface.Po \ ++ ./$(DEPDIR)/jpeg.Po ./$(DEPDIR)/klist.Po \ ++ ./$(DEPDIR)/menu.Po ./$(DEPDIR)/misc.Po \ ++ ./$(DEPDIR)/nav.Po ./$(DEPDIR)/plain.Po \ ++ ./$(DEPDIR)/png.Po ./$(DEPDIR)/prefs.Po \ ++ ./$(DEPDIR)/progressbar.Po ./$(DEPDIR)/url.Po \ ++ ./$(DEPDIR)/web.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = -g -O2 -D_REENTRANT -D_THREAD_SAFE -Wall -Waggregate-return -DENABLE_IPV6 ++DIST_SOURCES = $(dillo_SOURCES) ++ ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = Makefile.am Makefile.in ++DIST_SUBDIRS = $(SUBDIRS) ++SOURCES = $(dillo_SOURCES) ++ ++all: all-recursive ++ ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) ++install-binPROGRAMS: $(bin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(bindir) ++ @list='$(bin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ ++ else :; fi; \ ++ done ++ ++uninstall-binPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(bin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ ++ rm -f $(DESTDIR)$(bindir)/$$f; \ ++ done ++ ++clean-binPROGRAMS: ++ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ++dillo$(EXEEXT): $(dillo_OBJECTS) $(dillo_DEPENDENCIES) ++ @rm -f dillo$(EXEEXT) ++ $(LINK) $(dillo_LDFLAGS) $(dillo_OBJECTS) $(dillo_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++include ./$(DEPDIR)/bitvec.Po ++include ./$(DEPDIR)/bookmark.Po ++include ./$(DEPDIR)/cache.Po ++include ./$(DEPDIR)/chain.Po ++include ./$(DEPDIR)/colors.Po ++include ./$(DEPDIR)/commands.Po ++include ./$(DEPDIR)/cookies.Po ++include ./$(DEPDIR)/dicache.Po ++include ./$(DEPDIR)/dillo.Po ++include ./$(DEPDIR)/dns.Po ++include ./$(DEPDIR)/dw.Po ++include ./$(DEPDIR)/dw_aligned_page.Po ++include ./$(DEPDIR)/dw_bullet.Po ++include ./$(DEPDIR)/dw_button.Po ++include ./$(DEPDIR)/dw_container.Po ++include ./$(DEPDIR)/dw_embed_gtk.Po ++include ./$(DEPDIR)/dw_ext_iterator.Po ++include ./$(DEPDIR)/dw_gtk_scrolled_frame.Po ++include ./$(DEPDIR)/dw_gtk_scrolled_window.Po ++include ./$(DEPDIR)/dw_gtk_viewport.Po ++include ./$(DEPDIR)/dw_hruler.Po ++include ./$(DEPDIR)/dw_image.Po ++include ./$(DEPDIR)/dw_list_item.Po ++include ./$(DEPDIR)/dw_marshal.Po ++include ./$(DEPDIR)/dw_page.Po ++include ./$(DEPDIR)/dw_style.Po ++include ./$(DEPDIR)/dw_table.Po ++include ./$(DEPDIR)/dw_tooltip.Po ++include ./$(DEPDIR)/dw_widget.Po ++include ./$(DEPDIR)/findtext.Po ++include ./$(DEPDIR)/gif.Po ++include ./$(DEPDIR)/history.Po ++include ./$(DEPDIR)/html.Po ++include ./$(DEPDIR)/image.Po ++include ./$(DEPDIR)/interface.Po ++include ./$(DEPDIR)/jpeg.Po ++include ./$(DEPDIR)/klist.Po ++include ./$(DEPDIR)/menu.Po ++include ./$(DEPDIR)/misc.Po ++include ./$(DEPDIR)/nav.Po ++include ./$(DEPDIR)/plain.Po ++include ./$(DEPDIR)/png.Po ++include ./$(DEPDIR)/prefs.Po ++include ./$(DEPDIR)/progressbar.Po ++include ./$(DEPDIR)/url.Po ++include ./$(DEPDIR)/web.Po ++ ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++ source='$<' object='$@' libtool=no \ ++ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ ++ $(CCDEPMODE) $(depcomp) \ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++ source='$<' object='$@' libtool=no \ ++ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ ++ $(CCDEPMODE) $(depcomp) \ ++ $(COMPILE) -c `cygpath -w $<` ++CCDEPMODE = depmode=gcc3 ++uninstall-info-am: ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @set fnord $$MAKEFLAGS; amf=$$2; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @set fnord $$MAKEFLAGS; amf=$$2; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ ++ETAGS = etags ++ETAGSFLAGS = ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d $(distdir)/$$subdir \ ++ || mkdir $(distdir)/$$subdir \ ++ || exit 1; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-recursive ++all-am: Makefile $(PROGRAMS) ++installdirs: installdirs-recursive ++installdirs-am: ++ $(mkinstalldirs) $(DESTDIR)$(bindir) ++ ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-binPROGRAMS clean-generic mostlyclean-am ++ ++distclean: distclean-recursive ++ ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-binPROGRAMS ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-binPROGRAMS uninstall-info-am ++ ++uninstall-info: uninstall-info-recursive ++ ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-binPROGRAMS clean-generic clean-recursive distclean \ ++ distclean-compile distclean-depend distclean-generic \ ++ distclean-recursive distclean-tags distdir dvi dvi-am \ ++ dvi-recursive info info-am info-recursive install install-am \ ++ install-binPROGRAMS install-data install-data-am \ ++ install-data-recursive install-exec install-exec-am \ ++ install-exec-recursive install-info install-info-am \ ++ install-info-recursive install-man install-recursive \ ++ install-strip installcheck installcheck-am installdirs \ ++ installdirs-am installdirs-recursive maintainer-clean \ ++ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-recursive \ ++ tags tags-recursive uninstall uninstall-am \ ++ uninstall-binPROGRAMS uninstall-info-am \ ++ uninstall-info-recursive uninstall-recursive ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -urN dillo-0.6.6/src/Makefile.am dillo2-0.6.6/src/Makefile.am +--- dillo-0.6.6/src/Makefile.am 2002-05-27 15:27:14.000000000 -0600 ++++ dillo2-0.6.6/src/Makefile.am 2003-04-21 12:35:28.000000000 -0600 +@@ -25,12 +25,12 @@ + dw_container.h \ + dw_embed_gtk.c \ + dw_embed_gtk.h \ ++ dw_ext_iterator.h \ ++ dw_ext_iterator.c \ + dw_gtk_scrolled_frame.c \ + dw_gtk_scrolled_frame.h \ + dw_gtk_scrolled_window.c \ + dw_gtk_scrolled_window.h \ +- dw_gtk_statuslabel.c \ +- dw_gtk_statuslabel.h \ + dw_gtk_viewport.c \ + dw_gtk_viewport.h \ + dw_hruler.c \ +@@ -99,4 +99,4 @@ + list.h \ + pixmaps.h + +-EXTRA_DIST = pixmaps_old.h chg srch ++EXTRA_DIST = pixmaps_old.h dw_marshal.sh chg srch +diff -urN dillo-0.6.6/src/Makefile.in dillo2-0.6.6/src/Makefile.in +--- dillo-0.6.6/src/Makefile.in 2002-05-29 15:02:56.000000000 -0600 ++++ dillo2-0.6.6/src/Makefile.in 2003-04-21 12:35:29.000000000 -0600 +@@ -1,6 +1,8 @@ +-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ + +-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -10,7 +12,7 @@ + # even the implied warranty of MERCHANTABILITY or FITNESS FOR A + # PARTICULAR PURPOSE. + +- ++@SET_MAKE@ + SHELL = @SHELL@ + + srcdir = @srcdir@ +@@ -31,13 +33,9 @@ + mandir = @mandir@ + includedir = @includedir@ + oldincludedir = /usr/include +- +-DESTDIR = +- + pkgdatadir = $(datadir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +- + top_builddir = .. + + ACLOCAL = @ACLOCAL@ +@@ -45,142 +43,327 @@ + AUTOMAKE = @AUTOMAKE@ + AUTOHEADER = @AUTOHEADER@ + ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c + INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) + transform = @program_transform_name@ +- + NORMAL_INSTALL = : + PRE_INSTALL = : + POST_INSTALL = : + NORMAL_UNINSTALL = : + PRE_UNINSTALL = : + POST_UNINSTALL = : ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AWK = @AWK@ + CC = @CC@ +-GTK_CFLAGS = @GTK_CFLAGS@ +-GTK_CONFIG = @GTK_CONFIG@ +-GTK_LIBS = @GTK_LIBS@ ++DEPDIR = @DEPDIR@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LIBJPEG_LIB = @LIBJPEG_LIB@ +-MAKEINFO = @MAKEINFO@ + PACKAGE = @PACKAGE@ ++PKG_CONFIG = @PKG_CONFIG@ + RANLIB = @RANLIB@ ++STRIP = @STRIP@ + VERSION = @VERSION@ +-datadir = @datadir@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++install_sh = @install_sh@ + src = @src@ +- + SUBDIRS = IO + + bin_PROGRAMS = dillo + + dillo_LDADD = IO/libDio.a @LIBJPEG_LIB@ + +-dillo_SOURCES = acconfig.h chain.h chain.c commands.c commands.h cache.c cache.h debug.h dw.h dw.c dw_aligned_page.c dw_aligned_page.h dw_bullet.c dw_bullet.h dw_button.c dw_button.h dw_container.c dw_container.h dw_embed_gtk.c dw_embed_gtk.h dw_gtk_scrolled_frame.c dw_gtk_scrolled_frame.h dw_gtk_scrolled_window.c dw_gtk_scrolled_window.h dw_gtk_statuslabel.c dw_gtk_statuslabel.h dw_gtk_viewport.c dw_gtk_viewport.h dw_hruler.c dw_hruler.h dw_image.c dw_image.h dw_list_item.c dw_list_item.h dw_marshal.c dw_marshal.h dw_page.c dw_page.h dw_style.c dw_style.h dw_table.c dw_table.h dw_tooltip.c dw_tooltip.h dw_widget.c dw_widget.h findtext.c findtext.h web.c web.h progressbar.c progressbar.h dillo.c dillo.h bookmark.c bookmark.h browser.h dicache.c dicache.h dns.c dns.h gif.c jpeg.c png.c html.c html.h image.c image.h misc.c misc.h interface.h interface.c history.c history.h nav.c nav.h plain.c menu.c menu.h prefs.c prefs.h colors.c colors.h bitvec.c bitvec.h klist.c klist.h url.c url.h cookies.c cookies.h list.h pixmaps.h ++dillo_SOURCES = \ ++ acconfig.h \ ++ chain.h \ ++ chain.c \ ++ commands.c \ ++ commands.h \ ++ cache.c \ ++ cache.h \ ++ debug.h \ ++ dw.h \ ++ dw.c \ ++ dw_aligned_page.c \ ++ dw_aligned_page.h \ ++ dw_bullet.c \ ++ dw_bullet.h \ ++ dw_button.c \ ++ dw_button.h \ ++ dw_container.c \ ++ dw_container.h \ ++ dw_embed_gtk.c \ ++ dw_embed_gtk.h \ ++ dw_ext_iterator.h \ ++ dw_ext_iterator.c \ ++ dw_gtk_scrolled_frame.c \ ++ dw_gtk_scrolled_frame.h \ ++ dw_gtk_scrolled_window.c \ ++ dw_gtk_scrolled_window.h \ ++ dw_gtk_viewport.c \ ++ dw_gtk_viewport.h \ ++ dw_hruler.c \ ++ dw_hruler.h \ ++ dw_image.c \ ++ dw_image.h \ ++ dw_list_item.c \ ++ dw_list_item.h \ ++ dw_marshal.c \ ++ dw_marshal.h \ ++ dw_page.c \ ++ dw_page.h \ ++ dw_style.c \ ++ dw_style.h \ ++ dw_table.c \ ++ dw_table.h \ ++ dw_tooltip.c \ ++ dw_tooltip.h \ ++ dw_widget.c \ ++ dw_widget.h \ ++ findtext.c \ ++ findtext.h \ ++ web.c \ ++ web.h \ ++ progressbar.c \ ++ progressbar.h \ ++ dillo.c \ ++ dillo.h \ ++ bookmark.c \ ++ bookmark.h \ ++ browser.h \ ++ dicache.c \ ++ dicache.h \ ++ dns.c \ ++ dns.h \ ++ gif.c \ ++ jpeg.c \ ++ png.c \ ++ html.c \ ++ html.h \ ++ image.c \ ++ image.h \ ++ misc.c \ ++ misc.h \ ++ interface.h \ ++ interface.c \ ++ history.c \ ++ history.h \ ++ nav.c \ ++ nav.h \ ++ plain.c \ ++ menu.c \ ++ menu.h \ ++ prefs.c \ ++ prefs.h \ ++ colors.c \ ++ colors.h \ ++ bitvec.c \ ++ bitvec.h \ ++ klist.c \ ++ klist.h \ ++ url.c \ ++ url.h \ ++ cookies.c \ ++ cookies.h \ ++ list.h \ ++ pixmaps.h + + +-EXTRA_DIST = pixmaps_old.h chg srch ++EXTRA_DIST = pixmaps_old.h dw_marshal.sh chg srch ++subdir = src + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +-CONFIG_HEADER = ../config.h +-CONFIG_CLEAN_FILES = +-PROGRAMS = $(bin_PROGRAMS) +- ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++bin_PROGRAMS = dillo$(EXEEXT) ++PROGRAMS = $(bin_PROGRAMS) ++ ++am_dillo_OBJECTS = chain.$(OBJEXT) commands.$(OBJEXT) cache.$(OBJEXT) \ ++ dw.$(OBJEXT) dw_aligned_page.$(OBJEXT) dw_bullet.$(OBJEXT) \ ++ dw_button.$(OBJEXT) dw_container.$(OBJEXT) \ ++ dw_embed_gtk.$(OBJEXT) dw_ext_iterator.$(OBJEXT) \ ++ dw_gtk_scrolled_frame.$(OBJEXT) \ ++ dw_gtk_scrolled_window.$(OBJEXT) dw_gtk_viewport.$(OBJEXT) \ ++ dw_hruler.$(OBJEXT) dw_image.$(OBJEXT) dw_list_item.$(OBJEXT) \ ++ dw_marshal.$(OBJEXT) dw_page.$(OBJEXT) dw_style.$(OBJEXT) \ ++ dw_table.$(OBJEXT) dw_tooltip.$(OBJEXT) dw_widget.$(OBJEXT) \ ++ findtext.$(OBJEXT) web.$(OBJEXT) progressbar.$(OBJEXT) \ ++ dillo.$(OBJEXT) bookmark.$(OBJEXT) dicache.$(OBJEXT) \ ++ dns.$(OBJEXT) gif.$(OBJEXT) jpeg.$(OBJEXT) png.$(OBJEXT) \ ++ html.$(OBJEXT) image.$(OBJEXT) misc.$(OBJEXT) \ ++ interface.$(OBJEXT) history.$(OBJEXT) nav.$(OBJEXT) \ ++ plain.$(OBJEXT) menu.$(OBJEXT) prefs.$(OBJEXT) colors.$(OBJEXT) \ ++ bitvec.$(OBJEXT) klist.$(OBJEXT) url.$(OBJEXT) \ ++ cookies.$(OBJEXT) ++dillo_OBJECTS = $(am_dillo_OBJECTS) ++dillo_DEPENDENCIES = IO/libDio.a ++dillo_LDFLAGS = + +-DEFS = @DEFS@ -I. -I$(srcdir) -I.. ++DEFS = @DEFS@ ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) + CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ +-dillo_OBJECTS = chain.o commands.o cache.o dw.o dw_aligned_page.o \ +-dw_bullet.o dw_button.o dw_container.o dw_embed_gtk.o \ +-dw_gtk_scrolled_frame.o dw_gtk_scrolled_window.o dw_gtk_statuslabel.o \ +-dw_gtk_viewport.o dw_hruler.o dw_image.o dw_list_item.o dw_marshal.o \ +-dw_page.o dw_style.o dw_table.o dw_tooltip.o dw_widget.o findtext.o \ +-web.o progressbar.o dillo.o bookmark.o dicache.o dns.o gif.o jpeg.o \ +-png.o html.o image.o misc.o interface.o history.o nav.o plain.o menu.o \ +-prefs.o colors.o bitvec.o klist.o url.o cookies.o +-dillo_DEPENDENCIES = IO/libDio.a +-dillo_LDFLAGS = +-CFLAGS = @CFLAGS@ +-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bitvec.Po ./$(DEPDIR)/bookmark.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/cache.Po ./$(DEPDIR)/chain.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/colors.Po ./$(DEPDIR)/commands.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/cookies.Po ./$(DEPDIR)/dicache.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dillo.Po ./$(DEPDIR)/dns.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw.Po ./$(DEPDIR)/dw_aligned_page.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_bullet.Po ./$(DEPDIR)/dw_button.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_container.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_embed_gtk.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_ext_iterator.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_gtk_scrolled_frame.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_gtk_scrolled_window.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_gtk_viewport.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_hruler.Po ./$(DEPDIR)/dw_image.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_list_item.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_marshal.Po ./$(DEPDIR)/dw_page.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_style.Po ./$(DEPDIR)/dw_table.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/dw_tooltip.Po ./$(DEPDIR)/dw_widget.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/findtext.Po ./$(DEPDIR)/gif.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/history.Po ./$(DEPDIR)/html.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/image.Po ./$(DEPDIR)/interface.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/jpeg.Po ./$(DEPDIR)/klist.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/menu.Po ./$(DEPDIR)/misc.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/nav.Po ./$(DEPDIR)/plain.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/png.Po ./$(DEPDIR)/prefs.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/progressbar.Po ./$(DEPDIR)/url.Po \ ++@AMDEP_TRUE@ ./$(DEPDIR)/web.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + CCLD = $(CC) +-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +-DIST_COMMON = Makefile.am Makefile.in +- +- +-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = @CFLAGS@ ++DIST_SOURCES = $(dillo_SOURCES) + +-TAR = tar +-GZIP_ENV = --best +-DEP_FILES = .deps/bitvec.P .deps/bookmark.P .deps/cache.P .deps/chain.P \ +-.deps/colors.P .deps/commands.P .deps/cookies.P .deps/dicache.P \ +-.deps/dillo.P .deps/dns.P .deps/dw.P .deps/dw_aligned_page.P \ +-.deps/dw_bullet.P .deps/dw_button.P .deps/dw_container.P \ +-.deps/dw_embed_gtk.P .deps/dw_gtk_scrolled_frame.P \ +-.deps/dw_gtk_scrolled_window.P .deps/dw_gtk_statuslabel.P \ +-.deps/dw_gtk_viewport.P .deps/dw_hruler.P .deps/dw_image.P \ +-.deps/dw_list_item.P .deps/dw_marshal.P .deps/dw_page.P \ +-.deps/dw_style.P .deps/dw_table.P .deps/dw_tooltip.P .deps/dw_widget.P \ +-.deps/findtext.P .deps/gif.P .deps/history.P .deps/html.P .deps/image.P \ +-.deps/interface.P .deps/jpeg.P .deps/klist.P .deps/menu.P .deps/misc.P \ +-.deps/nav.P .deps/plain.P .deps/png.P .deps/prefs.P .deps/progressbar.P \ +-.deps/url.P .deps/web.P ++RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ ++ uninstall-info-recursive all-recursive install-data-recursive \ ++ install-exec-recursive installdirs-recursive install-recursive \ ++ uninstall-recursive check-recursive installcheck-recursive ++DIST_COMMON = Makefile.am Makefile.in ++DIST_SUBDIRS = $(SUBDIRS) + SOURCES = $(dillo_SOURCES) +-OBJECTS = $(dillo_OBJECTS) +- +-all: all-redirect +-.SUFFIXES: +-.SUFFIXES: .S .c .o .s +-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile +- +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +- cd $(top_builddir) \ +- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + ++all: all-recursive + +-mostlyclean-binPROGRAMS: +- +-clean-binPROGRAMS: +- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +- +-distclean-binPROGRAMS: +- +-maintainer-clean-binPROGRAMS: +- ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu src/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ +- if test -f $$p; then \ +- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ +- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ ++ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ + else :; fi; \ + done + + uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) +- list='$(bin_PROGRAMS)'; for p in $$list; do \ +- rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ ++ @list='$(bin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ ++ rm -f $(DESTDIR)$(bindir)/$$f; \ + done + +-.s.o: +- $(COMPILE) -c $< +- +-.S.o: +- $(COMPILE) -c $< ++clean-binPROGRAMS: ++ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ++dillo$(EXEEXT): $(dillo_OBJECTS) $(dillo_DEPENDENCIES) ++ @rm -f dillo$(EXEEXT) ++ $(LINK) $(dillo_LDFLAGS) $(dillo_OBJECTS) $(dillo_LDADD) $(LIBS) + + mostlyclean-compile: +- -rm -f *.o core *.core +- +-clean-compile: ++ -rm -f *.$(OBJEXT) core *.core + + distclean-compile: + -rm -f *.tab.c + +-maintainer-clean-compile: ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitvec.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bookmark.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chain.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colors.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commands.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cookies.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dicache.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dillo.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_aligned_page.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_bullet.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_button.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_container.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_embed_gtk.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_ext_iterator.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_gtk_scrolled_frame.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_gtk_scrolled_window.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_gtk_viewport.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_hruler.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_image.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_list_item.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_marshal.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_page.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_style.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_table.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_tooltip.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dw_widget.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/findtext.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gif.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/history.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/html.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interface.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpeg.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/klist.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nav.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plain.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/png.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefs.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progressbar.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/web.Po@am__quote@ + +-dillo: $(dillo_OBJECTS) $(dillo_DEPENDENCIES) +- @rm -f dillo +- $(LINK) $(dillo_LDFLAGS) $(dillo_OBJECTS) $(dillo_LDADD) $(LIBS) ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `cygpath -w $<` ++CCDEPMODE = @CCDEPMODE@ ++uninstall-info-am: + + # This directory's subdirectories are mostly independent; you can cd + # into them and run `make' without going through this Makefile. +@@ -188,13 +371,8 @@ + # (1) if the variable is set in `config.status', edit `config.status' + # (which will cause the Makefiles to be regenerated when you run `make'); + # (2) otherwise, pass the desired values on the `make' command line. +- +-@SET_MAKE@ +- +-all-recursive install-data-recursive install-exec-recursive \ +-installdirs-recursive install-recursive uninstall-recursive \ +-check-recursive installcheck-recursive info-recursive dvi-recursive: +- @set fnord $(MAKEFLAGS); amf=$$2; \ ++$(RECURSIVE_TARGETS): ++ @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ +@@ -214,13 +392,18 @@ + + mostlyclean-recursive clean-recursive distclean-recursive \ + maintainer-clean-recursive: +- @set fnord $(MAKEFLAGS); amf=$$2; \ ++ @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ +- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ +- rev="$$subdir $$rev"; \ +- test "$$subdir" = "." && dot_seen=yes; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ + done; \ +- test "$$dot_seen" = "no" && rev=". $$rev"; \ ++ rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ +@@ -237,181 +420,171 @@ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + ++ETAGS = etags ++ETAGSFLAGS = ++ + tags: TAGS + +-ID: $(HEADERS) $(SOURCES) $(LISP) +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- here=`pwd` && cd $(srcdir) \ +- && mkid -f$$here/ID $$unique $(LISP) ++ mkid -fID $$unique + +-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) ++TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ +- if test "$$subdir" = .; then :; else \ ++ if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ +- fi; \ ++ fi; \ + done; \ +- list='$(SOURCES) $(HEADERS)'; \ +- unique=`for i in $$list; do echo $$i; done | \ +- awk ' { files[$$0] = 1; } \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ +- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ +- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) +- +-mostlyclean-tags: +- +-clean-tags: ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here + + distclean-tags: +- -rm -f TAGS ID ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + +-maintainer-clean-tags: +- +-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +- +-subdir = src ++top_distdir = .. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + + distdir: $(DISTFILES) +- here=`cd $(top_builddir) && pwd`; \ +- top_distdir=`cd $(top_distdir) && pwd`; \ +- distdir=`cd $(distdir) && pwd`; \ +- cd $(top_srcdir) \ +- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile +- @for file in $(DISTFILES); do \ +- d=$(srcdir); \ ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ + if test -d $$d/$$file; then \ +- cp -pr $$d/$$file $(distdir)/$$file; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ +- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +- || cp -p $$d/$$file $(distdir)/$$file || :; \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ + fi; \ + done +- for subdir in $(SUBDIRS); do \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ +- chmod 777 $(distdir)/$$subdir; \ +- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" \ ++ distdir=../$(distdir)/$$subdir \ ++ distdir) \ + || exit 1; \ + fi; \ + done +- +-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) +- +--include $(DEP_FILES) +- +-mostlyclean-depend: +- +-clean-depend: +- +-distclean-depend: +- -rm -rf .deps +- +-maintainer-clean-depend: +- +-%.o: %.c +- @echo '$(COMPILE) -c $<'; \ +- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +- @-cp .deps/$(*F).pp .deps/$(*F).P; \ +- tr ' ' '\012' < .deps/$(*F).pp \ +- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +- >> .deps/$(*F).P; \ +- rm .deps/$(*F).pp +- +-%.lo: %.c +- @echo '$(LTCOMPILE) -c $<'; \ +- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ +- < .deps/$(*F).pp > .deps/$(*F).P; \ +- tr ' ' '\012' < .deps/$(*F).pp \ +- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +- >> .deps/$(*F).P; \ +- rm -f .deps/$(*F).pp +-info-am: +-info: info-recursive +-dvi-am: +-dvi: dvi-recursive + check-am: all-am + check: check-recursive +-installcheck-am: +-installcheck: installcheck-recursive +-install-exec-am: install-binPROGRAMS +-install-exec: install-exec-recursive ++all-am: Makefile $(PROGRAMS) ++installdirs: installdirs-recursive ++installdirs-am: ++ $(mkinstalldirs) $(DESTDIR)$(bindir) + +-install-data-am: ++install: install-recursive ++install-exec: install-exec-recursive + install-data: install-data-recursive ++uninstall: uninstall-recursive + + install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +-install: install-recursive +-uninstall-am: uninstall-binPROGRAMS +-uninstall: uninstall-recursive +-all-am: Makefile $(PROGRAMS) +-all-redirect: all-recursive +-install-strip: +- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +-installdirs: installdirs-recursive +-installdirs-am: +- $(mkinstalldirs) $(DESTDIR)$(bindir) +- + ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: + + distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) +- -rm -f config.cache config.log stamp-h stamp-h[0-9]* + + maintainer-clean-generic: +-mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ +- mostlyclean-tags mostlyclean-depend mostlyclean-generic ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive + +-mostlyclean: mostlyclean-recursive ++clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +-clean-am: clean-binPROGRAMS clean-compile clean-tags clean-depend \ +- clean-generic mostlyclean-am ++distclean: distclean-recursive + +-clean: clean-recursive ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-tags + +-distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ +- distclean-depend distclean-generic clean-am ++dvi: dvi-recursive + +-distclean: distclean-recursive ++dvi-am: + +-maintainer-clean-am: maintainer-clean-binPROGRAMS \ +- maintainer-clean-compile maintainer-clean-tags \ +- maintainer-clean-depend maintainer-clean-generic \ +- distclean-am +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." ++info: info-recursive ++ ++info-am: ++ ++install-data-am: ++ ++install-exec-am: install-binPROGRAMS ++ ++install-info: install-info-recursive ++ ++install-man: ++ ++installcheck-am: + + maintainer-clean: maintainer-clean-recursive + +-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +-mostlyclean-compile distclean-compile clean-compile \ +-maintainer-clean-compile install-data-recursive \ +-uninstall-data-recursive install-exec-recursive \ +-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ +-all-recursive check-recursive installcheck-recursive info-recursive \ +-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +-distclean-tags clean-tags maintainer-clean-tags distdir \ +-mostlyclean-depend distclean-depend clean-depend \ +-maintainer-clean-depend info-am info dvi-am dvi check check-am \ +-installcheck-am installcheck install-exec-am install-exec \ +-install-data-am install-data install-am install uninstall-am uninstall \ +-all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ +-distclean-generic clean-generic maintainer-clean-generic clean \ +-mostlyclean distclean maintainer-clean ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++uninstall-am: uninstall-binPROGRAMS uninstall-info-am ++ ++uninstall-info: uninstall-info-recursive + ++.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ ++ clean-binPROGRAMS clean-generic clean-recursive distclean \ ++ distclean-compile distclean-depend distclean-generic \ ++ distclean-recursive distclean-tags distdir dvi dvi-am \ ++ dvi-recursive info info-am info-recursive install install-am \ ++ install-binPROGRAMS install-data install-data-am \ ++ install-data-recursive install-exec install-exec-am \ ++ install-exec-recursive install-info install-info-am \ ++ install-info-recursive install-man install-recursive \ ++ install-strip installcheck installcheck-am installdirs \ ++ installdirs-am installdirs-recursive maintainer-clean \ ++ maintainer-clean-generic maintainer-clean-recursive mostlyclean \ ++ mostlyclean-compile mostlyclean-generic mostlyclean-recursive \ ++ tags tags-recursive uninstall uninstall-am \ ++ uninstall-binPROGRAMS uninstall-info-am \ ++ uninstall-info-recursive uninstall-recursive + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +diff -urN dillo-0.6.6/src/bookmark.c dillo2-0.6.6/src/bookmark.c +--- dillo-0.6.6/src/bookmark.c 2002-04-09 19:04:54.000000000 -0600 ++++ dillo2-0.6.6/src/bookmark.c 2003-04-21 12:35:30.000000000 -0600 +@@ -93,13 +93,14 @@ + /* + * ? + */ +-static void Bookmarks_goto_bookmark(GtkWidget *widget, CallbackInfo *CbInfo) ++static gboolean Bookmarks_goto_bookmark(GtkWidget *widget, CallbackInfo *CbInfo) + { + if (CbInfo->index >= num_bookmarks) { + g_warning("bookmark not found!\n"); +- return; ++ return FALSE; + } + a_Nav_push(CbInfo->bw, bookmarks[CbInfo->index].url); ++ return TRUE; + } + + /* +@@ -117,8 +118,8 @@ + CbInfo->index = index; + + /* accelerator goes here */ +- gtk_signal_connect(GTK_OBJECT (menuitem), "activate", +- (GtkSignalFunc)Bookmarks_goto_bookmark, CbInfo); ++ g_signal_connect(G_OBJECT (menuitem), "activate", ++ G_CALLBACK(Bookmarks_goto_bookmark), CbInfo); + } + + /* +@@ -260,11 +261,12 @@ + */ + static void Bookmarks_load_to_menu(FILE *fp) + { +- gchar *title, *url_str; ++ gchar *title, *utf8_title, *url_str; + DilloUrl *url; + char buf[4096]; + gint i = 0; + GtkWidget *menuitem; ++ GError *err = NULL; + + rewind(fp); + +@@ -284,13 +286,19 @@ + continue; + } + ++ /* Temporary solution, in future bookmarks.html should be UTF8 */ ++ utf8_title = g_convert(title, -1, "utf8", "iso8859-1", NULL, NULL, &err); ++ if (err != NULL) g_warning ("Bookmarks_load_to_menu(): %s\n", ++ err->message); ++ g_free(title); ++ + url = a_Url_new(url_str, NULL, 0, 0); +- menuitem = Bookmarks_insert(title, url); ++ menuitem = Bookmarks_insert(utf8_title, url); + /* for (i = 0; i < num_bw; i++) + * Bookmarks_add_to_menu(browser_window[i], menuitem); */ + Bookmarks_add_to_menu(browser_window[0], menuitem, i); + g_free(url_str); +- g_free(title); ++ g_free(utf8_title); + a_Url_free(url); + i++; + } +diff -urN dillo-0.6.6/src/browser.h dillo2-0.6.6/src/browser.h +--- dillo-0.6.6/src/browser.h 2002-03-26 16:26:06.000000000 -0700 ++++ dillo2-0.6.6/src/browser.h 2003-04-21 12:35:30.000000000 -0600 +@@ -117,7 +117,7 @@ + gboolean nav_expecting; + + /* The tag for the idle function that sets button sensitivity. */ +- gint sens_idle_tag; ++ guint sens_idle_tag; + }; + + +diff -urN dillo-0.6.6/src/cache.c dillo2-0.6.6/src/cache.c +--- dillo-0.6.6/src/cache.c 2002-04-09 19:23:56.000000000 -0600 ++++ dillo2-0.6.6/src/cache.c 2003-04-21 12:35:32.000000000 -0600 +@@ -44,6 +44,7 @@ + typedef struct { + const DilloUrl *Url; /* Cached Url. Url is used as a primary Key */ + const char *Type; /* MIME type string */ ++ char *Encoding; + GString *Header; /* HTTP header */ + const DilloUrl *Location; /* New URI for redirects */ + void *Data; /* Pointer to raw data */ +@@ -135,6 +136,7 @@ + NewClient->Key = ClientKey; + NewClient->Url = Url; + NewClient->Buf = NULL; ++ NewClient->Encoding = NULL; + NewClient->Callback = Callback; + NewClient->CbData = CbData; + NewClient->Web = Web; +@@ -184,6 +186,7 @@ + if ( Client ) { + ClientQueue = g_slist_remove(ClientQueue, Client); + a_Web_free(Client->Web); ++ g_free(Client->Encoding); + g_free(Client); + } + } +@@ -198,6 +201,7 @@ + { + NewEntry->Url = a_Url_dup(Url); + NewEntry->Type = NULL; ++ NewEntry->Encoding = NULL; + NewEntry->Header = g_string_new(""); + NewEntry->Location = NULL; + NewEntry->Data = NULL; +@@ -239,6 +243,7 @@ + { + a_Url_free((DilloUrl *)entry->Url); + g_free((gchar *)entry->Type); ++ g_free(entry->Encoding); + g_string_free(entry->Header, TRUE); + a_Url_free((DilloUrl *)entry->Location); + g_free(entry->Data); +@@ -651,6 +656,17 @@ + if ( (Type = Cache_parse_field(header, "Content-Type")) == NULL ) { + DEBUG_HTTP_MSG("Server didn't send Content-Type in header.\n"); + Type = Cache_get_type_from_data(entry->Data, entry->ValidSize); ++ } else { ++ char *enc; ++ guint i; ++ ++ /* Look for a specified encoding */ ++ if ((enc = strstr(Type, "charset="))) { ++ for (i = 8; enc[i] != '\0' && enc[i] != ';'; i++) ++ ; ++ ++ entry->Encoding = g_strndup(enc + 8, i - 8); ++ } + } + entry->Type = Type; + } +@@ -842,6 +858,10 @@ + EntryHasClients = TRUE; + ClientWeb = Client->Web; /* It was a (void*) */ + ++ /* Pass on the encoding */ ++ if (entry->Encoding && !Client->Encoding) ++ Client->Encoding = g_strdup(entry->Encoding); ++ + /* For root URLs, clear the "expecting for reply..." message */ + if (ClientWeb->flags & WEB_RootUrl && !(entry->Flags & CA_MsgErased)){ + a_Interface_msg(ClientWeb->bw, ""); +diff -urN dillo-0.6.6/src/cache.h dillo2-0.6.6/src/cache.h +--- dillo-0.6.6/src/cache.h 2002-02-20 08:54:02.000000000 -0700 ++++ dillo2-0.6.6/src/cache.h 2003-04-21 12:35:33.000000000 -0600 +@@ -39,6 +39,7 @@ + gint Key; /* Primary Key for this client */ + const DilloUrl *Url; /* Pointer to a cache entry Url */ + guchar *Buf; /* Pointer to cache-data */ ++ char *Encoding; /* A charset encoding obtained from the header */ + guint BufSize; /* Valid size of cache-data */ + CA_Callback_t Callback; /* Client function */ + void *CbData; /* Client function data */ +diff -urN dillo-0.6.6/src/commands.c dillo2-0.6.6/src/commands.c +--- dillo-0.6.6/src/commands.c 2002-04-09 19:04:54.000000000 -0600 ++++ dillo2-0.6.6/src/commands.c 2003-04-21 12:35:34.000000000 -0600 +@@ -97,9 +97,11 @@ + void a_Commands_viewsource_callback (GtkWidget *widget, gpointer client_data) + { + BrowserWindow *bw = (BrowserWindow *)client_data; +- char *buf; +- gint size, xsize, ysize; ++ gchar *buf, *utf8_buf; ++ gint size, xsize, ysize, written; + GtkWidget *window, *box1, *button, *scrolled_window, *text; ++ GtkTextBuffer *buffer; ++ GError *err = NULL; + + if (bw->viewsource_window) + gtk_widget_destroy (bw->viewsource_window); +@@ -114,10 +116,6 @@ + gtk_widget_set_usize (window, xsize, ysize); + gtk_window_set_policy (GTK_WINDOW(window), TRUE, TRUE, FALSE); + +- gtk_signal_connect (GTK_OBJECT (window), "destroy", +- GTK_SIGNAL_FUNC(gtk_widget_destroyed), +- &bw->viewsource_window); +- + gtk_window_set_title (GTK_WINDOW (window), "View Source"); + gtk_container_border_width (GTK_CONTAINER (window), 0); + +@@ -132,20 +130,24 @@ + GTK_POLICY_ALWAYS); + gtk_widget_show (scrolled_window); + +- text = gtk_text_new (NULL, NULL); +- gtk_text_set_editable (GTK_TEXT (text), FALSE); ++ text = gtk_text_view_new (); ++ gtk_text_view_set_editable (GTK_TEXT_VIEW(text), FALSE); ++ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW(text), GTK_WRAP_CHAR); + gtk_container_add (GTK_CONTAINER (scrolled_window), text); + gtk_widget_show (text); + +- gtk_text_freeze (GTK_TEXT (text)); ++ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); + buf = a_Cache_url_read(a_History_get_url(NAV_TOP(bw)), &size); +- gtk_text_insert (GTK_TEXT (text), NULL, NULL, NULL, buf, size); +- gtk_text_thaw (GTK_TEXT (text)); ++ utf8_buf = g_convert(buf, size, "utf8", "iso8859-1", NULL, &written,&err); ++ if (err != NULL) g_warning ("a_Commands_viewsource_callback(): %s\n", ++ err->message); ++ gtk_text_buffer_set_text(buffer, utf8_buf, written); ++ g_free (utf8_buf); + + button = gtk_button_new_with_label ("close"); +- gtk_signal_connect_object (GTK_OBJECT (button), "clicked", +- GTK_SIGNAL_FUNC(gtk_widget_destroy), +- GTK_OBJECT (window)); ++ g_signal_connect_object (G_OBJECT (button), "clicked", ++ G_CALLBACK(gtk_widget_destroy), ++ G_OBJECT(window), G_CONNECT_SWAPPED); + gtk_box_pack_start (GTK_BOX (box1), button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_widget_grab_default (button); +@@ -211,7 +213,7 @@ + /* + * Second handler for button-press-event in the toolbar + */ +-void a_Commands_navpress_callback(GtkWidget *widget, ++gboolean a_Commands_navpress_callback(GtkWidget *widget, + GdkEventButton *event, + gpointer client_data) + { +@@ -231,22 +233,24 @@ + bw->menu_popup.over_back = a_Menu_popup_history_new(bw, -1); + gtk_menu_popup(GTK_MENU (bw->menu_popup.over_back), NULL, NULL, + NULL, NULL, event->button, event->time); +- ++ return TRUE; + } else if (widget == bw->forw_button) { + if (bw->menu_popup.over_forw) + gtk_widget_destroy(bw->menu_popup.over_forw); + bw->menu_popup.over_forw = a_Menu_popup_history_new(bw, +1); + gtk_menu_popup(GTK_MENU (bw->menu_popup.over_forw), NULL, NULL, + NULL, NULL, event->button, event->time); ++ return TRUE; + } + break; + } ++ return FALSE; + } + + /* + * Second handler for button-press-event in history menus. + */ +-void a_Commands_historypress_callback(GtkWidget *widget, ++gboolean a_Commands_historypress_callback(GtkWidget *widget, + GdkEventButton *event, + gpointer client_data) + { +@@ -256,15 +260,19 @@ + case 1: + /* Open link in the same bw */ + a_Nav_jump_callback(widget, bw, 0); ++ return TRUE; + break; + case 2: + /* Open link in a new bw */ + a_Nav_jump_callback(widget, bw, 1); ++ return TRUE; + break; + case 3: + /* Not used */ + break; + } ++ ++ return FALSE; + } + + /* +diff -urN dillo-0.6.6/src/commands.h dillo2-0.6.6/src/commands.h +--- dillo-0.6.6/src/commands.h 2002-04-09 19:24:40.000000000 -0600 ++++ dillo2-0.6.6/src/commands.h 2003-04-21 12:35:34.000000000 -0600 +@@ -13,9 +13,9 @@ + void a_Commands_findtext_callback (GtkWidget *widget, gpointer client_data); + void a_Commands_print_callback (GtkWidget *widget, gpointer client_data); + +-void a_Commands_navpress_callback ( ++gboolean a_Commands_navpress_callback ( + GtkWidget *widget, GdkEventButton *event, gpointer client_data); +-void a_Commands_historypress_callback( ++gboolean a_Commands_historypress_callback( + GtkWidget *widget, GdkEventButton *event, gpointer client_data); + + void a_Commands_back_callback (GtkWidget *widget, gpointer client_data); +diff -urN dillo-0.6.6/src/cookies.c dillo2-0.6.6/src/cookies.c +--- dillo-0.6.6/src/cookies.c 2002-05-27 14:47:49.000000000 -0600 ++++ dillo2-0.6.6/src/cookies.c 2003-04-21 12:35:37.000000000 -0600 +@@ -78,14 +78,13 @@ + static FILE *Cookies_fopen(const char *file, gchar *init_str); + static CookieControlAction Cookies_control_check(const DilloUrl *url); + static CookieControlAction Cookies_control_check_domain(const char *domain); +-static void Cookie_control_init(); ++static int Cookie_control_init(); + static void Cookies_parse_ports(CookieData_t *cookie, const char *port_str); + static char *Cookies_build_ports_str(CookieData_t *cookie); + + /* + * Return a file pointer. If the file doesn't exist, try to create it, + * with the optional 'init_str' as its content. +- * This function is either successful or exits Dillo. + */ + static FILE *Cookies_fopen(const char *filename, gchar *init_str) + { +@@ -124,6 +123,10 @@ + } + } + ++/* ++ * Initialize the cookies module ++ * (The 'disabled' variable is writable only within a_Cookies_init) ++ */ + void a_Cookies_init() + { + CookieData_t *cookie; +@@ -131,7 +134,14 @@ + char *filename; + char line[LINE_MAXLEN]; + +- Cookie_control_init(); ++ /* Default setting */ ++ disabled = TRUE; ++ ++ /* Read and parse the cookie control file (cookiesrc) */ ++ if (Cookie_control_init() != 0) { ++ DEBUG_MSG(10, "Disabling cookies.\n"); ++ return; ++ } + + /* Get a stream for the cookies file */ + filename = a_Misc_prepend_user_home(".dillo/cookies"); +@@ -139,8 +149,7 @@ + g_free(filename); + + if (!file_stream) { +- /* Can't open the file, so we disable cookies */ +- disabled = TRUE; ++ DEBUG_MSG(10, "ERROR: Can't open ~/.dillo/cookies, disabling cookies\n"); + return; + } + +@@ -153,6 +162,8 @@ + return; + } + ++ DEBUG_MSG(10, "Enabling cookies as from cookiesrc...\n"); ++ + cookies = g_hash_table_new(g_str_hash, g_str_equal); + + /* Get all lines in the file */ +@@ -976,9 +987,13 @@ + + + /* +- * Get the cookie control rules ++ * Get the cookie control rules (from cookiesrc). ++ * Return value: ++ * 0 = Parsed OK, with cookies enabled ++ * 1 = Parsed OK, with cookies disabled ++ * 2 = Can't open the control file + */ +-static void Cookie_control_init() ++static int Cookie_control_init() + { + CookieControl cc; + FILE *stream; +@@ -987,6 +1002,7 @@ + char domain[LINE_MAXLEN]; + char rule[LINE_MAXLEN]; + int i, j; ++ gboolean enabled = FALSE; + + /* Get a file pointer */ + filename = a_Misc_prepend_user_home(".dillo/cookiesrc"); +@@ -994,7 +1010,7 @@ + g_free(filename); + + if (!stream) +- return; ++ return 2; + + /* Get all lines in the file */ + while (!feof(stream)) { +@@ -1045,10 +1061,15 @@ + a_List_add(ccontrol, num_ccontrol, num_ccontrol_max); + ccontrol[num_ccontrol++] = cc; + } ++ ++ if (cc.action != COOKIE_DENY) ++ enabled = TRUE; + } + } + + fclose(stream); ++ ++ return (enabled ? 0 : 1); + } + + /* +diff -urN dillo-0.6.6/src/dillo.c dillo2-0.6.6/src/dillo.c +--- dillo-0.6.6/src/dillo.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dillo.c 2003-04-21 12:35:38.000000000 -0600 +@@ -33,7 +33,6 @@ + + #include "dillo.h" + #include "misc.h" +-#include "dw_gtk_statuslabel.h" + #include "nav.h" + #include "history.h" + #include "bookmark.h" +@@ -68,7 +67,6 @@ + * todo: implement a cleaner mechanism (in file.c) */ + signal(SIGPIPE, SIG_IGN); + +- g_print("Setting locale to %s\n", gtk_set_locale()); + gtk_init(&argc, &argv); + gdk_rgb_init(); + +diff -urN dillo-0.6.6/src/dns.c dillo2-0.6.6/src/dns.c +--- dillo-0.6.6/src/dns.c 2002-02-14 12:17:08.000000000 -0700 ++++ dillo2-0.6.6/src/dns.c 2003-04-21 12:35:39.000000000 -0600 +@@ -57,7 +57,7 @@ + gint channel; /* Index of this channel [0 based] */ + gboolean in_use; /* boolean to tell if server is doing a lookup */ + gboolean ip_ready; /* boolean: is IP lookup done? */ +- guint32 ip_addr; /* IP address */ ++ GSList *addr_list; /* IP address */ + char *hostname; /* Adress to resolve */ + guint timeout_id; /* gtk timeout function ID */ + #ifdef G_DNS_THREADED +@@ -67,7 +67,7 @@ + + typedef struct { + char *hostname; /* host name for cache */ +- guint32 ip_addr; /* address of host */ ++ GSList *addr_list; /* address of host */ + } GDnsCache; + + typedef struct { +@@ -93,6 +93,7 @@ + static gint dns_queue_size, dns_queue_size_max; + /* A list for hostnames that haven't been solved */ + static GSList *PendingHosts = NULL; ++static gboolean ipv6_enabled; + + + /* ---------------------------------------------------------------------- +@@ -171,11 +172,11 @@ + /* + * Add an IP/hostname pair to Dns-cache + */ +-static void Dns_cache_add(char *hostname, guint32 ip_addr) ++static void Dns_cache_add(char *hostname, GSList *addr_list) + { + a_List_add(dns_cache, dns_cache_size, dns_cache_size_max); + dns_cache[dns_cache_size].hostname = g_strdup(hostname); +- dns_cache[dns_cache_size].ip_addr = ip_addr; ++ dns_cache[dns_cache_size].addr_list = addr_list; + ++dns_cache_size; + DEBUG_MSG(1, "Cache objects: %d\n", dns_cache_size); + } +@@ -204,13 +205,45 @@ + dns_server[i].channel = i; + dns_server[i].in_use = FALSE; + dns_server[i].ip_ready = FALSE; +- dns_server[i].ip_addr = 0; ++ dns_server[i].addr_list = NULL; + dns_server[i].hostname = NULL; + dns_server[i].timeout_id = -1; + #ifdef G_DNS_THREADED + dns_server[i].th1 = (pthread_t) -1; + #endif + } ++ ++#ifdef ENABLE_IPV6 ++ { ++ /* If the IPv6 address family is not available there is no point ++ wasting time trying to connect to v6 addresses. */ ++ int fd = socket(AF_INET6, SOCK_STREAM, 0); ++ if (fd >= 0) { ++ close(fd); ++ ipv6_enabled = TRUE; ++ } ++ } ++#endif ++} ++ ++/* ++ * Allocate a host structure and add it to the list ++ */ ++static GSList *note_hosts(GSList *list, int af, struct hostent *host) ++{ ++ int i; ++ if (host->h_length > DILLO_ADDR_MAX) ++ return list; ++ for (i = 0; host->h_addr_list[i]; i++) { ++ DilloHost *dh = g_malloc(sizeof(DilloHost)); ++ memset(dh, 0, sizeof(dh)); ++ dh->af = af; ++ dh->alen = host->h_length; ++ memcpy(&dh->data[0], host->h_addr_list[i], host->h_length); ++ printf("adding address, length %d\n", host->h_length); ++ list = g_slist_append(list, dh); ++ } ++ return list; + } + + /* +@@ -219,13 +252,13 @@ + static void *Dns_server(void *data) + { + struct hostent *host; +- guint32 ip_addr; + gint channel = GPOINTER_TO_INT(data); + #ifdef LIBC5 + gint h_err; + char buff[1024]; + struct hostent sh; + #endif ++ GSList *hosts = NULL; + + #ifdef G_DNS_THREADED + /* Set this thread to detached state */ +@@ -235,6 +268,14 @@ + DEBUG_MSG(3, "Dns_server: starting...\n ch: %d host: %s\n", + channel, dns_server[channel].hostname); + ++#ifdef ENABLE_IPV6 ++ if (ipv6_enabled) { ++ host = gethostbyname2(dns_server[channel].hostname, AF_INET6); ++ if (host) ++ hosts = note_hosts(hosts, AF_INET6, host); ++ } ++#endif ++ + #ifdef LIBC5 + host = gethostbyname_r(dns_server[channel].hostname, &sh, buff, + sizeof(buff), &h_err); +@@ -242,17 +283,13 @@ + host = gethostbyname(dns_server[channel].hostname); + #endif + +- if (host == NULL) { +- ip_addr = 0; +- } else { +- memcpy(&ip_addr, host->h_addr_list[0], sizeof(ip_addr)); +- ip_addr = ntohl(ip_addr); +- } ++ if (host) ++ hosts = note_hosts(hosts, AF_INET, host); + + /* write hostname to client */ +- DEBUG_MSG(5, "Dns_server [%d]: %s is %x\n", channel, +- dns_server[channel].hostname, ip_addr); +- dns_server[channel].ip_addr = ip_addr; ++ DEBUG_MSG(5, "Dns_server [%d]: %s is %p\n", channel, ++ dns_server[channel].hostname, hosts); ++ dns_server[channel].addr_list = hosts; + dns_server[channel].ip_ready = TRUE; + + return NULL; /* (avoids a compiler warning) */ +@@ -267,8 +304,8 @@ + static void Dns_blocking_server(void) + { + struct hostent *host; +- guint32 ip_addr; + gint index; ++ GSList *hosts = NULL; + + index = 0; + DEBUG_MSG(3, "Dns_blocking_server: starting...\n"); +@@ -278,17 +315,15 @@ + host = gethostbyname(dns_server[index].hostname); + if (host == NULL) { + DEBUG_MSG(3, "--> Dns_blocking_server: gethostbyname NULL return\n"); +- ip_addr = 0; + } else { + DEBUG_MSG(3, "--> Dns_blocking_server - good return\n"); +- memcpy(&ip_addr, host->h_addr_list[0], sizeof(ip_addr)); +- ip_addr = ntohl(ip_addr); ++ hosts = note_hosts(hosts, AF_INET, host); + } + + /* write IP to server data channel */ +- DEBUG_MSG(3, "Dns_blocking_server: IP of %s is %x\n", +- dns_server[index].hostname, ip_addr); +- dns_server[index].ip_addr = ip_addr; ++ DEBUG_MSG(3, "Dns_blocking_server: IP of %s is %p\n", ++ dns_server[index].hostname, hosts); ++ dns_server[index].ip_addr = hosts; + dns_server[index].ip_ready = TRUE; + + DEBUG_MSG(3, "Dns_blocking_server: leaving...\n"); +@@ -337,7 +372,7 @@ + + /* if it hits already resolved, call the Callback inmediately. */ + if (i < dns_cache_size) { +- a_Dns_ccc(OpSend, 1, Info, &dns_cache[i].ip_addr, NULL); ++ a_Dns_ccc(OpSend, 1, Info, dns_cache[i].addr_list, NULL); + a_Dns_ccc(OpEnd, 1, Info, NULL, NULL); + return; + } +@@ -374,10 +409,10 @@ + for (i = 0; i < dns_queue_size; i++) { + if (dns_queue[i].channel == channel) { + Info = dns_queue[i].Info; +- if ( srv->ip_addr == 0 ) { ++ if ( srv->addr_list == NULL ) { + a_Dns_ccc(OpAbort, 1, Info, NULL, NULL); + } else { +- a_Dns_ccc(OpSend, 1, Info, &srv->ip_addr, NULL); ++ a_Dns_ccc(OpSend, 1, Info, srv->addr_list, NULL); + a_Dns_ccc(OpEnd, 1, Info, NULL, NULL); + } + Dns_queue_remove(i); +@@ -426,9 +461,9 @@ + DnsServer *srv = &dns_server[channel]; + + if ( srv->ip_ready ){ +- if (srv->ip_addr != 0) { ++ if (srv->addr_list != NULL) { + /* DNS succeeded, let's cache it */ +- Dns_cache_add(srv->hostname, srv->ip_addr); ++ Dns_cache_add(srv->hostname, srv->addr_list); + } + Dns_serve_channel(channel); + Dns_assign_channels(); +diff -urN dillo-0.6.6/src/dns.h dillo2-0.6.6/src/dns.h +--- dillo-0.6.6/src/dns.h 2002-01-08 06:49:14.000000000 -0700 ++++ dillo2-0.6.6/src/dns.h 2003-04-21 12:35:39.000000000 -0600 +@@ -12,6 +12,15 @@ + void a_Dns_freeall(void); + void a_Dns_ccc(int Op, int Br, ChainLink *Info, void *Data, void *ExtraData); + ++#define DILLO_ADDR_MAX 16 ++ ++typedef struct _DilloHost ++{ ++ int af; ++ int alen; ++ char data[DILLO_ADDR_MAX]; ++} DilloHost; ++ + #ifdef __cplusplus + } + #endif /* __cplusplus */ +diff -urN dillo-0.6.6/src/dw_aligned_page.c dillo2-0.6.6/src/dw_aligned_page.c +--- dillo-0.6.6/src/dw_aligned_page.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_aligned_page.c 2003-04-21 12:35:40.000000000 -0600 +@@ -44,25 +44,27 @@ + /* + * Standard Gtk+ function. + */ +-GtkType a_Dw_aligned_page_get_type (void) ++GType a_Dw_aligned_page_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwAlignedPage", +- sizeof (DwAlignedPage), ++ GTypeInfo info = { + sizeof (DwAlignedPageClass), +- (GtkClassInitFunc) Dw_aligned_page_class_init, +- (GtkObjectInitFunc) Dw_aligned_page_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_aligned_page_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwAlignedPage), ++ 0, ++ (GInstanceInitFunc) Dw_aligned_page_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_PAGE, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_PAGE, "DwAlignedPage", ++ &info, flags); + } +- + return type; + } + +@@ -96,7 +98,7 @@ + DwAlignedPage *aligned_page = DW_ALIGNED_PAGE (object); + + if (aligned_page->list) { +- if (aligned_page->list->num == 1) { ++ if (aligned_page->list->refcount == 1) { + /* This is the last page in the array, so the list is removed. */ + g_free (aligned_page->list->pages); + g_free (aligned_page->list->values); +@@ -106,10 +108,11 @@ + NULL and 0. */ + aligned_page->list->pages[aligned_page->list_pos] = NULL; + aligned_page->list->values[aligned_page->list_pos] = 0; ++ aligned_page->list->refcount--; + } + } + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -124,8 +127,9 @@ + DwAlignedPageList *list; + + if (ref_page == NULL) { +- list = g_new(DwAlignedPageList, 1); ++ list = g_new (DwAlignedPageList, 1); + list->num = 0; ++ list->refcount = 0; + list->pages = NULL; + list->values = NULL; + list->num_pages_max = 4; +@@ -135,9 +139,10 @@ + list = ref_page->list; + + list->num++; +- a_List_add(list->pages, list->num, list->num_pages_max); ++ list->refcount++; ++ a_List_add (list->pages, list->num, list->num_pages_max); + list->pages[list->num - 1] = aligned_page; +- a_List_add(list->values, list->num, list->num_values_max); ++ a_List_add (list->values, list->num, list->num_values_max); + list->values[list->num - 1] = 0; + aligned_page->list = list; + aligned_page->list_pos = list->num - 1; +@@ -155,7 +160,7 @@ + int i; + + if (aligned_page->list) { +- klass = DW_ALIGNED_PAGE_CLASS (GTK_OBJECT(aligned_page)->klass); ++ klass = DW_ALIGNED_PAGE_CLASS(G_OBJECT_GET_CLASS(G_OBJECT(aligned_page))); + aligned_page->list->values[aligned_page->list_pos] = + klass->get_value (aligned_page); + +@@ -165,16 +170,17 @@ + aligned_page->list->max_value = + aligned_page->list->values[aligned_page->list_pos]; + +- for(i = 0; i < aligned_page->list->num; i++) ++ for (i = 0; i < aligned_page->list->num; i++) + if (aligned_page->list->pages[i]) { +- klass = DW_ALIGNED_PAGE_CLASS +- (GTK_OBJECT(aligned_page->list->pages[i])->klass); ++ klass = DW_ALIGNED_PAGE_CLASS(G_OBJECT_GET_CLASS( ++ G_OBJECT(aligned_page->list->pages[i]))); + klass->set_max_value (aligned_page->list->pages[i], + aligned_page->list->max_value); + } + } else { + /* No change, apply old max_value only to this page. */ +- klass = DW_ALIGNED_PAGE_CLASS (GTK_OBJECT(aligned_page)->klass); ++ klass = DW_ALIGNED_PAGE_CLASS(G_OBJECT_GET_CLASS( ++ G_OBJECT(aligned_page))); + klass->set_max_value (aligned_page, aligned_page->list->max_value); + } + } +diff -urN dillo-0.6.6/src/dw_aligned_page.h dillo2-0.6.6/src/dw_aligned_page.h +--- dillo-0.6.6/src/dw_aligned_page.h 2002-03-13 05:08:40.000000000 -0700 ++++ dillo2-0.6.6/src/dw_aligned_page.h 2003-04-21 12:35:40.000000000 -0600 +@@ -40,7 +40,10 @@ + + struct _DwAlignedPageList + { +- gint num; ++ gint num; /* The index of the last page added (minus one). */ ++ gint refcount; /* The numbers of non-NULL pages, may be smaller than num. ++ * The distinction is necessary, because removing is ++ * simply done by assigning NULL. */ + DwAlignedPage **pages; + gint32 *values; + gint num_pages_max; +diff -urN dillo-0.6.6/src/dw_bullet.c dillo2-0.6.6/src/dw_bullet.c +--- dillo-0.6.6/src/dw_bullet.c 2002-03-13 05:08:40.000000000 -0700 ++++ dillo2-0.6.6/src/dw_bullet.c 2003-04-21 12:35:40.000000000 -0600 +@@ -22,25 +22,27 @@ + GdkEventExpose *event); + + +-GtkType a_Dw_bullet_get_type (void) ++GType a_Dw_bullet_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwBullet", +- sizeof (DwBullet), ++ GTypeInfo info = { + sizeof (DwBulletClass), +- (GtkClassInitFunc) Dw_bullet_class_init, +- (GtkObjectInitFunc) Dw_bullet_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_bullet_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwBullet), ++ 0, ++ (GInstanceInitFunc) Dw_bullet_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_WIDGET, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_WIDGET, "DwBullet", ++ &info, flags); + } +- + return type; + } + +@@ -89,21 +91,21 @@ + GdkGC *gc; + GdkWindow *window; + +- x = p_Dw_widget_x_world_to_viewport (widget, widget->allocation.x); +- y = p_Dw_widget_y_world_to_viewport (widget, widget->allocation.y); ++ x = widget->allocation.x; ++ y = widget->allocation.y; + gc = widget->style->color->gc; + window = DW_WIDGET_WINDOW (widget); + + switch (DW_BULLET(widget)->type) { + case DW_BULLET_DISC: +- gdk_draw_arc(window, gc, TRUE, x + 2, y + 1, 4, 4, 0, 360 * 64); +- gdk_draw_arc(window, gc, FALSE, x + 2, y + 1, 4, 4, 0, 360 * 64); ++ gdk_draw_arc (window, gc, TRUE, x + 2, y + 1, 4, 4, 0, 360 * 64); ++ gdk_draw_arc (window, gc, FALSE, x + 2, y + 1, 4, 4, 0, 360 * 64); + break; + case DW_BULLET_CIRCLE: +- gdk_draw_arc(window, gc, FALSE, x + 1, y, 6, 6, 0, 360 * 64); ++ gdk_draw_arc (window, gc, FALSE, x + 1, y, 6, 6, 0, 360 * 64); + break; + case DW_BULLET_SQUARE: +- gdk_draw_rectangle(window, gc, FALSE, x + 1, y, 6, 6); ++ gdk_draw_rectangle (window, gc, FALSE, x + 1, y, 6, 6); + break; + default: /* Should/could the numeric bullets be treated here ? */ + break; +diff -urN dillo-0.6.6/src/dw_button.c dillo2-0.6.6/src/dw_button.c +--- dillo-0.6.6/src/dw_button.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_button.c 2003-04-21 12:35:41.000000000 -0600 +@@ -13,9 +13,10 @@ + * This widget imitates the look and behavior of GtkButton. + */ + ++#include <gtk/gtk.h> + #include "dw_button.h" + #include "dw_gtk_viewport.h" +-#include <gtk/gtk.h> ++#include "dw_marshal.h" + + static void Dw_button_init (DwButton *button); + static void Dw_button_class_init (DwButtonClass *klass); +@@ -59,9 +60,16 @@ + DwCallback callback, + gpointer callback_data); + ++static DwIterator* Dw_button_iterator (DwWidget *widget, ++ gint mask); ++static gboolean Dw_button_iterator_next (DwIterator *it); ++static DwIterator* Dw_button_iterator_clone (DwIterator *it); ++ ++ + enum + { + CLICKED, ++ CLICKED_AT, + LAST_SIGNAL + }; + +@@ -72,38 +80,50 @@ + /* + * Return the type of DwButton + */ +-GtkType a_Dw_button_get_type (void) ++GType a_Dw_button_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwButton", +- sizeof (DwButton), ++ GTypeInfo info = { + sizeof (DwButtonClass), +- (GtkClassInitFunc) Dw_button_class_init, +- (GtkObjectInitFunc) Dw_button_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_button_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwButton), ++ 0, ++ (GInstanceInitFunc) Dw_button_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_CONTAINER, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_CONTAINER, "DwButton", ++ &info, flags); + } +- + return type; + } + + + /* + * Standard Gtk+ function. +- */ +-DwWidget* a_Dw_button_new (void) +-{ +- GtkObject *object; ++ * ++ * - "flags" is a mask for the window flags, it should be the mask the ++ * child uses (e.g. DW_USES_HINT for DwPage, 0 for DwImage). (Will ++ * hopefully be removed soon.) ++ * - When passing FALSE for "relief", the button will neither have a ++ * border, nor paint a background. ++ */ ++DwWidget* a_Dw_button_new (gint flags, ++ gboolean relief) ++{ ++ DwButton *button; ++ ++ button = DW_BUTTON (gtk_object_new (DW_TYPE_BUTTON, NULL)); ++ DW_WIDGET_SET_FLAGS (button, flags); ++ button->relief = relief; + +- object = gtk_object_new (DW_TYPE_BUTTON, NULL); +- return DW_WIDGET (object); ++ return DW_WIDGET (button); + } + + +@@ -112,7 +132,6 @@ + */ + static void Dw_button_init (DwButton *button) + { +- DW_WIDGET_SET_FLAGS (button, DW_USES_HINTS); + button->child = NULL; + button->in_button = FALSE; + button->pressed = FALSE; +@@ -134,13 +153,24 @@ + parent_class = gtk_type_class (DW_TYPE_CONTAINER); + + button_signals[CLICKED] = +- gtk_signal_new ("clicked", +- GTK_RUN_FIRST | GTK_RUN_ACTION, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwButtonClass, clicked), +- gtk_marshal_NONE__NONE, +- GTK_TYPE_NONE, 0); +- gtk_object_class_add_signals (object_class, button_signals, LAST_SIGNAL); ++ g_signal_new ("clicked", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwButtonClass, clicked), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__VOID, ++ G_TYPE_NONE, 0, NULL); ++ button_signals[CLICKED_AT] = ++ g_signal_new ("clicked_at", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, ++ G_STRUCT_OFFSET (DwButtonClass, clicked_at), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT, ++ G_TYPE_NONE, ++ 2, G_TYPE_INT, G_TYPE_INT); + + widget_class->size_request = Dw_button_size_request; + widget_class->get_extremes = Dw_button_get_extremes; +@@ -153,12 +183,14 @@ + widget_class->button_release_event = Dw_button_button_release; + widget_class->enter_notify_event = Dw_button_enter_notify; + widget_class->leave_notify_event = Dw_button_leave_notify; ++ widget_class->iterator = Dw_button_iterator; + + container_class->add = Dw_button_add; + container_class->remove = Dw_button_remove; + container_class->forall = Dw_button_forall; + + klass->clicked = NULL; ++ klass->clicked_at = NULL; + } + + +@@ -170,19 +202,22 @@ + { + DwButton *button = DW_BUTTON (widget); + DwRequisition child_requisition; +- GtkStyleClass *styleclass = widget->viewport->style->klass; ++ GtkStyle *style = widget->viewport->style; + +- if (button->child) ++ if (button->child) { + a_Dw_widget_size_request (button->child, &child_requisition); +- else { +- child_requisition.width = 0; +- child_requisition.ascent = 0; +- child_requisition.descent = 0; ++ *requisition = child_requisition; ++ } else { ++ requisition->width = 0; ++ requisition->ascent = 0; ++ requisition->descent = 0; + } + +- requisition->width = child_requisition.width + 2 * styleclass->xthickness; +- requisition->ascent = child_requisition.ascent + styleclass->ythickness; +- requisition->descent = child_requisition.descent + styleclass->ythickness; ++ if (button->relief) { ++ requisition->width += 2 * style->xthickness; ++ requisition->ascent += style->ythickness; ++ requisition->descent += style->ythickness; ++ } + } + + +@@ -194,17 +229,20 @@ + { + DwButton *button = DW_BUTTON (widget); + DwExtremes child_extremes; +- GtkStyleClass *styleclass = widget->viewport->style->klass; ++ GtkStyle *style = widget->viewport->style; + +- if (button->child) ++ if (button->child) { + a_Dw_widget_get_extremes (button->child, &child_extremes); +- else { +- child_extremes.min_width = 0; +- child_extremes.max_width = 0; ++ *extremes = child_extremes; ++ } else { ++ extremes->min_width = 0; ++ extremes->max_width = 0; + } + +- extremes->min_width = child_extremes.min_width + 2 * styleclass->xthickness; +- extremes->max_width = child_extremes.max_width + 2 * styleclass->xthickness; ++ if (button->relief) { ++ extremes->min_width += 2 * style->xthickness; ++ extremes->max_width += 2 * style->xthickness; ++ } + } + + +@@ -216,14 +254,19 @@ + { + DwButton *button = DW_BUTTON (widget); + DwAllocation child_allocation; +- GtkStyleClass *styleclass = widget->viewport->style->klass; ++ GtkStyle *style = widget->viewport->style; + + if (button->child) { +- child_allocation. x = allocation->x + styleclass->xthickness; +- child_allocation. y = allocation->y + styleclass->ythickness; +- child_allocation.width = allocation->width - 2 * styleclass->xthickness; +- child_allocation.ascent = allocation->ascent - styleclass->ythickness; +- child_allocation.descent = allocation->descent - styleclass->ythickness; ++ child_allocation = *allocation; ++ ++ if (button->relief) { ++ child_allocation.x += style->xthickness; ++ child_allocation.y += style->ythickness; ++ child_allocation.width -= 2 * style->xthickness; ++ child_allocation.ascent -= style->ythickness; ++ child_allocation.descent -= style->ythickness; ++ } ++ + a_Dw_widget_size_allocate (button->child, &child_allocation); + } + } +@@ -240,7 +283,8 @@ + if (button->child) + a_Dw_widget_set_width + (button->child, +- width - 2 * widget->viewport->style->klass->xthickness); ++ width - (button->relief ? ++ (2 * widget->viewport->style->xthickness) : 0)); + } + + +@@ -255,7 +299,8 @@ + if (button->child) + a_Dw_widget_set_ascent + (button->child, +- ascent - widget->viewport->style->klass->ythickness); ++ ascent - (button->relief ? ++ widget->viewport->style->ythickness : 0)); + } + + +@@ -270,7 +315,8 @@ + if (button->child) + a_Dw_widget_set_descent + (button->child, +- descent - widget->viewport->style->klass->ythickness); ++ descent - (button->relief ? ++ widget->viewport->style->ythickness : 0)); + } + + +@@ -287,40 +333,45 @@ + GdkRectangle gdk_area; + DwRectangle child_area; + +- if (button->sensitive) { +- if (button->in_button) { +- if (button->pressed) { +- state = GTK_STATE_ACTIVE; +- shadow = GTK_SHADOW_IN; ++ if (button->relief) { ++ if (button->sensitive) { ++ if (button->in_button) { ++ if (button->pressed) { ++ state = GTK_STATE_ACTIVE; ++ shadow = GTK_SHADOW_IN; ++ } else { ++ state = GTK_STATE_PRELIGHT; ++ shadow = GTK_SHADOW_OUT; ++ } + } else { +- state = GTK_STATE_PRELIGHT; ++ state = GTK_STATE_NORMAL; + shadow = GTK_SHADOW_OUT; + } + } else { +- state = GTK_STATE_NORMAL; ++ state = GTK_STATE_INSENSITIVE; + shadow = GTK_SHADOW_OUT; + } +- } else { +- state = GTK_STATE_INSENSITIVE; +- shadow = GTK_SHADOW_OUT; ++ ++ gdk_area.x = ++ p_Dw_widget_x_world_to_viewport (widget, ++ area->x + widget->allocation.x); ++ gdk_area.y = ++ p_Dw_widget_y_world_to_viewport (widget, ++ area->y + widget->allocation.y); ++ gdk_area.width = area->width; ++ gdk_area.height = area->height; ++ ++ gtk_paint_box (widget->viewport->style, DW_WIDGET_WINDOW (widget), ++ state, shadow, &gdk_area, widget->viewport, ++ "buttondefault", ++ p_Dw_widget_x_world_to_viewport (widget, ++ widget->allocation.x), ++ p_Dw_widget_y_world_to_viewport (widget, ++ widget->allocation.y), ++ widget->allocation.width, ++ widget->allocation.ascent + widget->allocation.descent); + } +- +- gdk_area.x = +- p_Dw_widget_x_world_to_viewport (widget, area->x + widget->allocation.x); +- gdk_area.y = +- p_Dw_widget_y_world_to_viewport (widget, area->y + widget->allocation.y); +- gdk_area.width = area->width; +- gdk_area.height = area->height; +- +- gtk_paint_box (widget->viewport->style, DW_WIDGET_WINDOW (widget), +- state, shadow, &gdk_area, widget->viewport, "buttondefault", +- p_Dw_widget_x_world_to_viewport (widget, +- widget->allocation.x), +- p_Dw_widget_y_world_to_viewport (widget, +- widget->allocation.y), +- widget->allocation.width, +- widget->allocation.ascent + widget->allocation.descent); +- ++ + if (button->child && + p_Dw_widget_intersect (button->child, area, &child_area)) + a_Dw_widget_draw (button->child, &child_area, event); +@@ -338,7 +389,8 @@ + DwButton *button = DW_BUTTON (widget); + + button->pressed = TRUE; +- p_Dw_widget_queue_draw (widget); ++ if (button->relief) ++ p_Dw_widget_queue_draw (widget); + return TRUE; + } + +@@ -357,12 +409,40 @@ + * Dw). This results in a different behavior. + */ + DwButton *button = DW_BUTTON (widget); ++ gint32 cx, cy; + + button->pressed = FALSE; +- p_Dw_widget_queue_draw (widget); ++ if (button->relief) ++ p_Dw_widget_queue_draw (widget); + +- if (button->in_button && button->sensitive) +- gtk_signal_emit (GTK_OBJECT (widget), button_signals[CLICKED]); ++ if (button->in_button && button->sensitive) { ++ /* simple "click" */ ++ g_signal_emit (G_OBJECT (widget), button_signals[CLICKED], 0); ++ ++ /* "clicked_at": like "clicked", but position is passed, relative ++ * to the child widget. */ ++ if (button->child) { ++ cx = x + widget->allocation.x - button->child->allocation.x; ++ cy = y + widget->allocation.y - button->child->allocation.y; ++ ++ /* If position is outside of the child, clip at the child ++ allocation */ ++ if (cx < 0) ++ cx = 0; ++ else if (cx > button->child->allocation.width - 1) ++ cx = button->child->allocation.width - 1; ++ ++ if (cy < 0) ++ cy = 0; ++ else if (cy > (button->child->allocation.ascent + ++ button->child->allocation.descent - 1)) ++ cy = (button->child->allocation.ascent + ++ button->child->allocation.descent - 1); ++ ++ g_signal_emit (G_OBJECT (widget), button_signals[CLICKED_AT], 0, ++ cx, cy); ++ } ++ } + + return TRUE; + } +@@ -378,7 +458,8 @@ + DwButton *button = DW_BUTTON (widget); + + button->in_button = TRUE; +- p_Dw_widget_queue_draw (widget); ++ if (button->relief) ++ p_Dw_widget_queue_draw (widget); + return TRUE; + } + +@@ -392,9 +473,10 @@ + { + DwButton *button = DW_BUTTON (widget); + +- if(button->child == NULL || next_widget != button->child) { ++ if (button->child == NULL || next_widget != button->child) { + button->in_button = FALSE; +- p_Dw_widget_queue_draw (widget); ++ if (button->relief) ++ p_Dw_widget_queue_draw (widget); + } + return TRUE; + } +@@ -406,7 +488,7 @@ + static void Dw_button_add (DwContainer *container, + DwWidget *widget) + { +- DwButton *button = DW_BUTTON(container); ++ DwButton *button = DW_BUTTON (container); + + g_return_if_fail (button->child == NULL); + button->child = widget; +@@ -420,7 +502,7 @@ + static void Dw_button_remove (DwContainer *container, + DwWidget *widget) + { +- DwButton *button = DW_BUTTON(container); ++ DwButton *button = DW_BUTTON (container); + + g_return_if_fail (button->child != NULL); + g_return_if_fail (widget == button->child); +@@ -435,7 +517,7 @@ + DwCallback callback, + gpointer callback_data) + { +- DwButton *button = DW_BUTTON(container); ++ DwButton *button = DW_BUTTON (container); + + if (button->child) + callback (button->child, callback_data); +@@ -451,5 +533,43 @@ + gboolean sensitive) + { + button->sensitive = sensitive; +- p_Dw_widget_queue_draw (DW_WIDGET (button)); ++ if (button->relief) ++ p_Dw_widget_queue_draw (DW_WIDGET (button)); ++} ++ ++ ++static DwIterator *Dw_button_iterator (DwWidget *widget, ++ gint mask) ++{ ++ DwIterator *it = g_new (DwIterator, 1); ++ it->widget = widget; ++ it->mask = mask; ++ it->content.type = DW_CONTENT_START; ++ it->next = Dw_button_iterator_next; ++ it->clone = Dw_button_iterator_clone; ++ it->free = p_Dw_iterator_free_std; ++ return it; + } ++ ++ ++static gboolean Dw_button_iterator_next (DwIterator *it) ++{ ++ if (it->content.type == DW_CONTENT_START && ++ (it->mask & DW_CONTENT_WIDGET) && ++ DW_BUTTON(it->widget)->child) { ++ it->content.type = DW_CONTENT_WIDGET; ++ it->content.data.widget = DW_BUTTON(it->widget)->child; ++ return TRUE; ++ } else { ++ it->content.type = DW_CONTENT_END; ++ return FALSE; ++ } ++} ++ ++static DwIterator* Dw_button_iterator_clone (DwIterator *it) ++{ ++ DwIterator *it2 = g_new (DwIterator, 1); ++ *it2 = *it; ++ return it2; ++} ++ +diff -urN dillo-0.6.6/src/dw_button.h dillo2-0.6.6/src/dw_button.h +--- dillo-0.6.6/src/dw_button.h 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_button.h 2003-04-21 12:35:41.000000000 -0600 +@@ -30,7 +30,7 @@ + DwContainer container; + + DwWidget *child; +- gboolean in_button, pressed, sensitive; ++ gboolean relief, in_button, pressed, sensitive; + }; + + +@@ -38,12 +38,16 @@ + { + DwContainerClass parent_class; + +- void (*clicked) (DwButton *button); ++ void (*clicked) (DwButton *button); ++ void (*clicked_at) (DwButton *button, ++ gint32 x, ++ gint32 y); + }; + + + GtkType a_Dw_button_get_type (void); +-DwWidget* a_Dw_button_new (void); ++DwWidget* a_Dw_button_new (gint flags, ++ gboolean relief); + void a_Dw_button_set_sensitive (DwButton *button, + gboolean sensitive); + +diff -urN dillo-0.6.6/src/dw_container.c dillo2-0.6.6/src/dw_container.c +--- dillo-0.6.6/src/dw_container.c 2001-12-22 13:51:08.000000000 -0700 ++++ dillo2-0.6.6/src/dw_container.c 2003-04-21 12:35:41.000000000 -0600 +@@ -21,25 +21,27 @@ + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_container_get_type (void) ++GType a_Dw_container_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwContainer", +- sizeof (DwContainer), ++ GTypeInfo info = { + sizeof (DwContainerClass), +- (GtkClassInitFunc) Dw_container_class_init, +- (GtkObjectInitFunc) Dw_container_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_container_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwContainer), ++ 0, ++ (GInstanceInitFunc) Dw_container_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_WIDGET, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_WIDGET, "DwContainer", ++ &info, flags); + } +- + return type; + } + +@@ -94,21 +96,20 @@ + (DwCallback) gtk_object_destroy, + NULL); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + + + /* +- * Add a widget in a "standard" way. Currently not used in dillo, +- * perhaps never needed. ++ * Add a widget in a "standard" way. + */ + void a_Dw_container_add (DwContainer *container, + DwWidget *child) + { + DwContainerClass *klass; + +- klass = DW_CONTAINER_CLASS (GTK_OBJECT (container)->klass); ++ klass = DW_CONTAINER_CLASS (G_OBJECT_GET_CLASS (G_OBJECT (container))); + if (klass->add) + (* (klass->add)) (container, child); + } +@@ -122,10 +123,23 @@ + gpointer callback_data) + { + DwContainerClass *klass; +- +- klass = DW_CONTAINER_CLASS (GTK_OBJECT (container)->klass); ++ ++ klass = DW_CONTAINER_CLASS(G_OBJECT_GET_CLASS(G_OBJECT(container))); + if (klass->forall) + (* (klass->forall)) (container, callback, callback_data); ++ ++ /* The following code is handy for testing DwIterator: */ ++ ++ /* ++ DwIterator *it; ++ ++ if ((it = a_Dw_widget_iterator (DW_WIDGET (container), ++ DW_CONTENT_WIDGET))) { ++ while (a_Dw_iterator_next(it)) ++ callback (it->content.data.widget, callback_data); ++ a_Dw_iterator_free (it); ++ } ++ */ + } + + +@@ -138,7 +152,7 @@ + { + DwContainerClass *klass; + +- klass = DW_CONTAINER_CLASS (GTK_OBJECT (container)->klass); ++ klass = DW_CONTAINER_CLASS (G_OBJECT_GET_CLASS (G_OBJECT (container))); + if (klass->findtext) + return (* (klass->findtext)) (container, FP, KP, NewKey); + return 0; +@@ -153,7 +167,7 @@ + { + DwContainerClass *klass; + +- klass = DW_CONTAINER_CLASS (GTK_OBJECT (container)->klass); ++ klass = DW_CONTAINER_CLASS (G_OBJECT_GET_CLASS (G_OBJECT (container))); + if (klass->remove) + (* (klass->remove)) (container, child); + } +diff -urN dillo-0.6.6/src/dw_embed_gtk.c dillo2-0.6.6/src/dw_embed_gtk.c +--- dillo-0.6.6/src/dw_embed_gtk.c 2002-03-13 05:08:42.000000000 -0700 ++++ dillo2-0.6.6/src/dw_embed_gtk.c 2003-04-21 12:35:42.000000000 -0600 +@@ -17,32 +17,32 @@ + DwRectangle *area, + GdkEventExpose *event); + +-static void Dw_embed_gtk_remove_gtk (DwEmbedGtk *embed_gtk); +- + static GtkWidgetClass *parent_class; + + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_embed_gtk_get_type (void) ++GType a_Dw_embed_gtk_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwEmbedGtk", +- sizeof (DwEmbedGtk), ++ GTypeInfo info = { + sizeof (DwEmbedGtkClass), +- (GtkClassInitFunc) Dw_embed_gtk_class_init, +- (GtkObjectInitFunc) Dw_embed_gtk_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_embed_gtk_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwEmbedGtk), ++ 0, ++ (GInstanceInitFunc) Dw_embed_gtk_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_WIDGET, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_WIDGET, "DwEmbedGtk", ++ &info, flags); + } +- + return type; + } + +@@ -102,7 +102,7 @@ + if (embed_gtk->idle_id != -1) + gtk_idle_remove (embed_gtk->idle_id); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -206,10 +206,11 @@ + * This function is called when the embedded Gtk+ widget is destroyed. + * Don't use this function directly! + */ +-static void Dw_embed_gtk_remove_gtk (DwEmbedGtk *embed_gtk) ++static gboolean Dw_embed_gtk_remove_gtk (DwEmbedGtk *embed_gtk) + { + embed_gtk->child = NULL; + p_Dw_widget_queue_resize (DW_WIDGET (embed_gtk), 0, TRUE); ++ return FALSE; + } + + +@@ -218,7 +219,7 @@ + * will set the adjustments of the viewport. + * Don't use this function directly! + */ +-static int Dw_embed_gtk_child_focus_in (DwEmbedGtk *embed_gtk) ++static gboolean Dw_embed_gtk_child_focus_in (DwEmbedGtk *embed_gtk) + { + DwWidget *widget; + GtkLayout *layout; +@@ -227,8 +228,8 @@ + widget = DW_WIDGET (embed_gtk); + layout = GTK_LAYOUT (widget->viewport); + +- vx = layout->xoffset; +- vy = layout->yoffset; ++ vx = p_Dw_widget_x_viewport_to_world(widget, 0); ++ vy = p_Dw_widget_y_viewport_to_world(widget, 0); + vw = GTK_WIDGET(layout)->allocation.width; + vh = GTK_WIDGET(layout)->allocation.height; + +@@ -274,23 +275,20 @@ + /* This is to recognize size changes of the embedded Gtk+ widget, + but this simple implementation causes too much page rewraps, so + it is currently deactivated */ +- gtk_signal_connect_object (GTK_OBJECT (embed_gtk->child), +- "size_request", +- GTK_SIGNAL_FUNC (Dw_widget_queue_resize), +- GTK_OBJECT (embed_gtk)); ++ g_signal_connect_object (G_OBJECT (embed_gtk->child), "size_request", ++ G_CALLBACK(Dw_widget_queue_resize), ++ G_OBJECT (embed_gtk), 0); + #endif + + /* for setting the adjustments */ +- gtk_signal_connect_object (GTK_OBJECT (embed_gtk->child), +- "focus_in_event", +- GTK_SIGNAL_FUNC (Dw_embed_gtk_child_focus_in), +- GTK_OBJECT (embed_gtk)); ++ g_signal_connect_object(G_OBJECT (embed_gtk->child), "focus_in_event", ++ G_CALLBACK(Dw_embed_gtk_child_focus_in), ++ G_OBJECT (embed_gtk), G_CONNECT_SWAPPED); + + /* todo: An idea: use "remove" signal of DwGtkContainer instead. */ +- gtk_signal_connect_object (GTK_OBJECT (embed_gtk->child), +- "destroy", +- GTK_SIGNAL_FUNC (Dw_embed_gtk_remove_gtk), +- GTK_OBJECT (embed_gtk)); ++ g_signal_connect_object(G_OBJECT (embed_gtk->child), "destroy", ++ G_CALLBACK (Dw_embed_gtk_remove_gtk), ++ G_OBJECT (embed_gtk), G_CONNECT_SWAPPED); + + p_Dw_widget_queue_resize (DW_WIDGET (embed_gtk), 0, TRUE); + } +diff -urN dillo-0.6.6/src/dw_ext_iterator.c dillo2-0.6.6/src/dw_ext_iterator.c +--- dillo-0.6.6/src/dw_ext_iterator.c 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/dw_ext_iterator.c 2003-04-21 12:35:42.000000000 -0600 +@@ -0,0 +1,131 @@ ++/* ++ * File: dw_ext_iterator.c ++ * ++ * Copyright (C) 2002 Sebastian Geerken <S.Geerken@ping.de> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ */ ++ ++/* ++ * DwExtIterator is an extension of DwIterator, which stores ++ * DwIterator's in a stack, for cases where recursions are not ++ * possible. ++ */ ++ ++#include "dw_ext_iterator.h" ++#include "list.h" ++ ++/* ++ * Create a new DwExtIterator from an existing DwIterator. ++ * The content of the return value will be the content of "it". ++ * NOTES: ++ * (i) If you want to continue using "it", pass a_Dw_iterator_clone (it). ++ * (ii) The mask of "it" must include DW_CONTENT_WIDGET, but ++ * a_Dw_ext_iterator_next will never return widgets. ++ */ ++DwExtIterator* a_Dw_ext_iterator_new (DwIterator *it) ++{ ++ DwExtIterator *eit = g_new (DwExtIterator, 1); ++ DwWidget *w; ++ int sp; ++ ++ eit->stack_top = 0; ++ /* If this widget has parents, we must construct appropiate ++ * iterators. TODO: There should be a faster way instead of ++ * iterating through the parent widgets. */ ++ /* NOTE: This has not yet been tested fully! */ ++ for (w = it->widget; w->parent != NULL; w = w->parent) ++ eit->stack_top++; ++ eit->stack_max = 4; ++ while (eit->stack_top >= eit->stack_max) ++ eit->stack_max <<= 1; ++ ++ /* Construct the iterators. */ ++ for (w = it->widget, sp = eit->stack_top - 1; ++ w->parent != NULL; ++ w = w->parent, sp--) { ++ eit->stack[sp] = a_Dw_widget_iterator (w->parent, it->mask); ++ while (TRUE) { ++ while (!a_Dw_iterator_next(eit->stack[sp])) { ++ g_warning ("BUG in DwExtIterator!"); ++ return NULL; ++ } ++ if (eit->stack[sp]->content.type == DW_CONTENT_WIDGET && ++ eit->stack[sp]->content.data.widget == w) ++ break; ++ } ++ } ++ ++ eit->stack = g_new (DwIterator*, eit->stack_max); ++ eit->stack[eit->stack_top] = it; ++ eit->content = it->content; ++ return eit; ++} ++ ++/* ++ * Move iterator forward and store content it. Returns TRUE on ++ * success. ++ */ ++gboolean a_Dw_ext_iterator_next (DwExtIterator *eit) ++{ ++ DwIterator *it = eit->stack[eit->stack_top]; ++ ++ if (a_Dw_iterator_next(it)) { ++ if (it->content.type == DW_CONTENT_WIDGET) { ++ /* Widget: new iterator on stack, to search in this widget. */ ++ eit->stack_top++; ++ a_List_add (eit->stack, eit->stack_top, eit->stack_max); ++ eit->stack[eit->stack_top] = ++ a_Dw_widget_iterator (it->content.data.widget, it->mask); ++ return a_Dw_ext_iterator_next (eit); ++ } else { ++ /* Simply return the content of the iterartor. */ ++ eit->content = it->content; ++ return TRUE; ++ } ++ } else { ++ /* No more data in the top-most widget. */ ++ if (eit->stack_top > 0) { ++ /* Pop iterator from stack, and move to next item in the old one. */ ++ a_Dw_iterator_free (it); ++ eit->stack_top--; ++ return a_Dw_ext_iterator_next (eit); ++ } else ++ /* Stack is empty. */ ++ return FALSE; ++ } ++} ++ ++/* ++ * Create an exact copy of the iterator, which then can be used ++ * independantly of the original one. ++ */ ++DwExtIterator* a_Dw_ext_iterator_clone (DwExtIterator *eit) ++{ ++ int i; ++ DwExtIterator *eit2 = g_new (DwExtIterator, 1); ++ eit2->stack_top = eit->stack_top; ++ eit2->stack_max = eit->stack_max; ++ eit2->content = eit->content; ++ ++ eit2->stack = g_new (DwIterator*, eit2->stack_max); ++ for (i = 0; i < eit2->stack_top; i++) ++ eit2->stack[i] = a_Dw_iterator_clone (eit->stack[i]); ++ ++ return eit2; ++} ++ ++/* ++ * Free memory of iterator. ++ */ ++void a_Dw_ext_iterator_free (DwExtIterator *eit) ++{ ++ int i; ++ for (i = 0; i < eit->stack_top; i++) ++ a_Dw_iterator_clone (eit->stack[i]); ++ g_free (eit->stack); ++ g_free (eit); ++} +diff -urN dillo-0.6.6/src/dw_ext_iterator.h dillo2-0.6.6/src/dw_ext_iterator.h +--- dillo-0.6.6/src/dw_ext_iterator.h 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/dw_ext_iterator.h 2003-04-21 12:35:42.000000000 -0600 +@@ -0,0 +1,28 @@ ++#ifndef __DW_EXT_ITERATOR_H__ ++#define __DW_EXT_ITERATOR_H__ ++ ++#include "dw_widget.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif /* __cplusplus */ ++ ++typedef struct _DwExtIterator ++{ ++ DwIterator **stack; ++ gint stack_top; ++ gint stack_max; ++ ++ DwContent content; ++} DwExtIterator; ++ ++DwExtIterator* a_Dw_ext_iterator_new (DwIterator *it); ++gboolean a_Dw_ext_iterator_next (DwExtIterator *eit); ++DwExtIterator* a_Dw_ext_iterator_clone (DwExtIterator *eit); ++void a_Dw_ext_iterator_free (DwExtIterator *eit); ++ ++#ifdef __cplusplus ++} ++#endif /* __cplusplus */ ++ ++#endif /* __DW_EXT_ITERATOR_H__ */ +diff -urN dillo-0.6.6/src/dw_gtk_scrolled_frame.c dillo2-0.6.6/src/dw_gtk_scrolled_frame.c +--- dillo-0.6.6/src/dw_gtk_scrolled_frame.c 2002-04-30 10:27:51.000000000 -0600 ++++ dillo2-0.6.6/src/dw_gtk_scrolled_frame.c 2003-04-21 12:35:44.000000000 -0600 +@@ -17,7 +17,9 @@ + + #include <gtk/gtk.h> + #include <gdk/gdkkeysyms.h> ++#include <gdk/gdkx.h> + #include "dw_gtk_scrolled_frame.h" ++#include "dw_marshal.h" + + static GtkBinClass *parent_class = NULL; + +@@ -36,28 +38,21 @@ + GtkRequisition *requisition); + static void Dw_gtk_scrolled_frame_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +-static void Dw_gtk_scrolled_frame_draw (GtkWidget *widget, +- GdkRectangle *area); +-static void Dw_gtk_scrolled_frame_draw_focus (GtkWidget *widget); +-static gint Dw_gtk_scrolled_frame_expose (GtkWidget *widget, ++static gboolean Dw_gtk_scrolled_frame_expose (GtkWidget *widget, + GdkEventExpose *event); +-static gint Dw_gtk_scrolled_frame_key_press (GtkWidget *widget, ++static gboolean Dw_gtk_scrolled_frame_key_press (GtkWidget *widget, + GdkEventKey *event); +-static gint Dw_gtk_scrolled_frame_focus_in (GtkWidget *widget, +- GdkEventFocus *event); +-static gint Dw_gtk_scrolled_frame_focus_out (GtkWidget *widget, +- GdkEventFocus *event); +-static gint Dw_gtk_scrolled_frame_button_press (GtkWidget *widget, +- GdkEventButton *event); +-static gint Dw_gtk_scrolled_frame_button_release(GtkWidget *widget, +- GdkEventButton *event); +-static gint Dw_gtk_scrolled_frame_motion_notify (GtkWidget *widget, +- GdkEventMotion *event); ++static gboolean Dw_gtk_scrolled_frame_button_press (GtkWidget *widget, ++ GdkEventButton *event); ++static gboolean Dw_gtk_scrolled_frame_button_release(GtkWidget *widget, ++ GdkEventButton *event); ++static gboolean Dw_gtk_scrolled_frame_motion_notify (GtkWidget *widget, ++ GdkEventMotion *event); + + /* GtkContainer methods */ + static void Dw_gtk_scrolled_frame_add (GtkContainer *container, + GtkWidget *widget); +-static gint Dw_gtk_scrolled_frame_focus (GtkContainer *container, ++static gboolean Dw_gtk_scrolled_frame_focus (GtkWidget *widget, + GtkDirectionType direction); + + /* GtkDwScrolledFrame methods */ +@@ -95,25 +90,27 @@ + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_gtk_scrolled_frame_get_type (void) ++GType a_Dw_gtk_scrolled_frame_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "GtkDwScrolledFrame", +- sizeof (GtkDwScrolledFrame), ++ GTypeInfo info = { + sizeof (GtkDwScrolledFrameClass), +- (GtkClassInitFunc) Dw_gtk_scrolled_frame_class_init, +- (GtkObjectInitFunc) Dw_gtk_scrolled_frame_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_gtk_scrolled_frame_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (GtkDwScrolledFrame), ++ 0, ++ (GInstanceInitFunc) Dw_gtk_scrolled_frame_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (GTK_TYPE_BIN, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(GTK_TYPE_BIN, "GtkDwScrolledFrame", ++ &info, flags); + } +- + return type; + } + +@@ -173,35 +170,36 @@ + container_class = (GtkContainerClass*) klass; + + frame_signals[SET_SCROLL_ADJUSTMENTS] = +- gtk_signal_new ("set_scroll_adjustments", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (GtkDwScrolledFrameClass, +- set_scroll_adjustments), +- gtk_marshal_NONE__POINTER_POINTER, +- GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, +- GTK_TYPE_ADJUSTMENT); ++ g_signal_new ("set_scroll_adjustments", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (GtkDwScrolledFrameClass, ++ set_scroll_adjustments), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__POINTER_POINTER, ++ GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, ++ GTK_TYPE_ADJUSTMENT); + widget_class->set_scroll_adjustments_signal = + frame_signals[SET_SCROLL_ADJUSTMENTS]; +- + frame_signals[USER_HCHANGED] = +- gtk_signal_new ("user_hchanged", +- GTK_RUN_LAST | GTK_RUN_ACTION, +- object_class->type, +- GTK_SIGNAL_OFFSET (GtkDwScrolledFrameClass, +- user_hchanged), +- gtk_marshal_NONE__NONE, +- GTK_TYPE_NONE, 0); ++ g_signal_new ("user_hchanged", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, ++ G_STRUCT_OFFSET (GtkDwScrolledFrameClass, user_hchanged), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__VOID, ++ GTK_TYPE_NONE, 0); + frame_signals[USER_VCHANGED] = +- gtk_signal_new ("user_vchanged", +- GTK_RUN_LAST | GTK_RUN_ACTION, +- object_class->type, +- GTK_SIGNAL_OFFSET (GtkDwScrolledFrameClass, +- user_vchanged), +- gtk_marshal_NONE__NONE, +- GTK_TYPE_NONE, 0); +- +- gtk_object_class_add_signals (object_class, frame_signals, LAST_SIGNAL); ++ g_signal_new ("user_vchanged", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, ++ G_STRUCT_OFFSET (GtkDwScrolledFrameClass, user_vchanged), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__VOID, ++ GTK_TYPE_NONE, 0); + + object_class->destroy = Dw_gtk_scrolled_frame_destroy; + +@@ -209,21 +207,16 @@ + widget_class->unrealize = Dw_gtk_scrolled_frame_unrealize; + widget_class->size_request = Dw_gtk_scrolled_frame_size_request; + widget_class->size_allocate = Dw_gtk_scrolled_frame_size_allocate; +- widget_class->draw_focus = Dw_gtk_scrolled_frame_draw_focus; +- widget_class->draw = Dw_gtk_scrolled_frame_draw; + widget_class->expose_event = Dw_gtk_scrolled_frame_expose; + widget_class->key_press_event = Dw_gtk_scrolled_frame_key_press; +- widget_class->focus_in_event = Dw_gtk_scrolled_frame_focus_in; +- widget_class->focus_out_event = Dw_gtk_scrolled_frame_focus_out; ++ widget_class->focus = Dw_gtk_scrolled_frame_focus; + widget_class->button_press_event = Dw_gtk_scrolled_frame_button_press; + widget_class->button_release_event = Dw_gtk_scrolled_frame_button_release; + widget_class->motion_notify_event = Dw_gtk_scrolled_frame_motion_notify; + + container_class->add = Dw_gtk_scrolled_frame_add; +- container_class->focus = Dw_gtk_scrolled_frame_focus; + +- klass->set_scroll_adjustments = +- Dw_gtk_scrolled_frame_set_scroll_adjustments; ++ klass->set_scroll_adjustments = Dw_gtk_scrolled_frame_set_scroll_adjustments; + klass->user_hchanged = NULL; + klass->user_vchanged = NULL; + } +@@ -246,7 +239,7 @@ + if (frame->move_idle_id != -1) + gtk_idle_remove (frame->move_idle_id); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -286,6 +279,11 @@ + widget->style = gtk_style_attach (widget->style, widget->window); + gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); + ++ /* evil workaround */ ++ GTK_DW_SCROLLED_FRAME(widget)->vadjustment->step_increment = 10; ++ GTK_DW_SCROLLED_FRAME(widget)->hadjustment->step_increment = 10; ++ /* end evil workaround */ ++ + GTK_DW_SCROLLED_FRAME(widget)->drag_cursor = gdk_cursor_new (GDK_FLEUR); + } + +@@ -321,11 +319,11 @@ + border_width = GTK_CONTAINER(widget)->border_width; + + child_allocation.width = +- MAX (allocation->width - 2 * (widget->style->klass->xthickness + ++ MAX (allocation->width - 2 * (widget->style->xthickness + + border_width), + 1); + child_allocation.height = +- MAX (allocation->height - 2 * (widget->style->klass->ythickness + ++ MAX (allocation->height - 2 * (widget->style->ythickness + + border_width), + 1); + child_allocation.x = (allocation->width - child_allocation.width) / 2; +@@ -353,10 +351,10 @@ + gtk_widget_size_request (bin->child, &child_requisition); + + requisition->width = +- child_requisition.width + 2 * (widget->style->klass->xthickness + ++ child_requisition.width + 2 * (widget->style->xthickness + + border_width); + requisition->height = +- child_requisition.height + 2 * (widget->style->klass->ythickness + ++ child_requisition.height + 2 * (widget->style->ythickness + + border_width); + } else { + requisition->width = 100; +@@ -385,7 +383,7 @@ + + /* "text" is probably next to what we need */ + gtk_paint_focus (widget->style, widget->window, +- area, widget, "text", ++ GTK_STATE_SELECTED, area, widget, "text", + border_width, border_width, + widget->allocation.width - 2 * border_width - 1, + widget->allocation.height - 2 * border_width - 1); +@@ -399,37 +397,15 @@ + } + } + +- + /* + * Standard Gtk+ function + */ +-static void Dw_gtk_scrolled_frame_draw_focus (GtkWidget *widget) ++static gboolean Dw_gtk_scrolled_frame_expose (GtkWidget *widget, ++ GdkEventExpose *event) + { +- Dw_gtk_scrolled_frame_paint_shadow (widget, NULL); +-} ++ gboolean ret_val; + +- +-/* +- * Standard Gtk+ function +- */ +-static void Dw_gtk_scrolled_frame_draw (GtkWidget *widget, +- GdkRectangle *area) +-{ +- (* (GTK_WIDGET_CLASS(parent_class)->draw)) (widget, area); +- Dw_gtk_scrolled_frame_paint_shadow (widget, area); +-} +- +- +-/* +- * Standard Gtk+ function +- */ +-static gint Dw_gtk_scrolled_frame_expose (GtkWidget *widget, +- GdkEventExpose *event) +-{ +- gint ret_val; +- +- ret_val = +- (* (GTK_WIDGET_CLASS(parent_class)->expose_event)) (widget, event); ++ ret_val = GTK_WIDGET_CLASS(parent_class)->expose_event (widget, event); + Dw_gtk_scrolled_frame_paint_shadow (widget, &(event->area)); + + return ret_val; +@@ -439,77 +415,77 @@ + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_scrolled_frame_key_press (GtkWidget *widget, +- GdkEventKey *event) ++static gboolean Dw_gtk_scrolled_frame_key_press (GtkWidget *widget, ++ GdkEventKey *event) + { +- GtkContainer *container; + GtkDwScrolledFrame *frame; + +- container = GTK_CONTAINER (widget); + frame = GTK_DW_SCROLLED_FRAME (widget); + + switch (event->keyval) { + case GDK_Up: +- Dw_gtk_scrolled_frame_move_by(frame, 0, +- - frame->vadjustment->step_increment); ++ Dw_gtk_scrolled_frame_move_by (frame, 0, ++ - frame->vadjustment->step_increment); + return TRUE; + + case GDK_Down: +- Dw_gtk_scrolled_frame_move_by(frame, 0, +- + frame->vadjustment->step_increment); ++ Dw_gtk_scrolled_frame_move_by (frame, 0, ++ + frame->vadjustment->step_increment); + return TRUE; + + case GDK_Left: +- Dw_gtk_scrolled_frame_move_by(frame, +- - frame->hadjustment->step_increment, 0); ++ Dw_gtk_scrolled_frame_move_by (frame, ++ - frame->hadjustment->step_increment, 0); + return TRUE; + + case GDK_Right: +- Dw_gtk_scrolled_frame_move_by(frame, +- + frame->hadjustment->step_increment, 0); ++ Dw_gtk_scrolled_frame_move_by (frame, ++ + frame->hadjustment->step_increment, 0); + return TRUE; + + case GDK_Tab: + if (event->state & GDK_SHIFT_MASK) +- return gtk_container_focus (container, GTK_DIR_TAB_BACKWARD); ++ return gtk_widget_child_focus (widget, GTK_DIR_TAB_BACKWARD); + else +- return gtk_container_focus (container, GTK_DIR_TAB_FORWARD); ++ return gtk_widget_child_focus (widget, GTK_DIR_TAB_FORWARD); + + case GDK_b: case GDK_B: +- if (event->state & (GDK_MOD1_MASK | GDK_MOD2_MASK)) ++ if (event->state & GDK_MOD1_MASK) + return FALSE; + /* continues */ + case GDK_Page_Up: + if (event->state & GDK_CONTROL_MASK) +- Dw_gtk_scrolled_frame_move_by(frame, +- - frame->hadjustment->page_increment, 0); ++ Dw_gtk_scrolled_frame_move_by (frame, ++ - frame->hadjustment->page_increment, ++ 0); + else +- Dw_gtk_scrolled_frame_move_by(frame, 0, +- - frame->vadjustment->page_increment); ++ Dw_gtk_scrolled_frame_move_by (frame, 0, ++ - frame->vadjustment->page_increment); + return TRUE; + + case GDK_Page_Down: + case GDK_space: + if (event->state & GDK_CONTROL_MASK) +- Dw_gtk_scrolled_frame_move_by(frame, +- + frame->hadjustment->page_increment, 0); ++ Dw_gtk_scrolled_frame_move_by (frame, ++ + frame->hadjustment->page_increment, ++ 0); + else +- Dw_gtk_scrolled_frame_move_by(frame, 0, +- + frame->vadjustment->page_increment); ++ Dw_gtk_scrolled_frame_move_by (frame, 0, ++ + frame->vadjustment->page_increment); + return TRUE; + + case GDK_Home: + if (event->state & GDK_CONTROL_MASK) +- Dw_gtk_scrolled_frame_move_x_to(frame, 0); ++ Dw_gtk_scrolled_frame_move_x_to (frame, 0); + else +- Dw_gtk_scrolled_frame_move_y_to(frame, 0); ++ Dw_gtk_scrolled_frame_move_y_to (frame, 0); + return TRUE; + + case GDK_End: + if (event->state & GDK_CONTROL_MASK) +- Dw_gtk_scrolled_frame_move_x_to(frame, G_MAXFLOAT); ++ Dw_gtk_scrolled_frame_move_x_to (frame, G_MAXFLOAT); + else +- Dw_gtk_scrolled_frame_move_y_to(frame, G_MAXFLOAT); ++ Dw_gtk_scrolled_frame_move_y_to (frame, G_MAXFLOAT); + return TRUE; + + default: +@@ -517,36 +493,11 @@ + } + } + +- +-/* +- * Standard Gtk+ function +- */ +-static gint Dw_gtk_scrolled_frame_focus_in (GtkWidget *widget, +- GdkEventFocus *event) +-{ +- GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS); +- gtk_widget_draw_focus (widget); +- return FALSE; +-} +- +- + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_scrolled_frame_focus_out (GtkWidget *widget, +- GdkEventFocus *event) +-{ +- GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS); +- gtk_widget_draw_focus (widget); +- return FALSE; +-} +- +- +-/* +- * Standard Gtk+ function +- */ +-static gint Dw_gtk_scrolled_frame_button_press (GtkWidget *widget, +- GdkEventButton *event) ++static gboolean Dw_gtk_scrolled_frame_button_press (GtkWidget *widget, ++ GdkEventButton *event) + { + GtkDwScrolledFrame *frame; + +@@ -557,8 +508,8 @@ + frame = GTK_DW_SCROLLED_FRAME (widget); + + frame->button2_pressed = TRUE; +- frame->start_lmx = event->x; +- frame->start_lmy = event->y; ++ frame->start_lmx = event->x - frame->hadjustment->value; ++ frame->start_lmy = event->y - frame->vadjustment->value; + + gdk_pointer_grab (widget->window, FALSE, + GDK_BUTTON_RELEASE_MASK | GDK_BUTTON2_MOTION_MASK, +@@ -573,8 +524,8 @@ + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_scrolled_frame_button_release (GtkWidget *widget, +- GdkEventButton *event) ++static gboolean Dw_gtk_scrolled_frame_button_release (GtkWidget *widget, ++ GdkEventButton *event) + { + GTK_DW_SCROLLED_FRAME(widget)->button2_pressed = FALSE; + gdk_pointer_ungrab (event->time); +@@ -585,14 +536,22 @@ + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_scrolled_frame_motion_notify (GtkWidget *widget, +- GdkEventMotion *event) ++static gboolean Dw_gtk_scrolled_frame_motion_notify (GtkWidget *widget, ++ GdkEventMotion *event) + { + GtkDwScrolledFrame *frame = GTK_DW_SCROLLED_FRAME (widget); + + /* frame->button2_pressed makes sure that the button was pressed + in the GtkDwScrolledFrame */ + if ((event->state & GDK_BUTTON2_MASK) && frame->button2_pressed) { ++ if (event->window == GTK_LAYOUT(GTK_BIN(frame)->child)->bin_window) { ++ /* Evil evil hack ... Sometimes event->window is ++ * viewport->bin_window and sometimes frame->window, former ++ * gets x and y in world coordinates and latter in viewport ++ * coordinates, really don't know why this happens -- Medar */ ++ event->x -= frame->hadjustment->value; ++ event->y -= frame->vadjustment->value; ++ } + Dw_gtk_scrolled_frame_move_by (frame, + frame->start_lmx - event->x, + frame->start_lmy - event->y); +@@ -619,12 +578,12 @@ + { + GtkDwScrolledFrame *frame; + +- (* (GTK_CONTAINER_CLASS(parent_class)->add)) (container, widget); ++ GTK_CONTAINER_CLASS(parent_class)->add (container, widget); + + frame = GTK_DW_SCROLLED_FRAME (container); +- if ( !gtk_widget_set_scroll_adjustments( ++ if ( !gtk_widget_set_scroll_adjustments ( + GTK_WIDGET (container), frame->hadjustment, frame->vadjustment) ) +- g_warning ("Dw_gtk_scrolled_frame_set_scroll_adjustments(): " ++ g_warning ("Dw_gtk_scrolled_frame_add(): " + "child is non scrollable"); + } + +@@ -632,8 +591,8 @@ + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_scrolled_frame_focus (GtkContainer *container, +- GtkDirectionType direction) ++static gboolean Dw_gtk_scrolled_frame_focus (GtkWidget *widget, ++ GtkDirectionType direction) + { + /* todo: + * This crashed if the child is not a container (what will never happen +@@ -641,32 +600,33 @@ + */ + GtkDwScrolledFrame *frame; + +- frame = GTK_DW_SCROLLED_FRAME (container); ++ frame = GTK_DW_SCROLLED_FRAME (widget); + + switch (direction) { + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_RIGHT: + case GTK_DIR_DOWN: +- if (container->focus_child == NULL && !GTK_WIDGET_HAS_FOCUS (container)){ ++ if (GTK_CONTAINER(widget)->focus_child == NULL && ++ !GTK_WIDGET_HAS_FOCUS (widget)){ + /* no focus of the GtkDwScrolledFrame or a child widget -> focus */ +- gtk_widget_grab_focus (GTK_WIDGET (container)); ++ gtk_widget_grab_focus (widget); + return TRUE; + } else + /* deliver to child */ +- return gtk_container_focus (GTK_CONTAINER (GTK_BIN(container)->child), +- direction); ++ return gtk_widget_child_focus (GTK_BIN(widget)->child, ++ direction); + + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_LEFT: + case GTK_DIR_UP: +- if (GTK_WIDGET_HAS_FOCUS (container)) ++ if (GTK_WIDGET_HAS_FOCUS (widget)) + /* will focus the widget "before" */ + return FALSE; + else { +- if (!gtk_container_focus (GTK_CONTAINER (GTK_BIN(container)->child), +- GTK_DIR_TAB_BACKWARD)) ++ if (!gtk_widget_child_focus (GTK_BIN(widget)->child, ++ GTK_DIR_TAB_BACKWARD)) + /* first child of the child unfocussed */ +- gtk_widget_grab_focus (GTK_WIDGET (container)); ++ gtk_widget_grab_focus (widget); + + return TRUE; + } +@@ -692,9 +652,9 @@ + * Standard Gtk+ function + */ + static void +-Dw_gtk_scrolled_frame_set_scroll_adjustments(GtkDwScrolledFrame *frame, +- GtkAdjustment *hadjustment, +- GtkAdjustment *vadjustment) ++Dw_gtk_scrolled_frame_set_scroll_adjustments (GtkDwScrolledFrame *frame, ++ GtkAdjustment *hadjustment, ++ GtkAdjustment *vadjustment) + { + GtkBin *bin; + +@@ -722,7 +682,7 @@ + /* + * The idle function. + */ +-static gint Dw_gtk_scrolled_frame_move_idle (gpointer data) ++static gboolean Dw_gtk_scrolled_frame_move_idle (gpointer data) + { + GtkDwScrolledFrame *frame; + +@@ -733,12 +693,12 @@ + + if (frame->moveto_x != frame->hadjustment->value) { + gtk_adjustment_set_value (frame->hadjustment, frame->moveto_x); +- gtk_signal_emit (GTK_OBJECT (frame), frame_signals[USER_HCHANGED]); ++ g_signal_emit (G_OBJECT (frame), frame_signals[USER_HCHANGED], 0); + } + + if (frame->moveto_y != frame->vadjustment->value) { + gtk_adjustment_set_value (frame->vadjustment, frame->moveto_y); +- gtk_signal_emit (GTK_OBJECT (frame), frame_signals[USER_VCHANGED]); ++ g_signal_emit (G_OBJECT (frame), frame_signals[USER_VCHANGED], 0); + } + + frame->move_idle_id = -1; +@@ -815,6 +775,8 @@ + { + if (pos < adj->lower) + return adj->lower; ++ else if (adj->upper < adj->page_size) ++ return 0.0; + else if (pos > adj->upper - adj->page_size) + return adj->upper - adj->page_size; + else +diff -urN dillo-0.6.6/src/dw_gtk_scrolled_window.c dillo2-0.6.6/src/dw_gtk_scrolled_window.c +--- dillo-0.6.6/src/dw_gtk_scrolled_window.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_gtk_scrolled_window.c 2003-04-21 12:35:45.000000000 -0600 +@@ -25,32 +25,34 @@ + static void Dw_gtk_scrolled_window_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); + +-static void Dw_gtk_scrolled_window_changed1 (GtkDwScrolledWindow *scrolled); +-static void Dw_gtk_scrolled_window_changed2 (GtkDwScrolledWindow *scrolled); ++static gboolean Dw_gtk_scrolled_window_changed1 (GtkDwScrolledWindow *scrolled); ++static gboolean Dw_gtk_scrolled_window_changed2 (GtkDwScrolledWindow *scrolled); + + + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_gtk_scrolled_window_get_type (void) ++GType a_Dw_gtk_scrolled_window_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "GtkDwScrolledWindow", +- sizeof (GtkDwScrolledWindow), ++ GTypeInfo info = { + sizeof (GtkDwScrolledWindowClass), +- (GtkClassInitFunc) Dw_gtk_scrolled_window_class_init, +- (GtkObjectInitFunc) Dw_gtk_scrolled_window_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_gtk_scrolled_window_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (GtkDwScrolledWindow), ++ 0, ++ (GInstanceInitFunc) Dw_gtk_scrolled_window_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (GTK_TYPE_SCROLLED_WINDOW, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(GTK_TYPE_SCROLLED_WINDOW, ++ "GtkDwScrolledWindow", &info, flags); + } +- + return type; + } + +@@ -108,20 +110,20 @@ + * users could change the scrollbar adjustments. ... + */ + for (i = 0; i < sizeof (signals) / sizeof (signals[0]); i++) { +- gtk_signal_connect_object +- (GTK_OBJECT (GTK_SCROLLED_WINDOW(scrolled)->vscrollbar), +- signals[i], GTK_SIGNAL_FUNC (Dw_gtk_scrolled_window_changed1), +- GTK_OBJECT (scrolled)); +- gtk_signal_connect_object_after +- (GTK_OBJECT (GTK_SCROLLED_WINDOW(scrolled)->vscrollbar), +- signals[i], GTK_SIGNAL_FUNC (Dw_gtk_scrolled_window_changed2), +- GTK_OBJECT (scrolled)); ++ g_signal_connect_object ++ (G_OBJECT (GTK_SCROLLED_WINDOW(scrolled)->vscrollbar), ++ signals[i], G_CALLBACK(Dw_gtk_scrolled_window_changed1), ++ G_OBJECT (scrolled), G_CONNECT_SWAPPED); ++ g_signal_connect_object ++ (G_OBJECT (GTK_SCROLLED_WINDOW(scrolled)->vscrollbar), ++ signals[i], G_CALLBACK(Dw_gtk_scrolled_window_changed2), ++ G_OBJECT (scrolled), G_CONNECT_SWAPPED | G_CONNECT_AFTER); + } + + /* ... The GtkDwScrolledFrame has a signal for this. */ +- gtk_signal_connect_object (GTK_OBJECT (frame), "user_vchanged", +- GTK_SIGNAL_FUNC (Dw_gtk_viewport_remove_anchor), +- GTK_OBJECT (viewport)); ++ g_signal_connect_object (G_OBJECT(frame), "user_vchanged", ++ G_CALLBACK(Dw_gtk_viewport_remove_anchor), ++ G_OBJECT (viewport), G_CONNECT_SWAPPED); + #if 0 + /* This does not seem to work for GtkLayout's (see also dw_embed_gtk.c): */ + gtk_container_set_focus_hadjustment (GTK_CONTAINER (viewport), +@@ -185,8 +187,10 @@ + + viewport = GTK_BIN(GTK_BIN(scrolled)->child)->child; + +- if ((old_child = GTK_DW_VIEWPORT (viewport)->child)) ++ if ((old_child = GTK_DW_VIEWPORT (viewport)->child)) { + gtk_object_destroy (GTK_OBJECT (old_child)); ++ GTK_DW_VIEWPORT (viewport)->child = NULL; ++ } + + a_Dw_gtk_viewport_add_dw (GTK_DW_VIEWPORT (viewport), widget); + } +@@ -243,9 +247,10 @@ + * See also Dw_gtk_scrolled_window_init. + * Called before possible change, save the old value. + */ +-static void Dw_gtk_scrolled_window_changed1 (GtkDwScrolledWindow *scrolled) ++static gboolean Dw_gtk_scrolled_window_changed1 (GtkDwScrolledWindow *scrolled) + { + scrolled->old_vadjustment_value = scrolled->vadjustment->value; ++ return FALSE; + } + + +@@ -253,7 +258,7 @@ + * See also Dw_gtk_scrolled_window_init. + * Called after possible change, compare old and new values. + */ +-static void Dw_gtk_scrolled_window_changed2 (GtkDwScrolledWindow *scrolled) ++static gboolean Dw_gtk_scrolled_window_changed2 (GtkDwScrolledWindow *scrolled) + { + GtkWidget *viewport; + +@@ -261,4 +266,5 @@ + viewport = GTK_BIN(GTK_BIN(scrolled)->child)->child; + Dw_gtk_viewport_remove_anchor (GTK_DW_VIEWPORT (viewport)); + } ++ return FALSE; + } +diff -urN dillo-0.6.6/src/dw_gtk_scrolled_window.h dillo2-0.6.6/src/dw_gtk_scrolled_window.h +--- dillo-0.6.6/src/dw_gtk_scrolled_window.h 2002-01-10 11:59:42.000000000 -0700 ++++ dillo2-0.6.6/src/dw_gtk_scrolled_window.h 2003-04-21 12:35:45.000000000 -0600 +@@ -39,7 +39,7 @@ + }; + + +-GtkType a_Dw_gtk_scrolled_window_get_type (void); ++GType a_Dw_gtk_scrolled_window_get_type (void); + GtkWidget* a_Dw_gtk_scrolled_window_new (void); + void a_Dw_gtk_scrolled_window_set_dw ( + GtkDwScrolledWindow *scrolled, DwWidget *widget); +diff -urN dillo-0.6.6/src/dw_gtk_viewport.c dillo2-0.6.6/src/dw_gtk_viewport.c +--- dillo-0.6.6/src/dw_gtk_viewport.c 2002-03-13 05:08:43.000000000 -0700 ++++ dillo2-0.6.6/src/dw_gtk_viewport.c 2003-04-21 12:35:47.000000000 -0600 +@@ -25,47 +25,47 @@ + static void Dw_gtk_viewport_destroy (GtkObject *object); + + /* GtkWidget methods */ +-static void Dw_gtk_viewport_realize (GtkWidget *widget); +-static void Dw_gtk_viewport_unrealize (GtkWidget *widget); +-static void Dw_gtk_viewport_draw (GtkWidget *widget, +- GdkRectangle *area); +-static gint Dw_gtk_viewport_expose (GtkWidget *widget, +- GdkEventExpose *event); +-static gint Dw_gtk_viewport_button_press (GtkWidget *widget, +- GdkEventButton *event); +-static gint Dw_gtk_viewport_button_release(GtkWidget *widget, +- GdkEventButton *event); +-static gint Dw_gtk_viewport_motion_notify (GtkWidget *widget, +- GdkEventMotion *event); +-static gint Dw_gtk_viewport_enter_notify (GtkWidget *widget, +- GdkEventCrossing *event); +-static gint Dw_gtk_viewport_leave_notify (GtkWidget *widget, +- GdkEventCrossing *event); +-static void Dw_gtk_viewport_adj_changed (GtkAdjustment *adj, +- GtkDwViewport *viewport); ++static void Dw_gtk_viewport_realize (GtkWidget *widget); ++static void Dw_gtk_viewport_unrealize (GtkWidget *widget); ++static gboolean Dw_gtk_viewport_expose (GtkWidget *widget, ++ GdkEventExpose *event); ++static gboolean Dw_gtk_viewport_button_press (GtkWidget *widget, ++ GdkEventButton *event); ++static gboolean Dw_gtk_viewport_button_release (GtkWidget *widget, ++ GdkEventButton *event); ++static gboolean Dw_gtk_viewport_motion_notify (GtkWidget *widget, ++ GdkEventMotion *event); ++static gboolean Dw_gtk_viewport_enter_notify (GtkWidget *widget, ++ GdkEventCrossing *event); ++static gboolean Dw_gtk_viewport_leave_notify (GtkWidget *widget, ++ GdkEventCrossing *event); ++static gboolean Dw_gtk_viewport_adj_changed (GtkAdjustment *adj, ++ GtkDwViewport *viewport); + + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_gtk_viewport_get_type (void) ++GType a_Dw_gtk_viewport_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "GtkDwViewport", +- sizeof (GtkDwViewport), ++ GTypeInfo info = { + sizeof (GtkDwViewportClass), +- (GtkClassInitFunc) Dw_gtk_viewport_class_init, +- (GtkObjectInitFunc) Dw_gtk_viewport_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_gtk_viewport_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (GtkDwViewport), ++ 0, ++ (GInstanceInitFunc) Dw_gtk_viewport_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (GTK_TYPE_LAYOUT, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(GTK_TYPE_LAYOUT, ++ "GtkDwViewport", &info, flags); + } +- + return type; + } + +@@ -87,12 +87,12 @@ + * however, for more general perposes, the signal function + * "set_scroll_adjustments" had to be redefined. + */ +- gtk_signal_connect (GTK_OBJECT (hadjustment), "value_changed", +- GTK_SIGNAL_FUNC (Dw_gtk_viewport_adj_changed), +- (gpointer) widget); +- gtk_signal_connect (GTK_OBJECT (vadjustment), "value_changed", +- GTK_SIGNAL_FUNC (Dw_gtk_viewport_adj_changed), +- (gpointer) widget); ++ g_signal_connect(G_OBJECT(hadjustment), "value_changed", ++ G_CALLBACK(Dw_gtk_viewport_adj_changed), ++ widget); ++ g_signal_connect(G_OBJECT(vadjustment), "value_changed", ++ G_CALLBACK(Dw_gtk_viewport_adj_changed), ++ widget); + + return widget; + } +@@ -115,11 +115,9 @@ + Look at gtklayout.c */ + GTK_WIDGET_SET_FLAGS (viewport, GTK_APP_PAINTABLE); + +- viewport->back_pixmap = NULL; + viewport->child = NULL; + viewport->last_entered = NULL; + viewport->resize_idle_id = -1; +- viewport->back_pixmap = NULL; + viewport->anchor = NULL; + viewport->anchor_idle_id = -1; + } +@@ -133,7 +131,7 @@ + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + +- parent_class = gtk_type_class (gtk_layout_get_type ()); ++ parent_class = gtk_type_class (GTK_TYPE_LAYOUT); + + object_class = (GtkObjectClass*) klass; + widget_class = (GtkWidgetClass*) klass; +@@ -142,7 +140,6 @@ + + widget_class->realize = Dw_gtk_viewport_realize; + widget_class->unrealize = Dw_gtk_viewport_unrealize; +- widget_class->draw = Dw_gtk_viewport_draw; + widget_class->expose_event = Dw_gtk_viewport_expose; + widget_class->button_press_event = Dw_gtk_viewport_button_press; + widget_class->button_release_event = Dw_gtk_viewport_button_release; +@@ -167,18 +164,20 @@ + + viewport = GTK_DW_VIEWPORT (object); + +- if (viewport->back_pixmap) +- gdk_pixmap_unref (viewport->back_pixmap); +- if (viewport->child) ++ if (viewport->child) { + gtk_object_destroy (GTK_OBJECT (viewport->child)); ++ viewport->child = NULL; ++ } + if (viewport->resize_idle_id) + gtk_idle_remove (viewport->resize_idle_id); +- if (viewport->anchor) ++ if (viewport->anchor) { + g_free (viewport->anchor); ++ viewport->anchor = NULL; ++ } + if (viewport->anchor_idle_id != -1) + gtk_idle_remove (viewport->anchor_idle_id); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -195,7 +194,7 @@ + { + GtkDwViewport *viewport; + +- (* (GTK_WIDGET_CLASS(parent_class)->realize)) (widget); ++ GTK_WIDGET_CLASS(parent_class)->realize (widget); + + gdk_window_set_events (widget->window, + gdk_window_get_events (widget->window) +@@ -204,6 +203,13 @@ + | GDK_POINTER_MOTION_MASK + | GDK_ENTER_NOTIFY_MASK + | GDK_LEAVE_NOTIFY_MASK); ++ gdk_window_set_events (GTK_LAYOUT(widget)->bin_window, ++ gdk_window_get_events (GTK_LAYOUT(widget)->bin_window) ++ | GDK_BUTTON_PRESS_MASK ++ | GDK_BUTTON_RELEASE_MASK ++ | GDK_POINTER_MOTION_MASK ++ | GDK_ENTER_NOTIFY_MASK ++ | GDK_LEAVE_NOTIFY_MASK); + + viewport = GTK_DW_VIEWPORT (widget); + if (viewport->child) +@@ -220,7 +226,7 @@ + { + GtkDwViewport *viewport; + +- (* (GTK_WIDGET_CLASS(parent_class)->unrealize)) (widget); ++ GTK_WIDGET_CLASS(parent_class)->unrealize (widget); + + viewport = GTK_DW_VIEWPORT (widget); + if (viewport->child) +@@ -236,9 +242,8 @@ + GdkEventExpose *event) + { + GtkLayout *layout; +- DwRectangle parent_area, child_area, intersection; ++ DwRectangle child_area, intersection; + GtkDwViewport *viewport; +- gboolean new_back_pixmap; + + if (GTK_WIDGET_DRAWABLE (widget)) { + layout = GTK_LAYOUT (widget); +@@ -247,58 +252,20 @@ + DEBUG_MSG (2, "Drawing (%d, %d), %d x %d\n", + area->x, area->y, area->width, area->height); + +- /* Make sure the backing pixmap is large enough. */ + if (viewport->child) { +- if (viewport->back_pixmap) +- new_back_pixmap = +- (widget->allocation.width > viewport->back_width || +- widget->allocation.height > viewport->back_height); +- else +- new_back_pixmap = TRUE; +- +- if (new_back_pixmap) { +- if (viewport->back_pixmap) +- gdk_pixmap_ref (viewport->back_pixmap); +- viewport->back_pixmap = gdk_pixmap_new (widget->window, +- widget->allocation.width, +- widget->allocation.height, +- viewport->depth); +- viewport->back_width = widget->allocation.width; +- viewport->back_height = widget->allocation.height; +- DEBUG_MSG (1, " Creating new pixmap, size = %d x %d\n", +- widget->allocation.width, widget->allocation.height); +- } +- + /* Draw top-level Dw widget. */ +- parent_area.x = +- p_Dw_widget_x_viewport_to_world (viewport->child, area->x); +- parent_area.y = +- p_Dw_widget_y_viewport_to_world (viewport->child, area->y); +- parent_area.width = area->width; +- parent_area.height = area->height; +- + child_area.x = viewport->child->allocation.x; + child_area.y = viewport->child->allocation.y; + child_area.width = viewport->child->allocation.width; + child_area.height = (viewport->child->allocation.ascent + + viewport->child->allocation.descent); + +- if (p_Dw_rectangle_intersect (&parent_area, &child_area, ++ if (p_Dw_rectangle_intersect ((DwRectangle *)area, &child_area, + &intersection)) { + intersection.x -= viewport->child->allocation.x; + intersection.y -= viewport->child->allocation.y; + +- /* "Clear" backing pixmap. */ +- gdk_draw_rectangle (viewport->back_pixmap, +- viewport->child->style->background_color->gc, +- TRUE, area->x, area->y, +- area->width, area->height); +- /* Widgets draw in backing pixmap. */ + a_Dw_widget_draw (viewport->child, &intersection, event); +- /* Copy backing pixmap into window. */ +- gdk_draw_pixmap (layout->bin_window, widget->style->black_gc, +- viewport->back_pixmap, area->x, area->y, +- area->x, area->y, area->width, area->height); + } + } else + gdk_window_clear_area (layout->bin_window, +@@ -310,48 +277,32 @@ + /* + * Standard Gtk+ function + */ +-static void Dw_gtk_viewport_draw (GtkWidget *widget, +- GdkRectangle *area) +-{ +- Dw_gtk_viewport_paint (widget, area, NULL); +- (* (GTK_WIDGET_CLASS(parent_class)->draw)) (widget, area); +-} +- +- +-/* +- * Standard Gtk+ function +- */ +-static gint Dw_gtk_viewport_expose (GtkWidget *widget, +- GdkEventExpose *event) ++static gboolean Dw_gtk_viewport_expose (GtkWidget *widget, ++ GdkEventExpose *event) + { + Dw_gtk_viewport_paint (widget, &(event->area), event); +- return (* (GTK_WIDGET_CLASS(parent_class)->expose_event)) (widget, event); ++ return GTK_WIDGET_CLASS(parent_class)->expose_event (widget, event); + } + + + /* + * Handle the mouse event and deliver it to the Dw widget. +- * Most is done in a_Dw_widget_mouse_event. ++ * Most is done in Dw_widget_mouse_event. + */ +-static gint Dw_gtk_viewport_mouse_event (GtkWidget *widget, +- gint32 x, +- gint32 y, +- GdkEvent *event) ++static gboolean Dw_gtk_viewport_mouse_event (GtkWidget *widget, ++ gint32 x, gint32 y, ++ GdkEventAny *event) + { + GtkDwViewport *viewport; + DwWidget *dw_widget; +- gint32 world_x, world_y; + +- if (event == NULL || event->any.window == widget->window) { ++ if (event == NULL || event->window == widget->window || ++ event->window == GTK_LAYOUT(widget)->bin_window) { + viewport = GTK_DW_VIEWPORT (widget); + if (viewport->child) { +- world_x = x + gtk_layout_get_hadjustment(GTK_LAYOUT(viewport))->value; +- world_y = y + gtk_layout_get_vadjustment(GTK_LAYOUT(viewport))->value; + dw_widget = +- Dw_gtk_viewport_widget_at_point (viewport, world_x, world_y); +- +- return Dw_widget_mouse_event (dw_widget, widget, +- world_x, world_y, event); ++ Dw_gtk_viewport_widget_at_point (viewport, x, y); ++ return Dw_widget_mouse_event (dw_widget, widget, x, y, event); + } + } + +@@ -362,37 +313,37 @@ + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_viewport_button_press (GtkWidget *widget, +- GdkEventButton *event) ++static gboolean Dw_gtk_viewport_button_press (GtkWidget *widget, ++ GdkEventButton *event) + { + return Dw_gtk_viewport_mouse_event (widget, event->x, event->y, +- (GdkEvent*) event); ++ (GdkEventAny*) event); + } + + + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_viewport_button_release (GtkWidget *widget, +- GdkEventButton *event) ++static gboolean Dw_gtk_viewport_button_release (GtkWidget *widget, ++ GdkEventButton *event) + { + return Dw_gtk_viewport_mouse_event (widget, event->x, event->y, +- (GdkEvent*) event); ++ (GdkEventAny*) event); + } + + + /* + * Standard Gtk+ function + */ +-static gint Dw_gtk_viewport_motion_notify (GtkWidget *widget, +- GdkEventMotion *event) ++static gboolean Dw_gtk_viewport_motion_notify (GtkWidget *widget, ++ GdkEventMotion *event) + { + GtkDwViewport *viewport = GTK_DW_VIEWPORT (widget); + + viewport->mouse_x = event->x; + viewport->mouse_y = event->y; + return Dw_gtk_viewport_mouse_event (widget, event->x, event->y, +- (GdkEvent*) event); ++ (GdkEventAny*) event); + } + + +@@ -421,11 +372,12 @@ + * This function is called when the viewport changes, and causes + * motion_notify events to be simulated. + */ +-static void Dw_gtk_viewport_adj_changed (GtkAdjustment *adj, +- GtkDwViewport *viewport) ++static gboolean Dw_gtk_viewport_adj_changed (GtkAdjustment *adj, ++ GtkDwViewport *viewport) + { +- Dw_gtk_viewport_mouse_event (GTK_WIDGET (viewport), +- viewport->mouse_x, viewport->mouse_y, NULL); ++ return Dw_gtk_viewport_mouse_event (GTK_WIDGET (viewport), ++ viewport->mouse_x, viewport->mouse_y, ++ NULL); + } + + /********************** +@@ -545,8 +497,9 @@ + + widget = GTK_WIDGET (viewport); + scrolled = GTK_SCROLLED_WINDOW (widget->parent->parent); +- space = GTK_SCROLLED_WINDOW_CLASS(GTK_OBJECT(scrolled)->klass) +- ->scrollbar_spacing; ++ space = GTK_SCROLLED_WINDOW_CLASS(G_OBJECT_GET_CLASS( ++ G_OBJECT(scrolled)))->scrollbar_spacing; ++ if (space < 0) space = 3; /* Bad solution, check gtkscrolledwindow.c */ + border_width = GTK_CONTAINER(viewport)->border_width; + + gtk_widget_size_request (scrolled->vscrollbar, &bar_requisition); +@@ -747,7 +700,7 @@ + g_hash_table_lookup_extended (widget->anchors_table, viewport->anchor, + NULL, &p)) + Dw_gtk_viewport_scroll_to (viewport, +- GPOINTER_TO_INT(p) + widget->allocation.y); ++ GPOINTER_TO_INT (p) + widget->allocation.y); + else { + if (DW_IS_CONTAINER (widget)) + a_Dw_container_forall (DW_CONTAINER (widget), +@@ -777,7 +730,7 @@ + Dw_gtk_viewport_remove_anchor (viewport); + + if (anchor) { +- viewport->anchor = g_strdup(anchor); ++ viewport->anchor = g_strdup (anchor); + Dw_gtk_viewport_update_anchor (viewport); + } else { + viewport->anchor = NULL; +@@ -813,7 +766,7 @@ + /* + * Remove anchor and idle function. + */ +-void Dw_gtk_viewport_remove_anchor (GtkDwViewport *viewport) ++gboolean Dw_gtk_viewport_remove_anchor (GtkDwViewport *viewport) + { + if (viewport->anchor) { + g_free (viewport->anchor); +@@ -824,4 +777,5 @@ + gtk_idle_remove (viewport->anchor_idle_id); + viewport->anchor_idle_id = -1; + } ++ return TRUE; + } +diff -urN dillo-0.6.6/src/dw_gtk_viewport.h dillo2-0.6.6/src/dw_gtk_viewport.h +--- dillo-0.6.6/src/dw_gtk_viewport.h 2001-12-22 13:51:08.000000000 -0700 ++++ dillo2-0.6.6/src/dw_gtk_viewport.h 2003-04-21 12:35:47.000000000 -0600 +@@ -25,8 +25,6 @@ + { + GtkLayout layout; + +- GdkPixmap *back_pixmap; /* backing pixmap for buffering */ +- gint back_width, back_height; + gint depth; + + DwWidget *child; +@@ -71,7 +69,7 @@ + void Dw_gtk_viewport_update_anchor (GtkDwViewport *viewport); + void Dw_gtk_viewport_scroll_to (GtkDwViewport *viewport, + gint32 y); +-void Dw_gtk_viewport_remove_anchor (GtkDwViewport *viewport); ++gboolean Dw_gtk_viewport_remove_anchor (GtkDwViewport *viewport); + + #ifdef __cplusplus + } +diff -urN dillo-0.6.6/src/dw_hruler.c dillo2-0.6.6/src/dw_hruler.c +--- dillo-0.6.6/src/dw_hruler.c 2002-03-13 05:08:43.000000000 -0700 ++++ dillo2-0.6.6/src/dw_hruler.c 2003-04-21 12:35:48.000000000 -0600 +@@ -29,25 +29,27 @@ + GdkEventExpose *event); + + +-GtkType a_Dw_hruler_get_type (void) ++GType a_Dw_hruler_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwHruler", +- sizeof (DwHruler), ++ GTypeInfo info = { + sizeof (DwHrulerClass), +- (GtkClassInitFunc) Dw_hruler_class_init, +- (GtkObjectInitFunc) Dw_hruler_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_hruler_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwHruler), ++ 0, ++ (GInstanceInitFunc) Dw_hruler_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_WIDGET, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_WIDGET, ++ "DwHruler", &info, flags); + } +- + return type; + } + +@@ -71,7 +73,7 @@ + + object_class = GTK_OBJECT_CLASS (klass); + +- widget_class = (DwWidgetClass*)klass; ++ widget_class = DW_WIDGET_CLASS (klass); + widget_class->size_request = Dw_hruler_size_request; + widget_class->draw = Dw_hruler_draw; + } +diff -urN dillo-0.6.6/src/dw_image.c dillo2-0.6.6/src/dw_image.c +--- dillo-0.6.6/src/dw_image.c 2002-04-09 18:56:26.000000000 -0600 ++++ dillo2-0.6.6/src/dw_image.c 2003-04-21 12:35:49.000000000 -0600 +@@ -88,25 +88,27 @@ + /* + * Standard Gtk+ function. + */ +-GtkType a_Dw_image_get_type (void) ++GType a_Dw_image_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwImage", +- sizeof (DwImage), ++ GTypeInfo info = { + sizeof (DwImageClass), +- (GtkClassInitFunc) Dw_image_class_init, +- (GtkObjectInitFunc) Dw_image_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_image_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwImage), ++ 0, ++ (GInstanceInitFunc) Dw_image_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_WIDGET, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_WIDGET, ++ "DwImage", &info, flags); + } +- + return type; + } + +@@ -119,8 +121,9 @@ + GtkObject *object; + + object = gtk_object_new (DW_TYPE_IMAGE, NULL); +- if (alt && alt[0] && prefs.show_alt) ++ if (alt && alt[0] && prefs.show_alt) { + DW_IMAGE(object)->alt_tooltip = a_Dw_tooltip_new (alt); ++ } + return DW_WIDGET (object); + } + +@@ -154,41 +157,48 @@ + object_class->destroy = Dw_image_destroy; + + image_signals[LINK_ENTERED] = +- gtk_signal_new ("link_entered", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwImageClass, link_entered), +- p_Dw_marshal_link_enter, +- GTK_TYPE_NONE, +- 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT); ++ g_signal_new ("link_entered", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwImageClass, link_entered), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT, ++ GTK_TYPE_NONE, ++ 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT); + image_signals[LINK_PRESSED] = +- gtk_signal_new ("link_pressed", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwImageClass, link_pressed), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); ++ g_signal_new ("link_pressed", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwImageClass, link_pressed), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + image_signals[LINK_RELEASED] = +- gtk_signal_new ("link_released", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwImageClass, link_released), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); ++ g_signal_new ("link_released", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwImageClass, link_released), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + image_signals[LINK_CLICKED] = +- gtk_signal_new ("link_clicked", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwImageClass, link_clicked), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); +- gtk_object_class_add_signals (object_class, image_signals, LAST_SIGNAL); ++ g_signal_new ("link_clicked", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwImageClass, link_clicked), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + + widget_class = (DwWidgetClass*)klass; + widget_class->size_request = Dw_image_size_request; +@@ -214,11 +224,11 @@ + if (image->scaled_buffer) + g_free (image->scaled_buffer); + if (image->usemap_url) +- a_Url_free(image->usemap_url); ++ a_Url_free (image->usemap_url); + if (image->url) +- a_Dicache_unref(image->url, image->version); ++ a_Dicache_unref (image->url, image->version); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -231,11 +241,19 @@ + DwImage *image; + + image = DW_IMAGE (widget); +- requisition->width = +- image->width + p_Dw_style_box_diff_width (widget->style); +- requisition->ascent = +- image->height + p_Dw_style_box_diff_height (widget->style); +- requisition->descent = 0; ++ if (prefs.halfsize_images) { ++ requisition->width = ++ image->width/2 + p_Dw_style_box_diff_width (widget->style); ++ requisition->ascent = ++ image->height/2 + p_Dw_style_box_diff_height (widget->style); ++ requisition->descent = 0; ++ } else { ++ requisition->width = ++ image->width + p_Dw_style_box_diff_width (widget->style); ++ requisition->ascent = ++ image->height + p_Dw_style_box_diff_height (widget->style); ++ requisition->descent = 0; ++ } + } + + +@@ -276,8 +294,8 @@ + DwImage *image = DW_IMAGE (widget); + guchar *buffer, *bstart; + +- //g_print(">Area x=%d y=%d w=%d h=%d\n", area->x, area->y, +- // area->width, area->height); ++ //g_print (">Area x=%d y=%d w=%d h=%d\n", area->x, area->y, ++ // area->width, area->height); + + p_Dw_widget_draw_widget_box (widget, area); + +@@ -290,8 +308,8 @@ + p_Dw_style_box_diff_height (widget->style); + + if (p_Dw_rectangle_intersect (area, &content, &intersection)) { +- vx = p_Dw_widget_x_world_to_viewport (widget, widget->allocation.x); +- vy = p_Dw_widget_y_world_to_viewport (widget, widget->allocation.y); ++ vx = widget->allocation.x; ++ vy = widget->allocation.y; + gc = widget->style->color->gc; + + if (image->scaled_buffer) +@@ -304,7 +322,7 @@ + content.width * (intersection.y - + p_Dw_style_box_offset_y (widget->style)) ); + +- gdk_draw_rgb_image( ++ gdk_draw_rgb_image ( + DW_WIDGET_WINDOW (widget), gc, + vx + intersection.x, vy + intersection.y, + intersection.width, intersection.height, GDK_RGB_DITHER_MAX, +@@ -343,8 +361,8 @@ + + if (image->hover_link != -1) { + image->hover_link = -1; +- gtk_signal_emit (GTK_OBJECT (widget), image_signals[LINK_ENTERED], +- -1, -1, -1); ++ g_signal_emit (G_OBJECT (widget), image_signals[LINK_ENTERED], 0, ++ -1, -1, -1); + } + + return FALSE; +@@ -365,8 +383,8 @@ + Dw_image_find_link (image, x, y, &image->pressed_link, &link_x, &link_y); + + if (image->pressed_link >= 0) { +- gtk_signal_emit (GTK_OBJECT (widget), image_signals[LINK_PRESSED], +- image->pressed_link, link_x, link_y, event); ++ g_signal_emit (G_OBJECT (widget), image_signals[LINK_PRESSED], 0, ++ image->pressed_link, link_x, link_y, event); + return TRUE; + } else + return FALSE; +@@ -389,11 +407,11 @@ + image->pressed_link = -1; + + if (link_released >= 0) { +- gtk_signal_emit (GTK_OBJECT (widget), image_signals[LINK_RELEASED], +- link_released, link_x, link_y, event); ++ g_signal_emit (G_OBJECT (widget), image_signals[LINK_RELEASED], 0, ++ link_released, link_x, link_y, event); + if (link_pressed == link_released) +- gtk_signal_emit (GTK_OBJECT (widget), image_signals[LINK_CLICKED], +- link_released, link_x, link_y, event); ++ g_signal_emit (G_OBJECT (widget), image_signals[LINK_CLICKED], 0, ++ link_released, link_x, link_y, event); + return TRUE; + } else + return FALSE; +@@ -419,8 +437,8 @@ + + /* In case of a ISMAP image, the signal has to be emitted always */ + if (link_x != -1 || link != link_old) { +- gtk_signal_emit (GTK_OBJECT (widget), image_signals[LINK_ENTERED], +- link, link_x, link_y); ++ g_signal_emit (G_OBJECT (widget), image_signals[LINK_ENTERED], 0, ++ link, link_x, link_y); + return TRUE; + } else + return (link != -1); +@@ -463,14 +481,14 @@ + /* + * Set or resize a image. + */ +-void a_Dw_image_size(DwImage *image, gint width, gint height) ++void a_Dw_image_size (DwImage *image, gint width, gint height) + { + gint Resize = (image->width != width || image->height != height); + + image->width = width; + image->height = height; +- if ( Resize ) +- p_Dw_widget_queue_resize(DW_WIDGET (image), 0, TRUE); ++ if (Resize) ++ p_Dw_widget_queue_resize (DW_WIDGET (image), 0, TRUE); + + if (image->buffer) + /* if a_Dw_image_set_buffer has been called before */ +@@ -481,8 +499,8 @@ + * Called after the RGB line buffer has been copied into the full + * image buffer. Uses for drawing and scaling. + */ +-void a_Dw_image_draw_row(DwImage *image, +- gint Width, gint Height, gint x, gint y) ++void a_Dw_image_draw_row (DwImage *image, ++ gint Width, gint Height, gint x, gint y) + { + DwWidget *widget = DW_WIDGET (image); + gint dy1, dy2; +@@ -509,8 +527,8 @@ + /* + * Set the widget buffer to reference the dicache entry buffer + */ +-void a_Dw_image_set_buffer(DwImage *image, guchar *ImageBuffer, +- DilloUrl *url, gint version) ++void a_Dw_image_set_buffer (DwImage *image, guchar *ImageBuffer, ++ DilloUrl *url, gint version) + { + image->buffer = ImageBuffer; + image->url = url; +@@ -538,7 +556,7 @@ + image->map_list = map_list; + + if (image->usemap_url) +- a_Url_free(image->usemap_url); ++ a_Url_free (image->usemap_url); + image->usemap_url = usemap_url ? a_Url_dup (usemap_url) : NULL; + } + +@@ -649,11 +667,11 @@ + { + list->num_maps = 0; + list->num_maps_max = 8; +- list->maps = g_new(DwImageMap, list->num_maps_max); ++ list->maps = g_new (DwImageMap, list->num_maps_max); + + list->num_shapes = 0; + list->num_shapes_max = 8; +- list->shapes = g_new(DwImageMapShape, list->num_shapes_max); ++ list->shapes = g_new (DwImageMapShape, list->num_shapes_max); + } + + +@@ -684,7 +702,7 @@ + DilloUrl *url) + { + list->num_maps++; +- a_List_add(list->maps, list->num_maps, list->num_maps_max); ++ a_List_add (list->maps, list->num_maps, list->num_maps_max); + list->maps[list->num_maps - 1].url = a_Url_dup (url); + list->maps[list->num_maps - 1].start_shape = list->num_shapes; + } +@@ -718,7 +736,7 @@ + + if (correct_args) { + list->num_shapes++; +- a_List_add(list->shapes, list->num_shapes, list->num_shapes_max); ++ a_List_add (list->shapes, list->num_shapes, list->num_shapes_max); + shape = &list->shapes[list->num_shapes - 1]; + shape->type = type; + shape->link = link; +diff -urN dillo-0.6.6/src/dw_image.h dillo2-0.6.6/src/dw_image.h +--- dillo-0.6.6/src/dw_image.h 2001-12-22 13:51:08.000000000 -0700 ++++ dillo2-0.6.6/src/dw_image.h 2003-04-21 12:35:49.000000000 -0600 +@@ -36,6 +36,7 @@ + gint version; + DwImageType type; + guchar *buffer; ++ /* true width and height */ + gint width; + gint height; + +diff -urN dillo-0.6.6/src/dw_list_item.c dillo2-0.6.6/src/dw_list_item.c +--- dillo-0.6.6/src/dw_list_item.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_list_item.c 2003-04-21 12:35:50.000000000 -0600 +@@ -21,25 +21,27 @@ + /* + * Standard Gtk+ function. + */ +-GtkType a_Dw_list_item_get_type (void) ++GType a_Dw_list_item_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwListItem", +- sizeof (DwListItem), ++ GTypeInfo info = { + sizeof (DwListItemClass), +- (GtkClassInitFunc) Dw_list_item_class_init, +- (GtkObjectInitFunc) Dw_list_item_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_list_item_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwListItem), ++ 0, ++ (GInstanceInitFunc) Dw_list_item_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_ALIGNED_PAGE, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_ALIGNED_PAGE, ++ "DwListItem", &info, flags); + } +- + return type; + } + +@@ -51,9 +53,9 @@ + */ + DwWidget* a_Dw_list_item_new (DwListItem *ref_list_item) + { +- GtkObject *object; ++ GObject *object; + +- object = gtk_object_new (DW_TYPE_LIST_ITEM, NULL); ++ object = g_object_new (DW_TYPE_LIST_ITEM, NULL); + p_Dw_aligned_page_set_ref_page (DW_ALIGNED_PAGE (object), + (DwAlignedPage*)ref_list_item); + return DW_WIDGET (object); +diff -urN dillo-0.6.6/src/dw_marshal.c dillo2-0.6.6/src/dw_marshal.c +--- dillo-0.6.6/src/dw_marshal.c 2002-03-13 05:08:45.000000000 -0700 ++++ dillo2-0.6.6/src/dw_marshal.c 2003-04-21 12:35:50.000000000 -0600 +@@ -1,36 +1,252 @@ +-#include "dw_marshal.h" + ++#include <glib-object.h> + +-typedef void (*GtkSignal_NONE__INT_INT_INT) (GtkObject * object, +- gint arg1, gint arg2, +- gint arg3, gpointer user_data); + +-void p_Dw_marshal_NONE__INT_INT_INT (GtkObject * object, +- GtkSignalFunc Func, +- gpointer FuncData, GtkArg * args) ++#ifdef G_ENABLE_DEBUG ++#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) ++#define g_marshal_value_peek_char(v) g_value_get_char (v) ++#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) ++#define g_marshal_value_peek_int(v) g_value_get_int (v) ++#define g_marshal_value_peek_uint(v) g_value_get_uint (v) ++#define g_marshal_value_peek_long(v) g_value_get_long (v) ++#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) ++#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) ++#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) ++#define g_marshal_value_peek_enum(v) g_value_get_enum (v) ++#define g_marshal_value_peek_flags(v) g_value_get_flags (v) ++#define g_marshal_value_peek_float(v) g_value_get_float (v) ++#define g_marshal_value_peek_double(v) g_value_get_double (v) ++#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) ++#define g_marshal_value_peek_param(v) g_value_get_param (v) ++#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) ++#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) ++#define g_marshal_value_peek_object(v) g_value_get_object (v) ++#else /* !G_ENABLE_DEBUG */ ++/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. ++ * Do not access GValues directly in your code. Instead, use the ++ * g_value_get_*() functions ++ */ ++#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int ++#define g_marshal_value_peek_char(v) (v)->data[0].v_int ++#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint ++#define g_marshal_value_peek_int(v) (v)->data[0].v_int ++#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint ++#define g_marshal_value_peek_long(v) (v)->data[0].v_long ++#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong ++#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 ++#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 ++#define g_marshal_value_peek_enum(v) (v)->data[0].v_int ++#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint ++#define g_marshal_value_peek_float(v) (v)->data[0].v_float ++#define g_marshal_value_peek_double(v) (v)->data[0].v_double ++#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer ++#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer ++#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer ++#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer ++#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer ++#endif /* !G_ENABLE_DEBUG */ ++ ++ ++/* VOID:VOID (dw_marshal.list:25) */ ++ ++/* VOID:POINTER (dw_marshal.list:26) */ ++ ++/* VOID:POINTER,POINTER (dw_marshal.list:27) */ ++void ++p_Dw_marshal_VOID__POINTER_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data) + { +- GtkSignal_NONE__INT_INT_INT rfunc; +- rfunc = (GtkSignal_NONE__INT_INT_INT) Func; +- rfunc (object, +- GTK_VALUE_INT (args[0]), GTK_VALUE_INT (args[1]), +- GTK_VALUE_INT (args[2]), FuncData); ++ typedef void (*GMarshalFunc_VOID__POINTER_POINTER) (gpointer data1, ++ gpointer arg_1, ++ gpointer arg_2, ++ gpointer data2); ++ register GMarshalFunc_VOID__POINTER_POINTER callback; ++ register GCClosure *cc = (GCClosure*) closure; ++ register gpointer data1, data2; ++ ++ g_return_if_fail (n_param_values == 3); ++ ++ if (G_CCLOSURE_SWAP_DATA (closure)) ++ { ++ data1 = closure->data; ++ data2 = g_value_peek_pointer (param_values + 0); ++ } ++ else ++ { ++ data1 = g_value_peek_pointer (param_values + 0); ++ data2 = closure->data; ++ } ++ callback = (GMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); ++ ++ callback (data1, ++ g_marshal_value_peek_pointer (param_values + 1), ++ g_marshal_value_peek_pointer (param_values + 2), ++ data2); + } + ++/* VOID:INT,INT (dw_marshal.list:28) */ ++void ++p_Dw_marshal_VOID__INT_INT (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data) ++{ ++ typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, ++ gint arg_1, ++ gint arg_2, ++ gpointer data2); ++ register GMarshalFunc_VOID__INT_INT callback; ++ register GCClosure *cc = (GCClosure*) closure; ++ register gpointer data1, data2; ++ ++ g_return_if_fail (n_param_values == 3); ++ ++ if (G_CCLOSURE_SWAP_DATA (closure)) ++ { ++ data1 = closure->data; ++ data2 = g_value_peek_pointer (param_values + 0); ++ } ++ else ++ { ++ data1 = g_value_peek_pointer (param_values + 0); ++ data2 = closure->data; ++ } ++ callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); ++ ++ callback (data1, ++ g_marshal_value_peek_int (param_values + 1), ++ g_marshal_value_peek_int (param_values + 2), ++ data2); ++} ++ ++/* VOID:INT,INT,INT (dw_marshal.list:29) */ ++void ++p_Dw_marshal_VOID__INT_INT_INT (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data) ++{ ++ typedef void (*GMarshalFunc_VOID__INT_INT_INT) (gpointer data1, ++ gint arg_1, ++ gint arg_2, ++ gint arg_3, ++ gpointer data2); ++ register GMarshalFunc_VOID__INT_INT_INT callback; ++ register GCClosure *cc = (GCClosure*) closure; ++ register gpointer data1, data2; ++ ++ g_return_if_fail (n_param_values == 4); ++ ++ if (G_CCLOSURE_SWAP_DATA (closure)) ++ { ++ data1 = closure->data; ++ data2 = g_value_peek_pointer (param_values + 0); ++ } ++ else ++ { ++ data1 = g_value_peek_pointer (param_values + 0); ++ data2 = closure->data; ++ } ++ callback = (GMarshalFunc_VOID__INT_INT_INT) (marshal_data ? marshal_data : cc->callback); ++ ++ callback (data1, ++ g_marshal_value_peek_int (param_values + 1), ++ g_marshal_value_peek_int (param_values + 2), ++ g_marshal_value_peek_int (param_values + 3), ++ data2); ++} + +-typedef void (*GtkSignal_NONE__INT_INT_INT_POINTER) (GtkObject * object, +- gint arg1, gint arg2, +- gint arg3, +- gpointer arg4, +- gpointer user_data); +- +-void p_Dw_marshal_NONE__INT_INT_INT_POINTER (GtkObject * object, +- GtkSignalFunc Func, +- gpointer FuncData, GtkArg * args) ++/* VOID:INT,INT,INT,POINTER (dw_marshal.list:30) */ ++void ++p_Dw_marshal_VOID__INT_INT_INT_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data) + { +- GtkSignal_NONE__INT_INT_INT_POINTER rfunc; +- rfunc = (GtkSignal_NONE__INT_INT_INT_POINTER) Func; +- rfunc (object, +- GTK_VALUE_INT (args[0]), GTK_VALUE_INT (args[1]), +- GTK_VALUE_INT (args[2]), GTK_VALUE_POINTER (args[3]), FuncData); ++ typedef void (*GMarshalFunc_VOID__INT_INT_INT_POINTER) (gpointer data1, ++ gint arg_1, ++ gint arg_2, ++ gint arg_3, ++ gpointer arg_4, ++ gpointer data2); ++ register GMarshalFunc_VOID__INT_INT_INT_POINTER callback; ++ register GCClosure *cc = (GCClosure*) closure; ++ register gpointer data1, data2; ++ ++ g_return_if_fail (n_param_values == 5); ++ ++ if (G_CCLOSURE_SWAP_DATA (closure)) ++ { ++ data1 = closure->data; ++ data2 = g_value_peek_pointer (param_values + 0); ++ } ++ else ++ { ++ data1 = g_value_peek_pointer (param_values + 0); ++ data2 = closure->data; ++ } ++ callback = (GMarshalFunc_VOID__INT_INT_INT_POINTER) (marshal_data ? marshal_data : cc->callback); ++ ++ callback (data1, ++ g_marshal_value_peek_int (param_values + 1), ++ g_marshal_value_peek_int (param_values + 2), ++ g_marshal_value_peek_int (param_values + 3), ++ g_marshal_value_peek_pointer (param_values + 4), ++ data2); ++} ++ ++/* VOID:UINT (dw_marshal.list:31) */ ++ ++/* BOOL:UINT,UINT,POINTER (dw_marshal.list:33) */ ++void ++p_Dw_marshal_BOOLEAN__UINT_UINT_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data) ++{ ++ typedef gboolean (*GMarshalFunc_BOOLEAN__UINT_UINT_POINTER) (gpointer data1, ++ guint arg_1, ++ guint arg_2, ++ gpointer arg_3, ++ gpointer data2); ++ register GMarshalFunc_BOOLEAN__UINT_UINT_POINTER callback; ++ register GCClosure *cc = (GCClosure*) closure; ++ register gpointer data1, data2; ++ gboolean v_return; ++ ++ g_return_if_fail (return_value != NULL); ++ g_return_if_fail (n_param_values == 4); ++ ++ if (G_CCLOSURE_SWAP_DATA (closure)) ++ { ++ data1 = closure->data; ++ data2 = g_value_peek_pointer (param_values + 0); ++ } ++ else ++ { ++ data1 = g_value_peek_pointer (param_values + 0); ++ data2 = closure->data; ++ } ++ callback = (GMarshalFunc_BOOLEAN__UINT_UINT_POINTER) (marshal_data ? marshal_data : cc->callback); ++ ++ v_return = callback (data1, ++ g_marshal_value_peek_uint (param_values + 1), ++ g_marshal_value_peek_uint (param_values + 2), ++ g_marshal_value_peek_pointer (param_values + 3), ++ data2); ++ ++ g_value_set_boolean (return_value, v_return); + } + +diff -urN dillo-0.6.6/src/dw_marshal.h dillo2-0.6.6/src/dw_marshal.h +--- dillo-0.6.6/src/dw_marshal.h 2002-03-13 05:08:46.000000000 -0700 ++++ dillo2-0.6.6/src/dw_marshal.h 2003-04-21 12:35:50.000000000 -0600 +@@ -1,21 +1,62 @@ +-#ifndef __DW_MARSHAL_H__ +-#define __DW_MARSHAL_H__ + +-#include <gtk/gtktypeutils.h> +-#include <gtk/gtkobject.h> ++#ifndef __p_Dw_marshal_MARSHAL_H__ ++#define __p_Dw_marshal_MARSHAL_H__ + +-void p_Dw_marshal_NONE__INT_INT_INT (GtkObject * object, +- GtkSignalFunc Func, +- gpointer FuncData, GtkArg * args); +-void p_Dw_marshal_NONE__INT_INT_INT_POINTER (GtkObject * object, +- GtkSignalFunc Func, +- gpointer FuncData, GtkArg * args); +- +-/* +- * Marshal fuctions for standard link signals. +- */ +-#define p_Dw_marshal_link_enter p_Dw_marshal_NONE__INT_INT_INT +-#define p_Dw_marshal_link_button p_Dw_marshal_NONE__INT_INT_INT_POINTER ++#include <glib-object.h> + ++G_BEGIN_DECLS ++ ++/* VOID:VOID (dw_marshal.list:25) */ ++#define p_Dw_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID ++ ++/* VOID:POINTER (dw_marshal.list:26) */ ++#define p_Dw_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER ++ ++/* VOID:POINTER,POINTER (dw_marshal.list:27) */ ++extern void p_Dw_marshal_VOID__POINTER_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data); ++ ++/* VOID:INT,INT (dw_marshal.list:28) */ ++extern void p_Dw_marshal_VOID__INT_INT (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data); ++ ++/* VOID:INT,INT,INT (dw_marshal.list:29) */ ++extern void p_Dw_marshal_VOID__INT_INT_INT (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data); ++ ++/* VOID:INT,INT,INT,POINTER (dw_marshal.list:30) */ ++extern void p_Dw_marshal_VOID__INT_INT_INT_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data); ++ ++/* VOID:UINT (dw_marshal.list:31) */ ++#define p_Dw_marshal_VOID__UINT g_cclosure_marshal_VOID__UINT ++ ++/* BOOL:UINT,UINT,POINTER (dw_marshal.list:33) */ ++extern void p_Dw_marshal_BOOLEAN__UINT_UINT_POINTER (GClosure *closure, ++ GValue *return_value, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer invocation_hint, ++ gpointer marshal_data); ++#define p_Dw_marshal_BOOL__UINT_UINT_POINTER p_Dw_marshal_BOOLEAN__UINT_UINT_POINTER ++ ++G_END_DECLS ++ ++#endif /* __p_Dw_marshal_MARSHAL_H__ */ + +-#endif /* __DW_MARSHAL_H__ */ +diff -urN dillo-0.6.6/src/dw_marshal.list dillo2-0.6.6/src/dw_marshal.list +--- dillo-0.6.6/src/dw_marshal.list 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/dw_marshal.list 2003-04-21 12:35:28.000000000 -0600 +@@ -0,0 +1,33 @@ ++# see glib-genmarshal(1) for a detailed description of the file format, ++# possible parameter types are: ++# VOID indicates no return type, or no extra ++# parameters. if VOID is used as the parameter ++# list, no additional parameters may be present. ++# BOOLEAN for boolean types (gboolean) ++# CHAR for signed char types (gchar) ++# UCHAR for unsigned char types (guchar) ++# INT for signed integer types (gint) ++# UINT for unsigned integer types (guint) ++# LONG for signed long integer types (glong) ++# ULONG for unsigned long integer types (gulong) ++# ENUM for enumeration types (gint) ++# FLAGS for flag enumeration types (guint) ++# FLOAT for single-precision float types (gfloat) ++# DOUBLE for double-precision float types (gdouble) ++# STRING for string types (gchar*) ++# BOXED for boxed (anonymous but reference counted) types (GBoxed*) ++# POINTER for anonymous pointer types (gpointer) ++# PARAM for GParamSpec or derived types (GParamSpec*) ++# OBJECT for GObject or derived types (GObject*) ++# NONE deprecated alias for VOID ++# BOOL deprecated alias for BOOLEAN ++ ++VOID: VOID ++VOID: POINTER ++VOID: POINTER, POINTER ++VOID: INT, INT ++VOID: INT, INT, INT ++VOID: INT, INT, INT, POINTER ++VOID: UINT ++ ++BOOL: UINT, UINT, POINTER +diff -urN dillo-0.6.6/src/dw_marshal.sh dillo2-0.6.6/src/dw_marshal.sh +--- dillo-0.6.6/src/dw_marshal.sh 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/dw_marshal.sh 2003-04-21 12:35:45.000000000 -0600 +@@ -0,0 +1,4 @@ ++#!/bin/sh ++ ++glib-genmarshal --body --stdinc --prefix=p_Dw_marshal dw_marshal.list > dw_marshal.c ++glib-genmarshal --header --stdinc --prefix=p_Dw_marshal dw_marshal.list > dw_marshal.h +diff -urN dillo-0.6.6/src/dw_page.c dillo2-0.6.6/src/dw_page.c +--- dillo-0.6.6/src/dw_page.c 2002-04-05 08:18:17.000000000 -0700 ++++ dillo2-0.6.6/src/dw_page.c 2003-04-21 14:22:14.000000000 -0600 +@@ -53,19 +53,19 @@ + static void Dw_page_draw (DwWidget *page, + DwRectangle *area, + GdkEventExpose *event); +-static gint Dw_page_button_press (DwWidget *widget, ++static gboolean Dw_page_button_press (DwWidget *widget, + gint32 x, + gint32 y, + GdkEventButton *event); +-static gint Dw_page_button_release (DwWidget *widget, ++static gboolean Dw_page_button_release(DwWidget *widget, + gint32 x, + gint32 y, + GdkEventButton *event); +-static gint Dw_page_motion_notify (DwWidget *widget, ++static gboolean Dw_page_motion_notify (DwWidget *widget, + gint32 x, + gint32 y, + GdkEventMotion *event); +-static gint Dw_page_leave_notify (DwWidget *widget, ++static gboolean Dw_page_leave_notify (DwWidget *widget, + DwWidget *next_widget, + GdkEventMotion *event); + +@@ -77,10 +77,15 @@ + static void Dw_page_forall (DwContainer *container, + DwCallback callback, + gpointer callback_data); +-static gint Dw_page_findtext (DwContainer *container, ++static gboolean Dw_page_findtext (DwContainer *container, + gpointer FP, gpointer KP, + gchar *NewKey); + ++static DwIterator* Dw_page_iterator (DwWidget *widget, ++ gint mask); ++static gboolean Dw_page_iterator_next (DwIterator *it); ++static DwIterator* Dw_page_iterator_clone (DwIterator *it); ++ + static void Dw_page_rewrap (DwPage *page); + + /* +@@ -117,25 +122,27 @@ + /* + * Return the type of DwPage + */ +-GtkType a_Dw_page_get_type (void) ++GType a_Dw_page_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwPage", +- sizeof (DwPage), ++ GTypeInfo info = { + sizeof (DwPageClass), +- (GtkClassInitFunc) Dw_page_class_init, +- (GtkObjectInitFunc) Dw_page_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_page_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwPage), ++ 0, ++ (GInstanceInitFunc) Dw_page_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_CONTAINER, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_CONTAINER, "DwPage", ++ &info, flags); + } +- + return type; + } + +@@ -189,6 +196,8 @@ + page->avail_width = 100; + page->avail_ascent = 100; + page->avail_descent = 0; ++ ++ page->context = gdk_pango_context_get(); + } + + /* +@@ -211,41 +220,48 @@ + * --SG + */ + page_signals[LINK_ENTERED] = +- gtk_signal_new ("link_entered", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwPageClass, link_entered), +- p_Dw_marshal_link_enter, +- GTK_TYPE_NONE, +- 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT); ++ g_signal_new ("link_entered", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwPageClass, link_entered), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT, ++ GTK_TYPE_NONE, ++ 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT); + page_signals[LINK_PRESSED] = +- gtk_signal_new ("link_pressed", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwPageClass, link_pressed), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); ++ g_signal_new ("link_pressed", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwPageClass, link_pressed), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + page_signals[LINK_RELEASED] = +- gtk_signal_new ("link_released", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwPageClass, link_released), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); ++ g_signal_new ("link_released", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwPageClass, link_released), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + page_signals[LINK_CLICKED] = +- gtk_signal_new ("link_clicked", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwPageClass, link_clicked), +- p_Dw_marshal_link_button, +- GTK_TYPE_NONE, +- 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, +- GTK_TYPE_GDK_EVENT); +- gtk_object_class_add_signals (object_class, page_signals, LAST_SIGNAL); ++ g_signal_new ("link_clicked", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwPageClass, link_clicked), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__INT_INT_INT_POINTER, ++ GTK_TYPE_NONE, ++ 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_INT, ++ GDK_TYPE_EVENT); + + object_class->destroy = Dw_page_destroy; + +@@ -262,6 +278,7 @@ + widget_class->button_release_event = Dw_page_button_release; + widget_class->motion_notify_event = Dw_page_motion_notify; + widget_class->leave_notify_event = Dw_page_leave_notify; ++ widget_class->iterator = Dw_page_iterator; + + container_class->add = Dw_page_add; + container_class->remove = Dw_page_remove; +@@ -284,16 +301,16 @@ + DwPageWord *word; + gint i; + +- DEBUG_MSG(10, "Dw_page_destroy\n"); ++ DEBUG_MSG (10, "Dw_page_destroy\n"); + + for (i = 0; i < page->num_words; i++) { + word = &page->words[i]; +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) +- gtk_object_unref(GTK_OBJECT(word->content.widget)); +- else if (word->content_type == DW_PAGE_CONTENT_TEXT) +- g_free(word->content.text); +- else if (word->content_type == DW_PAGE_CONTENT_ANCHOR) +- g_free(word->content.anchor); ++ if (word->content.type == DW_CONTENT_WIDGET) ++ gtk_object_unref (GTK_OBJECT(word->content.data.widget)); ++ else if (word->content.type == DW_CONTENT_TEXT) { ++ g_free(word->content.data.text.str); ++ } else if (word->content.type == DW_CONTENT_ANCHOR) ++ g_free (word->content.data.anchor); + + a_Dw_style_unref (word->style); + a_Dw_style_unref (word->space_style); +@@ -307,7 +324,7 @@ + page->num_words = 0; + page->num_lines = 0; + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -325,7 +342,7 @@ + DwPageLine *last_line; + gint height; + +- Dw_page_rewrap(page); ++ Dw_page_rewrap (page); + + if (page->num_lines > 0) { + last_line = &page->lines[page->num_lines - 1]; +@@ -357,22 +374,24 @@ + static void Dw_page_get_word_extremes (DwPageWord *word, + DwExtremes *extremes) + { +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) { +- if (DW_WIDGET_USES_HINTS (word->content.widget)) +- a_Dw_widget_get_extremes (word->content.widget, extremes); ++ if (word->content.type == DW_CONTENT_WIDGET) { ++ if (DW_WIDGET_USES_HINTS (word->content.data.widget)) ++ a_Dw_widget_get_extremes (word->content.data.widget, extremes); + else { +- if (DW_STYLE_IS_PERCENTAGE (word->content.widget->style->width)) { ++ if (DW_STYLE_IS_PERCENTAGE ++ (word->content.data.widget->style->width)) { + extremes->min_width = 0; +- if (DW_WIDGET_HAS_CONTENT (word->content.widget)) ++ if (DW_WIDGET_HAS_CONTENT (word->content.data.widget)) + extremes->max_width = DW_INFINITY; + else + extremes->max_width = 0; +- } else if (DW_STYLE_IS_LENGTH (word->content.widget->style->width)) { ++ } else if (DW_STYLE_IS_LENGTH ++ (word->content.data.widget->style->width)) { + extremes->min_width = extremes->max_width = +- DW_STYLE_GET_LENGTH(word->content.widget->style->width, +- word->style->font); ++ DW_STYLE_GET_LENGTH (word->content.data.widget->style->width, ++ word->style->font); + } else +- a_Dw_widget_get_extremes (word->content.widget, extremes); ++ a_Dw_widget_get_extremes (word->content.data.widget, extremes); + } + } else { + extremes->min_width = word->size.width; +@@ -449,21 +468,21 @@ + par_max += word_extremes.max_width + word->orig_space; + + DEBUG_MSG (1, " word \"%s\": max_width = %d\n", +- word->content_type == DW_PAGE_CONTENT_TEXT ? ++ word->content.type == DW_CONTENT_TEXT ? + word->content.text : "<no text>", + word_extremes.max_width); + } + + if ( ( line->last_word > line->first_word && +- page->words[line->last_word - 1].content_type +- == DW_PAGE_CONTENT_BREAK ) || ++ page->words[line->last_word - 1].content.type ++ == DW_CONTENT_BREAK ) || + line_index == page->num_lines - 1 ) { + word = &page->words[line->last_word - 1]; + par_max -= word->orig_space; + + DEBUG_MSG (2, " par_max = %d, after word %d (\"%s\")\n", + par_max, line->last_word - 1, +- word->content_type == DW_PAGE_CONTENT_TEXT ? ++ word->content.type == DW_CONTENT_TEXT ? + word->content.text : "<no text>"); + + if (extremes->max_width < par_max) +@@ -508,13 +527,13 @@ + + for (line_index = 0; line_index < page->num_lines; line_index++) { + line = &(page->lines[line_index]); +- x_cursor = Dw_page_line_total_x_offset(page, line); ++ x_cursor = Dw_page_line_total_x_offset (page, line); + + for (word_index = line->first_word; word_index < line->last_word; + word_index++) { + word = &(page->words[word_index]); + +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) { ++ if (word->content.type == DW_CONTENT_WIDGET) { + + /* todo: justification within the line is done here! */ + child_allocation.x = x_cursor + allocation->x; +@@ -527,7 +546,7 @@ + child_allocation.width = word->size.width; + child_allocation.ascent = word->size.ascent; + child_allocation.descent = word->size.descent; +- a_Dw_widget_size_allocate (word->content.widget, ++ a_Dw_widget_size_allocate (word->content.data.widget, + &child_allocation); + } + +@@ -550,7 +569,7 @@ + if (page->wrap_ref == -1) + page->wrap_ref = ref; + else +- page->wrap_ref = MIN(page->wrap_ref, ref); ++ page->wrap_ref = MIN (page->wrap_ref, ref); + } + } + +@@ -644,11 +663,11 @@ + + page = DW_PAGE (container); + +- for(word_index = 0; word_index < page->num_words; word_index++) { ++ for (word_index = 0; word_index < page->num_words; word_index++) { + word = &page->words[word_index]; + +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) +- (*callback) (word->content.widget, callback_data); ++ if (word->content.type == DW_CONTENT_WIDGET) ++ (*callback) (word->content.data.widget, callback_data); + } + } + +@@ -667,7 +686,7 @@ + DwExtremes word_extremes; + + avail_width = +- page->avail_width - p_Dw_style_box_diff_width(widget->style) ++ page->avail_width - p_Dw_style_box_diff_width (widget->style) + - page->inner_padding; + if (prefs.limit_text_width && + avail_width > widget->viewport->allocation.width - 10) +@@ -684,7 +703,7 @@ + + if (page->num_words > 0) { + last_word = &page->words[word_ind - 1]; +- if (last_word->content_type == DW_PAGE_CONTENT_BREAK) { ++ if (last_word->content.type == DW_CONTENT_BREAK) { + /* last word is a break */ + new_line = TRUE; + new_par = TRUE; +@@ -740,7 +759,7 @@ + if (new_line) { + /* Add a new line. */ + page->num_lines++; +- a_List_add(page->lines, page->num_lines, page->num_lines_max); ++ a_List_add (page->lines, page->num_lines, page->num_lines_max); + + last_line = &page->lines[page->num_lines - 1]; + +@@ -804,8 +823,8 @@ + Dw_page_get_word_extremes (word, &word_extremes); + last_space = (word_ind > 0) ? page->words[word_ind - 1].orig_space : 0; + +- if (word->content_type == DW_PAGE_CONTENT_BREAK) +- last_line->break_space = MAX (word->content.break_space, ++ if (word->content.type == DW_CONTENT_BREAK) ++ last_line->break_space = MAX (word->content.data.break_space, + last_line->break_space); + + page->last_line_width += word->size.width; +@@ -824,7 +843,7 @@ + + /* Finally, justify the line. Breaks are ignored, since the HTML + * parser sometimes assignes the wrong style to them. (todo: ) */ +- if (word->content_type != DW_PAGE_CONTENT_BREAK) { ++ if (word->content.type != DW_CONTENT_BREAK) { + switch (word->style->text_align) { + case DW_STYLE_TEXT_ALIGN_LEFT: + case DW_STYLE_TEXT_ALIGN_JUSTIFY: /* see some lines above */ +@@ -873,9 +892,9 @@ + gint32 avail_width, avail_ascent, avail_descent; + + avail_width = +- page->avail_width - p_Dw_style_box_diff_width(DW_WIDGET(page)->style); ++ page->avail_width - p_Dw_style_box_diff_width (DW_WIDGET(page)->style); + avail_ascent = +- page->avail_ascent - p_Dw_style_box_diff_height(DW_WIDGET(page)->style); ++ page->avail_ascent - p_Dw_style_box_diff_height (DW_WIDGET(page)->style); + avail_descent = page->avail_descent; + + if (DW_WIDGET_USES_HINTS (widget)) { +@@ -901,7 +920,7 @@ + if (widget->style->height == DW_STYLE_UNDEF_LENGTH) { + size->ascent = requisition.ascent; + size->descent = requisition.descent; +- } else if (DW_STYLE_IS_LENGTH (widget->style->width)) { ++ } else if (DW_STYLE_IS_LENGTH (widget->style->height)) { + size->ascent = + DW_STYLE_GET_LENGTH (widget->style->height, widget->style->font) + + p_Dw_style_box_diff_height (widget->style); +@@ -922,7 +941,7 @@ + * either when the viewport is resized, or when the size changes on one + * of the child widgets. + */ +-static void Dw_page_rewrap(DwPage *page) ++static void Dw_page_rewrap (DwPage *page) + { + DwWidget *widget; + gint word_index; +@@ -944,15 +963,16 @@ + for (; word_index < page->num_words; word_index++) { + word = &page->words[word_index]; + +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) +- Dw_page_calc_widget_size (page, word->content.widget, &word->size); +- Dw_page_word_wrap(page, word_index); +- if (word->content_type == DW_PAGE_CONTENT_WIDGET) +- word->content.widget->parent_ref = page->num_lines - 1; +- +- if ( word->content_type == DW_PAGE_CONTENT_ANCHOR ) { +- p_Dw_widget_set_anchor(widget, word->content.anchor, +- page->lines[page->num_lines - 1].top); ++ if (word->content.type == DW_CONTENT_WIDGET) ++ Dw_page_calc_widget_size (page, word->content.data.widget, ++ &word->size); ++ Dw_page_word_wrap (page, word_index); ++ if (word->content.type == DW_CONTENT_WIDGET) ++ word->content.data.widget->parent_ref = page->num_lines - 1; ++ ++ if ( word->content.type == DW_CONTENT_ANCHOR ) { ++ p_Dw_widget_set_anchor (widget, word->content.data.anchor, ++ page->lines[page->num_lines - 1].top); + } + } + } +@@ -987,90 +1007,116 @@ + + widget = DW_WIDGET (page); + window = DW_WIDGET_WINDOW (widget); +- x_cursor = +- p_Dw_widget_x_world_to_viewport (widget, +- widget->allocation.x + +- Dw_page_line_total_x_offset(page,line)); +- y_cursor = +- p_Dw_widget_y_world_to_viewport (widget, +- widget->allocation.y +- + line->top + line->ascent); ++ x_cursor = widget->allocation.x + Dw_page_line_total_x_offset(page, line); ++ y_cursor = widget->allocation.y + line->top + line->ascent; + + for (word_index = line->first_word; word_index < line->last_word; + word_index++) { + word = &page->words[word_index]; + diff = 0; +- switch (word->content_type) { +- case DW_PAGE_CONTENT_TEXT: ++ switch (word->content.type) { ++ case DW_CONTENT_TEXT: + /* Adjust the text baseline if the word is <SUP>-ed or <SUB>-ed */ + if (word->style->SubSup == TEXT_SUB) + diff = word->size.ascent / 2; + else if (word->style->SubSup == TEXT_SUP) + diff -= word->size.ascent / 3; + +- gdk_draw_string(window, +- word->style->font->font, +- word->style->color->gc, +- x_cursor, +- y_cursor + diff, +- word->content.text); ++ { ++ GList *items; ++ PangoGlyphString *glyphs; ++ PangoAttrList *attr_list; ++ PangoAttribute *attr; ++ size_t len; ++ ++ glyphs = pango_glyph_string_new(); ++ ++ attr_list = pango_attr_list_new(); ++ ++ attr = pango_attr_font_desc_new(word->style->font->font_desc); ++ attr->start_index = 0; ++ attr->end_index = 1; ++ pango_attr_list_insert(attr_list, attr); ++ ++ len = strlen(word->content.data.text.str); ++ ++ /* Shape the text into glyphs */ ++ items = pango_itemize(page->context, word->content.data.text.str, 0, len, attr_list, NULL); ++ pango_shape(word->content.data.text.str, len, &(((PangoItem *)items->data)->analysis), glyphs); ++ ++ while (items) ++ { ++ GList *next = items->next; ++ pango_item_free (items->data); ++ g_list_free_1 (items); ++ items = next; ++ } ++ ++ gdk_draw_glyphs(window, word->style->color->gc, ++ word->content.data.text.font, ++ x_cursor, y_cursor + diff, ++ glyphs); ++ ++ pango_attr_list_unref(attr_list); ++ pango_glyph_string_free(glyphs); ++ } + + /* underline */ + if (word->style->uline) +- gdk_draw_line(window, +- word->style->color->gc, +- x_cursor, +- y_cursor + 1 + diff, +- x_cursor + word->size.width - 1, +- y_cursor + 1 + diff); ++ gdk_draw_line (window, ++ word->style->color->gc, ++ x_cursor, ++ y_cursor + 1 + diff, ++ x_cursor + word->size.width - 1, ++ y_cursor + 1 + diff); + if (word_index + 1 < line->last_word && word->space_style->uline) +- gdk_draw_line(window, +- word->style->color->gc, +- x_cursor + word->size.width, +- y_cursor + 1 + diff, +- x_cursor + word->size.width + word->eff_space - 1, +- y_cursor + 1 + diff); ++ gdk_draw_line (window, ++ word->style->color->gc, ++ x_cursor + word->size.width, ++ y_cursor + 1 + diff, ++ x_cursor + word->size.width + word->eff_space - 1, ++ y_cursor + 1 + diff); + + /* strike-through */ + if (word->style->strike) +- gdk_draw_line(window, +- word->style->color->gc, +- x_cursor, +- y_cursor - word->size.ascent / 2 + diff, +- x_cursor + word->size.width - 1, +- y_cursor - word->size.ascent / 2 + diff); ++ gdk_draw_line (window, ++ word->style->color->gc, ++ x_cursor, ++ y_cursor - word->size.ascent / 2 + diff, ++ x_cursor + word->size.width - 1, ++ y_cursor - word->size.ascent / 2 + diff); + if (word_index + 1 < line->last_word && word->space_style->strike) +- gdk_draw_line(window, +- word->style->color->gc, +- x_cursor + word->size.width, +- y_cursor - word->size.ascent / 2 + diff, +- x_cursor + word->size.width + word->eff_space - 1, +- y_cursor - word->size.ascent / 2 + diff); ++ gdk_draw_line (window, ++ word->style->color->gc, ++ x_cursor + word->size.width, ++ y_cursor - word->size.ascent / 2 + diff, ++ x_cursor + word->size.width + word->eff_space - 1, ++ y_cursor - word->size.ascent / 2 + diff); + + break; + +- case DW_PAGE_CONTENT_WIDGET: +- child = word->content.widget; ++ case DW_CONTENT_WIDGET: ++ child = word->content.data.widget; + if (p_Dw_widget_intersect (child, area, &child_area)) + a_Dw_widget_draw (child, &child_area, event); + + break; + +- case DW_PAGE_CONTENT_ANCHOR: case DW_PAGE_CONTENT_BREAK: ++ case DW_CONTENT_ANCHOR: case DW_CONTENT_BREAK: + /* nothing - an anchor/break isn't seen */ + /* BUG: sometimes anchors have x_space; + * we subtract that just in case --EG */ + x_cursor -= word->size.width + word->eff_space; + #if 0 + /* Useful for testing: draw breaks. */ +- if (word->content_type == DW_PAGE_CONTENT_BREAK) ++ if (word->content.type == DW_CONTENT_BREAK) + gdk_draw_rectangle (window, word->style->color->gc, TRUE, +- Dw_widget_x_world_to_viewport(widget, ++ Dw_widget_x_world_to_viewport (widget, + widget->allocation.x + + Dw_page_line_total_x_offset(page, line)), + y_cursor + line->descent, + widget->allocation.width - +- Dw_style_box_diff_width(widget->style), ++ Dw_style_box_diff_width (widget->style), + word->content.break_space); + #endif + break; +@@ -1086,7 +1132,7 @@ + /* + * Find the first line index that includes y, relative to top of widget. + */ +-static gint Dw_page_find_line_index(DwPage *page, gint y) ++static gint Dw_page_find_line_index (DwPage *page, gint y) + { + gint max_index = page->num_lines - 1; + gint step, index, low = 0; +@@ -1129,7 +1175,7 @@ + p_Dw_widget_draw_widget_box (widget, area); + + page = DW_PAGE (widget); +- line_index = Dw_page_find_line_index(page, area->y); ++ line_index = Dw_page_find_line_index (page, area->y); + + for (; line_index < page->num_lines; line_index++) { + line = &(page->lines[line_index]); +@@ -1144,20 +1190,20 @@ + /* + * Find a link given a coordinate location relative to the window + */ +-static gint Dw_page_find_link(DwPage *page, gint x, gint y) ++static gint Dw_page_find_link (DwPage *page, gint x, gint y) + { + gint line_index, word_index; + gint x_cursor, last_x_cursor; + DwPageLine *line; + DwPageWord *word; + +- if ( (line_index = Dw_page_find_line_index(page, y)) >= page->num_lines ) ++ if ( (line_index = Dw_page_find_line_index (page, y)) >= page->num_lines ) + return -1; + line = &page->lines[line_index]; + if (line->top + line->ascent + line->descent <= y) + return -1; + +- x_cursor = Dw_page_line_total_x_offset(page, line); ++ x_cursor = Dw_page_line_total_x_offset (page, line); + for (word_index = line->first_word; word_index < line->last_word; + word_index++) { + word = &page->words[word_index]; +@@ -1174,22 +1220,20 @@ + /* + * Standard Dw function. + */ +-static gint Dw_page_button_press (DwWidget *widget, +- gint32 x, +- gint32 y, +- GdkEventButton *event) ++static gboolean Dw_page_button_press (DwWidget *widget, gint32 x, gint32 y, ++ GdkEventButton *event) + { + DwPage *page = DW_PAGE (widget); + + #ifdef VERBOSE +- g_print("Dw_page_button_press: button (%d, %d) +%d\n", +- x, y, button->button); ++ g_print ("Dw_page_button_press: button (%d, %d) +%d\n", ++ x, y, event->button); + #endif + +- page->link_pressed = Dw_page_find_link(page, x, y); ++ page->link_pressed = Dw_page_find_link (page, x, y); + if (page->link_pressed >= 0) { +- gtk_signal_emit (GTK_OBJECT (widget), page_signals[LINK_PRESSED], +- page->link_pressed, -1, -1, event); ++ g_signal_emit (G_OBJECT (widget), page_signals[LINK_PRESSED], 0, ++ page->link_pressed, -1, -1, event); + return TRUE; + } else + return FALSE; +@@ -1199,42 +1243,40 @@ + /* + * Standard Dw function. + */ +-static gint Dw_page_button_release(DwWidget *widget, +- gint32 x, +- gint32 y, +- GdkEventButton *event) ++static gboolean Dw_page_button_release (DwWidget *widget, gint32 x, gint32 y, ++ GdkEventButton *event) + { + DwPage *page = DW_PAGE (widget); + gint link_pressed, link_released; + + #ifdef VERBOSE +- g_print("Dw_page_button_release: button (%d, %d) +%d\n", +- x, y, event->button); ++ g_print ("Dw_page_button_release: button (%d, %d) +%d\n", ++ x, y, event->button); + #endif + + link_pressed = page->link_pressed; +- link_released = Dw_page_find_link(page, x, y); ++ link_released = Dw_page_find_link (page, x, y); + page->link_pressed = -1; + + if (link_released >= 0) { +- gtk_signal_emit (GTK_OBJECT (widget), page_signals[LINK_RELEASED], +- link_released, -1, -1, event); ++ g_signal_emit (G_OBJECT (widget), page_signals[LINK_RELEASED], 0, ++ link_released, -1, -1, event); + + if (link_pressed == link_released) { +- gtk_signal_emit (GTK_OBJECT (widget), page_signals[LINK_CLICKED], +- link_released, -1, -1, event); ++ g_signal_emit (G_OBJECT (widget), page_signals[LINK_CLICKED], 0, ++ link_released, -1, -1, event); + } + + return TRUE; +- } else +- return FALSE; ++ } ++ return FALSE; + } + + + /* + * Standard Dw function. + */ +-static gint Dw_page_motion_notify (DwWidget *widget, ++static gboolean Dw_page_motion_notify (DwWidget *widget, + gint32 x, + gint32 y, + GdkEventMotion *event) +@@ -1243,15 +1285,15 @@ + gint link, link_old; + + link_old = page->hover_link; +- link = Dw_page_find_link(page, x, y); ++ link = Dw_page_find_link (page, x, y); + page->hover_link = link; + + if (link != link_old) { +- gtk_signal_emit (GTK_OBJECT (widget), page_signals[LINK_ENTERED], +- link, -1, -1); ++ g_signal_emit (G_OBJECT (widget), page_signals[LINK_ENTERED], 0, ++ link, -1, -1); + return TRUE; +- } else +- return (link != -1); ++ } ++ return (link != -1); + } + + +@@ -1266,8 +1308,8 @@ + + if (page->hover_link != -1) { + page->hover_link = -1; +- gtk_signal_emit (GTK_OBJECT (widget), page_signals[LINK_ENTERED], +- -1, -1, -1); ++ g_signal_emit (G_OBJECT (widget), page_signals[LINK_ENTERED], 0, ++ -1, -1, -1); + } + + return FALSE; +@@ -1277,16 +1319,16 @@ + /* + * Add a new word (text, widget etc.) to a page. + */ +-static DwPageWord *Dw_page_add_word(DwPage *page, +- gint width, +- gint ascent, +- gint descent, +- DwStyle *style) ++static DwPageWord *Dw_page_add_word (DwPage *page, ++ gint width, ++ gint ascent, ++ gint descent, ++ DwStyle *style) + { + DwPageWord *word; + + page->num_words++; +- a_List_add(page->words, page->num_words, page->num_words_max); ++ a_List_add (page->words, page->num_words, page->num_words_max); + + word = &page->words[page->num_words - 1]; + word->size.width = width; +@@ -1308,14 +1350,55 @@ + * Add a word to the page structure. Stashes the argument pointer in + * the page data structure so that it will be deallocated on destroy. + */ +-void a_Dw_page_add_text(DwPage *page, char *text, DwStyle *style) ++void a_Dw_page_add_text (DwPage *page, char *text, DwStyle *style) + { + DwPageWord *word; +- gint width, ascent, descent; ++ gint width, ascent, descent, len; ++ GList *items; ++ PangoGlyphString *glyphs; ++ PangoRectangle rect; ++ PangoFont *font; ++ PangoAttrList *attr_list; ++ PangoAttribute *attr; ++ ++ if (*text == '\0') ++ return; ++ ++ if (!g_utf8_validate(text, -1, NULL)) { ++ g_warning("Invalid UTF-8\n"); ++ } ++ ++ glyphs = pango_glyph_string_new(); ++ len = strlen(text); ++ ++ attr_list = pango_attr_list_new(); + +- width = gdk_string_width(style->font->font, text); +- ascent = style->font->font->ascent; +- descent = style->font->font->descent; ++ attr = pango_attr_font_desc_new(style->font->font_desc); ++ attr->start_index = 0; ++ attr->end_index = 1; ++ pango_attr_list_insert(attr_list, attr); ++ ++ /* Shape the text into glyphs */ ++ items = pango_itemize(page->context, text, 0, len, attr_list, NULL); ++ pango_shape(text, len, &(((PangoItem *)items->data)->analysis), glyphs); ++ ++ while (items) ++ { ++ GList *next = items->next; ++ pango_item_free (items->data); ++ g_list_free_1 (items); ++ items = next; ++ } ++ ++ font = pango_context_load_font(page->context, style->font->font_desc); ++ ++ /* Get the sizes */ ++ pango_glyph_string_extents(glyphs, font, NULL, &rect); ++ width = rect.width / PANGO_SCALE; ++ ascent = PANGO_ASCENT(rect) / PANGO_SCALE; ++ descent = PANGO_DESCENT(rect) / PANGO_SCALE; ++ ++ pango_glyph_string_free(glyphs); + + /* In case of a sub or super script we increase the word's height and + * potentially the line's height. +@@ -1325,10 +1408,13 @@ + else if (style->SubSup == TEXT_SUP) + ascent += (ascent / 3); + +- word = Dw_page_add_word(page, width, ascent, descent, style); +- word->content_type = DW_PAGE_CONTENT_TEXT; +- word->content.text = text; ++ word = Dw_page_add_word (page, width, ascent, descent, style); ++ word->content.type = DW_CONTENT_TEXT; ++ word->content.data.text.str = text; ++ word->content.data.text.font = font; + Dw_page_word_wrap (page, page->num_words - 1); ++ ++ pango_attr_list_unref(attr_list); + } + + /* +@@ -1345,13 +1431,14 @@ + a_Dw_widget_set_style (widget, style); + + Dw_page_calc_widget_size (page, widget, &size); +- word = Dw_page_add_word(page, size.width, size.ascent, size.descent, style); ++ word = ++ Dw_page_add_word (page, size.width, size.ascent, size.descent, style); + +- word->content_type = DW_PAGE_CONTENT_WIDGET; +- word->content.widget = widget; ++ word->content.type = DW_CONTENT_WIDGET; ++ word->content.data.widget = widget; + + Dw_page_word_wrap (page, page->num_words - 1); +- word->content.widget->parent_ref = page->num_lines - 1; ++ word->content.data.widget->parent_ref = page->num_lines - 1; + } + + +@@ -1359,24 +1446,24 @@ + * Add an anchor to the page. name is copied, so no strdup is neccessary for + * the caller. + */ +-void a_Dw_page_add_anchor(DwPage *page, const char *name, DwStyle *style) ++void a_Dw_page_add_anchor (DwPage *page, const char *name, DwStyle *style) + { + DwPageWord *word; + +- word = Dw_page_add_word(page, 0, 0, 0, style); +- word->content_type = DW_PAGE_CONTENT_ANCHOR; +- word->content.anchor = g_strdup(name); ++ word = Dw_page_add_word (page, 0, 0, 0, style); ++ word->content.type = DW_CONTENT_ANCHOR; ++ word->content.data.anchor = g_strdup (name); + Dw_page_word_wrap (page, page->num_words - 1); + +- p_Dw_widget_set_anchor(DW_WIDGET(page), word->content.anchor, +- page->lines[page->num_lines - 1].top); ++ p_Dw_widget_set_anchor (DW_WIDGET(page), word->content.data.anchor, ++ page->lines[page->num_lines - 1].top); + } + + + /* + * ? + */ +-void a_Dw_page_add_space(DwPage *page, DwStyle *style) ++void a_Dw_page_add_space (DwPage *page, DwStyle *style) + { + gint nl, nw; + gint space; +@@ -1400,7 +1487,7 @@ + /* + * Cause a paragraph break + */ +-void a_Dw_page_add_parbreak(DwPage *page, gint space, DwStyle *style) ++void a_Dw_page_add_parbreak (DwPage *page, gint space, DwStyle *style) + { + DwPageWord *word, *word2; + DwWidget *widget; +@@ -1421,25 +1508,25 @@ + way that the space is in any case visible. */ + + /* Find the widget where to adjust the break_space. */ +- for (widget = DW_WIDGET(page); ++ for (widget = DW_WIDGET (page); + widget->parent && DW_IS_PAGE (widget->parent); + widget = widget->parent) { +- page2 = DW_PAGE(widget->parent); ++ page2 = DW_PAGE (widget->parent); + if (page2->list_item) +- isfirst = (page2->words[1].content_type == DW_PAGE_CONTENT_WIDGET +- && page2->words[1].content.widget == widget); ++ isfirst = (page2->words[1].content.type == DW_CONTENT_WIDGET ++ && page2->words[1].content.data.widget == widget); + else +- isfirst = (page2->words[0].content_type == DW_PAGE_CONTENT_WIDGET +- && page2->words[0].content.widget == widget); ++ isfirst = (page2->words[0].content.type == DW_CONTENT_WIDGET ++ && page2->words[0].content.data.widget == widget); + if (!isfirst) { + /* The page we searched for has been found. */ + lineno = widget->parent_ref; + if (lineno > 0 && + (word2 = &page2->words[page2->lines[lineno - 1].first_word]) && +- word2->content_type == DW_PAGE_CONTENT_BREAK) { +- if(word2->content.break_space < space) { +- word2->content.break_space = space; +- p_Dw_widget_queue_resize (DW_WIDGET(page2), lineno, FALSE); ++ word2->content.type == DW_CONTENT_BREAK) { ++ if (word2->content.data.break_space < space) { ++ word2->content.data.break_space = space; ++ p_Dw_widget_queue_resize (DW_WIDGET (page2), lineno, FALSE); + page2->must_queue_resize = FALSE; + } + } +@@ -1453,14 +1540,15 @@ + + /* Another break before? */ + if ((word = &page->words[page->num_words - 1]) && +- word->content_type == DW_PAGE_CONTENT_BREAK) { +- word->content.break_space = MAX (word->content.break_space, space); ++ word->content.type == DW_CONTENT_BREAK) { ++ word->content.data.break_space = ++ MAX (word->content.data.break_space, space); + return; + } + +- word = Dw_page_add_word(page, 0, 0, 0, style); +- word->content_type = DW_PAGE_CONTENT_BREAK; +- word->content.break_space = space; ++ word = Dw_page_add_word (page, 0, 0, 0, style); ++ word->content.type = DW_CONTENT_BREAK; ++ word->content.data.break_space = space; + Dw_page_word_wrap (page, page->num_words - 1); + } + +@@ -1471,10 +1559,11 @@ + { + DwPageWord *word; + +- word = Dw_page_add_word(page, 0, style->font->font->ascent, +- style->font->font->descent, style); +- word->content_type = DW_PAGE_CONTENT_BREAK; +- word->content.break_space = 0; ++ /* word = Dw_page_add_word (page, 0, style->font->font->ascent, ++ style->font->font->descent, style); */ ++ word = Dw_page_add_word(page, 0, 0, 0, style); ++ word->content.type = DW_CONTENT_BREAK; ++ word->content.data.break_space = 0; + word->style = style; + //a_Dw_style_ref (style); + Dw_page_word_wrap (page, page->num_words - 1); +@@ -1504,7 +1593,7 @@ + void a_Dw_page_flush (DwPage *page) + { + if (page->must_queue_resize) { +- p_Dw_widget_queue_resize (DW_WIDGET(page), -1, TRUE); ++ p_Dw_widget_queue_resize (DW_WIDGET (page), -1, TRUE); + page->must_queue_resize = FALSE; + } + } +@@ -1514,9 +1603,9 @@ + * Find the text in the page. + * (Standar DwContainer function) -- todo: move near forall + */ +-static gint Dw_page_findtext(DwContainer *container, +- gpointer FP, gpointer KP, +- gchar *NewKey) ++static gboolean Dw_page_findtext (DwContainer *container, ++ gpointer FP, gpointer KP, ++ gchar *NewKey) + { + gint i; + DwPageWord *word; +@@ -1525,7 +1614,7 @@ + + g_return_val_if_fail ((DW_WIDGET(page))->viewport != NULL, 0); + if (!NewKey || !*NewKey) +- return 0; ++ return FALSE; + + if ( !(F = *(FindData**)FP) ) + *(FindData **)FP = F = g_new0(FindData, 1); +@@ -1555,17 +1644,17 @@ + case F_Seek: + for ( ; F->WordNum < page->num_words; F->WordNum++) { + word = &page->words[F->WordNum]; +- if (word->content_type == DW_PAGE_CONTENT_TEXT && +- a_Findtext_compare(word->content.text, F->Key)) { ++ if (word->content.type == DW_CONTENT_TEXT && ++ a_Findtext_compare(word->content.data.text.str, F->Key)) { + F->State = F_GetPos; + break; +- } else if (word->content_type == DW_PAGE_CONTENT_WIDGET && +- DW_IS_CONTAINER (word->content.widget)) { ++ } else if (word->content.type == DW_CONTENT_WIDGET && ++ DW_IS_CONTAINER (word->content.data.widget)) { + if ( a_Dw_container_findtext( +- DW_CONTAINER(word->content.widget), ++ DW_CONTAINER(word->content.data.widget), + (gpointer)&F->next, (gpointer)F->Key, NewKey) ) { + F->State = F_Seek; +- return 1; ++ return TRUE; + } + } + } +@@ -1585,17 +1674,58 @@ + a_Dw_widget_scroll_to(DW_WIDGET (page), F->Key->y_pos); + //g_print(">>>[Wn %d]\n", F->WordNum); + F->State = F_Seek; +- return 1; ++ return TRUE; + case F_End: + /* free memory */ + if (!KP && F->Key) + a_Findtext_key_free(F->Key); + g_free(F); + *(FindData **)FP = NULL; +- return 0; ++ return FALSE; + } + } + + /* compiler happiness */ +- return 0; ++ return FALSE; + } ++ ++ ++static DwIterator *Dw_page_iterator (DwWidget *widget, ++ gint mask) ++{ ++ DwIteratorInt *it = g_new (DwIteratorInt, 1); ++ it->it.widget = widget; ++ it->it.mask = mask; ++ it->it.content.type = DW_CONTENT_START; ++ it->it.next = Dw_page_iterator_next; ++ it->it.clone = Dw_page_iterator_clone; ++ it->it.free = p_Dw_iterator_free_std; ++ it->pos = -1; ++ return (DwIterator*)it; ++} ++ ++static gboolean Dw_page_iterator_next (DwIterator *it) ++{ ++ DwPage *page = DW_PAGE (it->widget); ++ DwIteratorInt *ii = (DwIteratorInt*)it; ++ ++ do { ++ ii->pos++; ++ if (ii->pos >= page->num_words) { ++ it->content.type = DW_CONTENT_END; ++ return FALSE; ++ } ++ } while ((page->words[ii->pos].content.type & it->mask) == 0); ++ ++ it->content = page->words[ii->pos].content; ++ return TRUE; ++} ++ ++ ++static DwIterator* Dw_page_iterator_clone (DwIterator *it) ++{ ++ DwIteratorInt *it2 = g_new (DwIteratorInt, 1); ++ *it2 = *(DwIteratorInt*)it; ++ return (DwIterator*)it2; ++} ++ +diff -urN dillo-0.6.6/src/dw_page.h dillo2-0.6.6/src/dw_page.h +--- dillo-0.6.6/src/dw_page.h 2002-03-11 09:45:00.000000000 -0700 ++++ dillo2-0.6.6/src/dw_page.h 2003-04-21 12:35:55.000000000 -0600 +@@ -46,10 +46,6 @@ + paragraph start */ + }; + +-#define DW_PAGE_CONTENT_TEXT 0 +-#define DW_PAGE_CONTENT_WIDGET 1 +-#define DW_PAGE_CONTENT_ANCHOR 2 +-#define DW_PAGE_CONTENT_BREAK 3 + + struct _DwPageWord { + /* todo: perhaps add a x_left? */ +@@ -59,15 +55,7 @@ + gint32 eff_space; /* effective space, set by Dw_page_word_wrap, + used for drawing etc. */ + +- /* This is a variant record (i.e. it could point to a widget +- * instead of just being text). */ +- gint content_type; +- union { +- char *text; +- DwWidget *widget; +- char *anchor; +- gint break_space; +- } content; ++ DwContent content; + + DwStyle *style; + DwStyle *space_style; /* initially the same as of the word, later +@@ -109,6 +97,8 @@ + + /* The link under the button */ + gint hover_link; ++ ++ PangoContext *context; + }; + + +diff -urN dillo-0.6.6/src/dw_style.c dillo2-0.6.6/src/dw_style.c +--- dillo-0.6.6/src/dw_style.c 2002-05-27 19:14:03.000000000 -0600 ++++ dillo2-0.6.6/src/dw_style.c 2003-04-21 12:35:56.000000000 -0600 +@@ -241,51 +241,36 @@ + */ + static void Dw_style_font_realize (DwStyleFont *font, gboolean try_all) + { +- char fontname[256], *ItalicChar; ++ PangoLayout *layout; + +- ItalicChar = prefs.use_oblique ? "o" : "i"; +- sprintf (fontname, "-*-%s-%s-%s-*-*-%d-*-75-75-*-*-iso8859-1", +- font->name, +- font->bold ? "bold" : "medium", +- font->italic ? ItalicChar : "r", +- font->size); +- font->font = gdk_font_load(fontname); +- +- if (font->font == NULL && font->italic) { +- sprintf(fontname, "-*-%s-%s-%s-*-*-%d-*-75-75-*-*-iso8859-1", +- font->name, +- font->bold ? "bold" : "medium", +- (*ItalicChar == 'o') ? "i" : "o", +- font->size); +- font->font = gdk_font_load(fontname); +- } +- +- if (try_all) { +- if (font->font == NULL) { +- /* Can't load the font - substitute the default instead. */ +- font->font = +- gdk_font_load +- ("-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-iso8859-1"); +- } ++ font->font_desc = pango_font_description_new(); + +- if (font->font == NULL) { +- /* Try another platform-font that should be available. (iPaq) */ +- font->font = +- gdk_font_load +- ("-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1"); +- } ++ if (font->font_desc) { ++ pango_font_description_set_family(font->font_desc, font->name); + +- if (font->font == NULL) { +- /* Can't load any suitable font! */ +- g_warning ("Can't load any ISO8859-1 font!?! :("); +- font->font = +- gdk_font_load("-adobe-helvetica-*-*-*--*-*-*-*-*-*-*-*"); ++ if(font->italic) { ++ pango_font_description_set_style(font->font_desc, ++ (prefs.use_oblique ? ++ PANGO_STYLE_OBLIQUE : ++ PANGO_STYLE_ITALIC)); + } +- } + +- if (font->font) { +- font->space_width = gdk_char_width (font->font, ' '); +- font->x_height = gdk_char_height (font->font, 'x'); ++ if(font->bold) ++ pango_font_description_set_weight(font->font_desc, PANGO_WEIGHT_BOLD); ++ ++ pango_font_description_set_size(font->font_desc, ++ PANGO_SCALE * font->size); ++ ++ /* Get space width */ ++ layout = pango_layout_new(gdk_pango_context_get()); ++ pango_layout_set_font_description(layout, font->font_desc); ++ pango_layout_set_text(layout, " ", 1); ++ pango_layout_get_pixel_size(layout, &font->space_width, NULL); ++ ++ /* Get x_height */ ++ pango_layout_set_text(layout, "x", 1); ++ pango_layout_get_pixel_size(layout, NULL, &font->x_height); ++ g_object_unref(layout); + } + } + +@@ -300,7 +285,7 @@ + return (font1->size == font2->size && + EQUIV (font1->bold, font2->bold) && + EQUIV (font1->italic, font2->italic) && +- strcmp(font1->name, font2->name) == 0); ++ strcmp (font1->name, font2->name) == 0); + } + + +@@ -347,7 +332,7 @@ + font->ref_count = 0; + + Dw_style_font_realize (font, try_all); +- if (font->font) { ++ if (font->font_desc) { + g_hash_table_insert (fonts_table, font, font); + return font; + } else { +@@ -386,10 +371,10 @@ + char *comma, *list, *current; + + font_attrs2 = *font_attrs; +- current = list = g_strdup(font_attrs->name); ++ current = list = g_strdup (font_attrs->name); + + while (current && (font == NULL)) { +- comma = strchr(current, ','); ++ comma = strchr (current, ','); + if (comma) *comma = 0; + + font_attrs2.name = current; +@@ -425,7 +410,7 @@ + { + g_hash_table_remove (fonts_table, font); + g_free (font->name); +- gdk_font_unref (font->font); ++ pango_font_description_free(font->font_desc); + g_free (font); + } + +@@ -642,7 +627,7 @@ + color->red = red; + color->green = green; + color->blue = blue; +- gdk_color_alloc(gdk_window_get_colormap (window), color); ++ gdk_color_alloc (gdk_window_get_colormap (window), color); + + *gc = gdk_gc_new (window); + gdk_gc_set_foreground (*gc, color); +@@ -657,7 +642,7 @@ + { + DwStyleColor *color; + +- color = g_hash_table_lookup (colors_table, GINT_TO_POINTER(color_val)); ++ color = g_hash_table_lookup (colors_table, GINT_TO_POINTER (color_val)); + if (color == NULL) { + color = g_new (DwStyleColor, 1); + color->ref_count = 0; +@@ -665,7 +650,7 @@ + + Dw_style_color_create (color_val, window, + &color->color, &color->gc, 0); +- g_hash_table_insert (colors_table, GINT_TO_POINTER(color_val), color); ++ g_hash_table_insert (colors_table, GINT_TO_POINTER (color_val), color); + } + + return color; +@@ -676,7 +661,7 @@ + */ + static void Dw_style_color_remove (DwStyleColor *color) + { +- g_hash_table_remove (colors_table, GINT_TO_POINTER(color->color_val)); ++ g_hash_table_remove (colors_table, GINT_TO_POINTER (color->color_val)); + gdk_gc_destroy (color->gc); + g_free (color); + } +@@ -691,7 +676,8 @@ + { + DwStyleShadedColor *color; + +- color = g_hash_table_lookup(shaded_colors_table,GINT_TO_POINTER(color_val)); ++ color = ++ g_hash_table_lookup (shaded_colors_table, GINT_TO_POINTER (color_val)); + if (color == NULL) { + color = g_new (DwStyleShadedColor, 1); + color->ref_count = 0; +@@ -704,7 +690,7 @@ + Dw_style_color_create (color_val, window, + &color->color_light, &color->gc_light, +1); + g_hash_table_insert (shaded_colors_table, +- GINT_TO_POINTER(color_val), color); ++ GINT_TO_POINTER (color_val), color); + } + + return color; +@@ -715,7 +701,8 @@ + */ + static void Dw_style_shaded_color_remove (DwStyleShadedColor *color) + { +- g_hash_table_remove(shaded_colors_table, GINT_TO_POINTER(color->color_val)); ++ g_hash_table_remove (shaded_colors_table, ++ GINT_TO_POINTER (color->color_val)); + gdk_gc_destroy (color->gc); + gdk_gc_destroy (color->gc_dark); + gdk_gc_destroy (color->gc_light); +@@ -785,8 +772,6 @@ + + void p_Dw_style_draw_border (GdkWindow *window, + GdkRectangle *area, +- gint32 vx, +- gint32 vy, + gint32 x, + gint32 y, + gint32 width, +@@ -797,8 +782,8 @@ + GdkGC *top_gc, *right_gc, *bottom_gc, *left_gc; + gint32 xb1, yb1, xb2, yb2, xp1, yp1, xp2, yp2; + +- xb1 = x + style->margin.left - vx; +- yb1 = y + style->margin.top - vy; ++ xb1 = x + style->margin.left; ++ yb1 = y + style->margin.top; + xb2 = xb1 + width - style->margin.left - style->margin.right; + yb2 = yb1 + height - style->margin.top - style->margin.bottom; + +@@ -865,8 +850,6 @@ + */ + void p_Dw_style_draw_background (GdkWindow *window, + GdkRectangle *area, +- gint32 vx, +- gint32 vy, + gint32 x, + gint32 y, + gint32 width, +@@ -876,8 +859,8 @@ + DwRectangle dw_area, bg_area, intersection; + + if (style->background_color) { +- dw_area.x = area->x + vx; +- dw_area.y = area->y + vy; ++ dw_area.x = area->x; ++ dw_area.y = area->y; + dw_area.width = area->width; + dw_area.height = area->height; + +@@ -892,7 +875,7 @@ + + if (p_Dw_rectangle_intersect (&dw_area, &bg_area, &intersection)) + gdk_draw_rectangle (window, style->background_color->gc, TRUE, +- intersection.x - vx, intersection.y - vy, ++ intersection.x, intersection.y, + intersection.width, intersection.height); + } + } +diff -urN dillo-0.6.6/src/dw_style.h dillo2-0.6.6/src/dw_style.h +--- dillo-0.6.6/src/dw_style.h 2002-04-05 08:18:19.000000000 -0700 ++++ dillo2-0.6.6/src/dw_style.h 2003-04-21 12:35:57.000000000 -0600 +@@ -1,7 +1,7 @@ + #ifndef __DW_STYLE_H__ + #define __DW_STYLE_H__ + +-#include <gdk/gdktypes.h> ++#include <gdk/gdk.h> + + #define TEXT_SUB 0 + #define TEXT_SUP 1 +@@ -77,11 +77,8 @@ + gchar bold; + gchar italic; + +-#ifdef USE_TYPE1 +- gint t1fontid; +-#else +- GdkFont *font; +-#endif ++ PangoFontDescription *font_desc; ++ + gint space_width; + gint x_height; + }; +@@ -168,8 +165,6 @@ + + void p_Dw_style_draw_border (GdkWindow *window, + GdkRectangle *area, +- gint32 vx, +- gint32 vy, + gint32 x, + gint32 y, + gint32 width, +@@ -177,8 +172,6 @@ + DwStyle *style); + void p_Dw_style_draw_background (GdkWindow *window, + GdkRectangle *area, +- gint32 vx, +- gint32 vy, + gint32 x, + gint32 y, + gint32 width, +diff -urN dillo-0.6.6/src/dw_table.c dillo2-0.6.6/src/dw_table.c +--- dillo-0.6.6/src/dw_table.c 2002-03-28 11:06:40.000000000 -0700 ++++ dillo2-0.6.6/src/dw_table.c 2003-04-21 12:36:01.000000000 -0600 +@@ -77,6 +77,12 @@ + gpointer FP, gpointer KP, + gchar *NewKey); + ++static DwIterator* Dw_table_iterator (DwWidget *widget, ++ gint mask); ++static gboolean Dw_table_iterator_next (DwIterator *it); ++static DwIterator* Dw_table_iterator_clone (DwIterator *it); ++ ++ + static void Dw_table_realloc_children (DwTable *table); + + static void Dw_table_sub_create (DwTable *table); +@@ -106,25 +112,27 @@ + /* + * Standard Gtk+ function. + */ +-GtkType a_Dw_table_get_type (void) ++GType a_Dw_table_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwTable", +- sizeof (DwTable), ++ GTypeInfo info = { + sizeof (DwTableClass), +- (GtkClassInitFunc) Dw_table_class_init, +- (GtkObjectInitFunc) Dw_table_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_table_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwTable), ++ 0, ++ (GInstanceInitFunc) Dw_table_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (DW_TYPE_CONTAINER, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(DW_TYPE_CONTAINER, "DwTable", ++ &info, flags); + } +- + return type; + } + +@@ -197,6 +205,7 @@ + widget_class->set_ascent = Dw_table_set_ascent; + widget_class->set_descent = Dw_table_set_descent; + widget_class->draw = Dw_table_draw; ++ widget_class->iterator = Dw_table_iterator; + + container_class->add = Dw_table_add; + container_class->remove = Dw_table_remove; +@@ -233,7 +242,7 @@ + if (table->sub) + Dw_table_sub_free (table->sub); + +- (* GTK_OBJECT_CLASS(parent_class)->destroy) (object); ++ GTK_OBJECT_CLASS(parent_class)->destroy (object); + } + + +@@ -508,7 +517,8 @@ + + offx = p_Dw_style_box_offset_x (widget->style); + offy = p_Dw_style_box_offset_y (widget->style); +- width = widget->allocation.width - p_Dw_style_box_diff_width(widget->style); ++ width = ++ widget->allocation.width - p_Dw_style_box_diff_width (widget->style); + for (i = 0; i < table->num_rows; i++) + if (table->row_style[i]) + p_Dw_widget_draw_box (widget, table->row_style[i], area, +@@ -1070,7 +1080,7 @@ + if (sub->table->sub == sub) { + /* Adjust width argument of the table (fixed, percentages + later in the code). */ +- widget = DW_WIDGET(sub->table); ++ widget = DW_WIDGET (sub->table); + if (DW_STYLE_IS_LENGTH (widget->style->width)) { + col_width = DW_STYLE_GET_LENGTH (widget->style->width, + widget->style->font); +@@ -1232,7 +1242,7 @@ + "(total = %d)\n", + sub->start_col, sub->end_col, width, total_width); + +- border_spacing = DW_WIDGET(sub->table)->style->border_spacing; ++ border_spacing = DW_WIDGET (sub->table)->style->border_spacing; + diff = (sub->num_subs - 1) * border_spacing; + avail_width = width - diff; + +@@ -1441,3 +1451,52 @@ + g_free (sub_extremes); + } + } ++ ++ ++static DwIterator *Dw_table_iterator (DwWidget *widget, ++ gint mask) ++{ ++ DwIteratorInt *it = g_new (DwIteratorInt, 1); ++ it->it.widget = widget; ++ it->it.mask = mask; ++ it->it.content.type = DW_CONTENT_START; ++ it->it.next = Dw_table_iterator_next; ++ it->it.clone = Dw_table_iterator_clone; ++ it->it.free = p_Dw_iterator_free_std; ++ it->pos = -1; ++ return (DwIterator*)it; ++} ++ ++static gboolean Dw_table_iterator_next (DwIterator *it) ++{ ++ DwTable *table = DW_TABLE (it->widget); ++ DwIteratorInt *ii = (DwIteratorInt*)it; ++ ++ /* tables only contain widgets: */ ++ if ((it->mask & DW_CONTENT_WIDGET) == 0) { ++ it->content.type = DW_CONTENT_END; ++ return FALSE; ++ } ++ ++ do { ++ ii->pos++; ++ if (ii->pos >= table->num_children) { ++ it->content.type = DW_CONTENT_END; ++ return FALSE; ++ } ++ } while (table->children[ii->pos] == NULL || ++ table->children[ii->pos]->type != DW_TABLE_CELL); ++ ++ it->content.type = DW_CONTENT_WIDGET; ++ it->content.data.widget = table->children[ii->pos]->data.cell.widget; ++ return TRUE; ++} ++ ++static DwIterator* Dw_table_iterator_clone (DwIterator *it) ++{ ++ DwIteratorInt *it2 = g_new (DwIteratorInt, 1); ++ *it2 = *(DwIteratorInt*)it; ++ return (DwIterator*)it2; ++} ++ ++ +diff -urN dillo-0.6.6/src/dw_tooltip.c dillo2-0.6.6/src/dw_tooltip.c +--- dillo-0.6.6/src/dw_tooltip.c 2001-12-22 13:51:09.000000000 -0700 ++++ dillo2-0.6.6/src/dw_tooltip.c 2003-04-21 12:36:01.000000000 -0600 +@@ -15,6 +15,13 @@ + #include <gtk/gtk.h> + #include "dw_tooltip.h" + ++/* The amount of space around the text, including the border. */ ++#define PADDING 4 ++ ++/* The difference between pointer position and upper left corner of the ++ * tooltip. */ ++#define DIFF 10 ++ + static gint Dw_tooltip_draw (DwTooltip *tooltip); + + /* +@@ -49,8 +56,8 @@ + void a_Dw_tooltip_on_enter (DwTooltip *tooltip) + { + a_Dw_tooltip_on_leave (tooltip); +- tooltip->timeout_id = gtk_timeout_add(500, (GtkFunction)Dw_tooltip_draw, +- tooltip); ++ tooltip->timeout_id = gtk_timeout_add (500, (GtkFunction)Dw_tooltip_draw, ++ tooltip); + } + + +@@ -60,12 +67,12 @@ + void a_Dw_tooltip_on_leave (DwTooltip *tooltip) + { + if (tooltip->timeout_id != -1) { +- gtk_timeout_remove(tooltip->timeout_id); ++ gtk_timeout_remove (tooltip->timeout_id); + tooltip->timeout_id = -1; + } + + if (tooltip->window != NULL) { +- gtk_widget_destroy(tooltip->window); ++ gtk_widget_destroy (tooltip->window); + tooltip->window = NULL; + } + } +@@ -80,36 +87,69 @@ + } + + /* ++ * Connected to the expose_event signal ++ */ ++static gint Dw_tooltip_expose (GtkWidget *window) ++{ ++ gtk_widget_ensure_style (window); ++ gtk_paint_flat_box(window->style, window->window, ++ GTK_STATE_NORMAL, GTK_SHADOW_OUT, ++ NULL, GTK_WIDGET(window), "tooltip", ++ 0, 0, -1, -1); ++ return FALSE; ++} ++ ++/* + * Draw the tooltip. Called as a timeout function. + */ + static gint Dw_tooltip_draw (DwTooltip *tooltip) + { +- GtkStyle *style; +- gint x, y, width, ascent, descent; +- +- gdk_window_get_pointer (NULL, &x, &y, NULL); ++ GtkWidget *label; ++ gint x, y, px, py, screen_w, screen_h, ttw, tth; + + tooltip->window = gtk_window_new(GTK_WINDOW_POPUP); + gtk_widget_set_app_paintable (tooltip->window, TRUE); + gtk_widget_set_name (tooltip->window, "gtk-tooltips"); +- gtk_widget_ensure_style (tooltip->window); +- style = tooltip->window->style; +- width = gdk_string_width (style->font, tooltip->text); +- ascent = style->font->ascent; +- descent = style->font->descent; +- gtk_widget_set_usize (tooltip->window, width + 8, ascent + descent + 8); +- +- gtk_widget_popup(tooltip->window, x + 10, y + 10); +- style = tooltip->window->style; +- gtk_paint_flat_box(style, tooltip->window->window, +- GTK_STATE_NORMAL, GTK_SHADOW_OUT, +- NULL, GTK_WIDGET(tooltip->window), "tooltip", +- 0, 0, -1, -1); +- gtk_paint_string(style, tooltip->window->window, +- GTK_STATE_NORMAL, +- NULL, GTK_WIDGET(tooltip->window), "tooltip", +- 4, ascent + 4, +- tooltip->text); ++ gtk_container_set_border_width (GTK_CONTAINER (tooltip->window), PADDING); ++ g_signal_connect(G_OBJECT(tooltip->window), "expose_event", ++ G_CALLBACK(Dw_tooltip_expose), NULL); ++ ++ label = gtk_label_new(tooltip->text); ++ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); ++ gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); ++ gtk_widget_show (label); ++ ++ gtk_container_add (GTK_CONTAINER(tooltip->window), label); ++ /* Realize the window, so we can get it's size */ ++ gtk_widget_realize (GTK_WIDGET(tooltip->window)); ++ ++ gdk_drawable_get_size (GDK_DRAWABLE (tooltip->window->window), &ttw, &tth); ++ gdk_window_get_pointer (NULL, &px, &py, NULL); ++ x = px + DIFF; ++ y = py + DIFF; ++ ++ screen_w = gdk_screen_width(); ++ screen_h = gdk_screen_height(); ++ ++ if (ttw >= screen_w) ++ /* If the width of a tooltips does not fit into the screen, put ++ * them at x = 0. (Yes, that's far from perfect ...) */ ++ x = 0; ++ else if (x + ttw > screen_w) ++ /* If they would otherwise reach out of the screen, move them ++ * a bit left. */ ++ x = screen_w - ttw; ++ ++ /* The case that the height of a tooltip of the screen is greater ++ * that the screen height is ignored ;-) If the tooltip reaches ++ * out of the screen at the bottom, it is displayed *above* the ++ * pointer: to process events properly, it is necessary to keep ++ * the pointer out of the tooltip. */ ++ if (y + tth > screen_h) ++ y = py - tth - DIFF; ++ ++ gtk_window_move(GTK_WINDOW(tooltip->window), x, y); ++ gtk_widget_show(tooltip->window); + + tooltip->timeout_id = -1; + return FALSE; +diff -urN dillo-0.6.6/src/dw_widget.c dillo2-0.6.6/src/dw_widget.c +--- dillo-0.6.6/src/dw_widget.c 2002-03-18 08:02:50.000000000 -0700 ++++ dillo2-0.6.6/src/dw_widget.c 2003-04-21 12:36:03.000000000 -0600 +@@ -13,11 +13,11 @@ + #include "dw_widget.h" + #include "dw_container.h" + #include "dw_gtk_viewport.h" ++#include "dw_marshal.h" + + static void Dw_widget_init (DwWidget *widget); + static void Dw_widget_class_init (DwWidgetClass *klass); + +-static void Dw_widget_shutdown (GtkObject *object); + static void Dw_widget_destroy (GtkObject *object); + + static void Dw_widget_real_size_request (DwWidget *widget, +@@ -86,25 +86,27 @@ + /* + * Standard Gtk+ function + */ +-GtkType a_Dw_widget_get_type (void) ++GType a_Dw_widget_get_type (void) + { +- static GtkType type = 0; ++ static GType type = 0; + + if (!type) { +- GtkTypeInfo info = { +- "DwWidget", +- sizeof (DwWidget), ++ GTypeInfo info = { + sizeof (DwWidgetClass), +- (GtkClassInitFunc) Dw_widget_class_init, +- (GtkObjectInitFunc) Dw_widget_init, +- (GtkArgSetFunc) NULL, +- (GtkArgGetFunc) NULL, +- (GtkClassInitFunc) NULL ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) Dw_widget_class_init, ++ (GClassFinalizeFunc) NULL, ++ (gconstpointer) NULL, ++ sizeof (DwWidget), ++ 0, ++ (GInstanceInitFunc) Dw_widget_init, ++ (GTypeValueTable *) NULL + }; +- +- type = gtk_type_unique (GTK_TYPE_OBJECT, &info); ++ GTypeFlags flags = 0; ++ type = g_type_register_static(GTK_TYPE_OBJECT, "DwWidget", ++ &info, flags); + } +- + return type; + } + +@@ -138,114 +140,129 @@ + { + GtkObjectClass *object_class; + +- parent_class = gtk_type_class (gtk_object_get_type ()); ++ parent_class = gtk_type_class (GTK_TYPE_OBJECT); + + object_class = GTK_OBJECT_CLASS (klass); + + widget_signals[SIZE_REQUEST] = +- gtk_signal_new ("size_request", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, size_request), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 1, GTK_TYPE_POINTER); ++ g_signal_new ("size_request", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, size_request), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__POINTER, ++ GTK_TYPE_NONE, ++ 1, GTK_TYPE_POINTER); + widget_signals[SIZE_ALLOCATE] = +- gtk_signal_new ("size_allocate", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, size_allocate), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 1, GTK_TYPE_POINTER); ++ g_signal_new ("size_allocate", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, size_allocate), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__POINTER, ++ GTK_TYPE_NONE, ++ 1, GTK_TYPE_POINTER); + widget_signals[SET_WIDTH] = +- gtk_signal_new ("set_width", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, set_width), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 1, GTK_TYPE_UINT); ++ g_signal_new ("set_width", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, set_width), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__UINT, ++ GTK_TYPE_NONE, ++ 1, GTK_TYPE_UINT); + widget_signals[SET_ASCENT] = +- gtk_signal_new ("set_ascent", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, set_ascent), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 1, GTK_TYPE_UINT); ++ g_signal_new ("set_ascent", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, set_ascent), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__UINT, ++ GTK_TYPE_NONE, ++ 1, GTK_TYPE_UINT); + widget_signals[SET_DESCENT] = +- gtk_signal_new ("set_descent", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, set_descent), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 1, GTK_TYPE_UINT); ++ g_signal_new ("set_descent", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, set_descent), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__UINT, ++ GTK_TYPE_NONE, ++ 1, GTK_TYPE_UINT); + widget_signals[DRAW] = +- gtk_signal_new ("draw", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, draw), +- gtk_marshal_NONE__POINTER, +- GTK_TYPE_NONE, +- 2, GTK_TYPE_POINTER, GTK_TYPE_GDK_EVENT); ++ g_signal_new ("draw", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, draw), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__POINTER_POINTER, ++ GTK_TYPE_NONE, ++ 2, GTK_TYPE_POINTER, GDK_TYPE_EVENT); + widget_signals[REALIZE] = +- gtk_signal_new ("realize", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, realize), +- gtk_marshal_NONE__NONE, +- GTK_TYPE_NONE, 0); ++ g_signal_new ("realize", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, realize), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__VOID, ++ GTK_TYPE_NONE, 0); + widget_signals[UNREALIZE] = +- gtk_signal_new ("unrealize", +- GTK_RUN_FIRST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, unrealize), +- gtk_marshal_NONE__NONE, +- GTK_TYPE_NONE, 0); +- widget_signals[BUTTON_PRESS_EVENT] = +- gtk_signal_new ("button_press_event", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, button_press_event), +- gtk_marshal_BOOL__POINTER, +- GTK_TYPE_BOOL, +- 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GTK_TYPE_GDK_EVENT); +- widget_signals[BUTTON_RELEASE_EVENT] = +- gtk_signal_new ("button_release_event", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, button_release_event), +- gtk_marshal_BOOL__POINTER, +- GTK_TYPE_BOOL, +- 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GTK_TYPE_GDK_EVENT); +- widget_signals[MOTION_NOTIFY_EVENT] = +- gtk_signal_new ("motion_notify_event", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, motion_notify_event), +- gtk_marshal_BOOL__POINTER, +- GTK_TYPE_BOOL, +- 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GTK_TYPE_GDK_EVENT); +- widget_signals[ENTER_NOTIFY_EVENT] = +- gtk_signal_new ("enter_notify_event", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, enter_notify_event), +- gtk_marshal_BOOL__POINTER, +- GTK_TYPE_BOOL, +- 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GTK_TYPE_GDK_EVENT); +- widget_signals[LEAVE_NOTIFY_EVENT] = +- gtk_signal_new ("leave_notify_event", +- GTK_RUN_LAST, +- object_class->type, +- GTK_SIGNAL_OFFSET (DwWidgetClass, leave_notify_event), +- gtk_marshal_BOOL__POINTER, +- GTK_TYPE_BOOL, +- 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GTK_TYPE_GDK_EVENT); ++ g_signal_new ("unrealize", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_FIRST, ++ G_STRUCT_OFFSET (DwWidgetClass, unrealize), ++ NULL, ++ NULL, ++ p_Dw_marshal_VOID__VOID, ++ GTK_TYPE_NONE, 0); ++ widget_signals[BUTTON_PRESS_EVENT] = ++ g_signal_new ("button_press_event", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (DwWidgetClass, button_press_event), ++ NULL, ++ NULL, ++ p_Dw_marshal_BOOL__UINT_UINT_POINTER, ++ GTK_TYPE_BOOL, ++ 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GDK_TYPE_EVENT); ++ widget_signals[BUTTON_RELEASE_EVENT] = ++ g_signal_new ("button_release_event", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (DwWidgetClass, button_release_event), ++ NULL, ++ NULL, ++ p_Dw_marshal_BOOL__UINT_UINT_POINTER, ++ GTK_TYPE_BOOL, ++ 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GDK_TYPE_EVENT); ++ widget_signals[MOTION_NOTIFY_EVENT] = ++ g_signal_new ("motion_notify_event", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (DwWidgetClass, motion_notify_event), ++ NULL, ++ NULL, ++ p_Dw_marshal_BOOL__UINT_UINT_POINTER, ++ GTK_TYPE_BOOL, ++ 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GDK_TYPE_EVENT); ++ widget_signals[LEAVE_NOTIFY_EVENT] = ++ g_signal_new ("leave_notify_event", ++ G_TYPE_FROM_CLASS(object_class), ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (DwWidgetClass, leave_notify_event), ++ NULL, ++ NULL, ++ p_Dw_marshal_BOOL__UINT_UINT_POINTER, ++ GTK_TYPE_BOOL, ++ 3, GTK_TYPE_UINT, GTK_TYPE_UINT, GDK_TYPE_EVENT); + +- object_class->shutdown = Dw_widget_shutdown; + object_class->destroy = Dw_widget_destroy; + + klass->size_request = Dw_widget_real_size_request; +@@ -264,27 +281,7 @@ + klass->motion_notify_event = Dw_widget_real_motion_notify; + klass->enter_notify_event = Dw_widget_real_enter_notify; + klass->leave_notify_event = Dw_widget_real_leave_notify; +-} +- +- +- +-/* +- * Standard Gtk+ function +- */ +-static void Dw_widget_shutdown (GtkObject *object) +-{ +- DwWidget *widget; +- +- widget = DW_WIDGET (object); +- +- a_Dw_widget_unrealize (widget); +- +- if (widget->parent) +- Dw_container_remove (DW_CONTAINER (widget->parent), widget); +- else +- Dw_gtk_viewport_remove_dw (GTK_DW_VIEWPORT (widget->viewport)); +- +- parent_class->shutdown (object); ++ klass->iterator = NULL; + } + + /* +@@ -296,7 +293,7 @@ + + widget = DW_WIDGET (object); + if (widget->anchors_table) { +- g_hash_table_destroy(widget->anchors_table); ++ g_hash_table_destroy (widget->anchors_table); + } + + /* The widget the pointer is in? */ +@@ -318,7 +315,7 @@ + DwRequisition *requisition) + { + g_warning ("DwWidget::size_request not implemented for `%s'", +- gtk_type_name (GTK_OBJECT_TYPE (widget))); ++ g_type_name (GTK_OBJECT_TYPE (widget))); + + /* return random size to prevent crashes*/ + requisition->width = 50; +@@ -484,8 +481,8 @@ + { + if (DW_WIDGET_NEEDS_RESIZE (widget)) { + /* todo: check requisition == &(widget->requisition) and do what? */ +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SIZE_REQUEST], +- requisition); ++ g_signal_emit (G_OBJECT (widget), widget_signals[SIZE_REQUEST], ++ 0, requisition); + widget->requisition = *requisition; + DW_WIDGET_UNSET_FLAGS (widget, DW_NEEDS_RESIZE); + } else +@@ -501,7 +498,7 @@ + DwWidgetClass *klass; + + if (DW_WIDGET_EXTREMES_CHANGED (widget)) { +- klass = DW_WIDGET_CLASS (GTK_OBJECT(widget)->klass); ++ klass = DW_WIDGET_GET_CLASS(widget); + (* (klass->get_extremes)) (widget, extremes); + widget->extremes = *extremes; + DW_WIDGET_UNSET_FLAGS (widget, DW_EXTREMES_CHANGED); +@@ -523,8 +520,8 @@ + allocation->ascent != widget->allocation.ascent || + allocation->descent != widget->allocation.descent) { + +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SIZE_ALLOCATE], +- allocation); ++ g_signal_emit (G_OBJECT (widget), widget_signals[SIZE_ALLOCATE], 0, ++ allocation); + widget->allocation = *allocation; + } + +@@ -535,21 +532,21 @@ + void a_Dw_widget_set_width (DwWidget *widget, + gint32 width) + { +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SET_WIDTH], width); ++ g_signal_emit (G_OBJECT (widget), widget_signals[SET_WIDTH], 0, width); + } + + + void a_Dw_widget_set_ascent (DwWidget *widget, + gint32 ascent) + { +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SET_ASCENT], ascent); ++ g_signal_emit (G_OBJECT (widget), widget_signals[SET_ASCENT], 0, ascent); + } + + + void a_Dw_widget_set_descent (DwWidget *widget, + gint32 descent) + { +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SET_DESCENT], descent); ++ g_signal_emit (G_OBJECT (widget), widget_signals[SET_DESCENT], 0, descent); + } + + +@@ -557,15 +554,14 @@ + DwRectangle *area, + GdkEventExpose *event) + { +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[DRAW], +- area, event); ++ g_signal_emit (G_OBJECT (widget), widget_signals[DRAW], 0, area, event); + } + + + void a_Dw_widget_realize (DwWidget *widget) + { + if (!DW_WIDGET_REALIZED (widget)) { +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[REALIZE]); ++ g_signal_emit (G_OBJECT (widget), widget_signals[REALIZE], 0); + DW_WIDGET_SET_FLAGS (widget, DW_REALIZED); + + if (DW_IS_CONTAINER (widget)) +@@ -576,8 +572,8 @@ + Dw_widget_update_cursor (widget); + + if (widget->parent == NULL && widget->style->background_color != NULL) +- gdk_window_set_background(GTK_LAYOUT(widget->viewport)->bin_window, +- &widget->style->background_color->color); ++ gdk_window_set_background (GTK_LAYOUT(widget->viewport)->bin_window, ++ &widget->style->background_color->color); + } + } + +@@ -586,7 +582,7 @@ + { + if (DW_WIDGET_REALIZED (widget)) { + a_Dw_widget_set_cursor (widget, NULL); +- gtk_signal_emit (GTK_OBJECT (widget), widget_signals[UNREALIZE]); ++ g_signal_emit (G_OBJECT (widget), widget_signals[UNREALIZE], 0); + DW_WIDGET_UNSET_FLAGS (widget, DW_REALIZED); + + if (DW_IS_CONTAINER (widget)) +@@ -608,11 +604,11 @@ + * soon be the case when GDK_MOTION_NOTIFY events are simulated as a + * result of viewport changes (bug #94) + */ +-gint Dw_widget_mouse_event (DwWidget *widget, +- GtkWidget *viewwidget, +- gint32 x, +- gint32 y, +- GdkEvent *event) ++gboolean Dw_widget_mouse_event (DwWidget *widget, ++ GtkWidget *viewwidget, ++ gint32 x, ++ gint32 y, ++ GdkEventAny *event) + { + /* todo: implement as signals */ + gint (*function)(); +@@ -642,30 +638,30 @@ + * viewport->last_entered => anchestor => (current) widget */ + track_len = 0; + if (viewport->last_entered) +- for(w1 = viewport->last_entered; w1 != ancestor; w1 = w1->parent) ++ for (w1 = viewport->last_entered; w1 != ancestor; w1 = w1->parent) + track_len++; + if (ancestor) + track_len++; /* for the ancestor */ + if (widget) +- for(w1 = widget; w1 != ancestor; w1 = w1->parent) ++ for (w1 = widget; w1 != ancestor; w1 = w1->parent) + track_len++; + + track = g_new (DwWidget*, track_len); + i = 0; + if (viewport->last_entered) +- for(w1 = viewport->last_entered; w1 != ancestor; w1 = w1->parent) ++ for (w1 = viewport->last_entered; w1 != ancestor; w1 = w1->parent) + track[i++] = w1; + if (ancestor) + track[i++] = ancestor; + if (widget) { + i = track_len - 1; +- for(w1 = widget; w1 != ancestor; w1 = w1->parent) ++ for (w1 = widget; w1 != ancestor; w1 = w1->parent) + track[i--] = w1; + } + + /* Send events to all events on the track */ + for (i = 0; i < track_len; i++) { +- klass = DW_WIDGET_CLASS (GTK_OBJECT(track[i])->klass); ++ klass = DW_WIDGET_GET_CLASS(track[i]); + if (i != 0) + klass->enter_notify_event (track[i], track[i - 1], + (GdkEventMotion*) event); +@@ -683,7 +679,7 @@ + event_type = event ? event->type : GDK_MOTION_NOTIFY; + + while (widget) { +- klass = DW_WIDGET_CLASS (GTK_OBJECT (widget)->klass); ++ klass = DW_WIDGET_GET_CLASS(widget); + + switch (event_type) { + case GDK_BUTTON_PRESS: +@@ -736,8 +732,8 @@ + if (widget->parent == NULL && + DW_WIDGET_REALIZED (widget) && + widget->style->background_color != NULL) +- gdk_window_set_background(GTK_LAYOUT(widget->viewport)->bin_window, +- &widget->style->background_color->color); ++ gdk_window_set_background (GTK_LAYOUT(widget->viewport)->bin_window, ++ &widget->style->background_color->color); + } + + +@@ -801,6 +797,30 @@ + pos + widget->allocation.y); + } + ++/* ++ * Retreive an iterator pointing before the first content element ++ * of the widget. ++ */ ++DwIterator* a_Dw_widget_iterator (DwWidget *widget, ++ gint mask) ++{ ++ DwWidgetClass *klass = DW_WIDGET_GET_CLASS(widget); ++ if(klass->iterator) ++ return klass->iterator(widget, mask); ++ else ++ return NULL; ++} ++ ++/* ++ * ... ++ */ ++void p_Dw_iterator_free_std (DwIterator *it) ++{ ++ g_free (it); ++} ++ ++ ++ + + /* + * ... +@@ -908,8 +928,8 @@ + void p_Dw_widget_set_parent (DwWidget *widget, + DwWidget *parent) + { +- gtk_object_ref(GTK_OBJECT (widget)); +- gtk_object_sink(GTK_OBJECT (widget)); ++ gtk_object_ref (GTK_OBJECT (widget)); ++ gtk_object_sink (GTK_OBJECT (widget)); + widget->parent = parent; + widget->viewport = parent->viewport; + /*widget->window = parent->window;*/ +@@ -981,34 +1001,28 @@ + * (of course) viewport coordinates, the return value is TRUE iff the + * intersection is not empty. + */ +-static gboolean Dw_widget_intersect_viewport (DwWidget *widget, +- gint32 x, +- gint32 y, +- gint32 width, +- gint32 height, ++static gboolean Dw_widget_intersect_viewport (DwWidget *widget, gint x, gint y, ++ gint width, gint height, + GdkRectangle *gdk_intersection) + { +- GtkLayout *layout; + DwRectangle widget_area, viewport_area, intersection; + + g_return_val_if_fail (widget && widget->viewport, FALSE); + +- layout = GTK_LAYOUT (widget->viewport); +- + widget_area.x = widget->allocation.x + x; + widget_area.y = widget->allocation.y + y; + widget_area.width = width; + widget_area.height = height; + +- viewport_area.x = layout->xoffset; +- viewport_area.y = layout->yoffset; ++ viewport_area.x = p_Dw_widget_x_viewport_to_world(widget, 0); ++ viewport_area.y = p_Dw_widget_y_viewport_to_world(widget, 0); + viewport_area.width = widget->viewport->allocation.width; + viewport_area.height = widget->viewport->allocation.height; + + if (p_Dw_rectangle_intersect (&widget_area, &viewport_area, + &intersection)) { +- gdk_intersection->x = intersection.x - layout->xoffset; +- gdk_intersection->y = intersection.y - layout->yoffset; ++ gdk_intersection->x = intersection.x; ++ gdk_intersection->y = intersection.y; + gdk_intersection->width = intersection.width; + gdk_intersection->height = intersection.height; + return TRUE; +@@ -1107,7 +1121,7 @@ + GtkDwViewport *viewport; + DwWidgetClass *klass; + +- klass = (DwWidgetClass*)(((GtkObject*)widget)->klass); ++ klass = DW_WIDGET_GET_CLASS(widget); + DW_WIDGET_SET_FLAGS (widget, DW_NEEDS_RESIZE); + if (klass->mark_size_change) + klass->mark_size_change (widget, ref); +@@ -1121,7 +1135,7 @@ + for (widget2 = widget->parent, child = widget; + widget2; + child = widget2, widget2 = widget2->parent) { +- klass = (DwWidgetClass*)(((GtkObject*)widget2)->klass); ++ klass = DW_WIDGET_GET_CLASS(widget2); + DW_WIDGET_SET_FLAGS (widget2, DW_NEEDS_RESIZE); + if (klass->mark_size_change) + klass->mark_size_change (widget2, child->parent_ref); +@@ -1150,10 +1164,10 @@ + void p_Dw_widget_set_anchor (DwWidget *widget, gchar *name, int pos) + { + if (widget->anchors_table == NULL) +- widget->anchors_table = g_hash_table_new(g_str_hash, g_str_equal); ++ widget->anchors_table = g_hash_table_new (g_str_hash, g_str_equal); + +- g_hash_table_insert(widget->anchors_table, name, GINT_TO_POINTER(pos)); +- Dw_gtk_viewport_update_anchor(GTK_DW_VIEWPORT (widget->viewport)); ++ g_hash_table_insert (widget->anchors_table, name, GINT_TO_POINTER (pos)); ++ Dw_gtk_viewport_update_anchor (GTK_DW_VIEWPORT (widget->viewport)); + } + + +@@ -1171,27 +1185,19 @@ + gint32 height) + { + GdkRectangle gdk_area; +- gint32 vx, vy; +- +- if (Dw_widget_intersect_viewport (widget, area->x, area->y, +- area->width, area->height, &gdk_area)) { +- vx = p_Dw_widget_x_viewport_to_world (widget, 0); +- vy = p_Dw_widget_y_viewport_to_world (widget, 0); + ++ if (Dw_widget_intersect_viewport (widget, x, y, width, height, &gdk_area)) { + p_Dw_style_draw_border (DW_WIDGET_WINDOW (widget), &gdk_area, +- vx, vy, + widget->allocation.x + x, + widget->allocation.y + y, +- width, height, +- style); ++ width, height, style); + +- if (style->background_color) ++ if (style->background_color) { + p_Dw_style_draw_background (DW_WIDGET_WINDOW (widget), &gdk_area, +- vx, vy, + widget->allocation.x + x, + widget->allocation.y + y, +- width, height, +- style); ++ width, height, style); ++ } + } + } + +@@ -1203,15 +1209,10 @@ + DwRectangle *area) + { + GdkRectangle gdk_area; +- gint32 vx, vy; +- +- if (Dw_widget_intersect_viewport (widget, area->x, area->y, +- area->width, area->height, &gdk_area)) { +- vx = p_Dw_widget_x_viewport_to_world (widget, 0); +- vy = p_Dw_widget_y_viewport_to_world (widget, 0); + ++ if (Dw_widget_intersect_viewport (widget, area->x, area->y, area->width, ++ area->height, &gdk_area)) { + p_Dw_style_draw_border (DW_WIDGET_WINDOW (widget), &gdk_area, +- vx, vy, + widget->allocation.x, + widget->allocation.y, + widget->allocation.width, +@@ -1228,14 +1229,14 @@ + * *not* necessary to draw the background if + * widget->style->background_color is NULL (shining through). + */ +- if (widget->parent && widget->style->background_color) ++ if (widget->parent && widget->style->background_color) { + p_Dw_style_draw_background (DW_WIDGET_WINDOW (widget), &gdk_area, +- vx, vy, + widget->allocation.x, + widget->allocation.y, + widget->allocation.width, + widget->allocation.ascent + + widget->allocation.descent, + widget->style); ++ } + } + } +diff -urN dillo-0.6.6/src/dw_widget.h dillo2-0.6.6/src/dw_widget.h +--- dillo-0.6.6/src/dw_widget.h 2002-03-13 05:08:57.000000000 -0700 ++++ dillo2-0.6.6/src/dw_widget.h 2003-04-21 14:22:14.000000000 -0600 +@@ -15,6 +15,7 @@ + #define DW_WIDGET(obj) GTK_CHECK_CAST (obj, DW_TYPE_WIDGET, DwWidget) + #define DW_WIDGET_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, DW_TYPE_WIDGET, \ + DwWidgetClass) ++#define DW_WIDGET_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), DW_TYPE_WIDGET, DwWidgetClass)) + #define DW_IS_WIDGET(obj) GTK_CHECK_TYPE (obj, DW_TYPE_WIDGET) + + +@@ -42,13 +43,28 @@ + #define DW_USES_HINTS (1 << 4) + #define DW_HAS_CONTENT (1 << 5) + +-#define DW_WIDGET_WINDOW(widget) \ +- (((GtkDwViewport*)(widget)->viewport)->back_pixmap) ++ ++/* content types for iterator data */ ++typedef enum ++{ ++ DW_CONTENT_START = 0x01, ++ DW_CONTENT_END = 0x01, ++ DW_CONTENT_TEXT = 0x02, ++ DW_CONTENT_WIDGET = 0x04, ++ DW_CONTENT_ANCHOR = 0x08, ++ DW_CONTENT_BREAK = 0x10, ++ DW_CONTENT_ALL = 0xff ++} DwContentType; ++ ++#define DW_WIDGET_WINDOW(widget) (((GtkLayout*)(widget)->viewport)->bin_window) + + typedef struct _DwRectangle DwRectangle; + typedef struct _DwAllocation DwAllocation; + typedef struct _DwRequisition DwRequisition; + typedef struct _DwExtremes DwExtremes; ++typedef struct _DwContent DwContent; ++typedef struct _DwIterator DwIterator; ++typedef struct _DwIteratorInt DwIteratorInt; + + typedef struct _DwWidget DwWidget; + typedef struct _DwWidgetClass DwWidgetClass; +@@ -89,6 +105,57 @@ + gint32 max_width; + }; + ++ ++struct _DwContent ++{ ++ DwContentType type; ++ union { ++ struct { ++ char *str; ++ PangoFont *font; ++ } text; ++ DwWidget *widget; ++ char *anchor; ++ gint break_space; ++ } data; ++}; ++ ++struct _DwIterator ++{ ++ DwWidget *widget; ++ gint mask; ++ ++ /* the current data, after first call of next */ ++ DwContent content; ++ ++ /* for simplicity, static stuff is put into the structure */ ++ ++ /* ++ * Move iterator forward and store content it. Returns TRUE on ++ * success. ++ */ ++ gboolean (*next) (DwIterator*); ++ ++ /* ++ * Create an exact copy of the iterator, which then can be used ++ * independantly of the original one. ++ */ ++ DwIterator* (*clone) (DwIterator*); ++ ++ /* ++ * Free memory of iterator. ++ */ ++ void (*free) (DwIterator*); ++}; ++ ++/* This iterator type is quite commonly used. */ ++struct _DwIteratorInt ++{ ++ DwIterator it; ++ int pos; ++}; ++ ++ + struct _DwWidget + { + GtkObject object; +@@ -172,6 +239,9 @@ + gint (*leave_notify_event) (DwWidget *widget, + DwWidget *next_widget, + GdkEventMotion *event); ++ ++ DwIterator* (*iterator) (DwWidget*, ++ gint32 mask); + }; + + +@@ -205,6 +275,15 @@ + void a_Dw_widget_scroll_to (DwWidget *widget, + int pos); + ++/* iterators */ ++DwIterator* a_Dw_widget_iterator (DwWidget *widget, ++ gint mask); ++#define a_Dw_iterator_next(it) ((it) ? (it)->next(it) : FALSE) ++#define a_Dw_iterator_clone(it) ((it) ? (it)->clone(it) : NULL) ++#define a_Dw_iterator_free(it) ((it) ? (it)->next(it) : (void)0) ++ ++void p_Dw_iterator_free_std (DwIterator *it); ++ + /* Only for Dw module */ + gint p_Dw_rectangle_intersect (DwRectangle *src1, + DwRectangle *src2, +@@ -228,7 +307,7 @@ + GtkWidget *viewwidget, + gint32 x, + gint32 y, +- GdkEvent *event); ++ GdkEventAny *event); + void p_Dw_widget_queue_draw (DwWidget *widget); + void p_Dw_widget_queue_draw_area (DwWidget *widget, + gint32 x, +diff -urN dillo-0.6.6/src/html.c dillo2-0.6.6/src/html.c +--- dillo-0.6.6/src/html.c 2002-05-26 10:36:41.000000000 -0600 ++++ dillo2-0.6.6/src/html.c 2003-04-21 12:36:16.000000000 -0600 +@@ -48,7 +48,7 @@ + #include "prefs.h" + #include "misc.h" + +-//#define DEBUG_LEVEL 3 ++#define DEBUG_LEVEL 10 + #include "debug.h" + + typedef void (*TagFunct) (DilloHtml *Html, char *Tag, gint Tagsize); +@@ -75,6 +75,16 @@ + static void Html_callback(int Op, CacheClient_t *Client); + static DilloHtml *Html_new(BrowserWindow *bw, const DilloUrl *url); + static void Html_tag_open_input(DilloHtml *html, char *tag, gint tagsize); ++static void Html_add_input(DilloHtmlForm *form, ++ DilloHtmlInputType type, ++ GtkWidget *widget, ++ const char *name, ++ const char *init_str, ++ DilloHtmlSelect *select, ++ gboolean init_val); ++static gboolean Html_submit_form(GtkWidget *submit, DilloHtmlLB *html_lb, ++ gint click_x, gint click_y); ++static gboolean Html_reset_form(GtkWidget *reset, DilloHtmlLB *html_lb); + + + /* +@@ -135,7 +145,7 @@ + /* + * Free the memory used by the linkblock + */ +-static void Html_lb_free(void *lb) ++static gboolean Html_lb_free(GtkWidget *widget, void *lb) + { + gint i, j, k; + DilloHtmlForm *form; +@@ -173,6 +183,8 @@ + a_Dw_image_map_list_free(&html_lb->maps); + + g_free(html_lb); ++ ++ return FALSE; + } + + +@@ -194,7 +206,7 @@ + * Handle the status function generated by the dw scroller, + * and show the url in the browser status-bar. + */ +-static void Html_handle_status(DwWidget *widget, gint link, gint x, gint y, ++static gboolean Html_handle_status(DwWidget *widget, gint link, gint x, gint y, + DilloHtmlLB *lb) + { + DilloUrl *url; +@@ -212,28 +224,32 @@ + a_Interface_msg(lb->bw, ""); + a_Dw_widget_set_cursor (widget, NULL); + } ++ ++ return FALSE; + } + + /* + * Popup the link menu ("link_pressed" callback of the page) + */ +-static void Html_link_menu(DwWidget *widget, gint link, gint x, gint y, +- GdkEventButton *event, DilloHtmlLB *lb) ++static gboolean Html_link_menu(DwWidget *widget, gint link, gint x, gint y, ++ GdkEventButton *event, DilloHtmlLB *lb) + { + if (event->button == 3) { + Html_set_link_coordinates(lb, link, x, y); + a_Menu_popup_set_url(lb->bw, lb->links[link]); + gtk_menu_popup(GTK_MENU(lb->bw->menu_popup.over_link), NULL, NULL, + NULL, NULL, event->button, event->time); ++ return TRUE; + } ++ return FALSE; + } + + + /* + * Activate a link ("link_clicked" callback of the page) + */ +-static void Html_link_clicked(DwWidget *widget, gint link, gint x, gint y, +- GdkEventButton *event, DilloHtmlLB *lb) ++static gboolean Html_link_clicked(DwWidget *widget, gint link, gint x, gint y, ++ GdkEventButton *event, DilloHtmlLB *lb) + { + DwPage *page; + DwStyle *old_style, style_attrs; +@@ -280,36 +296,35 @@ + } + } + /* end workaround */ ++ return TRUE; + } + + /* + * Popup the page menu ("button_press_event" callback of the viewport) + */ +-static int Html_page_menu(GtkWidget *viewport, GdkEventButton *event, +- BrowserWindow *bw) ++static gboolean Html_page_menu(GtkWidget *viewport, GdkEventButton *event, ++ BrowserWindow *bw) + { + if (event->button == 3) { + a_Menu_popup_set_url(bw, a_History_get_url(NAV_TOP(bw))); + gtk_menu_popup(GTK_MENU(bw->menu_popup.over_page), NULL, NULL, + NULL, NULL, event->button, event->time); + return TRUE; +- } else +- return FALSE; ++ } ++ return FALSE; + } + + /* + * Connect all signals of a page or an image. + */ +-static void Html_connect_signals(DilloHtml *html, GtkObject *widget) ++static void Html_connect_signals(DilloHtml *html, GObject *object) + { +- gtk_signal_connect (widget, "link_entered", +- GTK_SIGNAL_FUNC(Html_handle_status), +- (gpointer)html->linkblock); +- gtk_signal_connect (widget, "link_pressed", GTK_SIGNAL_FUNC(Html_link_menu), +- (gpointer)html->linkblock); +- gtk_signal_connect (widget, "link_clicked", +- GTK_SIGNAL_FUNC(Html_link_clicked), +- (gpointer)html->linkblock); ++ g_signal_connect (object, "link_entered", ++ G_CALLBACK(Html_handle_status), html->linkblock); ++ g_signal_connect (object, "link_pressed", ++ G_CALLBACK(Html_link_menu), html->linkblock); ++ g_signal_connect (object, "link_clicked", ++ G_CALLBACK(Html_link_clicked), html->linkblock); + } + + +@@ -452,7 +467,7 @@ + a_Dw_style_unref (style); + + /* Handle it when the user clicks on a link */ +- Html_connect_signals(html, GTK_OBJECT(page)); ++ Html_connect_signals(html, G_OBJECT(page)); + } + + /* +@@ -528,16 +543,14 @@ + html->stack[0].table_cell_style = NULL; + + /* Handle it when the user clicks on a link */ +- Html_connect_signals(html, GTK_OBJECT(widget)); ++ Html_connect_signals(html, G_OBJECT(widget)); + +- gtk_signal_connect_while_alive ( +- GTK_OBJECT(GTK_BIN(html->bw->docwin)->child), "button_press_event", +- GTK_SIGNAL_FUNC(Html_page_menu), (gpointer)html->bw, GTK_OBJECT (page)); ++ g_signal_connect(G_OBJECT(GTK_BIN(html->bw->docwin)->child), ++ "button_press_event", G_CALLBACK(Html_page_menu), html->bw); + + /* Destroy the linkblock when the DwPage is destroyed */ +- gtk_signal_connect_object(GTK_OBJECT(page), "destroy", +- GTK_SIGNAL_FUNC(Html_lb_free), +- (gpointer)html->linkblock); ++ g_signal_connect(G_OBJECT(page), "destroy", G_CALLBACK(Html_lb_free), ++ html->linkblock); + } + + /* +@@ -550,6 +563,10 @@ + html = g_new(DilloHtml, 1); + + html->Start_Ofs = 0; ++ html->utf8_offset = 0; ++ html->utf8_buf = g_string_new(""); ++ html->Encoding = NULL; ++ + html->dw = NULL; + html->bw = bw; + html->linkblock = Html_lb_new(bw, url); +@@ -708,7 +725,7 @@ + /* Numeric token */ + base = (token[2] == 'x' || token[2] == 'X') ? 16 : 10; + isocode = strtol(token + 2 + (base==16), NULL, base); +- return (isocode > 0 && isocode <= 255) ? isocode : -1; ++ return isocode > 0 ? isocode : -1; + } else { + /* Search for named entity */ + name = g_strndup(token + 1, eoe - token - 1); +@@ -726,23 +743,41 @@ + */ + static char *Html_parse_entities(gchar *token, gint toksize) + { +- gchar *new_str; +- gint i, j, isocode; ++ GString *gstr; ++ gchar *new_str, *p; ++ gint i, isocode, len; ++ gboolean in_ent; ++ gunichar c; + + if ( memchr(token, '&', toksize) == NULL ) + return g_strndup(token, toksize); + +- new_str = g_new(char, toksize + 1); +- for (i = j = 0; i < toksize; i++) { +- if (token[i] == '&' && +- (isocode = Html_parse_entity(token + i, toksize - i)) != -1) { +- new_str[j++] = isocode; +- while(token[++i] != ';'); ++ /* Get length in characters, not in bytes */ ++ len = g_utf8_strlen(token, toksize); ++ ++ gstr = g_string_new(""); ++ in_ent = FALSE; ++ ++ for (i = 0, p = token; i < len; i++) { ++ c = g_utf8_get_char(p); ++ ++ if (c == '&' && ++ (isocode = Html_parse_entity(p, len - i)) != -1) { ++ g_string_append_unichar(gstr, isocode); ++ in_ent = TRUE; + } else { +- new_str[j++] = token[i]; ++ if (in_ent && c == ';') ++ in_ent = FALSE; ++ else if (!in_ent) ++ g_string_append_unichar(gstr, c); + } ++ ++ p = g_utf8_next_char(p); + } +- new_str[j] = '\0'; ++ ++ new_str = gstr->str; ++ g_string_free(gstr, FALSE); ++ + return new_str; + } + +@@ -934,8 +969,8 @@ + */ + static void Html_eventually_pop_dw(DilloHtml *html) + { +- if(html->dw != html->stack[html->stack_top].page) { +- if(html->stack[html->stack_top].hand_over_break) ++ if (html->dw != html->stack[html->stack_top].page) { ++ if (html->stack[html->stack_top].hand_over_break) + a_Dw_page_hand_over_break(DW_PAGE(html->dw), + html->stack[(html)->stack_top].style); + a_Dw_page_flush(DW_PAGE(html->dw)); +@@ -956,8 +991,8 @@ + g_free(html->stack[html->stack_top--].tag); + Html_eventually_pop_dw(html); + return TRUE; +- } else +- return FALSE; ++ } ++ return FALSE; + } + + /* +@@ -1024,7 +1059,7 @@ + break; + + default: +- l = DW_STYLE_CREATE_LENGTH ((gint)v); ++ l = DW_STYLE_CREATE_LENGTH ((gint)(prefs.halfsize_images ? v/2 : v)); + break; + } + +@@ -1266,7 +1301,10 @@ + gint32 border = 0, cellspacing = 1, cellpadding = 2, bgcolor; + #endif + +- Html_par_push_tag(html, tag, tagsize); ++ Html_cleanup_tag(html, "p>"); ++ Html_push_tag(html, tag, tagsize); ++ a_Dw_page_add_parbreak(DW_PAGE (html->dw), 0, ++ html->stack[(html)->stack_top].style); + + #ifdef USE_TABLES + if ((attrbuf = Html_get_attr(html, tag, tagsize, "border"))) +@@ -1410,7 +1448,7 @@ + html->stack[html->stack_top].page = html->dw = col_page; + + /* Handle it when the user clicks on a link */ +- Html_connect_signals(html, GTK_OBJECT(col_page)); ++ Html_connect_signals(html, G_OBJECT(col_page)); + break; + + default: +@@ -1636,13 +1674,6 @@ + html->stack[(html)->stack_top].style); + } + +- +-/* For testing, should be removed soon. */ +-static void Html_tag_open_button_clicked(void) +-{ +- g_print ("DwButton was clicked!\n"); +-} +- + /* + * <BUTTON> + */ +@@ -1654,6 +1685,12 @@ + */ + DwStyle style_attrs, *style; + DwWidget *button, *page; ++ DilloHtmlForm *form; ++ DilloHtmlLB *html_lb; ++ DilloHtmlInputType inp_type; ++ const gchar *attrbuf; ++ gchar *name, *value, *type; ++ + /* Render the button */ + Html_push_tag(html, tag, tagsize); + style_attrs = *html->stack[html->stack_top].style; +@@ -1662,7 +1699,7 @@ + a_Dw_style_box_set_val(&style_attrs.border_width, 0); + a_Dw_style_box_set_val(&style_attrs.padding, 0); + style = a_Dw_style_new (&style_attrs, html->bw->main_window->window); +- button = a_Dw_button_new (); ++ button = a_Dw_button_new (DW_USES_HINTS, TRUE); + + a_Dw_page_add_parbreak (DW_PAGE (html->dw), 5, style); + a_Dw_page_add_widget (DW_PAGE (html->dw), button, style); +@@ -1677,24 +1714,50 @@ + a_Dw_container_add (DW_CONTAINER (button), page); + a_Dw_style_box_set_val(&style_attrs.margin, 0); + ++ a_Dw_button_set_sensitive (DW_BUTTON (button), FALSE); ++ + html->stack[html->stack_top].page = html->dw = page; + + /* Handle it when the user clicks on a link */ +- Html_connect_signals(html, GTK_OBJECT(page)); ++ Html_connect_signals(html, G_OBJECT(page)); ++ ++ /* Connect it to the form */ ++ html_lb = html->linkblock; ++ form = &(html_lb->forms[html_lb->num_forms - 1]); ++ ++ type = (attrbuf = Html_get_attr(html, tag, tagsize, "type")) ? ++ g_strdup(attrbuf) : g_strdup(""); ++ if (type == NULL) ++ return; ++ ++ if (strcmp(type, "submit") == 0) { ++ inp_type = DILLO_HTML_INPUT_BUTTON_SUBMIT; ++ g_signal_connect(G_OBJECT(button), "clicked", ++ G_CALLBACK(Html_submit_form), html_lb); ++ } else if (strcmp(type, "reset") == 0) { ++ inp_type = DILLO_HTML_INPUT_BUTTON_RESET; ++ g_signal_connect(G_OBJECT(button), "clicked", ++ G_CALLBACK(Html_reset_form), html_lb); ++ } else ++ return; + +- /* for testing: */ +- a_Dw_button_set_sensitive (DW_BUTTON (button), TRUE); +- gtk_signal_connect(GTK_OBJECT(button), "clicked", +- GTK_SIGNAL_FUNC(Html_tag_open_button_clicked), NULL); +- /* todo: Connect it to the form */ ++ value = (attrbuf = Html_get_attr(html, tag, tagsize, "value")) ? ++ g_strdup(attrbuf) : NULL; ++ name = (attrbuf = Html_get_attr(html, tag, tagsize, "name")) ? ++ g_strdup(attrbuf) : NULL; ++ ++ Html_add_input(form, inp_type, (GtkWidget*)button, name, value, ++ NULL, FALSE); ++ ++ g_free(type); ++ g_free(name); ++ g_free(value); + } + + + static void Html_tag_open_font(DilloHtml *html, char *tag, gint tagsize) + { +-#if 1 + DwStyle style_attrs, *old_style; +- /*DwStyleFont font;*/ + const char *attrbuf; + gint32 color; + +@@ -1713,22 +1776,18 @@ + } + } + +-#if 0 + if ((attrbuf = Html_get_attr(html, tag, tagsize, "face"))) { +- font = *( style_attrs.font ); ++ DwStyleFont font = *( style_attrs.font ); + font.name = attrbuf; + style_attrs.font = a_Dw_style_font_new_from_list (&font); + } +-#endif + + html->stack[html->stack_top].style = + a_Dw_style_new (&style_attrs, html->bw->main_window->window); + a_Dw_style_unref (old_style); + } + +-#else + Html_push_tag(html, tag, tagsize); +-#endif + } + + +@@ -1798,28 +1857,16 @@ + } + + /* +- * Create a new Image struct and request the image-url to the cache +- * (If it either hits or misses, is not relevant here; that's up to the +- * cache functions) ++ * Read image associated tag attributes, ++ * create new image and add it to the html page (if add is TRUE). + */ +-static void Html_tag_open_img(DilloHtml *html, char *tag, gint tagsize) ++static DilloImage *Html_add_new_image(DilloHtml *html, char *tag, ++ gint tagsize, DwStyle *style_attrs, ++ gboolean add) + { + DilloImage *Image; +- DilloWeb *Web; +- DilloUrl *url, *usemap_url; +- DwPage *page; +- DwStyle style_attrs; + char *width_ptr, *height_ptr, *alt_ptr; + const char *attrbuf; +- gint ClientKey, border; +- +- if ( !(attrbuf = Html_get_attr(html, tag, tagsize, "src")) ) +- return; +- +- if (!(url = a_Url_new(attrbuf, URL_STR_(html->linkblock->base_url), 0, 0))) +- return; +- +- page = DW_PAGE (html->dw); + + width_ptr = NULL; + if ((attrbuf = Html_get_attr(html, tag, tagsize, "width"))) +@@ -1833,15 +1880,68 @@ + if ((attrbuf = Html_get_attr(html, tag, tagsize, "alt"))) + alt_ptr = g_strdup(attrbuf); + ++ if ((width_ptr && !height_ptr) || (height_ptr && !width_ptr)) ++ DEBUG_HTML_MSG("Image tag only sepecifies <%s>\n", ++ (width_ptr) ? "width" : "height"); ++ ++ /* Add a new image widget to this page */ ++ if ((Image = a_Image_new(0, 0, alt_ptr, ++ html->stack[html->stack_top].current_bg_color))) ++ if (add) ++ Html_add_widget(html, DW_WIDGET(Image->dw), width_ptr, height_ptr, ++ style_attrs); ++ ++ g_free(width_ptr); ++ g_free(height_ptr); ++ g_free(alt_ptr); ++ return Image; ++} ++ ++/* ++ * Tell cache to retrieve image ++ */ ++static void Html_load_image(DilloHtml *html, DilloUrl *url, DilloImage *Image) ++{ ++ DilloWeb *Web; ++ gint ClientKey; ++ /* Fill a Web structure for the cache query */ ++ Web = a_Web_new(url); ++ Web->bw = html->bw; ++ Web->Image = Image; ++ Web->flags |= WEB_Image; ++ /* Request image data from the cache */ ++ if ((ClientKey = a_Cache_open_url(Web, NULL, NULL)) != 0) { ++ a_Interface_add_client(html->bw, ClientKey, 0); ++ a_Interface_add_url(html->bw, url, WEB_Image); ++ } ++} ++ ++/* ++ * Create a new Image struct and request the image-url to the cache ++ * (If it either hits or misses, is not relevant here; that's up to the ++ * cache functions) ++ */ ++static void Html_tag_open_img(DilloHtml *html, char *tag, gint tagsize) ++{ ++ DilloImage *Image; ++ DilloUrl *url, *usemap_url; ++ DwPage *page; ++ DwStyle style_attrs; ++ const char *attrbuf; ++ gint border; ++ ++ if (!(attrbuf = Html_get_attr(html, tag, tagsize, "src")) || ++ !(url = a_Url_new(attrbuf, URL_STR(html->linkblock->base_url), 0, 0))) ++ return; ++ ++ page = DW_PAGE (html->dw); ++ ++ + usemap_url = NULL; + if ((attrbuf = Html_get_attr(html, tag, tagsize, "usemap"))) + /* todo: usemap URLs outside of the document are not used. */ + usemap_url = a_Url_new(attrbuf, URL_STR_(html->linkblock->base_url),0,0); + +- if ((width_ptr && !height_ptr) || (height_ptr && !width_ptr)) +- DEBUG_HTML_MSG("Image tag only sepecifies <%s>\n", +- (width_ptr) ? "width" : "height"); +- + style_attrs = *html->stack[html->stack_top].style; + + if (html->stack[html->stack_top].style->link != -1 || usemap_url != NULL) { +@@ -1866,12 +1966,8 @@ + a_Dw_style_box_set_val (&style_attrs.border_width, border); + } + +- /* Add a new image widget to this page */ +- Image = a_Image_new(0, 0, alt_ptr, +- html->stack[html->stack_top].current_bg_color); +- Html_add_widget(html, DW_WIDGET(Image->dw), width_ptr, height_ptr, +- &style_attrs); +- Html_connect_signals(html, GTK_OBJECT(Image->dw)); ++ Image = Html_add_new_image(html, tag, tagsize, &style_attrs, TRUE); ++ Html_connect_signals(html, G_OBJECT(Image->dw)); + + /* Image maps */ + if (Html_get_attr(html, tag, tagsize, "ismap")) { +@@ -1886,20 +1982,8 @@ + a_Url_free (usemap_url); + } + +- /* Fill a Web structure for the cache query */ +- Web = a_Web_new(url); +- Web->bw = html->bw; +- Web->Image = Image; +- Web->flags |= WEB_Image; +- /* Request image data from the cache */ +- if ((ClientKey = a_Cache_open_url(Web, NULL, NULL)) != 0) { +- a_Interface_add_client(html->bw, ClientKey, 0); +- a_Interface_add_url(html->bw, url, WEB_Image); +- } ++ Html_load_image(html, url, Image); + a_Url_free(url); +- g_free(width_ptr); +- g_free(height_ptr); +- g_free(alt_ptr); + } + + /* +@@ -2430,8 +2514,12 @@ + /* Make buttons sensitive again */ + for (i = 0; i < form->num_inputs; i++) { + if (form->inputs[i].type == DILLO_HTML_INPUT_SUBMIT || +- form->inputs[i].type == DILLO_HTML_INPUT_RESET) { ++ form->inputs[i].type == DILLO_HTML_INPUT_RESET) { + gtk_widget_set_sensitive(form->inputs[i].widget, TRUE); ++ } else if (form->inputs[i].type == DILLO_HTML_INPUT_IMAGE || ++ form->inputs[i].type == DILLO_HTML_INPUT_BUTTON_SUBMIT || ++ form->inputs[i].type == DILLO_HTML_INPUT_BUTTON_RESET) { ++ a_Dw_button_set_sensitive(DW_BUTTON(form->inputs[i].widget), TRUE); + } + } + } +@@ -2449,9 +2537,29 @@ + */ + static void Html_tag_open_meta(DilloHtml *html, char *tag, gint tagsize) + { ++ const char *attrbuf; ++ char *str; ++ guint i; ++ + /* only valid inside HEAD */ +- if (html->InFlags & IN_HEAD) ++ if (!(html->InFlags & IN_HEAD)) + return; ++ ++ /* Check for enoding */ ++ if ((attrbuf = Html_get_attr(html, tag, tagsize, "http-equiv")) && ++ g_strcasecmp(attrbuf, "content-type") == 0) { ++ if ((attrbuf = Html_get_attr(html, tag, tagsize, "content"))) { ++ if ((str = strstr(attrbuf, "charset="))) { ++ for (i = 8; str[i] != '\0' && str[i] != ';'; i++) ++ ; ++ ++ html->Encoding = g_strndup(str + 8, i - 8); ++ /* TODO: For this to work for multi-byte charsets, we have to ++ * reconvert the document and adjust the parser offset to the ++ * point just after this tag */ ++ } ++ } ++ } + } + + /* +@@ -2565,6 +2673,7 @@ + type == DILLO_HTML_INPUT_TEXTAREA) { + form->num_entry_fields++; + } else if (type == DILLO_HTML_INPUT_SUBMIT || ++ type == DILLO_HTML_INPUT_BUTTON_SUBMIT || + type == DILLO_HTML_INPUT_IMAGE) { + form->num_submit_buttons++; + } +@@ -2597,7 +2706,7 @@ + * Reset all inputs in the form containing reset to their initial values. + * In general, reset is the reset button for the form. + */ +-static void Html_reset_form(GtkWidget *reset, DilloHtmlLB *html_lb) ++static gboolean Html_reset_form(GtkWidget *reset, DilloHtmlLB *html_lb) + { + gint i, j; + DilloHtmlForm *form; +@@ -2607,6 +2716,8 @@ + for ( j = 0; j < form->num_inputs; j++) + Html_reset_input(&(form->inputs[j])); + } ++ ++ return TRUE; + } + + /* +@@ -2646,30 +2757,68 @@ + static void + Html_append_input(GString *url, const char *name, const char *value) + { ++ char *iso_name; ++ char *iso_value; ++ GError *err = NULL; ++ + if (name != NULL) { +- Html_urlencode_append(url, name); ++ /* Convert name and value to ISO-8859-1 */ ++ iso_name = g_convert(name, -1, "iso8859-1", "utf8", NULL, NULL, &err); ++ if (err) { ++ g_warning ("Html_append_input(): %s\n", err->message); ++ g_error_free(err); ++ return; ++ } ++ ++ iso_value = g_convert(value, -1, "iso8859-1", "utf8", NULL, NULL, &err); ++ if (err) { ++ g_warning ("Html_append_input(): %s\n", err->message); ++ g_error_free(err); ++ return; ++ } ++ ++ Html_urlencode_append(url, iso_name); + g_string_append_c(url, '='); +- Html_urlencode_append(url, value); ++ Html_urlencode_append(url, iso_value); + g_string_append_c(url, '&'); + } + } + + /* ++ * Append a image button click position to an existing url. ++ */ ++static void Html_append_clickpos(GString *url, const char *name, int x, int y) ++{ ++ if (name) { ++ Html_urlencode_append(url, name); ++ g_string_sprintfa(url, ".x=%d&", x); ++ Html_urlencode_append(url, name); ++ g_string_sprintfa(url, ".y=%d&", y); ++ } else ++ g_string_sprintfa(url, "x=%d&y=%d&", x, y); ++} ++ ++/* + * Submit the form containing the submit input by making a new query URL + * and sending it with a_Nav_push. + * (Called by GTK+) ++ * click_x and click_y are used only by input images and are set only when ++ * called by Html_image_clicked. GTK+ does NOT give these arguments. + */ +-static void Html_submit_form(GtkWidget *submit, DilloHtmlLB *html_lb) ++static gboolean Html_submit_form(GtkWidget *submit, DilloHtmlLB *html_lb, ++ gint click_x, gint click_y) + { + gint i, input_index; + DilloHtmlForm *form; + DilloHtmlInput *input; + DilloUrl *new_url; + gchar *url_str, *action_str, *p; ++ GtkTextBuffer *buffer = NULL; ++ GtkTextIter *start = NULL, *end = NULL; + + /* Search the form that generated the submit event */ + if ( (i = Html_find_form(submit, html_lb)) == -1 ) +- return; ++ return FALSE; + + form = &html_lb->forms[i]; + if ((form->method == DILLO_HTML_METHOD_GET) || +@@ -2716,14 +2865,23 @@ + } + break; + case DILLO_HTML_INPUT_TEXTAREA: ++ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(input->widget)); ++ gtk_text_buffer_get_bounds(buffer, start, end); + Html_append_input(DataStr, input->name, +- gtk_editable_get_chars(GTK_EDITABLE (input->widget),0,-1)); ++ gtk_text_buffer_get_text(buffer, start, end, FALSE)); + break; + case DILLO_HTML_INPUT_INDEX: + Html_urlencode_append(DataStr, + gtk_entry_get_text(GTK_ENTRY(input->widget))); + break; ++ case DILLO_HTML_INPUT_IMAGE: ++ if (input->widget == submit) { ++ Html_append_input(DataStr, input->name, input->init_str); ++ Html_append_clickpos(DataStr, input->name, click_x, click_y); ++ } ++ break; + case DILLO_HTML_INPUT_SUBMIT: ++ case DILLO_HTML_INPUT_BUTTON_SUBMIT: + /* Only the button that triggered the submit. */ + if (input->widget == submit && form->num_submit_buttons > 0) + Html_append_input(DataStr, input->name, input->init_str); +@@ -2756,11 +2914,13 @@ + + a_Nav_push(html_lb->bw, new_url); + g_free(action_str); +- g_string_free(DataStr, TRUE); + a_Url_free(new_url); ++ g_string_free(DataStr, TRUE); + } else { + g_print("Html_submit_form: Method unknown\n"); + } ++ ++ return TRUE; + } + + +@@ -2768,19 +2928,70 @@ + * Submit form if it has no submit button. + * (Called by GTK+ when the user presses enter in a text entry within a form) + */ +-static void Html_enter_submit_form(GtkWidget *submit, DilloHtmlLB *html_lb) ++static gboolean Html_enter_submit_form(GtkWidget *submit, DilloHtmlLB *html_lb) + { + gint i; + + /* Search the form that generated the submit event */ + if ( (i = Html_find_form(submit, html_lb)) == -1 ) +- return; ++ return FALSE; + + /* Submit on enterpress when there's a single text-entry only, + * or if the user set enter to always submit */ + if ((html_lb->forms[i].num_entry_fields == 1) || + prefs.enterpress_forces_submit) +- Html_submit_form(submit, html_lb); ++ Html_submit_form(submit, html_lb, 1, 1); ++ ++ return TRUE; ++} ++ ++/* ++ * Call submit form, when input image has been clicked ++ */ ++static gboolean Html_image_clicked(DwWidget *widget, gint x, gint y, ++ DilloHtmlLB *lb) ++{ ++ g_print("Hallo! (%d, %d, %p)\n", x, y, lb); ++ Html_submit_form((GtkWidget*) widget, lb, x, y); ++ return TRUE; ++} ++ ++/* ++ * Create input image for the form ++ */ ++static DwWidget *Html_input_image(DilloHtml *html, char *tag, gint tagsize, ++ DilloHtmlLB *html_lb, DilloUrl *action) ++{ ++ DilloImage *Image; ++ DwWidget *button; ++ DilloUrl *url = NULL; ++ DwStyle style_attrs; ++ const char *attrbuf; ++ ++ if ((attrbuf = Html_get_attr(html, tag, tagsize, "src")) && ++ (url = a_Url_new(attrbuf, URL_STR(html->linkblock->base_url), 0, 0))) { ++ button = a_Dw_button_new (0, FALSE); ++ a_Dw_page_add_widget (DW_PAGE (html->dw), button, ++ html->stack[html->stack_top].style); ++ g_signal_connect(G_OBJECT(button), "clicked_at", ++ G_CALLBACK(Html_image_clicked), html_lb); ++ a_Dw_button_set_sensitive(DW_BUTTON(button), FALSE); ++ ++ /* create new image and add it to the button */ ++ if ((Image = Html_add_new_image(html, tag, tagsize, &style_attrs, ++ FALSE))) { ++ a_Dw_widget_set_style(DW_WIDGET(Image->dw), ++ html->stack[html->stack_top].style); ++ a_Dw_container_add(DW_CONTAINER(button), DW_WIDGET(Image->dw)); ++ Html_load_image(html, url, Image); ++ a_Url_free(url); ++ return button; ++ } ++ } ++ ++ DEBUG_MSG(10, "Html_input_image: unable to create image submit.\n"); ++ a_Url_free(url); ++ return NULL; + } + + /* +@@ -2794,8 +3005,8 @@ + DwWidget *embed_gtk; + GtkWidget *widget = NULL; + GSList *group; +- char *value, *name, *type, *init_str; +- const char *attrbuf; ++ gchar *value, *name, *type, *init_str; ++ const gchar *attrbuf; + gboolean init_val = FALSE; + gint input_index; + +@@ -2854,28 +3065,24 @@ + init_str = g_strdup(Html_get_attr2(html, tag, tagsize, "value", 0)); + } else if (!g_strcasecmp(type, "submit")) { + inp_type = DILLO_HTML_INPUT_SUBMIT; +- init_str = (value) ? value : g_strdup("submit"); ++ init_str = (value) ? value : g_strdup("Submit"); + widget = gtk_button_new_with_label(init_str); + gtk_widget_set_sensitive(widget, FALSE); /* Until end of FORM! */ +- gtk_signal_connect(GTK_OBJECT(widget), "clicked", +- GTK_SIGNAL_FUNC(Html_submit_form), html_lb); ++ g_signal_connect(G_OBJECT(widget), "clicked", ++ G_CALLBACK(Html_submit_form), html_lb); + } else if (!g_strcasecmp(type, "reset")) { + inp_type = DILLO_HTML_INPUT_RESET; + init_str = (value) ? value : g_strdup("Reset"); + widget = gtk_button_new_with_label(init_str); + gtk_widget_set_sensitive(widget, FALSE); /* Until end of FORM! */ +- gtk_signal_connect(GTK_OBJECT(widget), "clicked", +- GTK_SIGNAL_FUNC(Html_reset_form), html_lb); ++ g_signal_connect(G_OBJECT(widget), "clicked", ++ G_CALLBACK(Html_reset_form), html_lb); + } else if (!g_strcasecmp(type, "image")) { +- /* todo: implement this as an image. It'd better be clickable too! =) */ + inp_type = DILLO_HTML_INPUT_IMAGE; +- if ((attrbuf = Html_get_attr(html, tag, tagsize, "alt"))) +- widget = gtk_button_new_with_label(attrbuf); +- else +- widget = gtk_button_new_with_label("Submit"); +- gtk_signal_connect(GTK_OBJECT(widget), "clicked", +- GTK_SIGNAL_FUNC(Html_submit_form), html_lb); +- init_str = (value) ? value : NULL; ++ /* use a dw_image widget */ ++ widget = (GtkWidget*) Html_input_image(html, tag, tagsize, ++ html_lb, form->action); ++ init_str = value; + } else if (!g_strcasecmp(type, "file")) { + /* todo: implement it! */ + inp_type = DILLO_HTML_INPUT_FILE; +@@ -2893,25 +3100,24 @@ + widget = gtk_entry_new(); + + init_str = (value) ? value : NULL; +- gtk_signal_connect(GTK_OBJECT(widget), "activate", +- GTK_SIGNAL_FUNC(Html_enter_submit_form), +- html_lb); ++ g_signal_connect(G_OBJECT(widget), "activate", ++ G_CALLBACK(Html_enter_submit_form), html_lb); + } + + Html_add_input(form, inp_type, widget, name, + (init_str) ? init_str : "", NULL, init_val); + +- if (widget != NULL) { ++ if (widget != NULL && inp_type != DILLO_HTML_INPUT_IMAGE) { + if (inp_type == DILLO_HTML_INPUT_TEXT || +- inp_type == DILLO_HTML_INPUT_PASSWORD) { ++ inp_type == DILLO_HTML_INPUT_PASSWORD) { + /* + * The following is necessary, because gtk_entry_button_press + * returns FALSE, so the event would be delivered to the + * GtkDwScrolledFrame, which then would be focused, instead of + * the entry. + */ +- gtk_signal_connect_after(GTK_OBJECT(widget), "button_press_event", +- GTK_SIGNAL_FUNC(gtk_true), NULL); ++ g_signal_connect_after(G_OBJECT(widget), "button_press_event", ++ G_CALLBACK(gtk_true), NULL); + + /* Readonly or not? */ + gtk_entry_set_editable( +@@ -2921,7 +3127,8 @@ + /* Set width of the entry */ + if ((attrbuf = Html_get_attr(html, tag, tagsize, "size"))) + gtk_widget_set_usize(widget, strtol(attrbuf, NULL, 10) * +- gdk_char_width(widget->style->font, '0'), 0); ++ gdk_char_width(gtk_style_get_font( ++ widget->style), '0'), 0); + + /* Maximum length of the text in the entry */ + if ((attrbuf = Html_get_attr(html, tag, tagsize, "maxlength"))) +@@ -2979,14 +3186,12 @@ + widget = gtk_entry_new(); + Html_add_input(form, DILLO_HTML_INPUT_INDEX, + widget, NULL, NULL, NULL, FALSE); +- gtk_signal_connect(GTK_OBJECT(widget), "activate", +- GTK_SIGNAL_FUNC(Html_enter_submit_form), +- html_lb); ++ g_signal_connect(G_OBJECT(widget), "activate", ++ G_CALLBACK(Html_enter_submit_form), html_lb); + gtk_widget_show(widget); + /* compare <input type=text> */ +- gtk_signal_connect_after(GTK_OBJECT(widget), "button_press_event", +- GTK_SIGNAL_FUNC(gtk_true), +- NULL); ++ g_signal_connect_after(G_OBJECT(widget), "button_press_event", ++ G_CALLBACK(gtk_true), NULL); + + embed_gtk = a_Dw_embed_gtk_new(); + a_Dw_embed_gtk_add_gtk(DW_EMBED_GTK(embed_gtk), widget); +@@ -3005,6 +3210,7 @@ + DilloHtmlLB *html_lb = html->linkblock; + char *str; + DilloHtmlForm *form; ++ GtkTextBuffer *buffer; + + if (!(html->InFlags & IN_FORM) || + !(html->InFlags & IN_TEXTAREA)) +@@ -3018,8 +3224,9 @@ + + form = &(html_lb->forms[html_lb->num_forms - 1]); + form->inputs[form->num_inputs - 1].init_str = str; +- gtk_text_insert(GTK_TEXT(form->inputs[form->num_inputs - 1].widget), +- NULL, NULL, NULL, str, -1); ++ buffer = gtk_text_view_get_buffer( ++ GTK_TEXT_VIEW(form->inputs[form->num_inputs - 1].widget)); ++ gtk_text_buffer_set_text(buffer, str, -1); + + html->InFlags &= ~IN_TEXTAREA; + Html_pop_tag(html, tag, tagsize); +@@ -3033,8 +3240,7 @@ + { + DilloHtmlLB *html_lb; + DilloHtmlForm *form; +- GtkWidget *widget; +- GtkWidget *scroll; ++ GtkWidget *widget, *scroll; + DwWidget *embed_gtk; + char *name; + const char *attrbuf; +@@ -3068,11 +3274,10 @@ + if ((attrbuf = Html_get_attr(html, tag, tagsize, "name"))) + name = g_strdup(attrbuf); + +- widget = gtk_text_new(NULL, NULL); ++ widget = gtk_text_view_new (); + /* compare <input type=text> */ +- gtk_signal_connect_after(GTK_OBJECT(widget), "button_press_event", +- GTK_SIGNAL_FUNC(gtk_true), +- NULL); ++ g_signal_connect_after(G_OBJECT(widget), "button_press_event", ++ G_CALLBACK(gtk_true), NULL); + + /* Calculate the width and height based on the cols and rows + * todo: Get it right... Get the metrics from the font that will be used. +@@ -3082,13 +3287,15 @@ + /* If the attribute readonly isn't specified we make the textarea + * editable. If readonly is set we don't have to do anything. + */ +- if (!Html_get_attr(html, tag, tagsize, "readonly")) +- gtk_text_set_editable(GTK_TEXT(widget), TRUE); ++ if (Html_get_attr(html, tag, tagsize, "readonly")) ++ gtk_text_view_set_editable (GTK_TEXT_VIEW(widget), FALSE); + + scroll = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); ++ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll), ++ GTK_SHADOW_IN); + gtk_container_add(GTK_CONTAINER(scroll), widget); + gtk_widget_show(widget); + gtk_widget_show(scroll); +@@ -3201,9 +3408,6 @@ + if ( select->options[select->num_options - 1].init_val ) + gtk_menu_item_activate(GTK_MENU_ITEM(menuitem)); + gtk_widget_show(menuitem); +- gtk_signal_connect (GTK_OBJECT (menuitem), "select", +- GTK_SIGNAL_FUNC (a_Interface_scroll_popup), +- NULL); + } else if ( input->type == DILLO_HTML_INPUT_SEL_LIST ) { + menuitem = gtk_list_item_new_with_label(html->Stash->str); + select->options[select->num_options - 1].menuitem = menuitem; +@@ -3530,7 +3734,7 @@ + {"style", Html_tag_open_style, Html_tag_close_style}, + {"sub", Html_tag_open_sub, Html_tag_close_default}, + {"sup", Html_tag_open_sup, Html_tag_close_default}, +- {"table", Html_tag_open_table, Html_tag_close_par}, ++ {"table", Html_tag_open_table, Html_tag_close_div}, + /* tbody */ + {"td", Html_tag_open_td, Html_tag_close_default}, + {"textarea", Html_tag_open_textarea, Html_tag_close_textarea}, +@@ -3616,6 +3820,65 @@ + } + } + ++static void Html_get_value(GString *Buf, ++ const char *str, ++ int delimiter, ++ gboolean entities) ++{ ++ char *p = (char *) str; ++ gunichar c; ++ gboolean in_ent = FALSE; ++ int isocode; ++ ++ while (*p) { ++ c = g_utf8_get_char(p); ++ ++ if (in_ent) { ++ if (c == ';') ++ in_ent = FALSE; ++ p = g_utf8_next_char(p); ++ continue; ++ } ++ ++ if ((delimiter == ' ' && (isspace(c) || c == '>')) || c == delimiter) { ++ return; ++ } else if (c == '&' && entities) { ++ if ((isocode = Html_parse_entity(p, p - str /* FIXME */)) != -1) { ++ g_string_append_unichar(Buf, isocode); ++ in_ent = TRUE; ++ } else { ++ g_string_append_unichar(Buf, c); ++ } ++ } else if (c == '\r' || c == '\t') { ++ g_string_append_c(Buf, ' '); ++ } else if (c == '\n') { ++ /* ignore */ ++ } else { ++ g_string_append_unichar(Buf, c); ++ } ++ ++ p = g_utf8_next_char(p); ++ } ++} ++ ++static int Html_skip_value(const char *str, ++ int delimiter) ++{ ++ char *p = (char *) str; ++ gunichar c; ++ ++ while (*p) { ++ c = g_utf8_get_char(p); ++ ++ if ((delimiter == ' ' && isspace(c)) || c == delimiter || c == '>') ++ return p - str; ++ ++ p = g_utf8_next_char(p); ++ } ++ ++ return p - str; ++} ++ + /* + * Get attribute value for 'attrname' and return it. + * Tags start with '<' and end with a '>' (Ex: "<P align=center>") +@@ -3632,7 +3895,7 @@ + const char *attrname, + DilloHtmlTagParsingFlags flags) + { +- gint i, isocode, Found = 0, delimiter = 0, attr_pos = 0; ++ gint i, Found = 0, delimiter = 0, attr_pos = 0; + GString *Buf = html->attr_data; + DilloHtmlTagParsingState state = SEEK_ATTR_START; + +@@ -3676,27 +3939,12 @@ + break; + + case SKIP_VALUE: +- if ((delimiter == ' ' && isspace(tag[i])) || tag[i] == delimiter) +- state = SEEK_TOKEN_START; ++ i += Html_skip_value(tag + i, delimiter); ++ state = SEEK_TOKEN_START; + break; + case GET_VALUE: +- if ((delimiter == ' ' && (isspace(tag[i]) || tag[i] == '>')) || +- tag[i] == delimiter) { +- state = FINISHED; +- } else if (tag[i] == '&' && (flags & HTML_ParseEntities)) { +- if ((isocode = Html_parse_entity(tag+i, tagsize-i)) != -1) { +- g_string_append_c(Buf, (gchar) isocode); +- while(tag[++i] != ';'); +- } else { +- g_string_append_c(Buf, tag[i]); +- } +- } else if (tag[i] == '\r' || tag[i] == '\t') { +- g_string_append_c(Buf, ' '); +- } else if (tag[i] == '\n') { +- /* ignore */ +- } else { +- g_string_append_c(Buf, tag[i]); +- } ++ Html_get_value(Buf, tag + i, delimiter, (flags & HTML_ParseEntities)); ++ state = FINISHED; + break; + + case FINISHED: +@@ -3739,10 +3987,10 @@ + DwStyle new_style_attrs, *style; + + new_style_attrs = *style_attrs; +- new_style_attrs.width = width_str ? +- Html_parse_length (width_str) : DW_STYLE_UNDEF_LENGTH; +- new_style_attrs.height = height_str ? +- Html_parse_length (height_str) : DW_STYLE_UNDEF_LENGTH; ++ new_style_attrs.width = ++ width_str ? Html_parse_length (width_str) : DW_STYLE_UNDEF_LENGTH; ++ new_style_attrs.height = ++ height_str ? Html_parse_length (height_str) : DW_STYLE_UNDEF_LENGTH; + style = a_Dw_style_new (&new_style_attrs, (html)->bw->main_window->window); + a_Dw_page_add_widget(DW_PAGE (html->dw), widget, style); + a_Dw_style_unref (style); +@@ -3759,11 +4007,67 @@ + */ + static void Html_callback(int Op, CacheClient_t *Client) + { ++ DilloHtml *html = Client->CbData; ++ GError *err = NULL; ++ char *utf8_str; ++ gsize bufsize, bytes_read; ++ ++ /* Check if there was an encoding specified in the header. If not we ++ * use a default and hope for the best. */ ++ if (!html->Encoding) { ++ if (Client->Encoding) { ++ html->Encoding = g_strdup(Client->Encoding); ++ } else { ++ /* Use default. TODO: make customisable */ ++ html->Encoding = g_strdup("ISO-8859-1"); ++ } ++ } ++ ++ /* Convert to UTF-8 */ ++ utf8_str = g_convert(Client->Buf + html->Start_Ofs, ++ Client->BufSize - html->Start_Ofs, ++ "UTF8", html->Encoding, &bytes_read, &bufsize, &err); ++ ++ if (err) { ++ /* Something went wrong in the conversion process. */ ++ switch (err->code) { ++ case G_CONVERT_ERROR_ILLEGAL_SEQUENCE: ++ /* The end of this chunk is inside of a multi-byte character. We ++ * use the bytes_read variable from the previous call to get it right*/ ++ utf8_str = g_convert(Client->Buf + html->Start_Ofs, bytes_read, ++ "UTF8", html->Encoding, NULL, &bufsize, NULL); ++ break; ++ default: ++ g_warning("Conversion from %s to UTF-8 failed: %s\n", html->Encoding, err->message); ++ bufsize = bytes_read = Client->BufSize - html->Start_Ofs; ++ utf8_str = g_malloc (bufsize); ++ memcpy (utf8_str, Client->Buf + html->Start_Ofs, bufsize); ++ { ++ int i; ++ for (i = 0; i < bufsize; i++) ++ { ++ if (utf8_str[i] & 0x80) ++ utf8_str[i] = '?'; ++ } ++ } ++ break; ++ } ++ ++ g_error_free(err); ++ } ++ ++ if (bufsize) ++ g_string_append_len(html->utf8_buf, utf8_str, bufsize); ++ g_free(utf8_str); ++ ++ /* Line up for the next chunk */ ++ html->Start_Ofs += bytes_read; ++ + if ( Op ) { +- Html_write(Client->CbData, Client->Buf, Client->BufSize, 1); +- Html_close(Client->CbData, Client->Key); ++ Html_write(html, html->utf8_buf->str, html->utf8_buf->len, 1); ++ Html_close(html, Client->Key); + } else +- Html_write(Client->CbData, Client->Buf, Client->BufSize, 0); ++ Html_write(html, html->utf8_buf->str, html->utf8_buf->len, 0); + } + + /* +@@ -3776,30 +4080,26 @@ + DwPage *page; + char completestr[32]; + gint token_start, buf_index; +- char *buf = Buf + html->Start_Ofs; +- gint bufsize = BufSize - html->Start_Ofs; ++ char *buf = Buf + html->utf8_offset; ++ guint bufsize = BufSize - html->utf8_offset; + + g_return_if_fail ( (page = DW_PAGE (html->dw)) != NULL ); + +- buf = g_strndup(buf, bufsize); +- + /* Now, 'buf' and 'bufsize' define a buffer aligned to start at a token + * boundary. Iterate through tokens until end of buffer is reached. */ +- buf_index = 0; +- token_start = buf_index; ++ token_start = buf_index = 0; + while (buf_index < bufsize) { +- /* invariant: buf_index == bufsize || token_start == buf_index */ +- + if (html->stack[html->stack_top].parse_mode == + DILLO_HTML_PARSE_MODE_SCRIPT) { + /* Non HTML code here, let's skip until closing tag */ + do { +- buf_index += strcspn(buf + buf_index, "<"); ++ buf_index += d_strcspn(buf + buf_index, "<"); ++ + if (buf_index + 9 > bufsize) + buf_index = bufsize; + else if (strncmp(buf + buf_index, "</", 2) == 0 && + Html_match_tag(html->stack[html->stack_top].tag, +- buf+buf_index+2, 7)) { ++ buf + buf_index + 2, 7)) { + token_start = buf_index; + break; + } else +@@ -3832,20 +4132,22 @@ + /* Tag: search end of tag (skipping over quoted strings) */ + while ( buf_index < bufsize ) { + buf_index++; +- buf_index += strcspn(buf + buf_index, ">\"'"); ++ buf_index += d_strcspn(buf + buf_index, ">\"'"); ++ + if ( (ch = buf[buf_index]) == '>' ) { + break; + } else if ( ch == '"' || ch == '\'' ) { + /* Skip over quoted string */ + buf_index++; +- buf_index += strcspn(buf + buf_index, +- (ch == '"') ? "\">" : "'>"); ++ buf_index += d_strcspn(buf + buf_index, ++ (ch == '"') ? "\">" : "'>"); ++ + if ( buf[buf_index] == '>' ) { + /* Unterminated string value? Let's look ahead and test: + * (<: unterminated, closing-quote: terminated) */ + gint offset = buf_index + 1; +- offset += strcspn(buf + offset, +- (ch == '"') ? "\"<" : "'<"); ++ offset += d_strcspn(buf + offset, ++ (ch == '"') ? "\"<" : "'<"); + if (buf[offset] == ch || !buf[offset]) { + buf_index = offset; + } else { +@@ -3865,7 +4167,7 @@ + } else { + /* A Word: search for whitespace or tag open */ + while (++buf_index < bufsize) { +- buf_index += strcspn(buf + buf_index, " <\n\r\t\f\v"); ++ buf_index += d_strcspn(buf + buf_index, " <\n\r\t\f\v"); + if ( buf[buf_index] == '<' && (ch = buf[buf_index + 1]) && + !isalpha(ch) && !strchr("/!?", ch)) + continue; +@@ -3880,16 +4182,15 @@ + } + }/*while*/ + +- html->Start_Ofs += token_start; ++ html->utf8_offset += token_start; + + if ( html->bw ) { + sprintf(completestr,"%s%.1f Kb", PBAR_PSTR(prefs.panel_size == 1), +- (float)html->Start_Ofs/1024); ++ (float) html->utf8_offset / 1024); + a_Progressbar_update(html->bw->progress, completestr, 1); + } + + a_Dw_page_flush(page); +- g_free(buf); + } + + /* +@@ -3910,6 +4211,8 @@ + + g_string_free(html->Stash, TRUE); + g_string_free(html->attr_data, TRUE); ++ g_string_free(html->utf8_buf, TRUE); ++ g_free(html->Encoding); + + /* Remove this client from our active list */ + a_Interface_close_client(html->bw, ClientKey); +diff -urN dillo-0.6.6/src/html.h dillo2-0.6.6/src/html.h +--- dillo-0.6.6/src/html.h 2002-05-26 09:09:02.000000000 -0600 ++++ dillo2-0.6.6/src/html.h 2003-04-21 12:36:17.000000000 -0600 +@@ -162,6 +162,8 @@ + DILLO_HTML_INPUT_HIDDEN, + DILLO_HTML_INPUT_SUBMIT, + DILLO_HTML_INPUT_RESET, ++ DILLO_HTML_INPUT_BUTTON_SUBMIT, ++ DILLO_HTML_INPUT_BUTTON_RESET, + DILLO_HTML_INPUT_SELECT, + DILLO_HTML_INPUT_SEL_LIST, + DILLO_HTML_INPUT_TEXTAREA, +@@ -183,7 +185,11 @@ + DwWidget *dw; /* this is duplicated in the stack (page) */ + + DilloHtmlLB *linkblock; +- size_t Start_Ofs; ++ size_t Start_Ofs; /* The offset in the cache data */ ++ ++ char *Encoding; /* The encoding set from the header or a META tag */ ++ GString *utf8_buf; /* The UTF-8 converted data which the parser uses */ ++ gsize utf8_offset; /* The offset in the above buffer */ + + DilloHtmlState *stack; + gint stack_top; /* Index to the top of the stack [0 based] */ +diff -urN dillo-0.6.6/src/image.c dillo2-0.6.6/src/image.c +--- dillo-0.6.6/src/image.c 2002-03-04 10:04:21.000000000 -0700 ++++ dillo2-0.6.6/src/image.c 2003-04-21 12:36:17.000000000 -0600 +@@ -20,6 +20,7 @@ + #include <string.h> + + #include "image.h" ++#include "prefs.h" + + /* + * Local data +diff -urN dillo-0.6.6/src/interface.c dillo2-0.6.6/src/interface.c +--- dillo-0.6.6/src/interface.c 2002-04-11 13:53:49.000000000 -0600 ++++ dillo2-0.6.6/src/interface.c 2003-04-21 12:36:20.000000000 -0600 +@@ -35,7 +35,6 @@ + #include "dw_widget.h" + #include "dw_gtk_scrolled_window.h" + #include "dw_gtk_viewport.h" +-#include "dw_gtk_statuslabel.h" + #include "dw_container.h" + #include "progressbar.h" + +@@ -316,10 +315,11 @@ + /* + * Clear a text entry + */ +-static void Interface_entry_clear(GtkEntry *entry) ++static gboolean Interface_entry_clear(GtkEntry *entry) + { + gtk_entry_set_text(GTK_ENTRY (entry), ""); + gtk_widget_grab_focus(GTK_WIDGET(entry)); ++ return FALSE; + } + + /* +@@ -383,10 +383,9 @@ + + /* location entry */ + bw->location = gtk_entry_new(); +- gtk_signal_connect(GTK_OBJECT(bw->location), "activate", +- (GtkSignalFunc) a_Interface_entry_open_url, bw); +- toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); +- gtk_toolbar_set_button_relief(GTK_TOOLBAR(toolbar), GTK_RELIEF_NONE); ++ g_signal_connect(G_OBJECT(bw->location), "activate", ++ G_CALLBACK(a_Interface_entry_open_url), bw); ++ toolbar = gtk_toolbar_new(); + GTK_WIDGET_UNSET_FLAGS (toolbar, GTK_CAN_FOCUS); + + bw->clear_url_button = gtk_toolbar_append_item( +@@ -394,9 +393,9 @@ + NULL, "Clear the url-box!", "Toolbar/New", + Interface_pixmap_new(bw->main_window, s_new_xpm), + NULL, NULL); +- gtk_signal_connect_object(GTK_OBJECT(bw->clear_url_button), "clicked", +- GTK_SIGNAL_FUNC (Interface_entry_clear), +- GTK_OBJECT(bw->location)); ++ g_signal_connect_object(G_OBJECT(bw->clear_url_button), "clicked", ++ G_CALLBACK(Interface_entry_clear), ++ G_OBJECT(bw->location), G_CONNECT_SWAPPED); + + gtk_box_pack_start(GTK_BOX(hbox), toolbar, FALSE, FALSE, 0); + gtk_widget_show(toolbar); +@@ -414,8 +413,7 @@ + GtkWidget *toolbar; + gboolean s = prefs.small_icons; + +- toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); +- gtk_toolbar_set_button_relief(GTK_TOOLBAR(toolbar), GTK_RELIEF_NONE); ++ toolbar = gtk_toolbar_new(); + + /* back button */ + bw->back_button = gtk_toolbar_append_item( +@@ -424,12 +422,13 @@ + "Go to previous page", "Toolbar/Back", + Interface_pixmap_new(bw->main_window, + s ? s_left_xpm : left_xpm), +- (GtkSignalFunc) a_Commands_back_callback, bw); ++ GTK_SIGNAL_FUNC(a_Commands_back_callback), bw); ++ gtk_button_set_relief(GTK_BUTTON(bw->back_button), GTK_RELIEF_NONE); + gtk_widget_set_sensitive(bw->back_button, FALSE); + Interface_set_button_accel(GTK_BUTTON(bw->back_button), "_,", + bw->accel_group); +- gtk_signal_connect(GTK_OBJECT(bw->back_button), "button-press-event", +- GTK_SIGNAL_FUNC(a_Commands_navpress_callback), bw); ++ g_signal_connect(G_OBJECT(bw->back_button), "button_press_event", ++ G_CALLBACK(a_Commands_navpress_callback), bw); + + /* forward button */ + bw->forw_button = gtk_toolbar_append_item( +@@ -438,12 +437,12 @@ + "Go to next page", "Toolbar/Forward", + Interface_pixmap_new(bw->main_window, + s ? s_right_xpm : right_xpm), +- (GtkSignalFunc) a_Commands_forw_callback, bw); ++ GTK_SIGNAL_FUNC(a_Commands_forw_callback), bw); + gtk_widget_set_sensitive(bw->forw_button, FALSE); + Interface_set_button_accel(GTK_BUTTON(bw->forw_button), "_.", + bw->accel_group); +- gtk_signal_connect(GTK_OBJECT(bw->forw_button), "button-press-event", +- GTK_SIGNAL_FUNC(a_Commands_navpress_callback), bw); ++ g_signal_connect(G_OBJECT(bw->forw_button), "button_press_event", ++ G_CALLBACK(a_Commands_navpress_callback), bw); + + /* home button */ + bw->home_button = gtk_toolbar_append_item( +@@ -452,9 +451,7 @@ + "Go to the Home page", "Toolbar/Home", + Interface_pixmap_new(bw->main_window, + s ? s_home_xpm : home_xpm), +- (GtkSignalFunc) a_Commands_home_callback, bw); +- gtk_signal_connect(GTK_OBJECT(bw->home_button), "button-press-event", +- GTK_SIGNAL_FUNC(a_Commands_navpress_callback), bw); ++ GTK_SIGNAL_FUNC(a_Commands_home_callback), bw); + + /* reload button */ + bw->reload_button = gtk_toolbar_append_item( +@@ -463,7 +460,7 @@ + "Reload this page", "Toolbar/Reload", + Interface_pixmap_new(bw->main_window, + s ? s_reload_xpm : reload_xpm), +- (GtkSignalFunc) a_Commands_reload_callback, bw); ++ GTK_SIGNAL_FUNC(a_Commands_reload_callback), bw); + + /* save button */ + bw->save_button = gtk_toolbar_append_item( +@@ -472,7 +469,7 @@ + "Save this page", "Toolbar/Save", + Interface_pixmap_new(bw->main_window, + s ? s_save_xpm : save_xpm), +- (GtkSignalFunc) a_Commands_save_callback, bw); ++ GTK_SIGNAL_FUNC(a_Commands_save_callback), bw); + /* stop button */ + bw->stop_button = gtk_toolbar_append_item( + GTK_TOOLBAR(toolbar), +@@ -480,7 +477,7 @@ + "Stop the current transfer", "Toolbar/Stop", + Interface_pixmap_new(bw->main_window, + s ? s_stop_xpm : stop_xpm), +- (GtkSignalFunc) a_Commands_stop_callback, bw); ++ GTK_SIGNAL_FUNC(a_Commands_stop_callback), bw); + gtk_widget_set_sensitive(bw->stop_button, FALSE); + + gtk_widget_show(toolbar); +@@ -552,7 +549,8 @@ + /* + * Handler for mouse-clicks that don't belong to the viewport. + */ +-static int Interface_click_callback(BrowserWindow *bw, GdkEventButton *event) ++static int Interface_click_callback(GtkWidget *widget, GdkEventButton *event, ++ BrowserWindow *bw) + { + if (event->type == GDK_2BUTTON_PRESS && event->button == 1) + a_Interface_toggle_panel(bw); +@@ -584,10 +582,10 @@ + bw->main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + + gtk_window_set_policy(GTK_WINDOW(bw->main_window), TRUE, TRUE, FALSE); +- gtk_signal_connect(GTK_OBJECT(bw->main_window), "delete_event", +- GTK_SIGNAL_FUNC(gtk_object_destroy), bw); +- gtk_signal_connect(GTK_OBJECT(bw->main_window), "destroy", +- GTK_SIGNAL_FUNC(Interface_quit), bw); ++ g_signal_connect(G_OBJECT(bw->main_window), "delete_event", ++ G_CALLBACK(gtk_object_destroy), bw); ++ g_signal_connect(G_OBJECT(bw->main_window), "destroy", ++ G_CALLBACK(Interface_quit), bw); + gtk_container_border_width(GTK_CONTAINER(bw->main_window), 0); + + gtk_window_set_wmclass(GTK_WINDOW(bw->main_window), "dillo", "Dillo"); +@@ -649,7 +647,7 @@ + + handlebox = gtk_handle_box_new(); + bw->PanelHandles = g_slist_append(bw->PanelHandles, handlebox); +- gtk_container_border_width(GTK_CONTAINER(handlebox), 4); ++ gtk_container_border_width(GTK_CONTAINER(handlebox), 0); + hbox = gtk_hbox_new(FALSE, 0); + toolbar = Interface_toolbar_new(bw, 1); + progbox = Interface_progressbox_new(bw, 1); +@@ -662,6 +660,41 @@ + gtk_box_pack_start(GTK_BOX(box1), handlebox, FALSE, FALSE, 0); + gtk_widget_show(handlebox); + ++ } else if (prefs.panel_size == 4) { ++ ++ handlebox = gtk_handle_box_new(); ++ bw->PanelHandles = g_slist_append(bw->PanelHandles, handlebox); ++ hbox = gtk_hbox_new(FALSE, 0); ++ /* Control Buttons */ ++ toolbar = Interface_toolbar_new(bw, 0); ++ /* Menus */ ++ menubar = a_Menu_mainbar_new(bw, 1); ++ /* Location entry */ ++ locbox = Interface_locbar_new(bw); ++ /* progress bars */ ++ progbox = Interface_progressbox_new(bw, 0); ++ ++ gtk_box_pack_start(GTK_BOX(hbox), menubar, FALSE, FALSE, 0); ++ gtk_widget_show(menubar); ++ gtk_box_pack_start(GTK_BOX(hbox), toolbar, FALSE, FALSE, 0); ++ gtk_widget_show(toolbar); ++ gtk_container_add(GTK_CONTAINER(handlebox), hbox); ++ gtk_widget_show(hbox); ++ gtk_box_pack_start(GTK_BOX(box1), handlebox, FALSE, FALSE, 0); ++ gtk_widget_show(handlebox); ++ ++ handlebox = gtk_handle_box_new(); ++ hbox = gtk_hbox_new(FALSE, 0); ++ bw->PanelHandles = g_slist_append(bw->PanelHandles, handlebox); ++ gtk_box_pack_start(GTK_BOX(hbox), locbox, TRUE, TRUE, 0); ++ gtk_widget_show(locbox); ++ gtk_box_pack_start(GTK_BOX(hbox), progbox, FALSE, FALSE, 0); ++ gtk_widget_show(progbox); ++ gtk_container_add(GTK_CONTAINER(handlebox), hbox); ++ gtk_widget_show(hbox); ++ gtk_box_pack_start(GTK_BOX(box1), handlebox, FALSE, FALSE, 0); ++ gtk_widget_show(handlebox); ++ + } else { + handlebox = gtk_handle_box_new(); + bw->PanelHandles = g_slist_append(bw->PanelHandles, handlebox); +@@ -673,7 +706,7 @@ + + handlebox = gtk_handle_box_new(); + bw->PanelHandles = g_slist_append(bw->PanelHandles, handlebox); +- gtk_container_border_width(GTK_CONTAINER(handlebox), 4); ++ gtk_container_border_width(GTK_CONTAINER(handlebox), 0); + hbox = gtk_hbox_new(FALSE, 0); + toolbar = Interface_toolbar_new(bw, 1); + progbox = Interface_progressbox_new(bw, 1); +@@ -705,15 +738,13 @@ + gtk_box_pack_start(GTK_BOX(box1), bw->docwin, TRUE, TRUE, 0); + gtk_widget_show(bw->docwin); + +- gtk_signal_connect_object_after(GTK_OBJECT(GTK_BIN(bw->docwin)->child), +- "button_press_event", +- GTK_SIGNAL_FUNC(Interface_click_callback), +- (gpointer)bw); ++ g_signal_connect(G_OBJECT(GTK_BIN(bw->docwin)->child), "button_press_event", ++ G_CALLBACK(Interface_click_callback), bw); + + gtk_widget_set_usize(bw->main_window, width, height); + + /* status widget */ +- bw->status = a_Dw_gtk_statuslabel_new(""); ++ bw->status = gtk_label_new(""); + gtk_misc_set_alignment(GTK_MISC(bw->status), 0.0, 0.5); + box2 = gtk_hbox_new(FALSE, 0); + +@@ -801,7 +832,7 @@ + */ + gchar *a_Interface_get_location_text(BrowserWindow *bw) + { +- return gtk_entry_get_text(GTK_ENTRY(bw->location)); ++ return g_strdup(gtk_entry_get_text(GTK_ENTRY(bw->location))); + } + + /* +@@ -833,10 +864,11 @@ + /* + * Called from `destroy' callback in Interface_make_*_dialog + */ +-static void Interface_destroy_window(GtkWidget *widget, GtkWidget **window) ++static gboolean Interface_destroy_window(GtkWidget *widget, GtkWidget **window) + { + gtk_widget_destroy(*window); + *window = NULL; ++ return FALSE; + } + + +@@ -871,31 +903,29 @@ + static void + Interface_make_choose_file_dialog(GtkWidget **DialogWindow, + char *WmName, char *WmClass, char *WTitle, +- GtkSignalFunc B1CallBack, void *B1CbData) ++ GCallback B1CallBack, void *B1CbData) + { + *DialogWindow = gtk_file_selection_new(WTitle); + gtk_window_set_modal(GTK_WINDOW(*DialogWindow), FALSE); + gtk_window_set_wmclass(GTK_WINDOW(*DialogWindow), WmName, WmClass); + + gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(*DialogWindow)); +- gtk_signal_connect( +- GTK_OBJECT(*DialogWindow), +- "destroy", (GtkSignalFunc) Interface_destroy_window, DialogWindow); +- gtk_signal_connect( +- GTK_OBJECT(GTK_FILE_SELECTION(*DialogWindow)->ok_button), +- "clicked", (GtkSignalFunc) B1CallBack, B1CbData); +- gtk_signal_connect( +- GTK_OBJECT(GTK_FILE_SELECTION (*DialogWindow)->cancel_button), +- "clicked", (GtkSignalFunc) Interface_destroy_window, DialogWindow); ++ g_signal_connect(G_OBJECT(*DialogWindow), "destroy", ++ G_CALLBACK(Interface_destroy_window), DialogWindow); ++ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(*DialogWindow)->ok_button), ++ "clicked", B1CallBack, B1CbData); ++ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION (*DialogWindow)->cancel_button), ++ "clicked", G_CALLBACK(Interface_destroy_window), ++ DialogWindow); + } + + /* + * Get the file URL from the widget and push it to the browser window. + */ +-static void ++static gboolean + Interface_openfile_ok_callback(GtkWidget *widget, BrowserWindow *bw) + { +- char *fn; ++ const gchar *fn; + DilloUrl *url; + GString *UrlStr = g_string_sized_new(1024); + +@@ -909,6 +939,8 @@ + a_Url_free(url); + + gtk_widget_destroy(bw->openfile_dialog_window); ++ ++ return FALSE; + } + + /* +@@ -916,7 +948,7 @@ + * The URL is not sent "as is", illegal chars are ripped out, + * then it's fully parsed by a_Url_new(). + */ +-void a_Interface_entry_open_url(GtkWidget *widget, BrowserWindow *bw) ++gboolean a_Interface_entry_open_url(GtkWidget *widget, BrowserWindow *bw) + { + gchar *text, *new_text, *p; + DilloUrl *url; +@@ -924,7 +956,7 @@ + + /* entry = { bw->location | bw->open_dialog_entry } */ + entry = GTK_ENTRY(widget == bw->location ? widget : bw->open_dialog_entry); +- text = gtk_entry_get_text(entry); ++ text = g_strdup (gtk_entry_get_text(entry)); + + DEBUG_MSG(1, "entry_open_url %s\n", text); + +@@ -948,6 +980,8 @@ + + if (bw->open_dialog_window != NULL) + gtk_widget_hide(bw->open_dialog_window); ++ ++ return TRUE; + } + + /* +@@ -959,7 +993,7 @@ + Interface_make_choose_file_dialog( + &(bw->openfile_dialog_window), + "openfile_dialog", "Dillo", "Dillo: Open File", +- (GtkSignalFunc) Interface_openfile_ok_callback, (void *)bw); ++ G_CALLBACK(Interface_openfile_ok_callback), (void *)bw); + } + + if (!GTK_WIDGET_VISIBLE(bw->openfile_dialog_window)) +@@ -974,16 +1008,16 @@ + static void + Interface_make_dialog(GtkWidget **DialogWindow, char *WmName, char *WmClass, + char *WTitle, GtkWidget **DialogEntry, char *EntryStr, +- char *B1Label, GtkSignalFunc B1CallBack, void *B1CbData) ++ char *B1Label, GCallback B1CallBack, void *B1CbData) + { + GtkWidget *button, *box1, *box2, *entry; + +- *DialogWindow = gtk_window_new(GTK_WINDOW_DIALOG); ++ *DialogWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_wmclass(GTK_WINDOW(*DialogWindow), WmName, WmClass); + gtk_window_set_position(GTK_WINDOW(*DialogWindow), GTK_WIN_POS_CENTER); + gtk_window_set_title(GTK_WINDOW(*DialogWindow), WTitle); +- gtk_signal_connect(GTK_OBJECT(*DialogWindow), "destroy", +- (GtkSignalFunc) Interface_destroy_window, DialogWindow); ++ g_signal_connect(G_OBJECT(*DialogWindow), "destroy", ++ G_CALLBACK(Interface_destroy_window), DialogWindow); + + gtk_container_border_width(GTK_CONTAINER(*DialogWindow), 5); + +@@ -999,34 +1033,34 @@ + *DialogEntry = GTK_WIDGET(entry); + gtk_widget_show(entry); + +- gtk_signal_connect(GTK_OBJECT(entry), "activate", B1CallBack, B1CbData); ++ g_signal_connect(G_OBJECT(entry), "activate", B1CallBack, B1CbData); + + box2 = gtk_hbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(box1), box2, FALSE, FALSE, 0); + gtk_widget_show(box2); + + button = gtk_button_new_with_label(B1Label); +- gtk_signal_connect(GTK_OBJECT(button), "clicked", B1CallBack, B1CbData); ++ g_signal_connect(G_OBJECT(button), "clicked", B1CallBack, B1CbData); + GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); + gtk_box_pack_start(GTK_BOX(box2), button, FALSE, TRUE, 0); + gtk_widget_grab_default(button); + gtk_widget_show(button); +- gtk_signal_connect_object(GTK_OBJECT(entry), "focus_in_event", +- (GtkSignalFunc) gtk_widget_grab_default, +- GTK_OBJECT(button)); ++ g_signal_connect_object(G_OBJECT(entry), "focus_in_event", ++ G_CALLBACK(gtk_widget_grab_default), ++ G_OBJECT(button), G_CONNECT_SWAPPED); + + button = gtk_button_new_with_label("Clear"); +- gtk_signal_connect_object(GTK_OBJECT(button), "clicked", +- (GtkSignalFunc) Interface_entry_clear, +- GTK_OBJECT(entry)); ++ g_signal_connect_object(G_OBJECT(button), "clicked", ++ G_CALLBACK(Interface_entry_clear), ++ GTK_OBJECT(entry), G_CONNECT_SWAPPED); + GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); + gtk_box_pack_start(GTK_BOX(box2), button, FALSE, TRUE, 0); + gtk_widget_show(button); + + button = gtk_button_new_with_label("Cancel"); +- gtk_signal_connect_object(GTK_OBJECT(button), "clicked", +- (GtkSignalFunc) gtk_widget_destroy, +- GTK_OBJECT(*DialogWindow)); ++ g_signal_connect_object(G_OBJECT(button), "clicked", ++ G_CALLBACK(gtk_widget_destroy), ++ G_OBJECT(*DialogWindow), G_CONNECT_SWAPPED); + GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); + gtk_box_pack_start(GTK_BOX(box2), button, FALSE, TRUE, 0); + gtk_widget_show(button); +@@ -1040,17 +1074,17 @@ + static void Interface_make_question_dialog( + GtkWidget **DialogWindow, char *WmName, char *WmClass, + char *WTitle, char *Question, +- GtkSignalFunc OkCallback, void *OkCbData, +- GtkSignalFunc CancelCallback, void *CancelCbData) ++ GCallback OkCallback, void *OkCbData, ++ GCallback CancelCallback, void *CancelCbData) + { + GtkWidget *frame, *label, *button, *box1, *box2; + +- *DialogWindow = gtk_window_new(GTK_WINDOW_DIALOG); ++ *DialogWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_wmclass(GTK_WINDOW(*DialogWindow), WmName, WmClass); + gtk_window_set_title(GTK_WINDOW(*DialogWindow), WTitle); + gtk_container_border_width(GTK_CONTAINER(*DialogWindow), 10); +- gtk_signal_connect(GTK_OBJECT(*DialogWindow), "destroy", +- (GtkSignalFunc) Interface_destroy_window, DialogWindow); ++ g_signal_connect(G_OBJECT(*DialogWindow), "destroy", ++ G_CALLBACK(Interface_destroy_window), DialogWindow); + + box1 = gtk_vbox_new(FALSE, 5); + frame = gtk_frame_new(NULL); +@@ -1065,17 +1099,17 @@ + + box2 = gtk_hbox_new(TRUE, 5); + button = gtk_button_new_with_label("OK"); +- gtk_signal_connect_object(GTK_OBJECT(button), "clicked", +- OkCallback, OkCbData); +- gtk_signal_connect(GTK_OBJECT(button), "clicked", +- (GtkSignalFunc) Interface_destroy_window, DialogWindow); ++ g_signal_connect(G_OBJECT(button), "clicked", ++ OkCallback, OkCbData); ++ g_signal_connect(G_OBJECT(button), "clicked", ++ G_CALLBACK(Interface_destroy_window), DialogWindow); + gtk_widget_show(button); + gtk_box_pack_start(GTK_BOX(box2), button, FALSE, TRUE, 0); + button = gtk_button_new_with_label("Cancel"); +- gtk_signal_connect_object(GTK_OBJECT(button), "clicked", +- CancelCallback, CancelCbData); +- gtk_signal_connect(GTK_OBJECT(button), "clicked", +- (GtkSignalFunc) Interface_destroy_window, DialogWindow); ++ g_signal_connect(G_OBJECT(button), "clicked", ++ CancelCallback, CancelCbData); ++ g_signal_connect(G_OBJECT(button), "clicked", ++ G_CALLBACK(Interface_destroy_window), DialogWindow); + gtk_widget_show(button); + gtk_box_pack_start(GTK_BOX(box2), button, FALSE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(box1), box2, FALSE, FALSE, 0); +@@ -1092,8 +1126,8 @@ + */ + void a_Interface_question_dialog( + BrowserWindow *bw, gchar *QuestionTxt, +- GtkSignalFunc OkCallback, void *OkCbData, +- GtkSignalFunc CancelCallback, void *CancelCbData) ++ GCallback OkCallback, void *OkCbData, ++ GCallback CancelCallback, void *CancelCbData) + { + if (!bw->question_dialog_window) { + Interface_make_question_dialog(&(bw->question_dialog_window), +@@ -1113,7 +1147,7 @@ + Interface_make_dialog(&(bw->open_dialog_window), + "open_dialog", "Dillo", "Dillo: Open URL", + &(bw->open_dialog_entry), "", +- "OK", (GtkSignalFunc) a_Interface_entry_open_url, (void *)bw); ++ "OK", G_CALLBACK(a_Interface_entry_open_url), (void *)bw); + if (prefs.transient_dialogs) + gtk_window_set_transient_for(GTK_WINDOW(bw->open_dialog_window), + GTK_WINDOW(bw->main_window)); +@@ -1151,7 +1185,7 @@ + /* + * Save current page to a local file + */ +-static void Interface_file_save_url(GtkWidget *widget, BrowserWindow *bw) ++static gboolean Interface_file_save_url(GtkWidget *widget, BrowserWindow *bw) + { + const char *name; + GtkFileSelection *choosefile; +@@ -1175,6 +1209,8 @@ + a_Url_free(url); + + gtk_widget_destroy(bw->save_dialog_window); ++ ++ return FALSE; + } + + /* +@@ -1226,7 +1262,7 @@ + Interface_make_choose_file_dialog( + &bw->save_dialog_window, + "save_dialog", "Dillo", "Dillo: Save URL as File...", +- (GtkSignalFunc) Interface_file_save_url, (void *)bw ); ++ G_CALLBACK(Interface_file_save_url), (void *)bw ); + } + url = a_Url_new(a_Interface_get_location_text(bw), NULL, 0, 0); + SuggestedName = Interface_make_save_name(url); +@@ -1253,7 +1289,7 @@ + &bw->save_link_dialog_window, + "save_link_dialog", "Dillo", + "Dillo: Save link as File...", +- (GtkSignalFunc) Interface_file_save_link, ++ G_CALLBACK(Interface_file_save_link), + (void *)bw); + } + SuggestedName = Interface_make_save_name(a_Menu_popup_get_url(bw)); +@@ -1270,7 +1306,7 @@ + /* + * Scroll to an occurence of a string in the open page + */ +-static void Interface_entry_search(GtkWidget *widget, BrowserWindow* bw) ++static gboolean Interface_entry_search(GtkWidget *widget, BrowserWindow* bw) + { + DwWidget *Dw; + char *string; +@@ -1281,6 +1317,8 @@ + a_Dw_container_findtext(DW_CONTAINER (Dw), + &bw->findtext_data, NULL, string); + g_free(string); ++ ++ return FALSE; + } + + /* +@@ -1292,7 +1330,7 @@ + Interface_make_dialog(&(bw->findtext_dialog_window), + "findtext_dialog", "Dillo", "Dillo: Find text in page", + &(bw->findtext_dialog_entry), "", +- "Find", (GtkSignalFunc) Interface_entry_search, (void *)bw); ++ "Find", G_CALLBACK(Interface_entry_search), (void *)bw); + if (prefs.transient_dialogs) + gtk_window_set_transient_for(GTK_WINDOW(bw->findtext_dialog_window), + GTK_WINDOW(bw->main_window)); +@@ -1303,31 +1341,3 @@ + else + gdk_window_raise(bw->findtext_dialog_window->window); + } +- +-/* +- * This signal callback adjusts the position of a menu. +- * It's useful for very long menus. +- */ +-void a_Interface_scroll_popup(GtkWidget *widget) +-{ +- /* +- * todo: +- * 1) Scrolling menues should rather be the task of Gtk+. This is +- * a hack, and I don't know if it does not break anything. +- * 2) It could be improved, e.g. a timeout could be added for +- * better mouse navigation. +- */ +- int y, h, mx, my, sh; +- +- y = widget->allocation.y; +- h = widget->allocation.height; +- gdk_window_get_geometry (widget->parent->parent->window, +- &mx, &my, NULL, NULL, NULL); +- sh = gdk_screen_height (); +- +- if (y + my < 0) +- gdk_window_move (widget->parent->parent->window, mx, - y + 1); +- else if (y + my > sh - h) +- gdk_window_move (widget->parent->parent->window, mx, sh - h - y - 1); +-} +- +diff -urN dillo-0.6.6/src/interface.h dillo2-0.6.6/src/interface.h +--- dillo-0.6.6/src/interface.h 2002-01-10 11:59:42.000000000 -0700 ++++ dillo2-0.6.6/src/interface.h 2003-04-21 12:36:20.000000000 -0600 +@@ -26,14 +26,12 @@ + void a_Interface_set_location_text(BrowserWindow *bw, char *text); + gchar *a_Interface_get_location_text(BrowserWindow *bw); + void a_Interface_reset_progress_bars(BrowserWindow *bw); +-void a_Interface_entry_open_url(GtkWidget *widget, BrowserWindow *bw); ++gboolean a_Interface_entry_open_url(GtkWidget *widget, BrowserWindow *bw); + void a_Interface_set_cursor(BrowserWindow *bw, GdkCursorType CursorType); + BrowserWindow *a_Interface_browser_window_new(gint width, gint height); + + void a_Interface_set_button_sens(BrowserWindow *bw); + +-void a_Interface_scroll_popup(GtkWidget *widget); +- + void a_Interface_question_dialog( + BrowserWindow *bw, gchar *QuestionTxt, + GtkSignalFunc OkCallback, void *OkCbData, +diff -urN dillo-0.6.6/src/menu.c dillo2-0.6.6/src/menu.c +--- dillo-0.6.6/src/menu.c 2002-04-09 19:04:54.000000000 -0600 ++++ dillo2-0.6.6/src/menu.c 2003-04-21 12:36:22.000000000 -0600 +@@ -51,8 +51,8 @@ + menu = gtk_menu_new(); + menuitem = gtk_menu_item_new_with_label((char *) name); + tmp_key = gtk_label_parse_uline(GTK_LABEL(GTK_BIN(menuitem)->child), name); +- gtk_widget_add_accelerator(menuitem, "activate_item", bw->accel_group, +- tmp_key, GDK_MOD1_MASK, 0); ++ //gtk_widget_add_accelerator(menuitem, "activate-item", bw->accel_group, ++ // tmp_key, GDK_MOD1_MASK, 0); + + if ( right_justify ) + gtk_menu_item_right_justify(GTK_MENU_ITEM(menuitem)); +@@ -73,17 +73,17 @@ + void (*callback) (GtkWidget *widget, void *data), void *data) + { + GtkWidget *menuitem; +- GtkAccelGroup *menu_accels; ++ //GtkAccelGroup *menu_accels; + GdkModifierType accel_mods; + guint accel_key; + guint tmp_key; + + menuitem = gtk_menu_item_new_with_label((char *) name); + gtk_menu_append(GTK_MENU(menu), menuitem); +- menu_accels = gtk_menu_ensure_uline_accel_group(GTK_MENU(menu)); ++ //menu_accels = gtk_menu_ensure_uline_accel_group(GTK_MENU(menu)); + tmp_key = gtk_label_parse_uline(GTK_LABEL(GTK_BIN(menuitem)->child), name); +- gtk_widget_add_accelerator(menuitem, "activate_item", +- menu_accels, tmp_key, 0, 0); ++ //gtk_widget_add_accelerator(menuitem, "activate_item", ++ // menu_accels, tmp_key, 0, 0); + gtk_widget_show(menuitem); + + if (accel != NULL) { +@@ -92,8 +92,8 @@ + accel_key, (guint)accel_mods, GTK_ACCEL_VISIBLE); + } + if (callback != NULL) +- gtk_signal_connect(GTK_OBJECT(menuitem), "activate", +- (GtkSignalFunc) callback, data); ++ g_signal_connect(G_OBJECT(menuitem), "activate", ++ G_CALLBACK(callback), data); + return menuitem; + } + +@@ -265,21 +265,15 @@ + } + menu_item = Menu_add(menu, text->str, NULL, bw, NULL, NULL); + /* attach the nav_stack index to the menu item */ +- gtk_object_set_data(GTK_OBJECT (menu_item), "nav_idx", +- GINT_TO_POINTER(i)); ++ g_object_set_data(G_OBJECT (menu_item), "nav_idx", ++ GINT_TO_POINTER(i)); + +- gtk_signal_connect ( +- GTK_OBJECT (menu_item), "select", +- GTK_SIGNAL_FUNC (a_Interface_scroll_popup), NULL); +- gtk_signal_connect ( +- GTK_OBJECT (menu_item), "select", +- GTK_SIGNAL_FUNC (a_Menu_popup_history_select_callback), bw); +- gtk_signal_connect ( +- GTK_OBJECT (menu_item), "deselect", +- GTK_SIGNAL_FUNC (a_Menu_popup_history_deselect_callback), bw); +- gtk_signal_connect ( +- GTK_OBJECT (menu_item), "button-press-event", +- GTK_SIGNAL_FUNC (a_Commands_historypress_callback), bw); ++ g_signal_connect (G_OBJECT(menu_item), "select", ++ G_CALLBACK(a_Menu_popup_history_select_callback), bw); ++ g_signal_connect (G_OBJECT(menu_item), "deselect", ++ G_CALLBACK(a_Menu_popup_history_deselect_callback), bw); ++ g_signal_connect (G_OBJECT(menu_item), "button-press-event", ++ G_CALLBACK(a_Commands_historypress_callback), bw); + } + + g_string_free(text, TRUE); +@@ -305,11 +299,11 @@ + + copy = Menu_add(menu, "Copy Link location", NULL, bw, + a_Commands_set_selection_callback, bw); +- gtk_signal_connect(GTK_OBJECT(copy), "selection_clear_event", ++ g_signal_connect(G_OBJECT(copy), "selection_clear_event", + GTK_SIGNAL_FUNC(a_Commands_clear_selection_callback), NULL); + gtk_selection_add_target(copy, GDK_SELECTION_PRIMARY, + GDK_SELECTION_TYPE_STRING, 1); +- gtk_signal_connect(GTK_OBJECT(copy), "selection_get", ++ g_signal_connect(G_OBJECT(copy), "selection_get", + GTK_SIGNAL_FUNC(a_Commands_give_selection_callback), NULL); + + Menu_sep(menu); +@@ -351,11 +345,6 @@ + + gtk_menu_item_set_submenu(GTK_MENU_ITEM(bw->pagemarks_menuitem), + bw->pagemarks_menu); +- +- /* todo: add a scroller so one can access all menu entries, +- * even if there's a lot of pagemarks. */ +- /* --EG: I haven't found a way to pass a scroller +- * as widget for the submenu */ + } + + /* +@@ -374,8 +363,6 @@ + Menu_pagemarks_goto_pagemark, bw); + sprintf(anchor, "#%ld", (glong)(bw->pagemarks_last)); + a_Dw_page_add_anchor(page, anchor, style); +- gtk_signal_connect (GTK_OBJECT (bw->pagemarks_last), "select", +- GTK_SIGNAL_FUNC (a_Interface_scroll_popup), NULL); + sprintf(name, "dilloHeading%d", level); + gtk_widget_set_name(bw->pagemarks_last, name); + } +@@ -398,8 +385,10 @@ + g_string_truncate(text, 64); + g_string_append(text, "..."); + } ++ + gtk_label_set_text(GTK_LABEL (child), text->str); +- g_string_free(text, 1); ++ g_string_free(text, TRUE); ++ + bw->pagemarks_last = NULL; + } + } +diff -urN dillo-0.6.6/src/misc.c dillo2-0.6.6/src/misc.c +--- dillo-0.6.6/src/misc.c 2002-03-20 09:38:43.000000000 -0700 ++++ dillo2-0.6.6/src/misc.c 2003-04-21 12:36:22.000000000 -0600 +@@ -94,3 +94,28 @@ + return val; + } + ++/* ++ * UTF-8 aware implementation of strcspn. ++ * Returns the number of bytes that doesn't contain any of the ASCII ++ * characters in reject. ++ */ ++size_t a_Misc_strcspn(const char *str, const char *reject) ++{ ++ char *p = (char *) str; ++ gunichar c; ++ int len, i; ++ ++ len = strlen(reject); ++ ++ while (*p) { ++ c = g_utf8_get_char(p); ++ ++ for (i = 0; i < len; i++) ++ if (c == reject[i]) ++ return p - str; ++ ++ p = g_utf8_next_char(p); ++ } ++ ++ return p - str; ++} +diff -urN dillo-0.6.6/src/misc.h dillo2-0.6.6/src/misc.h +--- dillo-0.6.6/src/misc.h 2002-03-20 09:38:43.000000000 -0700 ++++ dillo2-0.6.6/src/misc.h 2003-04-21 12:36:22.000000000 -0600 +@@ -5,7 +5,10 @@ + char *a_Misc_stristr(char *src, char *str); + char *a_Misc_expand_tabs(const char *str); + gchar *a_Misc_strsep(char **orig, const char *delim); ++size_t a_Misc_strcspn(const char *str, const char *reject); ++ + #define d_strsep a_Misc_strsep ++#define d_strcspn a_Misc_strcspn + + #endif /* __MISC_H__ */ + +diff -urN dillo-0.6.6/src/nav.c dillo2-0.6.6/src/nav.c +--- dillo-0.6.6/src/nav.c 2002-04-09 19:10:16.000000000 -0600 ++++ dillo2-0.6.6/src/nav.c 2003-04-21 12:36:23.000000000 -0600 +@@ -343,7 +343,7 @@ + /* + * Callback for reload confirmation + */ +-static void Nav_reload_confirmed(BrowserWindow *bw) ++static gboolean Nav_reload_confirmed(BrowserWindow *bw) + { + DEBUG_MSG(3, "Nav_reload_confirmed\n"); + if ( a_Nav_stack_size(bw) && +@@ -353,15 +353,17 @@ + bw->question_dialog_data = NULL; + Nav_reload(bw); + } ++ return FALSE; + } + + /* + * Callback for reload refusal + */ +-static void Nav_reload_refused(BrowserWindow *bw) ++static gboolean Nav_reload_refused(BrowserWindow *bw) + { + DEBUG_MSG(3, "Nav_reload_refused\n"); + bw->question_dialog_data = NULL; ++ return FALSE; + } + + /* +@@ -397,12 +399,11 @@ + /* Attempt to repost data, let's confirm... */ + bw->question_dialog_data = (gpointer)url; + a_Interface_question_dialog(bw, "Repost form data?", +- Nav_reload_confirmed, bw, +- Nav_reload_refused, bw); ++ G_CALLBACK(Nav_reload_confirmed), bw, ++ G_CALLBACK(Nav_reload_refused), bw); + + } else { + Nav_reload(bw); + } + } + } +- +diff -urN dillo-0.6.6/src/pixmaps.h dillo2-0.6.6/src/pixmaps.h +--- dillo-0.6.6/src/pixmaps.h 2002-01-15 07:52:16.000000000 -0700 ++++ dillo2-0.6.6/src/pixmaps.h 2003-04-21 12:36:24.000000000 -0600 +@@ -44,337 +44,429 @@ + */ + /* XPM */ + static char * left_xpm[] = { +-"26 20 6 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"@ c #FFFFFFFFFFFF", +-" ", +-" .. ", +-" .X. ", +-" .XX. ", +-" .XXX. ", +-" .XXXX. ", +-" .XXXXX........ +OO+O ", +-" .XXXXXXXXXXXXX. +OO+O ", +-" .XXXXXXXXXXXXXX. +OO+O ", +-" .XXXXXXXXXXXXXXX. +OO+O ", +-" .XXXXXXXXXXXXXXX. +OO+O ", +-" .XXXXXXXXXXXXXX. +OO+O ", +-" .XXXXXXXXXXXXX. +OO+O ", +-" .XXXXX........ +OO+O ", +-" .XXXX. ", +-" .XXX. ", +-" .XX. ", +-" .X. ", +-" .. ", +-" "}; ++"24 24 9 1", ++" c None", ++". c #020202", ++"+ c #2E2E2E", ++"@ c #5A7A52", ++"# c #83A881", ++"$ c #86B282", ++"% c #B0C9AF", ++"& c #42593B", ++"* c #CEDECB", ++" ", ++" ", ++" ", ++" . ", ++" .. ", ++" .%. ", ++" .*%. ", ++" .*%%........ ", ++" .*%%%%%%%%%#. ", ++" .*%%%%%%%%%%@. ", ++" +*%%%%%%%%%%%@. ", ++" .#$#$$#$$$#$$$@. ", ++" .&@@@@@@@@@@@&. ", ++" .&@@@@@@@@@@&. ", ++" .&@@&&&&&&&&. ", ++" .&@&........ ", ++" .&&. ", ++" .&. ", ++" .. ", ++" . ", ++" ", ++" ", ++" ", ++" "}; ++ + /* XPM */ + static char * right_xpm[] = { +-"26 20 6 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"@ c #FFFFFFFFFFFF", +-" ", +-" .. ", +-" .X. ", +-" .XX. ", +-" .XXX. ", +-" .XXXX. ", +-" O+OO+ ........XXXXX. ", +-" O+OO+ .XXXXXXXXXXXXX. ", +-" O+OO+ .XXXXXXXXXXXXXX. ", +-" O+OO+ .XXXXXXXXXXXXXXX. ", +-" O+OO+ .XXXXXXXXXXXXXXX. ", +-" O+OO+ .XXXXXXXXXXXXXX. ", +-" O+OO+ .XXXXXXXXXXXXX. ", +-" O+OO+ ........XXXXX. ", +-" .XXXX. ", +-" .XXX. ", +-" .XX. ", +-" .X. ", +-" .. ", +-" "}; ++"24 24 9 1", ++" c None", ++". c #020202", ++"+ c #0E120A", ++"@ c #B0CAAE", ++"# c #526A46", ++"$ c #6F9667", ++"% c #465A2E", ++"& c #5D7D55", ++"* c #A6BEA2", ++" ", ++" ", ++" ", ++" . ", ++" .. ", ++" .$. ", ++" .@$. ", ++" .......+@@$. ", ++" .@@@@@@@@@@$+ ", ++" .@@@@@@@@@@@$. ", ++" .*@@@@@@@@*@@$. ", ++" .$$$$$$$$$$&$$%. ", ++" .&&#&#&#&&&&&%. ", ++" .&&&&&&&&#&#%. ", ++" .&######&&&%. ", ++" ........#&%. ", ++" .#%. ", ++" .%. ", ++" .. ", ++" . ", ++" ", ++" ", ++" ", ++" "}; ++ + /* XPM */ + static char * reload_xpm[] = { +-"26 20 6 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"@ c #FFFFFFFFFFFF", +-" . .... ", +-" .. .OOO. ", +-" ....X. .OOOO. ", +-" .XXXXXX. .OOOOO. ", +-" .XXXXXXXX....OOO. ", +-" .XXXXXXXX. .OOO. ", +-" .XXX...X. ...OOO... ", +-" .XXX. .. .OOOOO. ", +-" ..... . .OOO. ", +-" . .O. ", +-" .O. . ", +-" .OOO. . ..... ", +-" .OOOOO. .. .XXX. ", +-" ...OOO... .X...XXX. ", +-" .OOO. .XXXXXXXX. ", +-" .OOO....XXXXXXXX. ", +-" .OOOOO. .XXXXXX. ", +-" .OOOO. .X.... ", +-" .OOO. .. ", +-" .... . "}; ++"24 24 9 1", ++" c None", ++". c #020202", ++"+ c #121A12", ++"@ c #759E6F", ++"# c #89B183", ++"$ c #2A3A28", ++"% c #A4C7A0", ++"& c #62855D", ++"* c #CBE5C7", ++" . ", ++" .. ", ++" .*. ", ++" ...+**. ", ++" .@%*****. .. ", ++" +#********. .#&. ", ++" .@**********. .#&. ", ++" $%*#@@@###&. .%. ", ++".#*@@@@@@@&. .%&. ", ++".%%&&...&&. . .*@. ", ++".*@&. .&. .. .%#. ", ++".*&. .. .*. .%*@. ", ++".#@. . .**...%*%@. ", ++".&#. .********@&. ", ++" .%. .%******%#@$. ", ++" .&#. .%*******#@&. ", ++" .&@. .@@#@@@@&&.. ", ++" .. .@&@&&&&.. ", ++" .@&.... ", ++" $@. ", ++" .. ", ++" . ", ++" ", ++" "}; ++ + /* XPM */ + static char * home_xpm[] = { +-"26 20 9 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"z c #0000FFFFFFFF", +-"@ c #FFFFFFFFFFFF", +-"I c #FFFF00000000", +-"# c #FFFF0000FFFF", +-" ", +-" XX ", +-" .... ", +-" ...... ", +-" ........ ", +-" ....oo.... ", +-" ....o..o.... ", +-" .............. ", +-" ................ ", +-" .....zzzzzzzz..... ", +-" .OOOOOOOO. ", +-" .OOOOOOOOOO. ", +-" .OOOOOOOOOO. ", +-" .OOOO...OOO. ", +-" .OOO.I@.OOO. ", +-" .OOO.I#@.OO. ", +-" X .OOO.I#@.OO. ", +-" XXXX.OOO.I#@.OO. XXX ", +-" XXXXXX.OOO.I#@.OO.XXXXXX ", +-"XXXXXXX............XXXXXXX"}; ++"24 24 9 1", ++" c None", ++". c #0D0B0A", ++"+ c #BEBEBE", ++"@ c #A7A29B", ++"# c #88766D", ++"$ c #B95540", ++"% c #565B53", ++"& c #964E3C", ++"* c #F3F3F3", ++" ", ++" .. ", ++" .... .... ", ++" .$&...%%.. ", ++" .&&..%%#%.. ", ++" .&...@%@+%.. ", ++" ...%#+#++*%.. ", ++" ..%@@+@*+*+#.. ", ++" ..#@+@*+*+*+*%.. ", ++" ..+++*+*+*+*+**#.. ", ++" ..+++++++++.....##.. ", ++" ....********.@+*.#.... ", ++" .+*.....*.+**.%. ", ++" .+*.@#&.*.+**.%. ", ++" .#*.@$$.*.....%. ", ++" ..*.@$..+@%%##.. ", ++" ..*.@$$.*****+. ", ++" .+.@$&.+++++#. ", ++" .@.$$$.*****@. ", ++" .................... . ", ++" .@#@##%%%..###%%%. ", ++" .. ......... ...... ", ++" ... ", ++" "}; ++ + /* XPM */ + static char * save_xpm[] = { +-"26 20 6 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"@ c #FFFFFFFFFFFF", +-" ", +-" .................... ", +-" .XXXXXXXXXXXXXXXXXX. ", +-" ...XXXXXXXXXXXXXXXX. ", +-" .XX..............XX. ", +-" .XX.@@@@@@@@@@@@.XX. ", +-" .XX..............XX. ", +-" .XX.@@@@@@@@@@@@.XX. ", +-" .XX..............XX. ", +-" .XX.@@@@@@@@@@@@.XX. ", +-" .XX..............XX. ", +-" .XXXXXXXXXXXXXXXXXX. ", +-" .XXXXXXXXXXXXXXXXXX. ", +-" .XXX...........XXXX. ", +-" .XXX.OOOOOOOOOO.XXX. ", +-" .XXX.O....OOOOO.XXX. ", +-" .XXX.O. .OOOOO.XXX. ", +-" .XXX.O. .OOOOO.XXX. ", +-" .XXX.O. .OOOOO.XXX. ", +-" .................. "}; ++"24 24 9 1", ++" c None", ++". c #080909", ++"+ c #616B73", ++"@ c #9CA8B6", ++"# c #C5CDD3", ++"$ c #D77D6E", ++"% c #F8F8F7", ++"& c #C67268", ++"* c #42494D", ++" ", ++" ................... ", ++" .##+#######$##$##+#@. ", ++" .#@+$$$&$$$$$$&&&+@+. ", ++" .#@+$$&$$$&$&&&&&*@+. ", ++" .#@+%%%%%%%%%%%%%+@+. ", ++" .#@+%%%%%%%%%%%%%+@*. ", ++" .#@+#############+@+. ", ++" .#@+%%%%%%%%%%%%%+@*. ", ++" .#@+%%%%%%%%%%%%%+@*. ", ++" .#@+#############+@+. ", ++" .#@+%%%%%%%%%%%%%+@*. ", ++" .#@+++++++++++++++@*. ", ++" .@@@@@@@@@@@@@@@@@@*. ", ++" .#@+@**++++++++**@@*. ", ++" .@@+*@#%#%%##@@+*+#*. ", ++" .#+@*#%+**###@#*++@*. ", ++" .#@+*#%+**#####*++#*. ", ++" .@+@*#%***#@##%*++@*. ", ++" .+@+*##***##%%%*++@*. ", ++" .+++@#@####%#@*+*#*. ", ++" .................. ", ++" ", ++" "}; ++ + /* XPM */ + static char * stop_xpm[] = { +-"26 20 6 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"O c #FFFF9A690000", +-"+ c #FFFFFFFF0000", +-"@ c #FFFFFFFFFFFF", +-" ", +-" ........ ", +-" .XXXXXXXX. ", +-" .XXXX..XXXX. ", +-" .XXXX.OO.XXXX. ", +-" .XXXXX.OO.XXXXX. ", +-" .XXXXXX.OO.XXXXXX. ", +-" .XXXXXX.OO.XXXXXX. ", +-" .XXXXXX.OO.XXXXXX. ", +-" .XXXXXX.OO.XXXXXX. ", +-" .XXXXXX.OO.XXXXXX. ", +-" .XXXXXXX..XXXXXXX. ", +-" .XXXXXXXXXXXXXXXX. ", +-" .XXXXXXX..XXXXXXX. ", +-" .XXXXX.OO.XXXXX. ", +-" .XXXX.OO.XXXX. ", +-" .XXXX..XXXX. ", +-" .XXXXXXXX. ", +-" ........ ", +-" "}; ++"24 24 9 1", ++" c None", ++". c #0B0402", ++"+ c #FEFEFE", ++"@ c #301103", ++"# c #E2B7A5", ++"$ c #71270A", ++"% c #C87C57", ++"& c #B14314", ++"* c #DC5614", ++" ", ++" ..@@.. ", ++" @$*%%%%&$@ ", ++" .&%%%*****&&$. ", ++" .&%******&*&*&&. ", ++" .&%%********&&&&$. ", ++" $%********&&&&&&&$ ", ++" @*%**&%&&**&%%&&&&&. ", ++" &%***%++#&*%#+#*&&&$ ", ++" .%****%+++#%+++#*&&&$. ", ++" .%****&%++++++#*%&&$&. ", ++" @%&*****%++++#%&&&&&$. ", ++" @***&***%++++#*&&&&$$@ ", ++" .%&&*&&%++++++#&&&&&$. ", ++" .&&&&&%+++##+++#&&$$$. ", ++" &&&&$%++#**#++#&&&$@ ", ++" .*&&&$%#&&&&%#&&&$$@ ", ++" $%&&&&*&&&&*&&&$$@ ", ++" .$*&&&&&&&&&&&$$$. ", ++" .$&&&&&&&$&$$$$. ", ++" .$$&$&$&$$$$@. ", ++" .$$$$$$$@@ ", ++" ..@... ", ++" "}; + + /* Small icons here */ + + /* XPM */ + static char * s_left_xpm[] = { +-"17 15 5 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"o c #FFFF9A690000", +-"O c #FFFFFFFF0000", +-" ", +-" .. ", +-" .X. ", +-" .XX. ", +-" .XXX...... oOo", +-" .XXXXXXXXX. oOo", +-" .XXXXXXXXXX. oOo", +-".XXXXXXXXXXX. oOo", +-" .XXXXXXXXXX. oOo", +-" .XXXXXXXXX. oOo", +-" .XXX...... oOo", +-" .XX. ", +-" .X. ", +-" .. ", +-" "}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #B1C9AF", ++"@ c #5B7B54", ++"# c #3E5437", ++"$ c #7EAA7A", ++"% c #CEDECB", ++"& c #2E2E2E", ++"* c #668E62", ++" ", ++" . ", ++" .. ", ++" .%. ", ++" .%+....... ", ++" .%+++++++$. ", ++" .%++++++++@. ", ++" &%+++++++++*. ", ++" .#@@@@@@@@#. ", ++" .#@@######. ", ++" .#@....... ", ++" .#. ", ++" .. ", ++" . ", ++" ", ++" "}; ++ + /* XPM */ + static char * s_right_xpm[] = { +-"17 15 5 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"o c #FFFF9A690000", +-"O c #FFFFFFFF0000", +-" ", +-" .. ", +-" .X. ", +-" .XX. ", +-"oOo ......XXX. ", +-"oOo .XXXXXXXXX. ", +-"oOo .XXXXXXXXXX. ", +-"oOo .XXXXXXXXXXX.", +-"oOo .XXXXXXXXXX. ", +-"oOo .XXXXXXXXX. ", +-"oOo ......XXX. ", +-" .XX. ", +-" .X. ", +-" .. ", +-" "}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #0E120A", ++"@ c #5A7A52", ++"# c #6A8961", ++"$ c #729A66", ++"% c #7E9E76", ++"& c #4D633B", ++"* c #ADC8AB", ++" ", ++" . ", ++" .. ", ++" .%. ", ++" .......*$. ", ++" .********$+ ", ++" .*********%. ", ++" .**********#. ", ++" .#@#@@@@@@&. ", ++" .#&&@&&@@&. ", ++" .......@&. ", ++" .&. ", ++" .. ", ++" . ", ++" ", ++" "}; ++ + /* XPM */ + static char * s_home_xpm[] = { +-"17 15 7 1", +-" c None", +-". c #9658A289BEFB", +-"X c #000000000000", +-"o c #FFFF0000FFFF", +-"O c #FFFF9A690000", +-"+ c #FFFF00000000", +-"@ c #FFFFFFFFFFFF", +-" . ", +-" XXX ", +-" XXXXX ", +-" XXXoXXX ", +-" XXXoXoXXX ", +-" XXXXXXXXXXX ", +-" XXXXXXXXXXXXX ", +-" XOOOOOX ", +-" XOOOOOOOX ", +-" XOOOXXOOX ", +-" XOOX+oXOX ", +-" XOOXo@XOX ", +-" XOOXo@XOX.. ", +-" ...XOOXo@XOX....", +-"....XXXXXXXXX...."}; ++"16 16 9 1", ++" c None", ++". c #070505", ++"+ c #DEDEDE", ++"@ c #B3B3B3", ++"# c #5D6156", ++"$ c #853D2D", ++"% c #3E433D", ++"& c #52261A", ++"* c #2F312E", ++" ", ++" ... .. ", ++" .$..##. ", ++" .$.#@+#. ", ++" ..*#++@@. ", ++" .#@+++++#. ", ++" .%@@++++++@. ", ++" ...+++++*%*... ", ++" .+&&&+%+%. ", ++" .+&$&+***. ", ++" .+&$$+@+@. ", ++" .+&$&+@+@. ", ++" .+$&&+@+@. ", ++" %%##%%*.#%%*# ", ++" %..#%#%# #%#% ", ++" "}; ++ + /* XPM */ + static char * s_reload_xpm[] = { +-"17 15 4 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"o c #FFFF9A690000", +-" . .. ", +-" ...X. .oo. ", +-" .XXXXX..ooo. ", +-" .XXXXXX. .oo. ", +-" .XX..X. .oo. ", +-" .XX. . .oooo. ", +-" .. .oo. ", +-" .. .. ", +-" .oo. .. ", +-" .oooo. . .XX. ", +-" .oo. .X..XX. ", +-" .oo. .XXXXXX. ", +-" .ooo..XXXXX. ", +-" .oo. .X... ", +-" .. . "}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #7E9A42", ++"@ c #5A6F33", ++"# c #DBE4D0", ++"$ c #B9CE9B", ++"% c #36421A", ++"& c #A4AA9E", ++"* c #9DB674", ++" ", ++" . ", ++" ..&. ", ++" .##$$. ", ++" .&*+++. ", ++" .*@.%. ", ++" .*. . . ", ++" .@. .. ", ++" .. .#. ", ++" . . .+. ", ++" .#.@+. ", ++" .#+++@. ", ++" .*+@@. ", ++" .*.. ", ++" . ", ++" "}; ++ + /* XPM */ + static char * s_save_xpm[] = { +-"17 15 5 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"o c #FFFFFFFFFFFF", +-"O c #FFFF9A690000", +-" ............... ", +-" ..XXXXXXXXXXXX. ", +-" .X...........X. ", +-" .X.ooooooooo.X. ", +-" .X...........X. ", +-" .X.ooooooooo.X. ", +-" .X...........X. ", +-" .XXXXXXXXXXXXX. ", +-" .XXXXXXXXXXXXX. ", +-" .XX........XXX. ", +-" .XX.OOOOOOO.XX. ", +-" .XX.O...OOO.XX. ", +-" .XX.O. .OOO.XX. ", +-" ............. ", +-" "}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #405666", ++"@ c #8995A3", ++"# c #9DB0BE", ++"$ c #D1D7DB", ++"% c #C77667", ++"& c #FBFBFB", ++"* c #D28F86", ++" .............. ", ++".&$**********$$.", ++".$#%%%%%%%%%%#+.", ++".$#$&&&&&&&&&#+.", ++".$#$$$$$$$$$&@+.", ++".$#$&&&&&&&$&#+.", ++".$#$$$$$$#$#&@+.", ++".$@&&&&&$&&$&@+.", ++".$##$$#$$#$$#@+.", ++".$###@@@@@@@@#+.", ++".$#@#$#$&$@+@@+.", ++".$#@$$.+$#$.+#+.", ++".$#@#$++$$#++#+.", ++".@@@$&.@#$#.@#+.", ++" .++###@@+@++@+.", ++" ............. "}; ++ + /* XPM */ + static char * s_stop_xpm[] = { +-"17 15 4 1", +-" c None", +-". c #000000000000", +-"X c #9658A289BEFB", +-"o c #FFFF9A690000", +-" ", +-" ....... ", +-" .XXX.XXX. ", +-" .XXX.o.XXX. ", +-" .XXXX.o.XXXX. ", +-" .XXXX.o.XXXX. ", +-" .XXXX.o.XXXX. ", +-" .XXXX.o.XXXX. ", +-" .XXXXX.XXXXX. ", +-" .XXXXXXXXXXX. ", +-" .XXXXX.XXXXX. ", +-" .XXX.o.XXX. ", +-" .XXX.XXX. ", +-" ....... ", +-" "}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #F9F3F1", ++"@ c #1F0A03", ++"# c #F1E2DD", ++"$ c #F3DED3", ++"% c #5E240C", ++"& c #C04718", ++"* c #F2DAD2", ++" ", ++" ...... ", ++" .%&&&&%. ", ++" @&&&&&&&%@ ", ++" .&&&&&&&&&&. ", ++" .&&&++&&#+&&%. ", ++" .&&&++++++&&%. ", ++" @&&&&++++&&&&. ", ++" .&&&&++++&&&%. ", ++" @&&&++##++&&%. ", ++" .%&&$#&&++&&@@ ", ++" .&&&&&&&&&%. ", ++" @&&&&&&&%@ ", ++" .%%&%%@. ", ++" ...@@. ", ++" "}; + + /* XPM */ + static char * s_new_xpm[] = { +-"10 10 2 1", +-" c None", +-"X c #9658A289BEFB", +-"XX XX", +-" XX X XX ", +-" XX XX ", +-" ", +-" X XX X ", +-" X XX X ", +-" ", +-" XX XX ", +-" XX X XX ", +-"XX XX"}; ++"16 16 9 1", ++" c None", ++". c #020202", ++"+ c #363636", ++"@ c #5E5E5E", ++"# c #BCBCBC", ++"$ c #C2C2C2", ++"% c #E3E3E3", ++"& c #F1F1F1", ++"* c #989898", ++" ......... ", ++" .&&&&&&&%#. ", ++" .&&&&&&&$&#. ", ++" .&&&&&&&#@@+. ", ++" .&&&&&&&%*++. ", ++" .&&&&&&&&&%$. ", ++" .&&&&&&%&&&$. ", ++" .&&&&%&&&&%$. ", ++" .&&&&%&%%&&#. ", ++" .&&%%%%&%%%$. ", ++" .&&&&&%%&%%$. ", ++" .&%%%%%&%%%#. ", ++" .&&%%&%%%%%#. ", ++" .&%%%%%%%%%#. ", ++" .$$$###$###*. ", ++" ........... "}; + + #endif /* __BITVEC_H__ */ +diff -urN dillo-0.6.6/src/pixmaps_old.h dillo2-0.6.6/src/pixmaps_old.h +--- dillo-0.6.6/src/pixmaps_old.h 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/src/pixmaps_old.h 2003-04-21 12:36:24.000000000 -0600 +@@ -0,0 +1,167 @@ ++/* XPM */ ++static char * home_xpm[] = { ++"29 20 5 1", ++" c None", ++". c #FFFFFF", ++"+ c #555555", ++"@ c #000000", ++"# c #505075", ++" . ", ++" +@. ", ++" +@#+. ", ++" +@###+. ", ++" +@#####+. ", ++" +@#######+. ", ++" +@#########+. ", ++" +@###########+. ", ++" +@#############+. ", ++" @@#############@@ ", ++" @###########. ", ++" @###########. ", ++" @####@@.####. ", ++" @###@##+.###. ", ++" @###@##+.###. ", ++" @###@##+.###. ", ++" @###@##+.###. ", ++" @###@##+.###. ", ++" @####@@@####. ", ++" @@@@@@@@@@@+ "}; ++/* XPM */ ++static char * leftarrow_xpm[] = { ++"29 20 5 1", ++" c None", ++". c #000000", ++"+ c #555555", ++"@ c #FFFFFF", ++"# c #505075", ++" .+ ", ++" .+@ ", ++" .+#@ ", ++" .+##@ ", ++" .+###@ ", ++" .+####+++++++ .....+ ...+", ++" .+###########@ .####@ .##@", ++" .+############@ .####@ .##@", ++" .+#############@ .####@ .##@", ++".+##############@ .####@ .##@", ++"+.##############@ .####@ .##@", ++" +.#############@ .####@ .##@", ++" +.############@ .####@ .##@", ++" +.###########@ .####@ .##@", ++" +.####@@@@@@@ +@@@@@ +@@@", ++" +.###@ ", ++" +.##@ ", ++" +.#@ ", ++" +.@ ", ++" "}; ++/* XPM */ ++static char * reload_xpm[] = { ++"28 20 5 1", ++" c None", ++". c #FFFFFF", ++"+ c #000000", ++"@ c #555555", ++"# c #505075", ++" . .... ", ++" .+ +@@@. ", ++" ....@+ +###@. ", ++" .@@@@##+ +####@. ", ++" .@#######++++##@. ", ++" .@#######+ +##@. ", ++" .@##+++#+ +++##@... ", ++" .@##+ ++ +####@+ ", ++" .++++ + +###+ ", ++" + +#+ ", ++" +#+ + ", ++" +###+ + ++++. ", ++" +@####+ ++ +##@. ", ++" ...@##+++ +#+++##@. ", ++" .@##+ +#######@. ", ++" .@##++++#######@. ", ++" .@####+ +#@@@@@. ", ++" .@###+ +@.... ", ++" .@@@+ +. ", ++" .... . "}; ++/* XPM */ ++static char *rghtarrow_xpm[] = { ++"29 20 5 1", ++" c None", ++". c #000000", ++"+ c #555555", ++"@ c #505075", ++"$ c #FFFFFF", ++" .+ ", ++" ..+ ", ++" .@.+ ", ++" .@@.+ ", ++" .@@@.+ ", ++"...+ .....+ .......@@@@.+ ", ++".@@$ .@@@@$ .@@@@@@@@@@@.+ ", ++".@@$ .@@@@$ .@@@@@@@@@@@@.+ ", ++".@@$ .@@@@$ .@@@@@@@@@@@@@.+ ", ++".@@$ .@@@@$ .@@@@@@@@@@@@@@.+", ++".@@$ .@@@@$ .@@@@@@@@@@@@@@+$", ++".@@$ .@@@@$ .@@@@@@@@@@@@@+$ ", ++".@@$ .@@@@$ .@@@@@@@@@@@@+$ ", ++".@@$ .@@@@$ .@@@@@@@@@@@+$ ", ++"+$$$ +$$$$$ +$$$$$$@@@@+$ ", ++" .@@@+$ ", ++" .@@+$ ", ++" .@+$ ", ++" .+$ ", ++" .$ "}; ++/* XPM */ ++static char * stop_xpm[] = { ++"28 20 4 1", ++" c None", ++". c #FFFFFF", ++"+ c #000000", ++"@ c #505075", ++" ........ ", ++" +@@@@@@@@. ", ++" +@@@@@@@@@@. ", ++" +@@@@@..@@@@@. ", ++" +@@@@@....@@@@@. ", ++" +@@@@@@....@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@....@@@@@@@. ", ++" +@@@@@@@@..@@@@@@@@. ", ++" +@@@@@@@@@@@@@@@@. ", ++" +@@@@@@..@@@@@@. ", ++" +@@@@....@@@@. ", ++" +@@@@..@@@@. ", ++" +@@@@@@@@. ", ++" ++++++++ "}; ++ ++static char * save_xpm[] = { ++"28 20 4 1", ++" c None", ++". c #FFFFFF", ++"+ c #000000", ++"@ c #505075", ++" ................... ", ++" @@@@@@@@@@@@@@@@@@@+ ", ++" @..@@@@@@@@@@@@@@@@+ ", ++" @@@@++++++++++++@@@+ ", ++" @@@@############@@@+ ", ++" @@@@++++++++++++@@@+ ", ++" @@@@############@@@+ ", ++" @@@@++++++++++++@@@+ ", ++" @@@@############@@@+ ", ++" @@@@++++++++++++@@@+ ", ++" @@@@@@@@@@@@@@@@@@@+ ", ++" @@@@@@@@@@@@@@@@@@@+ ", ++" @@@@@@@@@@@@@@@@@@@+ ", ++" @@@@@##########@@@@+ ", ++" @@@@@#++++#####@@@@+ ", ++" @@@@@#+..+#####@@@@+ ", ++" @@@@@#+..+#####@@@@+ ", ++" @@@@@#+..+#####@@@@+ ", ++" @@@@@@@@@@@@@@@@@@@ ", ++" "}; ++ +diff -urN dillo-0.6.6/src/plain.c dillo2-0.6.6/src/plain.c +--- dillo-0.6.6/src/plain.c 2002-02-26 14:56:40.000000000 -0700 ++++ dillo2-0.6.6/src/plain.c 2003-04-21 13:58:57.000000000 -0600 +@@ -55,7 +55,7 @@ + /* + * Popup the page menu ("button_press_event" callback of the viewport) + */ +-static int Plain_page_menu(GtkWidget *viewport, GdkEventButton *event, ++static gboolean Plain_page_menu(GtkWidget *viewport, GdkEventButton *event, + BrowserWindow *bw) + { + if (event->button == 3) { +@@ -99,10 +99,9 @@ + //a_Dw_widget_set_style (plain->dw, plain->style); + + /* The context menu */ +- gtk_signal_connect_while_alive +- (GTK_OBJECT(GTK_BIN(plain->bw->docwin)->child),"button_press_event", +- GTK_SIGNAL_FUNC(Plain_page_menu), (gpointer)plain->bw, +- GTK_OBJECT (page)); ++ g_signal_connect (GTK_OBJECT(GTK_BIN(plain->bw->docwin)->child), ++ "button_press_event", GTK_SIGNAL_FUNC(Plain_page_menu), ++ plain->bw); + + return plain; + } +@@ -155,8 +154,11 @@ + static void Plain_write(DilloPlain *plain, void *Buf, gint BufSize, gint Eof) + { + DwPage *page = (DwPage *)plain->dw; ++ GError *err = NULL; + char *Start; + char *data; ++ char *utf8_str; ++ char *tabs_expanded; + gint i, len, MaxBytes; + + Start = (char*)Buf + plain->Start_Ofs; +@@ -173,7 +175,19 @@ + break; + case ST_Eol: + data = g_strndup(Start + i - len, len); +- a_Dw_page_add_text(page, a_Misc_expand_tabs(data), plain->style); ++ tabs_expanded = a_Misc_expand_tabs(data); ++ utf8_str = g_convert(tabs_expanded, -1, "UTF8", "ISO-8859-1", ++ NULL, NULL, &err); ++ ++ if (err) { ++ g_warning("Plain_write(): %s\n", err->message); ++ g_error_free(err); ++ err = NULL; ++ } else { ++ a_Dw_page_add_text(page, utf8_str, plain->style); ++ } ++ ++ g_free(tabs_expanded); + g_free(data); + a_Dw_page_add_parbreak(page, 0, plain->style); + if ( Start[i] == '\r' && Start[i + 1] == '\n' ) ++i; +@@ -186,7 +200,19 @@ + plain->Start_Ofs += i - len; + if ( Eof && len ) { + data = g_strndup(Start + i - len, len); +- a_Dw_page_add_text(page, a_Misc_expand_tabs(data), plain->style); ++ tabs_expanded = a_Misc_expand_tabs(data); ++ utf8_str = g_convert(tabs_expanded, -1, "UTF8", "ISO-8859-1", ++ NULL, NULL, &err); ++ ++ if (err) { ++ g_warning("Plain_write(): %s\n", err->message); ++ g_error_free(err); ++ err = NULL; ++ } else { ++ a_Dw_page_add_text(page, utf8_str, plain->style); ++ } ++ ++ g_free(tabs_expanded); + g_free(data); + a_Dw_page_add_parbreak(page, 0, plain->style); + plain->Start_Ofs += len; +diff -urN dillo-0.6.6/src/prefs.c dillo2-0.6.6/src/prefs.c +--- dillo-0.6.6/src/prefs.c 2002-04-03 09:31:46.000000000 -0700 ++++ dillo2-0.6.6/src/prefs.c 2003-04-21 12:36:27.000000000 -0600 +@@ -67,7 +67,8 @@ + { "vw_fontname", DRC_TOKEN_VW_FONT }, + { "fw_fontname", DRC_TOKEN_FW_FONT }, + { "generate_submit", DRC_TOKEN_GENERATE_SUBMIT }, +- { "enterpress_forces_submit", DRC_TOKEN_ENTERPRESS_FORCES_SUBMIT } ++ { "enterpress_forces_submit", DRC_TOKEN_ENTERPRESS_FORCES_SUBMIT }, ++ { "halfsize_images", DRC_TOKEN_HALFSIZE_IMAGES } + }; + + static const guint n_symbols = sizeof (symbols) / sizeof (symbols[0]); +@@ -156,6 +157,8 @@ + prefs.panel_size = 1; + else if (!g_strcasecmp(scanner->value.v_string, "medium")) + prefs.panel_size = 2; ++ else if (!g_strcasecmp(scanner->value.v_string, "stack")) ++ prefs.panel_size = 4; + else /* default to "large" */ + prefs.panel_size = 3; + break; +@@ -226,6 +229,9 @@ + prefs.enterpress_forces_submit = + (strcmp(scanner->value.v_string, "YES") == 0); + break; ++ case DRC_TOKEN_HALFSIZE_IMAGES: ++ prefs.halfsize_images = (strcmp(scanner->value.v_string, "YES") == 0); ++ break; + default: + break; /* Not reached */ + } +diff -urN dillo-0.6.6/src/prefs.h dillo2-0.6.6/src/prefs.h +--- dillo-0.6.6/src/prefs.h 2002-04-03 09:31:46.000000000 -0700 ++++ dillo2-0.6.6/src/prefs.h 2003-04-21 12:36:27.000000000 -0600 +@@ -58,6 +58,7 @@ + DRC_TOKEN_VW_FONT, + DRC_TOKEN_GENERATE_SUBMIT, + DRC_TOKEN_ENTERPRESS_FORCES_SUBMIT, ++ DRC_TOKEN_HALFSIZE_IMAGES, + + DRC_TOKEN_LAST + } Dillo_Rc_TokenType; +@@ -100,6 +101,7 @@ + gchar *fw_fontname; + gboolean generate_submit; + gboolean enterpress_forces_submit; ++ gboolean halfsize_images; + }; + + /* Global Data */ +diff -urN dillo-0.6.6/src/progressbar.c dillo2-0.6.6/src/progressbar.c +--- dillo-0.6.6/src/progressbar.c 2001-05-17 19:31:15.000000000 -0600 ++++ dillo2-0.6.6/src/progressbar.c 2003-04-21 12:36:27.000000000 -0600 +@@ -23,7 +23,11 @@ + */ + GtkWidget* a_Progressbar_new(void) + { +- return gtk_statusbar_new(); ++ GtkWidget *frame = gtk_frame_new(NULL); ++ GtkWidget *label = gtk_label_new(""); ++ gtk_container_add(GTK_CONTAINER(frame), label); ++ gtk_widget_show (label); ++ return frame; + } + + /* +@@ -49,7 +53,6 @@ + + /* + * Again, for future preferences stuff +- */ + gint a_Progressbar_set_font(GtkWidget *pbar, const char *font) + { + GtkStyle *style; +@@ -62,6 +65,7 @@ + (GtkCallback) gtk_widget_set_style, style); + return(0); + } ++ */ + + /* + * Update the specified progress bar. +@@ -70,14 +74,10 @@ + */ + void a_Progressbar_update(GtkWidget *pbar, const char *updatestr, gint sens) + { +- gint context_id; +- + gtk_widget_set_sensitive(pbar, (sens == 0) ? FALSE : TRUE); + + if ( updatestr != NULL ) { +- context_id = gtk_statusbar_get_context_id(GTK_STATUSBAR(pbar), "text"); +- gtk_statusbar_pop(GTK_STATUSBAR(pbar), context_id); +- gtk_statusbar_push(GTK_STATUSBAR(pbar), context_id, updatestr); ++ gtk_label_set_text (GTK_LABEL(GTK_BIN(pbar)->child), updatestr); + } + } + +diff -urN dillo-0.6.6/stamp-h2.in dillo2-0.6.6/stamp-h2.in +--- dillo-0.6.6/stamp-h2.in 1969-12-31 17:00:00.000000000 -0700 ++++ dillo2-0.6.6/stamp-h2.in 2003-04-21 12:35:20.000000000 -0600 +@@ -0,0 +1 @@ ++timestamp |