From: Graydon, Tracy Date: Tue, 4 Sep 2012 19:38:43 +0000 (-0700) Subject: Intial commit X-Git-Tag: 1.0_branch^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;p=profile%2Fivi%2Fw3m.git Intial commit --- diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..47d5e39 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,625 @@ +Notes on the Free Translation Project +************************************* + + Free software is going international! The Free Translation Project +is a way to get maintainers of free software, translators, and users all +together, so that will gradually become able to speak many languages. +A few packages already provide translations for their messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work at translations should contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +Quick configuration advice +========================== + + If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +INSTALL Matters +=============== + + Some packages are "localizable" when properly installed; the +programs they contain can be made to speak your own native language. +Most such packages use GNU `gettext'. Other packages have their own +ways to internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the GNU `gettext' own +library will be used. This library is wholly contained within this +package, usually in the `intl/' subdirectory, so prior installation of +the GNU `gettext' package is _not_ required. Installers may use +special options at configuration time for changing the default +behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will respectively bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might be not what is desirable. You +should use the more recent version of the GNU `gettext' library. I.e. +if the file `intl/VERSION' shows that the library which comes with this +package is more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages have usually many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +Using This Package +================== + + As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, +and `CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your country by running the command +`locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +Translating Teams +================= + + For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" +area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `translation@iro.umontreal.ca' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skill are praised more than +programming skill, here. + +Available Packages +================== + + Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of May 2003. +The matrix shows, in regard of each package, for which languages PO +files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files am az be bg ca cs da de el en en_GB eo es + +-------------------------------------------+ + a2ps | [] [] [] [] | + aegis | () | + anubis | | + ap-utils | | + bash | [] [] [] | + batchelor | | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] | + bluez-pin | [] [] | + clisp | | + clisp | [] [] [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + darkstat | () [] | + diffutils | [] [] [] [] [] [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + error | [] [] [] [] [] | + fetchmail | [] () [] [] [] [] | + fileutils | [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] [] | + gas | [] | + gawk | [] [] [] [] | + gcal | [] | + gcc | [] [] | + gettext | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] | + gimp-print | [] [] [] [] [] | + gliv | | + glunarclock | [] [] [] | + gnucash | () [] | + gnucash-glossary | [] () [] | + gnupg | [] () [] [] [] [] | + gpe-calendar | [] | + gpe-conf | [] | + gpe-contacts | [] | + gpe-edit | | + gpe-login | [] | + gpe-ownerinfo | [] | + gpe-sketchbook | [] | + gpe-timesheet | | + gpe-today | [] | + gpe-todo | [] | + gphoto2 | [] [] [] [] | + gprof | [] [] | + gpsdrive | () () () | + grep | [] [] [] [] [] | + gretl | [] | + hello | [] [] [] [] [] [] | + id-utils | [] [] | + indent | [] [] [] [] | + jpilot | [] [] [] [] | + jwhois | [] | + kbd | [] [] [] [] [] | + ld | [] [] | + libc | [] [] [] [] [] [] | + libgpewidget | [] | + libiconv | [] [] [] [] [] | + lifelines | [] () | + lilypond | [] | + lingoteach | | + lingoteach_lessons | () () | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | [] [] | + make | [] [] [] | + man-db | [] () [] [] () | + mysecretdiary | [] [] [] | + nano | [] () [] [] [] | + nano_1_0 | [] () [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] [] | + ptx | [] [] [] [] [] | + python | | + radius | | + recode | [] [] [] [] [] [] | + screem | | + sed | [] [] [] [] [] | + sh-utils | [] [] [] | + sharutils | [] [] [] [] [] [] | + sketch | [] () [] | + soundtracker | [] [] [] | + sp | [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] [] [] | + tin | () () | + util-linux | [] [] [] [] [] | + vorbis-tools | [] [] [] | + wastesedge | () | + wdiff | [] [] [] [] | + wget | [] [] [] [] [] [] [] | + xchat | [] [] [] | + xpad | | + +-------------------------------------------+ + am az be bg ca cs da de el en en_GB eo es + 0 1 4 2 31 17 54 60 14 1 4 12 56 + + et fa fi fr ga gl he hr hu id it ja ko + +----------------------------------------+ + a2ps | [] [] [] () () | + aegis | | + anubis | [] | + ap-utils | [] | + bash | [] [] | + batchelor | [] | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] [] | + bluez-pin | [] [] [] [] | + clisp | | + clisp | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] [] | + darkstat | () [] [] [] | + diffutils | [] [] [] [] [] [] [] | + e2fsprogs | | + enscript | [] [] | + error | [] [] [] [] | + fetchmail | [] | + fileutils | [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] [] [] [] | + flex | [] [] | + gas | [] | + gawk | [] [] | + gcal | [] | + gcc | [] | + gettext | [] [] [] | + gettext-runtime | [] [] [] [] | + gettext-tools | [] | + gimp-print | [] [] | + gliv | () | + glunarclock | [] [] [] [] | + gnucash | [] | + gnucash-glossary | [] | + gnupg | [] [] [] [] [] [] [] | + gpe-calendar | [] | + gpe-conf | | + gpe-contacts | [] | + gpe-edit | [] [] | + gpe-login | [] | + gpe-ownerinfo | [] [] [] | + gpe-sketchbook | [] | + gpe-timesheet | [] [] [] | + gpe-today | [] [] | + gpe-todo | [] [] | + gphoto2 | [] [] [] | + gprof | [] [] | + gpsdrive | () [] () () | + grep | [] [] [] [] [] [] [] [] [] [] [] | + gretl | [] | + hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] | + indent | [] [] [] [] [] [] [] [] | + jpilot | [] () | + jwhois | [] [] [] [] | + kbd | [] | + ld | [] | + libc | [] [] [] [] [] [] | + libgpewidget | [] [] [] | + libiconv | [] [] [] [] [] [] [] [] | + lifelines | () | + lilypond | [] | + lingoteach | [] [] | + lingoteach_lessons | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | | + make | [] [] [] [] [] [] | + man-db | [] () () | + mysecretdiary | [] [] | + nano | [] [] [] [] | + nano_1_0 | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] | + ptx | [] [] [] [] [] [] [] | + python | | + radius | | + recode | [] [] [] [] [] [] | + screem | | + sed | [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] | + sharutils | [] [] [] [] [] | + sketch | [] | + soundtracker | [] [] [] | + sp | [] () | + tar | [] [] [] [] [] [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] [] [] [] | + tin | [] () | + util-linux | [] [] [] [] () [] | + vorbis-tools | [] | + wastesedge | () | + wdiff | [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] | + xchat | [] [] [] | + xpad | | + +----------------------------------------+ + et fa fi fr ga gl he hr hu id it ja ko + 20 1 15 73 14 24 8 10 30 31 19 31 9 + + lg lt lv ms nb nl nn no pl pt pt_BR ro + +----------------------------------------+ + a2ps | [] [] () () () [] [] | + aegis | () | + anubis | [] [] | + ap-utils | () | + bash | [] | + batchelor | | + bfd | | + binutils | | + bison | [] [] [] [] | + bluez-pin | [] | + clisp | | + clisp | [] | + coreutils | [] | + cpio | [] [] [] | + darkstat | [] [] [] [] | + diffutils | [] [] [] | + e2fsprogs | | + enscript | [] [] | + error | [] [] | + fetchmail | () () | + fileutils | [] | + findutils | [] [] [] [] | + flex | [] | + gas | | + gawk | [] | + gcal | | + gcc | | + gettext | [] | + gettext-runtime | [] | + gettext-tools | | + gimp-print | [] | + gliv | [] | + glunarclock | [] | + gnucash | | + gnucash-glossary | [] [] | + gnupg | | + gpe-calendar | [] [] | + gpe-conf | [] [] | + gpe-contacts | [] | + gpe-edit | [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] | + gpe-sketchbook | [] [] | + gpe-timesheet | [] [] | + gpe-today | [] [] | + gpe-todo | [] [] | + gphoto2 | | + gprof | [] | + gpsdrive | () () () | + grep | [] [] [] [] | + gretl | | + hello | [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] | + indent | [] [] [] | + jpilot | () () | + jwhois | [] [] [] | + kbd | | + ld | | + libc | [] [] [] [] | + libgpewidget | [] [] | + libiconv | [] [] | + lifelines | | + lilypond | [] | + lingoteach | | + lingoteach_lessons | | + lynx | [] [] | + m4 | [] [] [] [] | + mailutils | | + make | [] [] | + man-db | [] | + mysecretdiary | [] | + nano | [] [] [] [] | + nano_1_0 | [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] | + ptx | [] [] [] [] [] [] [] | + python | | + radius | | + recode | [] [] [] | + screem | | + sed | [] [] | + sh-utils | [] | + sharutils | [] | + sketch | [] | + soundtracker | | + sp | | + tar | [] [] [] [] [] [] | + texinfo | [] | + textutils | [] | + tin | | + util-linux | [] [] | + vorbis-tools | [] [] | + wastesedge | | + wdiff | [] [] [] [] | + wget | [] [] [] | + xchat | [] [] | + xpad | [] | + +----------------------------------------+ + lg lt lv ms nb nl nn no pl pt pt_BR ro + 0 0 2 11 7 26 3 4 18 15 34 34 + + ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW + +-------------------------------------------+ + a2ps | [] [] [] [] [] | 16 + aegis | () | 0 + anubis | [] [] | 5 + ap-utils | () | 1 + bash | [] | 7 + batchelor | | 1 + bfd | [] [] [] | 7 + binutils | [] [] [] | 7 + bison | [] [] | 13 + bluez-pin | | 7 + clisp | | 0 + clisp | | 5 + coreutils | [] [] [] [] [] | 14 + cpio | [] [] [] | 13 + darkstat | [] () () | 9 + diffutils | [] [] [] [] | 21 + e2fsprogs | [] | 3 + enscript | [] [] [] | 11 + error | [] [] [] | 14 + fetchmail | [] | 7 + fileutils | [] [] [] [] [] [] | 15 + findutils | [] [] [] [] [] [] | 27 + flex | [] [] [] | 10 + gas | [] | 3 + gawk | [] [] | 9 + gcal | [] [] | 4 + gcc | [] | 4 + gettext | [] [] [] [] [] [] | 15 + gettext-runtime | [] [] [] [] [] [] | 16 + gettext-tools | [] [] | 5 + gimp-print | [] [] | 10 + gliv | | 1 + glunarclock | [] [] [] | 11 + gnucash | [] [] | 4 + gnucash-glossary | [] [] [] | 8 + gnupg | [] [] [] [] | 16 + gpe-calendar | [] | 5 + gpe-conf | | 3 + gpe-contacts | [] | 4 + gpe-edit | [] | 5 + gpe-login | [] | 5 + gpe-ownerinfo | [] | 7 + gpe-sketchbook | [] | 5 + gpe-timesheet | [] | 6 + gpe-today | [] | 6 + gpe-todo | [] | 6 + gphoto2 | [] [] | 9 + gprof | [] [] | 7 + gpsdrive | [] [] | 3 + grep | [] [] [] [] | 24 + gretl | | 2 + hello | [] [] [] [] [] | 33 + id-utils | [] [] [] | 11 + indent | [] [] [] [] | 19 + jpilot | [] [] [] [] [] | 10 + jwhois | () () [] [] | 10 + kbd | [] [] | 8 + ld | [] [] | 5 + libc | [] [] [] [] | 20 + libgpewidget | | 6 + libiconv | [] [] [] [] [] [] | 21 + lifelines | [] | 2 + lilypond | [] | 4 + lingoteach | | 2 + lingoteach_lessons | () | 0 + lynx | [] [] [] [] | 14 + m4 | [] [] [] | 15 + mailutils | | 2 + make | [] [] [] [] | 15 + man-db | [] | 6 + mysecretdiary | [] [] | 8 + nano | [] [] [] | 15 + nano_1_0 | [] [] [] | 15 + opcodes | [] [] | 9 + parted | [] [] | 13 + ptx | [] [] [] | 22 + python | | 0 + radius | | 0 + recode | [] [] [] [] | 19 + screem | [] | 1 + sed | [] [] [] [] [] | 20 + sh-utils | [] [] [] | 13 + sharutils | [] [] [] [] | 16 + sketch | [] | 5 + soundtracker | [] | 7 + sp | [] | 3 + tar | [] [] [] [] [] | 24 + texinfo | [] [] [] [] | 13 + textutils | [] [] [] [] [] | 15 + tin | | 1 + util-linux | [] [] | 14 + vorbis-tools | [] | 7 + wastesedge | | 0 + wdiff | [] [] [] [] | 17 + wget | [] [] [] [] [] [] [] | 25 + xchat | [] [] [] | 11 + xpad | | 1 + +-------------------------------------------+ + 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW + 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If May 2003 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. + +Using `gettext' in new packages +=============================== + + If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`translation@iro.umontreal.ca' to make the `.pot' files available to +the translation teams. + diff --git a/Bonus/2ch.cgi b/Bonus/2ch.cgi new file mode 100755 index 0000000..998c202 --- /dev/null +++ b/Bonus/2ch.cgi @@ -0,0 +1,204 @@ +#!/usr/bin/perl + +$WGET = "wget"; +$SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0; +$CGI = "file://$SCRIPT_NAME"; +$_ = $QUERY_STRING = $ENV{"QUERY_STRING"}; +$UserAgent = "Monazilla/1.00 (w3m/2ch.cgi)"; + +if (/subback.html$/) { + &subback(); + exit; +} + +s@/(\d+)(/([^/]*))?$@/$1@ || exit; +my $datnum = $1; +$label = $3; +$cgi = "$CGI?$_"; + +s@^http://([^/]+)/test/read.cgi/([^/]+)/@$1/$2/dat/@ || exit; +$subback = "$CGI?http://$1/$2/subback.html"; +$bbs = $2; +if ($ENV{REQUEST_METHOD} eq "POST") { + &post(); + exit; +} + +$_ .= ".dat"; +$dat = "http://$_"; +$tmp = $ENV{"HOME"} . "/.w3m2ch/$_"; +$dat =~ s/([^\w\/.\:\-])/\\$1/g; +$tmp =~ s/([^\w\/.\:\-])/\\$1/g; +($dir = $tmp) =~ s@/[^/]+$@@; +$cmd = "mkdir -p $dir; $WGET -c -U \"$UserAgent\" -O $tmp $dat >/dev/null 2>&1"; +system $cmd; +$lines = (split(" ", `wc $tmp`))[0]; +$lines || exit; + +@ARGV = ($tmp); +if ($label =~ /^l(\d+)/) { + $start = $lines - $1 + 1; + if ($start < 1) { + $start = 1; + } + $end = $lines; +} elsif ($label =~ /^(\d+)-(\d+)/) { + $start = $1; + $end = $2; +} elsif ($label =~ /^(\d+)-/) { + $start = $1; + $end = $start + 100 - 1; +} elsif ($label =~ /^(\d+)/) { + $start = $1; + $end = $1; +} else { + $start = 1; + $end = $lines; +} +$head = "¡ŒfŽ¦”‚ɖ߂遡\n"; +$head .= "‘S•”\n"; +for (0 .. ($lines - 1) / 100) { + $n = $_ * 100 + 1; + $head .= "$n-\n"; +} +$head .= "ÅV50\n"; +print <) { + s/\r?\n$//; + ($name, $mail, $date, $_, $title) = split(/\<\>/); + if ($i == 1) { + if (!$title) { + print < +$QUERY_STRING +EOF + unlink($tmp); + exit + } + print <$title +$head +

$title

+
+EOF + } + if ($mail) { + $name = "$name"; + } + s@http://ime.nu/@http://@g; + s@(h?ttp:)([#-~]+)@"$1$2"@ge; + s@(ftp:[#-~]+)@$1@g; + s@= $start && $i <= $end)) { + print <$i F$nameF$date +
+$_ +

+EOF + } + $i++; +} +print < +


+
–¼‘OF E-mail (È—ª‰Â) :
+EOF + +sub link { + local($_) = @_; + if (m@/test/read.cgi/@) { + return "$CGI?$_"; + } + return $_; +} + +sub subback { + $dat = $_; + s@http://@@ || exit; + $tmp = $ENV{"HOME"} . "/.w3m2ch/$_"; + $dat =~ s/([^\w\/.\:\-])/\\$1/g; + $tmp =~ s/([^\w\/.\:\-])/\\$1/g; + ($dir = $tmp) =~ s@/[^/]+$@@; + $cmd = "mkdir -p $dir; $WGET -O $tmp $dat >/dev/null 2>&1"; + system $cmd; +print <) { + if (/; + $QUERY_STRING =~ m@^http://([^/]+)@; + my $host = $1; + my $sock = IO::Socket::INET->new("$host:80") or die; + # retrieve posting cookie; this may not work + print "Content-Type: text/html\n\n"; + print $sock + "HEAD /test/bbs.cgi HTTP/1.1\n", + "Host: $host\n", + "Connection: keep-alive\n", + "\n"; + my $posting_cookie = undef; + while (<$sock>) { + print if ($debug); + s/[\n\r]+$//; + last if (/^$/); + if (/^set-cookie:.*(PON=[^;]+)/i) { + $posting_cookie = $1; + } + } + #$sock = IO::Socket::INET->new("$host:80") or die; + my $submit = + "POST /test/bbs.cgi HTTP/1.1\n" . + "Host: $host\n" . + "Accept-Language: ja\n" . + "User-Agent: $UserAgent\n" . + "Referer: $QUERY_STRING\n" . + "Cookie: $posting_cookie; NAME=nobody; MAIL=sage\n" . + "Content-Length: " . length(join("", @POST)) . "\n" . + "\n@POST"; + print $sock $submit or die; + print "\n-- POSTed contents --\n${submit}\n-- POSTed contents --\n" + if ($debug); + my $chunked = 0; + while (<$sock>) { + s/[\n\r]*$//; + last if (/^$/); + $chunked = 1 if (/^transfer-encoding:\s*chunked/i); + } + my $post_response = ""; + while (<$sock>) { + if ($chunked) { + s/[ \r\n]*$//; + my $len = hex($_); + $len > 0 or last; + read($sock, $_, $len); + <$sock>; #skip empty line at the end of chunk. + } + $post_response .= $_; + } + $post_response =~ s///im; + print $post_response; + exit; +} diff --git a/Bonus/README b/Bonus/README new file mode 100644 index 0000000..af019ce --- /dev/null +++ b/Bonus/README @@ -0,0 +1,80 @@ +2ch.cgi + + [w3m-dev 03635] 2ch.cgi + 2ch ¤Î dat ¤òľÆɤߤ¹¤ë local CGI ¤Ç¤¹¡£ + + w3m file:/cgi-bin/2ch.cgi?http://pc.2ch.net/test/read.cgi/unix/1035755937/ + + wget ¤Îº¹Ê¬Å¾Á÷(-c)¤ò»È¤¤¤Þ¤¹¡£ + Æɤó¤À dat ¤Ï ~/.w3m2ch/ °Ê²¼¤ËÊݸ¤·¤Þ¤¹¡£ + ½ñ¤­¹þ¤ß¤Ï¤Ç¤­¤Þ¤»¤ó¡£ + +smb.cgi + + [w3m-dev 03634] smb.cgi + SMB ¤Ë¥¢¥¯¥»¥¹¤¹¤ë local CGI ¤Ç¤¹¡£ + nmblookup,smbclient ¤ò»È¤¦¤Î¤Ç sabma ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë + ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ + ¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢ + 1) ~/.w3m/smb ¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ + smbclient ¤Î -A ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤ë¤Ê¤é + smbclient -A ~/.w3m/smb ¤È¤·¤ÆÅϤ·¤Þ¤¹¡£ + 2) ´Ä¶­ÊÑ¿ô PASSWD_FILE (¥Ñ¥¹¥ï¡¼¥É¤Î¤ß¤Î¥Õ¥¡¥¤¥ë)¤¬ÀßÄê + ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢´Ä¶­ÊÑ¿ô PASSWD_FILE ¤ò»È¤¤¤Þ¤¹¡£ + 3) ~/.w3m/smb ¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢ + ´Ä¶­ÊÑ¿ô PASSWD_FD ¤ò»È¤Ã¤Æɸ½àÆþÎÏ·Ðͳ¤ÇÅϤ·¤Þ¤¹¡£ + ¤É¤Á¤é¤Ë¤»¤è¡¢¤¢¤Þ¤êÎɤ¤»ö¤Ç¤Ï¤Ê¤¤¤Î¤Ç SMB(CIFS)¥×¥í¥È¥³¥ë¤ò + Ãý¤ëÈǤò´õ˾¡£ + +google.cgi + + [w3m-dev 03625] keymap key SEARCH string + +html2latex + + HTML¤Îʸ½ñ¤òLaTeX ¤ËÊÑ´¹¤·¤Þ¤¹¡¥Ruby¥¹¥¯¥ê¥×¥È¤Ç¤¹¡¥ÉÔ´°Á´¤Ç¤¹¡¥ + ¤¢¤ëÄøÅÙ¤ÎÌò¤Ë¤ÏΩ¤Ä¤«¤â¤·¤ì¤Þ¤»¤ó¡¥ + + »ÈÍÑË¡ + + html2latex file.html > file.tex + + ¤³¤³¤ËÃÖ¤¤¤Æ¤¢¤ëÍýͳ + + makeref ¤Î¤¿¤á¤ÎÉôÉʼè¤ê¤Ç¤¹ :-) + +makeref + + HTML¤Îʸ½ñ¤òÆɤߡ¤¥¢¥ó¥«¡¼¤ËÈÖ¹æ¤ò¿¶¤ê¤Þ¤¹¡¥ÈÖ¹æ¤ò¿¶¤Ã¤¿Ê¸½ñ¤ò + ɸ½à½ÐÎϤ˽ñ¤­½Ð¤·¡¤ºÇ¸å¤Ë¤½¤Î°ìÍ÷¤ò½ÐÎϤ·¤Þ¤¹¡¥Ruby ¥¹¥¯¥ê¥×¥È¤Ç¤¹¡¥ + + »ÈÍÑË¡ + + makeref [-url base_url] [file] + + -url: ʸ½ñ¤ÎURL¤ò»ØÄꤷ¤Þ¤¹¡¥¥ê¥ó¥¯¤Î°ìÍ÷¤ò½Ð¤¹¤È¤­¤Ë¡¤¤½¤ÎURL¤ò + Êä´°¤¹¤ë¤¿¤á¤Ë»È¤¤¤Þ¤¹¡¥ + + ¥Ð¥° + + HTML¤Îµ­½Ò¥ß¥¹( < ¤Ç¤Ï¤Ê¤¯ < ¤ò»È¤¦¡¤&... ¤ÎºÇ¸å¤Ë ; ¤òÉÕ¤±¤Ê¤¤ + Åù)¤¬¤¢¤ë¤È¡¤Èá»´¤Ê·ë²Ì¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥ + + Ⱦ³Ñ¥«¥Ê(JIS X-0201¥«¥Ê)¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡¥ + +htmldump + + URL ¤«¤éHTMLʸ½ñ¤òÆɤߡ¤¥¢¥ó¥«¡¼¤ËÈÖ¹æ¤ò¿¶¤Ã¤ÆÀ°·Á¤·¡¤É¸½à½ÐÎÏ¤Ë + ½ñ¤­½Ð¤·¤Þ¤¹¡¥ + + »ÈÍÑË¡ + + dumphtml [URL] + + URL ¤ò¾Êά¤¹¤ë¤È¡¤$WWW_HOME ¤ÎÆâÍƤòÆɤߤޤ¹¡¥ + + ¥Ð¥° + + URL ¤Î»Ø¤¹Ê¸½ñ¤¬HTML¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¤¤«¤ï¤¤¤½¤¦¤Ê¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥ + makeref ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤makeref ¤¬¤¦¤Þ¤¯½èÍý¤Ç¤­¤Ê¤¤Ê¸½ñ¤Îɽ¼¨ + ¤ÏÊѤˤʤê¤Þ¤¹¡¥ diff --git a/Bonus/README.eng b/Bonus/README.eng new file mode 100644 index 0000000..2f7507d --- /dev/null +++ b/Bonus/README.eng @@ -0,0 +1,77 @@ +2ch.cgi + + [w3m-dev 03635] 2ch.cgi + localcgi to read 2ch dat directly + + w3m file:/cgi-bin/2ch.cgi?http://pc.2ch.net/test/read.cgi/unix/1035755937/ + + It uses wget -c. + `dat' files are recorded under ~/w3m2ch/. + You can not post. + +smb.cgi + + [w3m-dev 03634] smb.cgi + localcgi to access SMB. + Since it uses nmblookup, smbclient, you should install samba. + Password can be passed to smbclient: + 1) When the password is set by contents of ~/.w3m/smb and + -A option available, `smbclient -A ~/.w3m/smb' is used. + 2) When the environment variable PASSWD_FILE, it is used. + 3) When the password is set by contents of ~/.w3m/smb, + the password is passed via standrad I/O using + the environment variable PASSWD_FD. + +google.cgi + + [w3m-dev 03625] keymap key SEARCH string + +html2latex + + Convert HTML document into LaTeX. Ruby script. incomplete. + + Usage: + + html2latex file.html > file.tex + + Why this script is here? + + To exploit code for makeref. :-) + +makeref + + Read HTML document and number the anchors. Print numbered document + into standard output and append reference index. Ruby script. + + Usage: + + makeref [-u] [-url base_url] [file] + + -url: Specify URL of the document. It is used to complete link + in the document. + + -u: Append URL after each anchor, instead of reference number. + + Bugs + + If there are any error in HTML (unbalanced < , character entity + without ; , etc.), output will be miserable. + +htmldump + + Read HTML document from URL, number the anchors and format it, + and output it on standard output. + + Usage + + htmldump [-u] [URL] + + -u: Append URL after each anchor, instead of reference number. + + If URL is omitted, $WWW_HOME is used instead. + + Bugs + + It assumes that the document on URL is HTML. + As it uses makeref to number the anchor, it can't handle any document + makeref can't handle. diff --git a/Bonus/backslash_to_slash.cgi b/Bonus/backslash_to_slash.cgi new file mode 100755 index 0000000..20b0808 --- /dev/null +++ b/Bonus/backslash_to_slash.cgi @@ -0,0 +1,9 @@ +#!/usr/bin/perl +# keymap "x \\" GOTO file:/$LIB/backslash_to_slash.cgi + +$_ = $ENV{W3M_CURRENT_LINK} || exit; +s@\\@/@g; +print <"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; + $url .= "/search.php?MT=$_&kind=$kind&mode=$mode"; +} else { + $input = "w3m-control: GOTO_LINK"; +} +print <"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; + $url .= "search?q=$_&hl=ja&lr=lang_ja&ie=EUC-JP"; +} else { + $input = "w3m-control: GOTO_LINK"; +} +print </ then + str = $1 + end + tags = str.split + @tagname = tags.shift.downcase + @vals = {} + tags.each do |t| + if t =~ /=/ then + tn,tv = t.split(/\s*=\s*/,2) + tv.sub!(/^"/,"") + tv.sub!(/"$/,"") + @vals[tn.downcase] = tv + else + @vals[t.downcase] = TRUE + end + end + end + def tagname + return @tagname + end + def each + @vals.each do |k,v| + yield k,v + end + end + def switch(k) + return @vals[k] + end +end + +class TokenStream + TAG_START = ?< + TAG_END = ?> + AMP_START = ?& + AMP_END = ?; + + AMP_REPLACE_TABLE = { + '&' => '\\&', + '>' => '$>$', + '<' => '$<$', + ' ' => '~', + '"' => '"', + } + def initialize(file) + if file.kind_of?(File) then + @f = file + else + @f = File.new(file) + end + @buf = nil + @bpos = 0 + end + + def read_until(endsym) + complete = FALSE + tag = [] + begin + while @bpos < @buf.size + c = @buf[@bpos] + if c == endsym then + tag.push(c.chr) + complete = TRUE + @bpos += 1 + break + end + if c == 10 || c == 13 then + tag.push(' ') + else + tag.push(c.chr) + end + @bpos += 1 + end + unless complete + @buf = @f.gets + @bpos = 0 + break if @f.eof? + end + end until complete + return tag.join('') + end + + def get + while TRUE + if @buf.nil? then + @buf = Kconv.toeuc(@f.gets) + if @f.eof? then + return nil + end + @bpos = 0 + end + if @buf[@bpos] == TAG_START then + return Tag.new(read_until(TAG_END)) + elsif @buf[@bpos] == AMP_START then + return replace_amp(read_until(AMP_END)) + else + i = @bpos + while i < @buf.size && @buf[i] != TAG_START && @buf[i] != AMP_START + i += 1 + end + r = @buf[@bpos,i-@bpos] + if i == @buf.size then + @buf = nil + else + @bpos = i + end + redo if r =~ /^\s+$/ + return r + end + end + end + public :eof? + def eof? + @f.eof? + end + def replace_amp(s) + if AMP_REPLACE_TABLE.key?(s) then + return AMP_REPLACE_TABLE[s] + else + return s + end + end +end + + +def print_header + print ' +\documentstyle[epsf]{jarticle} +\def\hr{\par\hbox to \textwidth{\hrulefill}} +\def\pre{\begin{quote}\def\baselinestretch{0.8}\tt\obeylines} +\def\endpre{\end{quote}} +\makeatletter +\@ifundefined{gt}{\let\gt=\dg}{} +\makeatother +' +end + + +class Environ_stack + def initialize(*envs) + @stack = envs + end + def action(tag) + if tag =~ /^!/ then # comment + return ["",nil] + end + i = @stack.size-1 + while i >= 0 + a = @stack[i].action(tag) + unless a.nil? then + return a + end + i -= 1 + end + return nil + end + def pop + @stack.pop + end + def push(env) + @stack.push(env) + end + def top + @stack[@stack.size-1] + end + def dup + @stack.push(top.clone) + end +end + + +class Environment + def initialize(interp) + @silent = FALSE + @in_table = FALSE + @interp = interp; + @align = nil; + end + def action(tag) + return @interp[tag] + end + + def flush(tok) + if tok.kind_of?(String) then + tok = tok.gsub(/&/,"\\&"); + tok = tok.gsub(/%/,"\\%"); + tok = tok.gsub(/#/,"\\#"); + tok = tok.gsub(/\$/,"\\$"); + tok = tok.gsub(/_/,"\\verb+_+"); + tok = tok.gsub(/\^/,"\\verb+^+"); + tok = tok.gsub(/~/,"\\verb+~+"); + end + if @in_table then + @table[@table_rows][@table_cols] += tok + elsif !@silent then + if !@align.nil? && tok =~ /\n$/ then + print tok.chop,"\\\\\n" + else + print tok + end + end + end + + def set_interp(interp) + @interp = interp + end + + # tag processing methods + + # + def do_silent(tag) + @silent = TRUE + end + + # + def undo_silent(tag) + @silent = FALSE + end + + # + def img_proc(tag) + src = tag.switch('src') + newfile = src.sub(/\.GIF/i,".eps") + gif2eps(src,newfile) + flush "\\epsfile{file=#{newfile}}\n" + end + + # + def starttable(tag) + @table = [] + @tablespan = [] + @table_rows = -1 + @table_cols_max = 0 + @in_table = TRUE + unless tag.switch('border').nil? then + @table_border = TRUE + else + @table_border = FALSE + end + end + + # + def start_row(tag) + @table_rows += 1 + @table[@table_rows] = [] + @tablespan[@table_rows] = [] + @table_cols = -1 + @colspan = 1 + end + + #
+ def start_col(tag) + @colspan = tag.switch('colspan') + if @colspan.nil? then + @colspan = 1 + else + @colspan = @colspan.to_i + end + @tablespan[@table_rows][@table_cols+1] = @colspan + @table_cols += @colspan + if @table_cols > @table_cols_max then + @table_cols_max = @table_cols + end + end + + #
+ def endtable(tag) + @in_table = FALSE + flush "\\begin{tabular}{*{" + flush @table_cols_max+1 + if @table_border then + flush "}{|l}|}\n\\hline\n" + else + flush "}{l}}\n" + end + for i in 0..@table_rows + j = 0 + while j <= @table_cols + span = @tablespan[i][j] + if span == 1 then + flush @table[i][j] + elsif @table_border then + form = "|l" + if j+span > @table_cols then + form = "|l|" + end + flush "\\multicolumn{"+span.to_s+"}{"+form+"}{" + flush @table[i][j+span-1] + flush "}" + else + flush "\\multicolumn{"+span.to_s+"}{l}{" + flush @table[i][j+span-1] + flush "}" + end + j += span + if j <= @table_cols then + flush "&" + end + end + flush "\\\\\n" + flush "\\hline\n" if @table_border + end + flush "\\end{tabular}\n" + end + + #
+ def startcenter(tag) + if @in_table then + flush "\\hfil" + else + flush "\\begin{center}\n" + end + end + + #
+ def endcenter(tag) + if @in_table then + flush "\\hfil" + else + flush "\\end{center}\n" + end + end + + #

+ def paragraph(tag) + align = tag.switch('align') + if align.nil? then + flush "\\par\n" + @endparagraph = "" + else + align = align.downcase + case align + when "left" then + flush "\\begin{flushleft}\n" + @endparagraph = "\\end{flushleft}\n" + when "center" then + flush "\\begin{center}\n" + @endparagraph = "\\end{center}\n" + when "right" then + flush "\\begin{flushright}\n" + @endparagraph = "\\end{flushright}\n" + end + end + @align = align + end + + #

+ def endparagraph(tag) + unless @align.nil? then + @align = nil + flush @endparagraph + end + end +end + + +enum_interp = { + 'li' => ["\\item ",nil] +} + +item_interp = { + 'li' => ["\\item ",nil] +} + +desc_interp = { + 'dt' => ["\\item[",nil], + 'dd' => ["]\n",nil] +} + +table_interp = { + 'tr' => [:start_row,nil], + 'td' => [:start_col,nil], + '/tr' => ["",nil], + '/td' => ["",nil], +} + +para_interp = { + '/p' => [:endparagraph ,"pop",TRUE], +} + +main_interp = { + 'body' => ["\\begin{document}\n",nil,FALSE], + '/body' => ["\\end{document}\n",nil,FALSE], + 'head' => ["",nil,FALSE], + '/head' => ["",nil,FALSE], + 'html' => ["",nil,FALSE], + '/html' => ["",nil,FALSE], + 'title' => [:do_silent,nil,FALSE], + '/title' => [:undo_silent,nil,FALSE], + '!' => ["",nil,FALSE], + 'h1' => ["\\section{",nil,TRUE], + 'h2' => ["\\subsection{",nil,TRUE], + 'h3' => ["\\subsubsection{",nil,TRUE], + 'h4' => ["\\paragraph{",nil,TRUE], + '/h1' => ["}\n",nil,TRUE], + '/h2' => ["}\n",nil,TRUE], + '/h3' => ["}\n",nil,TRUE], + '/h4' => ["}\n",nil,TRUE], + 'a' => ["",nil,TRUE], + '/a' => ["",nil,TRUE], + 'center' => [:startcenter,nil,TRUE], + '/center' => [:endcenter,nil,TRUE], + 'ol' => ["\\begin{enumerate}\n",enum_interp,TRUE], + '/ol' => ["\\end{enumerate}\n","pop",TRUE], + 'ul' => ["\\begin{itemize}\n",item_interp,TRUE], + '/ul' => ["\\end{itemize}\n","pop",TRUE], + 'dl' => ["\\begin{description}\n",desc_interp,TRUE], + '/dl' => ["\\end{description}\n","pop",TRUE], + 'pre' => ["\\begin{pre}\n",nil,TRUE], + '/pre' => ["\\end{pre}\n",nil,TRUE], + 'p' => [:paragraph ,para_interp,TRUE], + 'br' => ["\\par ",nil,TRUE], + 'img' => [:img_proc,nil,TRUE], + 'hr' => ["\\hr ",nil,TRUE], + 'b' => ["{\\bf\\gt ",nil,TRUE], + '/b' => ["}",nil,TRUE], + 'strong' => ["{\\bf\\gt ",nil,TRUE], + '/strong' => ["}",nil,TRUE], + 'dfn' => ["{\\bf\\gt ",nil,TRUE], + '/dfn' => ["}",nil,TRUE], + 'i' => ["{\\it",nil,TRUE], + '/i' => ["}",nil,TRUE], + 'address' => ["{\\it",nil,TRUE], + '/address'=> ["}",nil,TRUE], + 'cite' => ["{\\it",nil,TRUE], + '/cite' => ["}",nil,TRUE], + 'code' => ["{\\tt",nil,TRUE], + '/code' => ["}",nil,TRUE], + 'kbd' => ["{\\tt",nil,TRUE], + '/kbd' => ["}",nil,TRUE], + 'tt' => ["{\\tt",nil,TRUE], + '/tt' => ["}",nil,TRUE], + 'samp' => ["{\\tt",nil,TRUE], + '/samp' => ["}",nil,TRUE], + 'em' => ["{\\em",nil,TRUE], + '/em' => ["}",nil,TRUE], + 'u' => ["$\\underline{\\mbox{",nil,TRUE], + '/u' => ["}}$",nil,TRUE], + 'sub' => ["${}_\mbox{",nil,TRUE], + '/sub' => ["}$",nil,TRUE], + 'sup' => ["${}^\mbox{",nil,TRUE], + '/sup' => ["}$",nil,TRUE], + 'table' => [:starttable, table_interp,TRUE], + '/table' => [:endtable, "pop",TRUE], + 'font' => ["",nil,TRUE], + '/font' => ["",nil,TRUE], +} + + + + +################################ MAIN #################################### + +$in_document = FALSE +print_header +intp = Environ_stack.new(Environment.new(main_interp)) +f = TokenStream.new(ARGV[0]) +until f.eof? + tok = f.get + if tok.kind_of?(Tag) then + case tok.tagname + when "body" + $in_document = TRUE + when "/body" + $in_document = FALSE + end + act = intp.action(tok.tagname) + if act.nil? then + STDERR.print "tag ",tok.tagname," ignored\n" + else + if act[2] && !$in_document then + print "\\begin{document}\n" + $in_document = TRUE + end + # environment push + if act[1].kind_of?(Hash) && + (tok.tagname != "p" || tok.switch('align') != nil) then + intp.dup + intp.top.set_interp(act[1]) + end + + if act[0].kind_of?(String) then + intp.top.flush act[0] + elsif act[0].kind_of?(Fixnum) then # interned symbol + intp.top.send(act[0],tok) + end + + # environment pop + if act[1] == "pop" then + intp.pop + end + end + elsif !tok.nil? then + intp.top.flush tok + end +end +if $in_document then + print "\\end{document}\n" +end diff --git a/Bonus/htmldump b/Bonus/htmldump new file mode 100755 index 0000000..4be60bf --- /dev/null +++ b/Bonus/htmldump @@ -0,0 +1,12 @@ +#!/bin/sh +OPT= +if [ $# -gt 0 -a $1 = "-u" ]; then + OPT=-u + shift +fi +if [ $# = 0 ]; then + URL=$WWW_HOME +else + URL=$1 +fi +w3m -dump_source $URL | makeref $OPT -url $URL | w3m -dump -F -T text/html diff --git a/Bonus/makeref b/Bonus/makeref new file mode 100755 index 0000000..9cb1942 --- /dev/null +++ b/Bonus/makeref @@ -0,0 +1,266 @@ +#!/usr/local/bin/ruby + +# HTML reference generator +# by A.Ito 1999/3/30 + +require 'kconv' + +########################################################################### +class URL + attr 'scheme' + attr 'host' + attr 'port' + attr 'file' + attr 'label' + def initialize(str) + if /([a-zA-Z+\-]+):(.*)/ =~ str then + @scheme = $1 + str = $2 + else + @scheme = 'unknown' + end + hostpart = '' + if %r'//([^/]*)(/.*)' =~ str then + hostpart = $1 + str = $2 + elsif %r'//([^/]*)$' =~ str then + hostpart = str + str = '' + end + if hostpart != '' then + if /(.*):(\d+)/ =~ hostpart then + @host = $1 + @port = $2 + else + @host = hostpart + @port = '' + end + else + @host = @port = '' + end + if /(.*)#(.*)/ =~ str then + @file = $1 + @label = $2 + else + @file = str + @label = '' + end + end + def to_s + s = "#{@scheme}:" + if s == 'news' or s == 'mailto' then + return s+@file + end + s += "//"+@host + s += ":"+@port if @port.size > 0 + s += @file + s += "#"+@label if @label.size > 0 + s + end + def complete(current) + @scheme = current.scheme if @scheme == 'unknown' + @port = current.port if @host == '' and @port == '' + @host = current.host if @host == '' + unless @file =~ %r'^/' then + @file = File.expand_path(File.dirname(current.file)+'/'+@file) + end + self + end +end + +class Tag + def initialize(str) + if str =~ /<(.+)>/ then + str = $1 + end + tags = str.split + @tagname = tags.shift.downcase + @vals = {} + tags.each do |t| + if t =~ /=/ then + tn,tv = t.split(/\s*=\s*/,2) + tv.sub!(/^"/,"") + tv.sub!(/"$/,"") + @vals[tn.downcase] = tv + else + @vals[t.downcase] = TRUE + end + end + end + def tagname + return @tagname + end + def each + @vals.each do |k,v| + yield k,v + end + end + def switch(k) + return @vals[k] + end + def to_s + if tagname =~ /!--/ then + return '' + end + t = "<"+tagname + if @vals.size == 0 then + return t+">" + end + each do |a,v| + if v == true then + t += " #{a}" + else + t += " #{a}=\"#{v}\"" + end + end + t+">" + end +end + +class TokenStream + TAG_START = ?< + TAG_END = ?> + AMP_START = ?& + AMP_END = ?; + + def initialize(file) + if file.kind_of?(IO) then + @f = file + else + @f = File.new(file) + end + @buf = nil + @bpos = 0 + end + + def read_until(endsym) + complete = FALSE + tag = [] + begin + while @bpos < @buf.size + c = @buf[@bpos] + if c == endsym then + tag.push(c.chr) + complete = TRUE + @bpos += 1 + break + end + if c == 10 || c == 13 then + tag.push(' ') + else + tag.push(c.chr) + end + @bpos += 1 + end + unless complete + @buf = @f.gets + @bpos = 0 + break if @f.eof? + end + end until complete + return tag.join('') + end + + def get + while TRUE + if @buf.nil? then + @buf = @f.gets + if @f.eof? then + return nil + end + @buf = Kconv.toeuc(@buf) + @bpos = 0 + end + if @buf[@bpos] == TAG_START then + return Tag.new(read_until(TAG_END)) + elsif @buf[@bpos] == AMP_START then + return read_until(AMP_END) + else + i = @bpos + while i < @buf.size && @buf[i] != TAG_START && @buf[i] != AMP_START + i += 1 + end + r = @buf[@bpos,i-@bpos] + if i == @buf.size then + @buf = nil + else + @bpos = i + end + redo if r =~ /^\s+$/ + return r + end + end + end + public :eof? + def eof? + @f.eof? + end +end + +################################ MAIN #################################### + +refs = [] +refnum = 0 +body_finished = false +html_finished = false +currentURL = nil +immediate_ref = false + +while ARGV[0] =~ /^-/ + case ARGV.shift + when '-url' + currentURL = URL.new(ARGV.shift) + when '-u' + immediate_ref = true + end +end + +if ARGV.size > 0 then + f = TokenStream.new(ARGV[0]) +else + f = TokenStream.new(STDIN) +end + +until f.eof? + tok = f.get + if tok.kind_of?(Tag) then + if tok.tagname == 'a' and !tok.switch('href').nil? then + refs[refnum] = tok.switch('href') + refnum += 1 + elsif tok.tagname == '/a' then + if immediate_ref then + r = refs[refnum-1] + if !currentURL.nil? then + r = URL.new(r).complete(currentURL).to_s + end + print "[#{r}]" + else + print "[#{refnum}]" + end + elsif tok.tagname == '/body' then + body_finished = true + break + elsif tok.tagname == '/html' then + html_finished = true + break + end + print tok.to_s + elsif !tok.nil? then + print tok + end +end +if !immediate_ref and refs.size > 0 then + print "

References

\n" + for i in 0..refs.size-1 + if currentURL.nil? then + r = refs[i] + else + r = URL.new(refs[i]) + r.complete(currentURL) + r = r.to_s + end + print "[#{i+1}] #{r}
\n" + end +end +print "\n" unless body_finished +print "\n" unless html_finished diff --git a/Bonus/oldconfigure.sh b/Bonus/oldconfigure.sh new file mode 100755 index 0000000..541facb --- /dev/null +++ b/Bonus/oldconfigure.sh @@ -0,0 +1,183 @@ +#! /bin/sh +# +# oldconfig.sh: convert a config.param file and execute configure +# + +# functions +opt_push () { +# OPT="${OPT} $1" + OPT="${OPT} \\ + $1" +} + +opt_enable_set () { + val="" + if test x"$1" = xy; then + val="--enable-$2" + elif test x"$1" = xn; then + val="--disable-$2" + fi + if test x"$val" != x; then + opt_push "$val" + fi +} + +opt_with_set () { + val="" + if test x"$1" != x; then + val="--with-$2='$1'" + else + val="--without-$2" + fi + if test x"$val" != x; then + opt_push "$val" + fi +} + +env_set () { + # no overwrite + if test x"$1" != x && eval "test -z \"\$$1\"" > /dev/null; then + echo "$1='$2'; export $1" + eval "$1='$2'; export $1" + fi +} + +# main +topdir="`dirname $0`/.." + +if test x"$1" = x-v; then + echo_only=yes + shift +fi +if test x"$1" = x; then + echo "USAGE: $0 [-v] " + echo " option: -v ... echo only" + exit 1 +fi + +if expr "$1" : '.*/' > /dev/null; then + conffile="$1" +else + conffile=./"$1" +fi +. "$conffile" # read config.param + +OPT="" +libdir=`echo $libdir | sed 's@/w3m[^/]*/cgi-bin@@'` +libexecdir=`echo $auxbindir | sed 's@/w3m[^/]*@@'` +datadir=`echo $helpdir | sed 's@/w3m[^/]*@@'` +sysconfdir=`echo $sysconfdir | sed 's@/w3m[^/]*@@'` +opt_push "--bindir='$bindir'" +opt_push "--libexecdir='$libexecdir'" +opt_push "--datadir='$datadir'" +opt_push "--sysconfdir='$sysconfdir'" +opt_push "--libdir='$libdir'" +opt_push "--mandir='$mandir'" + +#case "$dmodel" in +# 1) val=baby;; +# 2) val=little;; +# 3) val=mouse;; +# 4) val=cookie;; +# 5) val=monster;; +# *) echo "ERROR: Illegal model type (model=$dmodel)." +# exit 1;; +#esac +#opt_push "--enable-model=$val" + +case "$lang" in + JA) + if test x$display_code != x; then + opt_push "--enable-japanese='$display_code'" + else + opt_push "--enable-japanese" + fi + opt_enable_set "$kanji_symbols" kanjisymbols + ;; + *) + ;; +esac + +opt_enable_set "$use_color" color +opt_enable_set "$use_ansi_color" ansi-color +opt_enable_set "$use_bg_color" bgcolor +if test x"$use_migemo" = xy; then + if test x"$def_migemo_command" != x; then + opt_push "--with-migemo='$def_migemo_command'" + fi +elif test x"$use_migemo" = xn; then + opt_push "--without-migemo" +fi +opt_enable_set "$use_mouse" mouse +opt_enable_set "$use_menu" menu +opt_enable_set "$use_cookie" cookie +opt_enable_set "$use_dict" dict +opt_enable_set "$use_history" history +opt_enable_set "$use_digest_auth" digest-auth +opt_enable_set "$use_nntp" nntp +opt_enable_set "$use_gopher" gopher +if test x"$use_lynx_key" = xy; then + opt_push "--enable-keymap=lynx" +else + opt_push "--enable-keymap=w3m" +fi +opt_with_set "$ded" editor +opt_with_set "$dmail" mailer +opt_with_set "$dbrowser" browser +opt_enable_set "$use_help_cgi" help-cgi +opt_enable_set "$use_external_uri_loader" external-uri-loader +opt_enable_set "$use_w3mmailer" w3mmailer +opt_enable_set "$use_alarm" alarm +if test x"$use_image" = xy; then + val_x11="" + val_fb="" + if test x"$use_w3mimg_x11" = xy; then + val_x11="x11" + fi + if test x"$use_w3mimg_fb" = xy; then + if test x"$w3mimgdisplay_setuid" = xy; then + val_fb="fb+s" + else + val_fb="fb" + fi + fi + if test x"$val_x11" != x; then + if test x"$val_fb" != x; then + val="$val_x11,$val_fb" + else + val="$val_x11" + fi + elif test x"$val_fb" != x; then + val="$val_fb" + fi + + if test x"$val" = x; then + opt_push "--enable-image" + else + opt_push "--enable-image='$val'" + fi + + opt_enable_set "$use_xface" xface +elif test x"$use_image" = xn; then + opt_push "--disable-image" +fi +if test x"$dtermlib" != x; then + dtermlib=`echo "$dtermlib"|sed 's/^-l//'` + opt_with_set "$dtermlib" termlib +fi +if test x"$use_ssl" = xy; then + opt_push "--with-ssl" + opt_enable_set "$use_ssl_verify" sslverify +elif test x"$use_ssl" = xn; then + opt_push "--without-ssl" +fi +opt_enable_set "$use_ipv6" ipv6 + +env_set CC "$dcc" +env_set CFLAGS "$dcflags" +env_set LDFLAGS "$dldflags" + +echo "( cd '$topdir' && sh configure ${OPT} )" +if test "${echo_only+set}" != set; then + echo "( cd '$topdir' && sh configure ${OPT} )" | sh +fi diff --git a/Bonus/scanhist.rb b/Bonus/scanhist.rb new file mode 100644 index 0000000..69dcc9d --- /dev/null +++ b/Bonus/scanhist.rb @@ -0,0 +1,88 @@ +#!/usr/local/bin/ruby + +# scan history + +def usage + STDERR.print "usage: scanhist -h HISTORY ML-archive1 ML-archive2 ...\n" + exit 1 +end + +def html_quote(s) + s.gsub!(/&/,"&") + s.gsub!(//,">") + s +end + +if ARGV.size == 0 then + usage +end + +histfile = nil + +while ARGV[0] =~ /^-/ + case ARGV.shift + when "-h" + histfile = ARGV.shift + else + usage + end +end + +if histfile.nil? then + usage +end + +patched = {} +histline = {} +f = open(histfile) +while f.gets + if /Subject: (\[w3m-dev.*\])/ then + patched[$1] = true + histline[$1] = $. + end +end +f.close + +archive = {} +subject = nil +for fn in ARGV + f = open(fn) + while f.gets + if /^From / then + # beginning of a mail + subject = nil + elsif subject.nil? and /^Subject: / then + $_ =~ /Subject: (\[w3m-dev.*\])/ + subject = $1 + archive[subject] = [$_.chop.sub(/^Subject:\s*/,""),false,fn+"#"+($.).to_s] + elsif /^\+\+\+/ or /\*\*\*/ or /filename=.*(patch|diff).*/ or /^begin \d\d\d/ + archive[subject][1] = true + end + end + f.close +end + +print "w3m patch configuration\n\n" +print "
\n"
+for sub in archive.keys.sort
+  a = archive[sub]
+  if a[1] then
+    if patched[sub] then
+      print "[+]"
+    else
+      print "[-]"
+    end
+    print ""
+    print "",html_quote(a[0]),"\n"
+  else
+    if patched[sub] then
+      print "[o]"
+    else
+      print "   "
+    end
+    print ""
+    print "",html_quote(a[0]),"\n"
+  end
+end
+print "
\n" diff --git a/Bonus/smb.cgi b/Bonus/smb.cgi new file mode 100755 index 0000000..536db89 --- /dev/null +++ b/Bonus/smb.cgi @@ -0,0 +1,462 @@ +#!/usr/bin/perl + +# Workgroup list: file:/$LIB/smb.cgi +# Server list: file:/$LIB/smb.cgi?workgroup +# Sahre list: file:/$LIB/smb.cgi?//server +# file:/$LIB/smb.cgi/server +# Directory: file:/$LIB/smb.cgi?//server/share +# file:/$LIB/smb.cgi?//server/share/dir... +# file:/$LIB/smb.cgi/server/share +# Get file: file:/$LIB/smb.cgi?//server/share/dir.../file +# file:/$LIB/smb.cgi/server/share/dir.../file +# +# ----- ~/.w3m/smb ----- +# workgroup = +# [ username = ] +# [ password = ] +# [ password_file = ] +# ---------------------- +# --- --- +# +# ----------------------- +# default: +# = $USER +# = $PASSWD (Don't use!) +# = $PASSWD_FILE + +$DEBUG = 1; + +$MIME_TYPE = "~/.mime.types"; +$AUTH_FILE = "~/.w3m/smb"; +$MIME_TYPE =~ s@^~/@$ENV{"HOME"}/@; +$AUTH_FILE =~ s@^~/@$ENV{"HOME"}/@; +$WORKGROUP = "-"; +$USER = $ENV{"USER"}; +$PASSWD = $ENV{"PASSWD"}; +$PASSWD_FILE = $ENV{"PASSWD_FILE"}; +&load_auth_file($AUTH_FILE); + +$NMBLOOKUP = "nmblookup"; +$SMBCLIENT = "smbclient"; +@NMBLOOKUP_OPT = ("-T"); +@SMBCLIENT_OPT = ("-N"); +$USE_OPT_A = defined($PASSWD) && (-f $AUTH_FILE) && &check_opt_a(); +if ($USE_OPT_A) { + push(@SMBCLIENT_OPT, "-A", $AUTH_FILE); +} elsif (-f $PASSWD_FILE) { + $USE_PASSWD_FILE = 1; +} elsif (defined($PASSWD)) { + $USE_PASSWD_FD = 1; + $PASSWD_FD = 0; +} +if (defined($PASSWD)) { + $passwd = "*" x 8; +} +$DEBUG && print <) { +$DEBUG && print "DEBUG: $_"; + /^\s/ && last; + } + close($F); + if (s/\s+([A-Z]*) {1,8}\d+ (\w{3} ){2}[ \d]\d \d\d:\d\d:\d\d \d{4}\s*$// + && $1 !~ /D/) { + &get_file($service, $file); + exit; + } + + get_list: + $_ = "$file/*"; + s@/+@\\@g; + @cmd = ($SMBCLIENT, $service, @SMBCLIENT_OPT, "-c", "ls \"$_\""); + $F = &open_pipe(1, @cmd); + while (<$F>) { + /^\s*$/ && last; +$DEBUG && print "DEBUG: $_"; + /^cd\s+/ && last; + /^\S/ && next; + s/\r?\n//; + push(@files, $_); + } + close($F); + + $qservice = &html_quote($service); + $service = &file_encode($service); + $qfile = &html_quote($file); + $file = &file_encode($file); + + print "Content-Type: text/html\n\n"; + print "$qservice$qfile\n"; + print "$qservice$qfile\n"; + print "
\n";
+	for (sort @files) {
+		s/\s+([A-Z]*) {1,8}\d+  (\w{3} ){2}[ \d]\d \d\d:\d\d:\d\d \d{4}\s*$// || next;
+		$c = $&;
+		s/^  //;
+		$_ eq "." && next;
+		print ""
+			. &html_quote($_) . ""
+			. &html_quote($c) . "\n";
+	}
+	print "
\n"; +} + +sub get_file { + local($service, $file) = @_; + local($encoding, $type); + local($_, @cmd); + + $_ = $file; + s@/@\\@g; + @cmd = ($SMBCLIENT, $service, @SMBCLIENT_OPT, "-E", "-c", "more \"$_\""); +$DEBUG && print "DEBUG: @cmd\n"; + + ($encoding, $type) = &guess_type($file); + $file =~ s@^.*/@@; + $| = 1; + print "Content-Encoding: $encoding\n" if $encoding; + print "Content-Type: $type; name=\"$file\"\n\n"; + + $ENV{"PAGER"} = $PAGER if $PAGER; + &exec_cmd(1, @cmd); +} + +sub share_list { + local($server) = @_; + local(@share); + local($qserver, $_, $d, @c); + + @share = &get_list(1, $server, "Share"); + + $qserver = &html_quote($server); + $server = &file_encode($server); + + print "Content-Type: text/html\n\n"; + print "Share list: $qserver\n"; + print "\n"; + print "
$qserver"; + for (sort @share) { + ($_, $d, @c) = split(" "); + if ($d eq 'Disk') { + print "
+ " + . &html_quote($_) . ""; + } else { + print "
+ " + . &html_quote($_); + } + print "" + . &html_quote($d) . "" + . &html_quote("@c") . "\n"; + } + print "
\n"; +} + +sub server_list { + local($group) = @_; + local($master, @server); + local($_, @c); + + $master = &get_master($group); + @server = &get_list(0, $master, "Server"); + + $group = &html_quote($group); + + print "Content-Type: text/html\n\n"; + print "Server list: $group\n"; + print "\n"; + print "
$group\n"; + for (sort @server) { + ($_, @c) = split(" "); + print "
+ " + . &html_quote($_) . "" + . &html_quote("@c") . "\n"; + } + print "
\n"; +} + +sub group_list { + local($master, @group); + local($_, @c); + + $master = &get_master($WORKGROUP || "-"); + @group = &get_list(0, $master, "Workgroup"); + + print "Content-Type: text/html\n\n"; + print "Workgroup list\n"; + print "\n"; + for (sort @group) { + ($_, @c) = split(" "); + print "
" + . &html_quote($_) . "" + . &html_quote("@c") . "\n"; + } + print "
\n"; +} + +sub check_opt_a { + local($_, $F, @cmd); + + @cmd = ($SMBCLIENT, "-h"); + $F = &open_pipe(0, @cmd); + while (<$F>) { + if (/^\s*-A\s/) { +$DEBUG && print "DEBUG: $_"; + close($F); + return 1; + } + } + close($F); + return 0; +} + +sub get_master { + local($group) = @_; + local($_, $F, @cmd); + + @cmd = ($NMBLOOKUP, "-M", @NMBLOOKUP_OPT, $group); + $F = &open_pipe(0, @cmd); + $_ = <$F>; + $_ = <$F>; + close($F); + ($_) = split(/[,\s]/); + s/\.*$//; + return $_; +} + +sub get_list { + local($passwd, $server, $header) = @_; + local(@list) = (); + local($_, @cmd, $F); + + @cmd = ($SMBCLIENT, @SMBCLIENT_OPT, "-L", $server); + $F = &open_pipe($passwd, @cmd); + while (<$F>) { + if (/^\s*$header/) { +$DEBUG && print "DEBUG: $_"; + last; + } + } + while (<$F>) { + /^\s*$/ && last; +$DEBUG && print "DEBUG: $_"; + /^\S/ && last; + /^\s*-/ && next; + push(@list, $_); + } + close($F); + return @list; +} + +sub open_pipe { + local($passwd, @cmd) = @_; + local($F) = $FILE++; + +$DEBUG && print "DEBUG: @cmd\n"; + open($F, "-|") || &exec_cmd($passwd, @cmd); + return $F; +} + +sub exec_cmd { + local($passwd, @cmd) = @_; + + $ENV{"LC_ALL"} = "C"; + $ENV{"USER"} = $USER; + if ($passwd && !$USE_OPT_A) { + if ($USE_PASSWD_FILE) { + $ENV{"PASSWD_FILE"} = $PASSWD_FILE; + } elsif ($USE_PASSWD_FD) { + $ENV{"PASSWD_FD"} = $PASSWD_FD; + if (open(W, "|-")) { + print W $PASSWD; + close(W); + exit; + } + } + } + open(STDERR, ">/dev/null"); + exec @cmd; + exit 1; +} + +sub print_form { + local($_) = @_; + local($q) = &html_quote($_); + $_ = &file_encode($_); + + print <$q +
+ +
Workgroup User Password +
+ + + +
+
+EOF +} + +sub load_auth_file { + local($_) = @_; + + if ($USER =~ s/%(.*)$//) { + $PASSWD = $1 unless $PASSWD; + } + open(F, $_) || return; + while () { + s/\s+$//; + if (s/^workgroup\s*=\s*//i) { + $WORKGROUP = $_; + } elsif (s/^user(name)?\s*=\s*//i) { + $USER = $_; + } elsif (s/^passw(or)?d\s*=\s*//i) { + $PASSWD = $_; + } elsif (s/^passw(or)?d_file\s*=\s*//i) { + $PASSWD_FILE = $_; + } + } + close(F); +} + +sub load_mime_type { + local($_) = @_; + local(%mime) = (); + local($type, @suffix); + + open(F, $_) || return (); + while() { + /^#/ && next; + chop; + (($type, @suffix) = split(" ")) >= 2 || next; + for (@suffix) { + $mime{$_} = $type; + } + } + close(F); + return %mime; +} + +sub guess_type { + local($_) = @_; + local(%mime) = &load_mime_type($MIME_TYPE); + local($encoding) = undef; + + if (s/\.gz$//i) { + $encoding = "gzip"; + } elsif (s/\.Z$//i) { + $encoding = "compress"; + } elsif (s/\.bz2?$//i) { + $encoding = "bzip2"; + } + /\.(\w+)$/; + $_ = $1; + tr/A-Z/a-z/; + return ($encoding, $mime{$_} || "text/plain"); +} + +sub cleanup { + local($_) = @_; + + $_ .= "/"; + s@//+@/@g; + s@/\./@/@g; + while(m@/\.\./@) { + s@^/(\.\./)+@/@; + s@/[^/]+/\.\./@/@; + } + s@(.)/$@$1@; + return $_; +} + +sub file_encode { + local($_) = @_; + s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; + return $_; +} + +sub file_decode { + local($_) = @_; + s/\+/ /g; + s/%([\da-f][\da-f])/pack('C', hex($1))/egi; + s@[\r\n\0\\"]@@g; + return $_; +} + +sub html_quote { + local($_) = @_; + local(%QUOTE) = ( + '<', '<', + '>', '>', + '&', '&', + '"', '"', + ); + s/[<>&"]/$QUOTE{$&}/g; + return $_; +} diff --git a/Bonus/utf8.cgi b/Bonus/utf8.cgi new file mode 100644 index 0000000..a21731e --- /dev/null +++ b/Bonus/utf8.cgi @@ -0,0 +1,21 @@ +#!/usr/bin/perl +# +# [w3m-dev 03783] +# Install it in $LIB/utf8.cgi and configure keymap as +# keymap "x u" GOTO file:/$LIB/utf8.cgi +# +$conv = "lv -Iu -Oe"; +# $conv = "iconv -f UTF-8 -t EUC-JP"; +$type = $ENV{W3M_TYPE} || "text/plain"; +$url = $ENV{W3M_URL}; +$file = $ENV{W3M_SOURCEFILE}; +-f $file || exit; +$| = 1; +print <\n"; +} +exec split(" ", $conv), $file; diff --git a/Bonus/wrap3m b/Bonus/wrap3m new file mode 100755 index 0000000..9555c9a --- /dev/null +++ b/Bonus/wrap3m @@ -0,0 +1,33 @@ +#!/bin/sh + +HOMEPAGE=http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/ +OPT="" +URL="" +for i in $@ +do + case $i in + -*) + OPT="$OPT $i" + ;; + *) + URL="$URL $i" + ;; + esac +done + +if [ -z "$URL" ]; then + URL=$HOMEPAGE +fi +URLARG="" +for u in $URL +do + if [ `expr $u : '[a-z][a-z]*://'` -gt 0 ]; then + URLARG="$URLARG $u" + elif [ -f $u -o -d $u ]; then + URLARG="$URLARG $u" + else + URLARG="$URLARG http://$u" + fi +done + +w3m $OPTS $URLARG diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..d4264f1 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,8920 @@ +2007-05-31 Dai Sato + + * w3m 0.5.2 + * version.c.in: update + * doc/README: version 0.5.2, release date, maintainer + * doc-jp/README: ditto + * po/w3m.pot, ja.po: ditto + * NEWS: update + * configure.ac: version 0.5.2 + * configure: regenerated + +2007-05-31 Tsutomu OKADA + + * [20070530101431@w3mbbs] Re: road to 0.5.2 + * ftp.c: fix typo. + * main.c, mktable.c, w3mbookmark.c, w3mhelperpanel.c: add GC_INIT(). + +2007-05-30 Hironori Sakamoto + + * [w3m-dev 04266] Bug fix when tab browsing + * fm.h, main.c: fix for tab browsing. + +2007-05-30 Hironori Sakamoto + + * [w3m-dev 04265] compile error when #undef USE_BG_COLOR + * terms.c: add #ifdef __CYGWIN__. + +2007-05-30 Hironori Sakamoto + + * [w3m-dev 04264] Re: road to 0.5.2 + * po/makefile.in.in, scripts/*/Makefile.in: add datarootdir. + +2007-05-29 Hironori Sakamoto + + * [w3m-dev 04262] FreeBSD sysmouse (Re: road to 0.5.2) + * configure.ac: unbreak sysmouse support, pointed out by + Travis Poppe . + * configure: regenerated. + +2007-05-29 Hironori Sakamoto + + * [w3m-dev 04260] Warning (Re: road to 0.5.2) + * main.c, display.c: delete unused macros, change void to static void. + +2007-05-29 Hironori Sakamoto + + * [w3m-dev 04259] long long (Re: road to 0.5.2) + * Makefile.in, aclocal.m4: move 'gc' from $LIBS to $LIBGC. + * configure: regenerated. + +2007-05-29 Hironori Sakamoto + + * [w3m-dev 04256] Re: road to 0.5.2 + * scripts/Makefile.in, scripts/w3mhelp.cgi.in: add datarootdir. + +2007-05-28 Hideyuki SHIRAI + + * [w3m-dev 04251] Re: road to 0.5.2 + * po/w3m.pot: pot-update. + +2007-05-27 Hiroyuki Ito + + * [w3m-dev 04252] Re: road to 0.5.2 + * Makefile.in: add datarootdir for Autoconf 2.60 and later. + +2007-05-23 NOKUBI Takatsugu + + * [w3m-dev 04155] w3m mingw patch + * config.h, configure.ac, etc.c, file.c, ftp.c, indep.c, istream.c, + local.c, main.c, rc.c, terms.c, url.c: fix for minpw, except for + deleting nsl and dl from configure.ac. + * configure: regenerated. + +2007-05-23 Hiroyuki Ito + + * [w3m-dev 04233], [w3m-dev 04236] Re: , , , and so on + * file.c, fm.h, po/ja.po, po/w3m.pot, rc.c, table.c: + expand display_ins_del to select a type of fontify. + +2007-05-23 Hiroyuki Ito + + * [w3m-dev 04242] Re: Compile error when --without-ssl + * aclocal.m4, configure.ac: add checking ssl before digest_auth. + * configure: regenerated. + +2007-05-23 Hironori Sakamoto + + * [w3m-dev 04240] nl_langinfo() requires setlocale() + * fm.h, main.c, menu.c, rc.c: add "#ifdef"s. + * libwc/charset.c: add setlocale() for nl_langinfo(). + +2007-05-23 Hironori Sakamoto + + * [w3m-dev 03923]
 in 
+	* file.c, table.c: avoid extra blanks in pre in table.
+
+2007-05-23  tamo
+
+	* [20070121110209@w3mbbs] unnecessary decoding in linein.c
+	* linein.c: decoding URLs in correct condition.
+
+2007-05-23  Tsutomu OKADA
+
+	* [20061228000713@w3mbbs] avoid warning for file.c
+	* html.h: change char to unsigned char for HTML_DL_COMPACT(133).
+
+2007-05-23  Hironori Sakamoto 
+
+	* [w3m-dev 04213] update Unicode characters' width
+	* libwc/ucs.c, libwc/ucs.h, libwc/map/ucs_wide.map: 
+	  catch-up to EastAsianWidth-5.0.0.txt.
+
+2007-04-19  Hironori Sakamoto 
+
+	* [w3m-dev 04212] quote URL of local dir
+	* local.c: quote URLs with non-ASCII local directory names.
+
+2007-04-19  Hironori Sakamoto 
+
+	* [w3m-dev 04211] input type=image
+	* file.c, html.[ch]: avoid conflicts between input_alt and img_alt.
+	  fix calculation of labeled line numbers when fold_line=1.
+
+2007-04-19  Hiroyuki Ito  
+
+	* [w3m-dev 04197] Re: italic text
+	* fm.h: display  and  elements with underline.
+
+2006-12-27  Fumitoshi UKAI  
+
+	* [SECURITY] fix format string vulnerability
+	* file.c (inputAnswer) fix format string bug
+
+2006-12-07  Hiroyuki Ito  
+
+	* [w3m-dev 04185] Re: italic text
+	* file.c, fm.h, html.c, html.h, tagtable.tab:
+	  display  and  elements with bold letters.
+
+2006-12-07  Hideyuki SHIRAI  
+
+	* [w3m-dev 04184] automatic uncompression in downloading
+	* rc.c: Add `AutoUncompress'.
+	  (params3): Ditto.
+	* fm.h: Add `AutoUncompress'.
+	* file.c (loadGeneralFile): Check `AutoUncompress' when uncompress
+	  data.
+	  (HTMLlineproc2body): Ditto.
+	* po/w3m.pot: Add new message for `AutoUncompress'.
+	* po/ja.po: ditto.
+
+2006-12-10  Hiroyuki Ito 
+
+	* [w3m-dev 04159] Re: Is this mailing list still alive?
+	* cookie.c: accept invalid "set-cookies" headers
+	  when "domainName == .hostName".
+
+2006-12-10  noz
+
+	* [20051124052846@w3mbbs] LiveHTTPHeaders
+	* file.c, fm.h, main.c, url.c: add -reqlog option which makes
+	  ~/.w3m/request.log like LiveHTTPHeaders of FireFox.
+
+2006-08-07  Fumitoshi UKAI  
+
+	* mailcap.c (acceptableMimeTypes): change default accept: line
+	    w3m should prefer text/html to other text/*.
+	    reported as Debian Bug#374296
+
+2006-06-12  Dai Sato  
+
+	* another fix for [w3m-dev-en 01067] Some more patches
+	* file.c (loadBuffer): avoid decoding when dump_extra option is specified.
+
+2006-06-10  Dai Sato  
+
+	* fix for [w3m-dev-en 01067] Some more patches
+	* file.c (loadGeneralFile): avoid decoding when dump_extra option is specified.
+
+2006-06-10  Dai Sato  
+
+	* [w3m-dev 03992] Change to display progress status when dump_extra option is specified
+	* file.c (loadHTMLstream): Show progress status when dump_extra option is specified.
+
+2006-06-07  Dai Sato  
+
+	* [w3m-dev 04129] handling newlines in form values 
+	* parsetagx.c: don't delete newlines in hidden values.
+
+2006-05-29  Dai Sato  
+
+	* [w3m-dev-en 01067] Some more patches
+	* file.c, html.h, url.c: decode content-encoding in all situations.
+
+2006-05-29  Dai Sato  
+
+	* [w3m-dev-en 01067] Some more patches
+	* main.c: delete calls to GC from wrap_GC_warn_proc to avoid deadlocks.
+
+2006-05-29  Dai Sato  
+
+	* [w3m-dev-en 01067] Some more patches
+	* main.c: fix unsafe usages of SIGWINCH handler.
+
+2006-05-29  Dai Sato  
+
+	* [w3m-dev-en 01067] Some more patches
+	* keybind(_lynx).c, doc(-jp)/keymap.default: add SHIFT-TAB as a default binding for PREV_LINK.
+
+2006-04-08  Dai Sato  
+
+	* [w3m-dev 04154] Unclosed textarea in table
+	* table.c: close textarea when table related tags found.
+
+2006-04-08  Dai Sato  
+
+	* [w3m-dev 04153] NEXT_LINK error
+	* anchor.c, filc.c, fm.h: check A tag in HTMLlineproc2body().
+
+2006-04-08  Dai Sato  
+
+	* [w3m-dev 04152] [PATCH] Add more explanation for the usage of the option setting panel.
+	* doc(-jp)/FAQ.html, doc-jp/MANUAL.html: add explanations for .w3m/config and -o option.
+
+2006-04-08  Dai Sato  
+
+	* [w3m-dev 04150] vi-prec_num
+	* main.c: fix vi_prec_num switching.
+
+2006-04-08  Dai Sato  
+
+	* [w3m-dev 04146] disable HAVE_LANGINFO_CODESET on cygwin
+	* configure.ac: avoid AM_LANGINFO_CODESET check for Cygwin.
+
+2006-04-07  Dai Sato  
+
+	* [w3m-dev-en 01060] Some patches
+	* file.c, fm.h, rc.c: Introduce option show_cookie and set it TRUE by default. If set to FALSE received cookies will not be shown.
+	* This fixes Debian bug #253547: w3m: Too slow receiving cookies.
+
+2006-04-07  Dai Sato  
+
+	* [w3m-dev-en 01060] Some patches
+	* parsetagx.c: Replace '\n' (newline) with ' ' (space) in attributes of html tags instead of ignoring them.
+	* Fixes Debian bug #326167: w3m: new lines in hidden form fields are stripped
+
+2006-04-07  Dai Sato  
+
+	* [w3m-dev-en 01060] Some patches
+	* scripts/w3mman/w3mman*.in: Add w3mman -l  command line argument for viewing of local man files.
+	* Fixes Debian bug #138805: w3mman -l doesn't work.
+
+2006-04-07  Dai Sato  
+
+	* [w3m-dev-en 01060] Some patches
+	* libwc/detect.c: Use the hint instead of US_ASCII in wc_auto_detect.
+	* Fixes Debian bug #291735: w3m shouldn't "simplify" page's charset
+
+2006-04-07  Dai Sato  
+
+	* [w3m-dev-en 01060] Some patches
+	* Str.h, table.c: Use Strnew_charp() instead of the wrong Strnew().
+	* Fixes SF bug #895351 Strnew called with argument in table.c.
+
+2006-02-10  Dai Sato  
+
+	* http://dog.w3m.jp/bbs/spool/until200602.html#20060210153135@keijiwan
+	* url.c: replace pclose passed to localcgi_post/get() with fclose in openURL()
+
+2006-02-09  Dai Sato  
+
+	* http://vimrc.hp.infoseek.co.jp/w3m-pclose.html
+	* file.c: replace pclose with fclose in the end of uncompress_stream()
+
+2005-02-27  Fumitoshi UKAI  
+
+	* configure.ac: rename from configure.in. this is for autoconf2.50
+
+2005-02-27  NOMIYA Masaru 
+
+	* [w3m-dev 04143] Patch for OS/2
+	* config.h.in: ifdef HAVE_SETPGRP
+	* configure.in: define USE_BINMODE_STREAM for *os2-emx*
+	* islang.c: ULONG -> unsigned long
+	* main.c: ULONG -> unsigned long
+
+2005-02-15  Fumitoshi UKAI  
+
+	* [w3m-dev-en 01045] From newbie: problem with w3m-0.5.1 installation
+	* acinclude.m4 (AC_W3M_SSL): define USE_SSL after ssl library found
+
+2005-01-19  Kiyokazu SUTO 
+
+	* [w3m-dev 04133] mouse_end() should preced reset_tty()?
+	* terms.c (reset_exit): mouse_end() should precede reset_tty()
+
+2005-01-05  Kiyokazu SUTO 
+
+	* [w3m-dev 04130] [w3m-dev 04131] [w3m-dev 04132] Multiple challeges in *-Authenticate header
+	* file.c (skip_auth_token): added
+		(extract_auth_val): ',' is end of token
+		(extract_auth_param): use skip_auth_token
+		(AuthDigestCred): parse qop and calc cnonce correctly
+		(findAuthentication): use skip_auth_token
+
+2004-11-09  Fumitoshi UKAI  
+
+	* w3mimg/fb/fb_gdkpixbuf.c (fb_image_load):
+	  fix unused variable `i'
+	* w3mimg/x11/x11_w3mimg.c (x11_load_image):
+	  ditto
+
+2004-11-09  Hiroyuki Ito 
+
+	* [w3m-dev 04128] Re: w3mimgdisplay
+	* acinclude.m4 (AC_W3M_IMAGE): check not yes
+	* aclocal.m4, configure: regen
+	* w3mimg/fb/fb_gdkpixbuf.c (fb_image_load): 
+	   fb_image_fill in case GDK_PIXBUF_FRAME_DISPOSE
+	* w3mimg/x11/x11_w3mimg.c (get_animation_size):
+	   return n
+	  (x11_load_image): 
+	   fill in case GDK_PIXBUF_FRAME_DISPOSE
+
+2004-11-05  Hiroyuki Ito 
+
+	* [w3m-dev 04117] Re: start attribute and value attribute on ordered lists
+	* file.c (HTMLtagproc1): allow negative value for start attr
+
+2004-10-14  Fumitoshi UKAI  
+
+	* Bug#276246: w3m's locale parsing should at least see '@euro' modifier
+	* config.h (HAVE_LANGINFO_CODESET): added
+	* configure.in (AM_LANGINFO_CODESET): added
+	* libwc/charset.c: #include 
+	       (wc_charset_to_ces): use nl_langinfo(CODESET)
+
+2004-09-30  Hiroyuki Ito 
+
+	* [w3m-dev 04108] PIPE_BUF
+	* main.c (pipeBuf): set buf->currentURL.file to prevent
+		segfault by "PIPE_BUF cat;VIEW SOURCE;"
+
+2004-08-31  SAKAI Kiyotaka 
+
+	* [w3m-dev 04104] w3mmail.cgi
+	* scripts/w3mmail.cgi.in: strip ^M
+
+2004-08-17  Hiroyuki Ito 
+
+	* [w3m-dev 04099] Re: w3m-img gtk2
+	* w3mimg/fb/fb_gdkpixbuf.c (fb_image_load): fix resize bug
+
+2004-08-06  Hiroyuki Ito 
+
+	* [w3m-dev 04097] Re: w3m-img gtk2
+	* w3mimg/fb/fb_gdkpixbuf.c (draw): no need bg
+		(get_animation_size): use GTimeVal
+		(fb_image_load): use GTimeVal
+				fix for animation
+	* w3mimg/x11/x11_w3mimg.c (get_animation_size): use GTimeVal
+		(x11_load_image): use GTimeVal
+				fix for animation
+
+2004-08-05  Fumitoshi UKAI  
+
+	* [w3m-dev 04096] w3m-img gtk2
+	* acinclude.m4 (AC_W3M_IMAGE): add USE_GTK2
+		add --with-imagelib=gtk2
+	* aclocal.m4 config.guess config.sub configure: regen
+	* config.h.in: add USE_GTK2
+	* w3mimg/fb/fb_gdkpixbuf.c: support USE_GTK2
+	* w3mimg/fb/fb_img.h: add fb_image_init()
+	* w3mimg/fb/fb_imlib2.h: fb_image_init() stub
+	* w3mimg/fb/fb_w3mimg.c: call fb_image_init()
+	* w3mimg/x11/x11_w3mimg.c: support USE_GTK2
+
+2004-08-03  WATANABE Katsuyuki 
+
+	* [w3m-dev 04095] build fix when configure with --enable-messagel10n
+	* main.c (main): locale and textdomain initialization if ENABLE_NLS
+	* menu.c (initMenu): use _() instead of gettext()
+	* rc.c (show_params): use _() instead of gettext()
+
+2004-07-18  WATANABE Katsuyuki 
+
+	* [w3m-dev 04094] Re: option panel: gettextize select list
+	* rc.c (load_option_panel): don't gettext&wc_conv colorstr 
+					several times
+
+2004-07-16  WATANABE Katsuyuki 
+
+	* [w3m-dev 04093] bookmark charset
+	* add global variable: BookmarkCharset.
+	* main.c:adBmark(): remove condition LANG = JA.
+	* main.c: buffername encode by BookmarkCharset when add bookmark.
+	* main.c: BookmarkCharset pass to w3mbookmark.
+	* w3mbookmark.c: ditto.
+
+2004-07-16  WATANABE Katsuyuki 
+
+	* [w3m-dev 04092] remove __CYGWIN__ && LANG == JA
+	* remove condition LANG == JA && __CYGWIN__
+	* cygwin_mouse_btn_swapped enabled when before 1.5.x 
+
+2004-07-16  WATANABE Katsuyuki 
+
+	* [w3m-dev 04091] option panel: gettextize select list
+	* rc.c: gettextize option select list.
+	* rc.c: add gettextize message.
+	* po/w3m.pot: ditto.
+	* po/ja.po: ditto.
+
+2004-07-14  Fumitoshi UKAI  
+
+	* Debian Bug#259053
+	* doc/FAQ.html, doc-jp/FAQ.html: ~/.mailcap -> ~/.w3m/mailcap
+
+2004-05-11  Fumitoshi UKAI  
+
+	* based on [w3m-dev 04079]
+	  SAKAI Kiyotaka 
+	* Makefile.in: (libwc/libwc.a): always make in libwc subdir
+		(w3mimg/w3mimg.a): always make in w3mimg subdir
+
+2004-05-03  Fumitoshi UKAI  
+
+	* [w3m-dev-en 01007]
+	* libwc/Makefile.in (CFLAGS): need @CPPFLAGS@
+
+2004-05-03  Fumitoshi UKAI  
+
+	* version.c.in: cvs version
+
+2004-04-29  Fumitoshi UKAI  
+
+	* w3m 0.5.1
+	* version.c.in: update
+	* doc/README: version 0.5, release date, maintainer
+	* doc-jp/README: ditto
+	* NEWS: update
+	* configure.in: version 0.5.1
+	* po/w3m.pot, ja.po: update-po
+
+2004-04-27  SAKAI Kiyotaka 
+
+	* [w3m-dev 04068] install-sh problem
+	 [w3m-dev 04069] install-sh problem 2
+	* Makefile.in (MAKE_ARGS): delete INSTALL
+	* install-sh: replace with X Consortium install-sh (from automake)
+
+2004-04-27  Fumitoshi UKAI  
+
+	* [w3m-dev 04073] Re: run configure in another directory
+	* Makefile.in (CFLAGS): include dir here
+		(DEFS): delete include dirs
+		(libwc/libwc.a): pass OPTS only
+		(w3mimg/w3mimg.a): pass OPTS only
+	* libwc/Makefile.in (CFLAGS): fixed
+	* w3mimg/Makefile.in (CFLAGS): added
+		(fb x11): pass OPTS only
+	* w3mimg/fb/Makefile.in (CFLAGS): added
+	* w3mimg/x11/Makefile.in (CFLAGS): added
+
+2004-04-23  SAKAI Kiyotaka 
+
+	* [w3m-dev 04066] --disable-color
+	* rc.c (load_option_panel): #ifdef USE_COLOR
+
+2004-04-22  Masao Uebayashi 
+
+	* fix build error for --enable-m17n --disable-unicode
+	* libwc/detect.c (wc_create_detect_map): #ifdef USE_UNICODE
+
+2004-04-17  Fumitoshi UKAI  
+
+	* [w3m-dev 04064] authentication
+	 closes: Bug#:244029: w3m: HTTP basic authentication annoyance
+	* fm.h (auth_cookie): deleted
+	* proto.h (find_auth_cookie): deleted
+		(add_auth_cookie): deleted
+		(add_auth_user_passwd): added
+		(invalidate_auth_user_passwd): added
+	* etc.c (auth_pass): add bad flag
+			delete file
+		(dir_under): deleted
+		(add_auth_pass_entry): add override flag
+			no need to check file
+		(find_auth_pass_entry): delete file
+			check bad flag
+			check uname
+		(find_auth_user_passwd): find by pu->user
+		(add_auth_user_passwd): added
+		(invalidate_auth_user_passwd): added
+		(parsePasswd): add no override
+			ignore file
+		(find_auth): deleted
+		(find_auth_cookie): deleted
+		(dump_auth_cookie): deleted
+		(add_auth_cookie): deleted
+	* file.c (getAuthCookie): add *uname, *pwd
+			rewrite
+		(loadGeneralFile): delete ss, add uname, pwd
+			use add_auth_user_passwd instead of add_auth_cookie
+	* url.c (HTTPrequest): don't authorization here
+			it should be done in getAuthCookie in loadGeneralFile
+			through extra_header
+	* ftp.c (openFTPStream): add uname
+			use find_auth_user_passwd instead of find_auth_cookie
+			use add_auth_user_passwd instead of add_auth_cookie
+
+2004-04-10  SAKAI Kiyotaka 
+
+	* [w3m-dev 04063] about Makefile
+	* Makefile.in (DEFS): use CGIBIN_DIR instead of LIB_DIR
+		(MAKE_ARGS): ditto
+		(distclean): rm -f
+	* config.h.dist: use CGIBIN_DIR instead of LIB_DIR
+	* indep.c (w3m_lib_dir): ditto
+	* scripts/Makefile.in: ditto
+	* scripts/multipart/Makefile.in: ditto
+	* w3mimg/Makefile.in (clearn): remove w3mimg.a
+
+2004-04-05  AIDA Shinra 
+
+	* [w3m-dev 04049] w3m-cvs-1.914-misc.patch
+	* Makefile.in (funcname.tab): dont modify when target is unchanged.
+		(CFLAGS): need $(CPPFLAGS)?
+	* config.h.in: add HAVE_STDINT_H, HAVE_INTTYPES_H
+	* configure.in: s/AC_CANONICAL_SYSTEM/AC_CANONICAL_HOST/
+		don't use AC_CYGWIN
+		don't use $CYGWIN, use $host_os *cygwin*
+		AC_DEFINE in AC_CHECK_HEADER (float.h, sys/select.h)
+		add stdint.h, inttypes.h
+	* etc.c (find_auth_pass_entry): host is case insensitive
+	* libwc/wc_types.h: use stdint.h or inttypes.h
+	* main.c (MAIN); need GC_init()
+	
+2004-04-01  Fumitoshi UKAI  
+
+	Debian Bug#241192 w3m ipv6 FQDN resolution failure
+	* etc.c (FQDN): need to set ai_flags AI_CANONNAME, since we need
+		ai_canonname here. 
+
+2004-03-31  AIDA Shinra 
+
+	* [w3m-dev 04050] SSL verify
+	* url.c (openSSLHandle): don't load verify locations if 
+		both ssl_ca_file and ssl_ca_path is NULL.
+
+2004-03-24  Fumitoshi UKAI  
+
+	* fix search problem on different charset page than display charset
+	* proto.h (conv_search_string): added
+	* search.c (migemostr): use conv_search_string
+		(conv_search_string): added
+	* main.c (srchcore): use conv_search_string
+		(reMark): ditto
+	* menu.c (menu_search_forward): ditto
+		(menu_search_backward): ditto
+		(menu_search_next_previous): ditto
+
+2004-03-23  Fumitoshi UKAI  
+
+	* rc.c: cleanup LANG == JA
+
+2004-03-23  Fumitoshi UKAI  
+
+	* main.c (main): DisplayCharset also follow locale
+
+2004-03-23  Fumitoshi UKAI  
+
+	* scripts/w3mhelp.cgi.in: use charset parramter
+	* scripts/w3mhelp-funcdesc.en.pl.in: add charset
+	* scripts/w3mhelp-funcdesc.ja.pl.in: ditto
+
+2004-03-22  Fumitoshi UKAI  
+
+	* main.c (main): don't use SystemCharset for default of
+		DisplayChaset, DocumentCharset
+
+2004-03-22  Fumitoshi UKAI  
+
+	* w3m 0.5
+	* version.c.in: update
+	* doc/README: version 0.5, release date, maintainer
+	* doc-jp/README: ditto
+	* NEWS: update
+
+2004-03-22  Fumitoshi UKAI  
+
+	* main.c (main): DisplayCharset and DocumentCharset also follow 
+	    locale configuration
+	* Makefile.in (distclean): distclean libwc
+	* libwc/Makefile.in: add distclean
+	* scripts/multipart/Makefile.in: add distclean
+	* scripts/w3mman/Makefile.in: add distclean
+	* scripts/Makefile.in: add distclean
+
+2004-03-22  Fumitoshi UKAI  
+
+	* w3mimg/Makefile.in (distclean): rm -f w3mimg.a
+
+2004-03-22  Akihiro Sagawa 
+
+	* [w3m-dev 04046]
+	* configure.in (AC_W3M_IPv6): should check it after ext libs
+
+2004-03-22  Akihiro Sagawa 
+
+	* [w3m-dev 04045]
+	* Makefile.in (DEFUNS): need $(top_srcdir)
+
+2004-03-21  Fumitoshi UKAI  
+
+	* Makefile.in (install-po): fix for broken sh.
+	  reported in [w3m-dev 04043] Re: w3m 0.5
+
+2004-03-13  Fumitoshi UKAI  
+
+	* [w3m-dev 04041] spell-miss in configure
+	* acinclude.m4 (AC_W3M_M17N): fix help-string
+		suggested by sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane)
+
+2004-02-06  MANTANI Nobutaka 
+
+	* [w3m-dev 04038] --disable-m17n problem in form.c
+	* form.c (form_update_line): fix for disable-m17n
+
+2004-01-10  ABE Yuji 
+
+	* [w3m-dev 04030] PUSH_TAG macro
+	* table.c (PUSH_TAG): fixed problem in --disable-m17n
+
+2003-12-09  WATANABE Katsuyuki 
+
+	* [w3m-dev 04025] mismatch message in ja.po
+	* po/ja.po: fix wrong messages
+
+2003-12-09  WATANABE Katsuyuki 
+
+	* [w3m-dev 04024] fix: drive letter
+	* url.c (parseURL2): fix for SUPPORT_DOS_DRIVE_PREFIX
+
+2003-12-09  YONETANI Tomokazu 
+
+	* [w3m-dev 04022] $^
+	* Makefile.in (DEFUNS): added
+		funcname.tab: don't use $^
+	* w3mimg/Makefile.in (w3mimg.a): don't use $^
+
+2003-12-09  Kiyokazu SUTO 
+
+	* [w3m-dev 04021] Deeply nested table
+	* file.c (completeHTMLstream): check obuf->table_level
+
+2003-10-26  Fumitoshi UKAI  
+
+	* Bug#217509: segfaults if TERM is not set
+	* terms.c (check_cygwin_console): check TERM==NULL
+		(set_tty): check TERM==NULL
+
+2003-10-23  ABE Yuji 
+
+	* [w3m-dev 04011] accessing to an `https' URI with a fragment via a proxy
+	* url.c (HTTPrequestURI): drop fragment
+		(openURL): don't clear pu->label
+
+2003-10-23  ABE Yuji 
+
+	* [w3m-dev 04010] support for deprecated __ss_family
+	* acinclude.m4 (AC_W3M_IPv6): check __ss_family
+	* config.h.in: add HAVE_OLD_SS_FAMILY
+	* ftp.c (ftp_pasv): ifdef HAVE_OLD_SS_FAMILY
+
+2003-10-23  ABE Yuji 
+
+	* [w3m-dev 04009] ./configure --disable-image problem
+	* file.c (loadHTMLstream): if defined(USE_M17N)
+
+2003-10-22  Fumitoshi UKAI  
+
+	* [w3m-dev 04006] checking GC_version for libgc
+	 reported by SAKAI Kiyotaka 
+	* acinclude.m4 (AC_W3M_GC): check GC_init instead of GC_version
+
+2003-10-21  SAKAI Kiyotaka 
+
+	* [w3m-dev 03996] HELP_DIR and funcname.tab
+	* configure.in (HELP_DIR): don't eval 
+	* scripts/w3mhelp.cgi: subst @prefix@ for $helpdir
+
+2003-10-21  Fumitoshi UKAI  
+
+	* #include 
+	 suggested by ABE Yuji 
+	 [w3m-dev 03998] problem about pkg-config check for OpenSSL
+	* html.h: #include 
+	* istream.c: ditto
+	* istream.h: ditto
+	* url.c: ditto
+
+2003-10-20  ABE Yuji 
+
+	* [w3m-dev 04002] Re: function and w3m-control
+	* url.c (getURLScheme): accept numeric in scheme
+
+2003-10-18  Fumitoshi UKAI  
+
+	* [w3m-dev 03996] HELP_DIR and funcname.tab
+	  reported by SAKAI Kiyotaka 
+	* configure.in: don't use posix shell syntax $(..)
+	* funcname.tab: deleted
+
+2003-10-11  Fumitoshi UKAI  
+
+	* scripts/Makefile.in (w3mhelp-funcname.pl): depends ../funcname.tab
+	* Makefile.in (IMGOBJS): deleted
+		(indep.o): depends on fm.h funcname1.h
+		(IMGDISPLAY): depends on w3mimg/w3mimg.a
+		(w3mimg/w3mimg.a): renamed from w3mimg
+	* acinclude.m4 (AC_W3M_IMAGE): modify IMBOBJS 
+	* w3mimg/Makefile.in (AR): added
+			(RANLIB): added
+			(IMGOBJS): added
+			(w3mimg.a): added
+
+2003-10-11  qhwt@myrealbox.com
+
+	* [w3m-dev 03990] Re: post-m17n merge problem?
+	* Makefile.in (MAN1): need $(top_srcdir)
+			(MAN1_JA): ditto
+			(LOBJS): depends on fm.h funcname1.h
+			(INFLATE): depends on $(ALIB)
+			(libwc/libwc.a): renamed from libwc
+			(IMGDISPLAY): depends on $(IMGOBJS) instead of w3mimg
+				  depends on $(ALIB)
+			(w3mimgdisplay.o): depends on w3mimg/w3mimg.h
+	* acinclude.m4 (AC_W3M_M17N): WCTARGET is libwc/libwc.a
+	* configure.in (HELP_DIR): expand ${prefix}
+
+2003-10-08  Hironori SAKAMOTO 
+
+	* [w3m-dev 03985] Re: support for 307 Temporary Redirect
+	* file.c (loadGeneralFile): support 307 Temporary Redirect
+
+2003-10-06  Fumitoshi UKAI  
+
+	* fix build error --disbable-m17n
+	* config.h.in: undef USE_M17N, USE_UNICODE
+	* etc.c (url_unquote_conv): USE_M17N
+	* file.c (convertLine): USE_M17N
+		(loadHTMLStream): fix ifdef USE_IMAGE->USE_M17N
+		(loadBuffer): fix USE_M17N
+		(getNextPage): fix USE_M17N
+	* fm.h (USE_M17N): don't define USE_M17N in case LANG == JA
+			(this should be done by configure)
+		(wc_ces): dummy typedef
+		(wc_Str_conv): fix non-m17n macro args
+		(wc_Str_conv_strict): ditto
+	* ftp.c (loadFTPDir): fix undefined USE_M17N
+	* mimehead.c (decodeWord): ditto
+		(decodeMIME): ditto
+	* news.c (loadNewsgroup): ditto
+	* proto.h (convertLine): ditto
+		(loadGopherDir): ditto
+		(loadFTPDir): ditto
+		(loadNewsgroup): ditto
+		(decodeWord): ditto
+		(decodeMIME): ditto
+		(url_unquote_conv): ditto
+	* terms.c (SETCH): ditto
+
+2003-10-06  Fumitoshi UKAI  
+
+	* --with-imagelib request on [w3m-dev 03981]
+	 from Mamoru KOMACHI 
+	* acinclude.m4 (AC_W3M_IMAGE): add --with-imagelib
+
+2003-10-06  Fumitoshi UKAI  
+
+	* fix problem reported on [w3m-dev 03981]
+	  from Mamoru KOMACHI 
+	* configure.in: add AC_SUBST(HELP_DIR)
+	* Makefile.in (HELP_DIR): use AC_SUBT(HELP_DIR)
+	* scripts/Makefile.in: add PACKAGE, VERSION, DOMAIN
+			use PACKAGE instead of package: 
+			 CGIBIN_DIR,AUXBIN_DIR,CONF_DIR
+			add HELP_DIR
+			add SUBDIRS
+			(install unstall): do $(SUBDIRS)
+	* scripts/multipart/Makefile.in: add PACKAGE,VERSION,DOMAIN
+			use PACKAGE instead of package: 
+			 CGIBIN_DIR,AUXBIN_DIR,CONF_DIR
+			add HELP_DIR
+	* scripts/w3mman/Makefile.in: add PACKAGE,VERSION,DOMAIN
+			use PACKAGE instead of package: 
+			 CGIBIN_DIR,AUXBIN_DIR,CONF_DIR
+			add HELP_DIR
+			add BIN_DIR, MAN1_DIR
+			LIB_TARGETS->CGIBIN_TARGETS
+			fix INSTALL_MAN
+	* scripts/w3mman/w3mman.1.in: 
+			change @LIB_DIR@ to @libexecdir@/@PACKAGE@/cgi-bin/
+
+2003-10-01  Akira TAGOH 
+
+	* acinclude.m4 (AC_W3M_SSL): use PKG_CHECK_MODULES
+
+2003-09-29  Fumitoshi UKAI  
+
+	* Makefile.in (distclean): remove posubst
+	* Makefile.in (functable.c): fix cannot open file `b' for reading
+
+2003-09-27  Fumitoshi UKAI  
+
+	* funcname.tab: generated from DEFUN
+	* main.c menu.c: use DEFUN
+	* conv.c ucs_eucjp.h ucs_latin1.h: deleted
+
+2003-09-26  Fumitoshi UKAI  
+
+	* add posubst,  compile-time message l10n
+	* Makefile.in: @POSUBST@
+	* acinclude.m4(AC_W3M_M17N): add POSUBST, POLANG
+		--enable-messagel10n
+	* configure.in (W3M_LANG): subst
+		(AM_GET_GNUTEXT): if messagel10n enabled, don't use NLS
+		(AC_OUTOUT): add posubst, chmod +x
+	* menu.c: remove if LANG == JA messages
+	* rc.c: ditto
+
+2003-09-26  Fumitoshi UKAI  
+
+	* remove ./intl
+	* configure.in: external fo AM_GNU_GETTEXT
+	* Makefile.in: remove intl, INTLTARGET
+
+2003-09-25  Fumitoshi UKAI  
+
+	* fix [w3m-dev 03975] Re: gettextize
+	* Makefile.in: add INTLTARGET, NLSTARGET
+		cleanup
+	* configure.in: INTLTARGET=intl,NLSTARGET=po if USE_NLS
+
+2003-09-25  Fumitoshi UKAI  
+
+	* gettextize
+	* Makefile.in: updated
+	* menu.c: gettextize
+	* rc.c: gettextize
+	* intl/.cvsignore: added
+	* po/.cvsignore: added
+	* po/Makevars: added
+	* po/Makevars.template: removed
+	* po/POTFILES.in: updated
+	* po/w3m.pot: created
+	* po/ja.po: created
+
+2003-09-24  Fumitoshi UKAI  
+
+	* based on [w3m-dev 03970]
+	  SAKAI Kiyotaka 
+	* acinclude.m4 (AC_W3M_IMAGE): add IMGTARGETS
+	* w3mimg/Makefile.in (all): use @IMGTARGETS@
+
+2003-09-24  Fumitoshi UKAI  
+
+	* gettextize initial modifications
+	* configure.in Makefile.in aclocal.m4 config.h.in: 
+		update to support NLS
+	* ABOUT-NLS: added
+	* config.rpath: added
+	* mkinstalldirs: added
+	* intl/: added
+	* po/: added
+	* fm.h: NLS support
+	* main.c (main): add gettext trigger
+
+2003-09-23  Fumitoshi UKAI  
+
+	* more autoconfisicate
+
+2003-09-23  Fumitoshi UKAI  
+
+	* merge m17n patch (w3m-0.4.1-m17n-20030308.patch.gz)
+	* add libwc
+
+2003-09-23  Fumitoshi UKAI  
+
+	* version.c.in: cvs version
+
+2003-09-23  Fumitoshi UKAI  
+
+	* w3m 0.4.2
+	* version.c.in: update
+	* doc/README: version 0.4.2, release date
+	* doc-jp/README: ditto
+	* NEWS: update
+
+2003-09-23  Fumitoshi UKAI  
+
+	* [w3m-dev 03967] Re: IPv4/IPv6 only option patch
+	* NEWS: options: -4, -6
+	* fm.h (DNS_ORDER_INET_ONLY): added
+		(DNS_ORDER_INET6_ONLY): added
+		(ai_family_order_table): [3]->[7]
+	* main.c (fusage): add -4/-6
+		(main): -4/-6 mapped to dns_order=4/dns_order=6
+	* rc.c (dnsorders): add DNS_ORDER_INET_ONLY, DNS_ORDER_INET6_ONLY
+	* url.c (dnsorders): add 3-6
+
+2003-09-16  Hiroyuki Ito 
+
+	* [w3m-dev 03960] 
+	* acinclude.m4 (AC_W3M_CHECK_VER): fix version check logic
+
+2003-08-30  Fumitoshi UKAI  
+
+	* [w3m-dev 03958] w3mimgdisplay on jfbterm
+	* w3mimg/fb/fb_w3mimg.c (w3mimg_fbopen): check TERM=jfbterm
+
+2003-08-29  Hironori SAKAMOTO 
+
+	* [w3m-dev 03957] Location: from local-CGI
+	* file.c (loadGeneralFile): don't parse header for local file
+		redirected by Location: from local-CGI
+
+2003-08-12  TSUCHIYA Masatoshi 
+
+	* [w3m-dev 03950] rel attribute of anchor tag
+	* html.c (ALST_A): add ATTR_REL
+		(MAXA_A): +1
+
+2003-07-27  Hironori SAKAMOTO 
+
+	* [w3m-dev 03945] Re: application/xhtml+xml support
+	* Makefile.in (ETC_DIR): added
+		(CONF_DIR): added
+		(DEFS): add CONF_DIR
+		(MAKE_ARGS): add CONF_DIR
+	* config.h.in (SYS_MAILCAP): use CONF_DIR
+		(SYS_URIMETHODMAP): use CONF_DIR
+	* func.c (sys_current_keymap_file): added
+		(interpret_keymap): added
+		(initKeymap): use interpret_keymap
+		(interpret_mouse_action): added
+		(initMouseAction): use interpret_mouse_action
+	* indep.c (w3m_conf_dir): added
+	* indep.h (w3m_conf_dir): added
+	* menu.c (interpret_menu): added
+		(initMenu): use interpret_menu
+	* proto.h (confFile): added
+	* rc.c (init_rc): read config file by interpret_rc
+		(confFile): added
+
+2003-07-23  Takahashi Youichirou 
+
+	* [w3m-dev 03942] Save history
+	* history.c (saveHistory): check tmpfile write error
+
+2003-07-23  Hironori SAKAMOTO 
+
+	* [w3m-dev 03941] fix character encoding for 'v'
+	* main.c (vwSrc): use document_code as DisplayCode
+
+2003-07-23  Yoshinobu Sakane 
+
+	* [w3m-dev 03939] next/prev visited link
+	* funcname.tab (NEXT_VISITED): added
+		(PREV_VISITED): added
+	* main.c (_nextA): added
+		(_prevA): added
+		(nextVA): added
+		(prevVA): added
+	* proto.h (nextVA): added
+		(prevVA): added
+	* doc/README.func (NEXT_VISITED): added
+		(PREV_VISITED): added
+	* doc-jp/README.func (NEXT_VISITED): added
+		(PREV_VISITED): added
+	* NEWS: func: NEXT_VISITED, PREV_VISITED
+	
+
+2003-07-14  Hiroyuki Ito 
+
+	* [w3m-dev 03938] clear region margin
+	* w3mimgdisplay.c (clearMargin): added
+		(GetOption): add -margin
+		(ClearImage): clear margin
+	* w3mi,g/w3mimg.h (w3mimg_op): clear_margin
+	* w3mimg/fb/fb.c (fb_clear): x,y must be >= 0
+	* w3mimg/x11/x11_w3mimg.c (x11_clear): x,y must be >= 0
+
+2003-07-14  Hironori SAKAMOTO 
+
+	* [w3m-dev 03937] 
in
+ * table.c (feed_table_tag): fix
,
,
,
, +

,
,,, + check_rowcol() for + +2003-07-10 Fumitoshi UKAI + + * w3mimg/fb/fb_img.h (get_image_size): add missing prototypes + * w3mimg/fb/fb.c (fb_clear): unused variable `j' + +2003-07-09 Hiroyuki Ito + + * [w3m-dev 03935] Re: clear image + * w3mimg/fb/fb.c (fb_get_packed_color): added + (fb_image_pset): use fb_get_packed_color + (fb_image_fill): use fb_get_packed_color + (fb_clear): use tmp to store pixels + +2003-07-09 ABE Yuji + + * [w3m-dev 03934] Re: clear image + * w3mimg/x11/x11_w3mimg.c (x11_clear): s/FALSE/False/ + +2003-07-09 Hironori SAKAMOTO + + * [w3m-dev 03931] Re: clear image + * w3mimgdisplay.c (ClearImage): offset + * w3mimg/fb/fb.c (fb_clear): memcpy by pixel_size + +2003-07-08 Hironori SAKAMOTO + + * [w3m-dev 03929] clear image + * image.c (syncImage): added + (drawImage): rewrite using syncImage() + (clearImage): use clear image command (6) + * w3mimgdisplay.c: change protocol + 2 => terminate drawing + 6 => clear image + (main): '2' calls TermImage() + '6' calls ClearImage() + TermImage() when exit + (TermImage): renamed from ClearImage + (ClearImage): rewritten to call w_op->clear() + * w3mimg.h/w3mimg.h (w3mimg_op): add clear() + * w3mimg/fb/fb.c (fb_clear): added + * w3mimg/fb/fb.h (fb_clear): added + * w3mimg/fb/fb_img.c (fb_image_clear): added + * w3mimg/fb/fb_w3mimg.c (w3mfb_clear): added + (w3mimg_fbopen): initialize wop->clear + * w3mimg/x11/x11_w3mimg.c (x11_clear): added + (w3mimg_x11open): initialize wop->clear + +2003-07-08 Hironori SAKAMOTO + + * [w3m-dev 03927] deflate + * file.c (compression_decoder): .deflate for application/x-deflate's + extension + +2003-06-19 Fumitoshi UKAI + + * [w3m-dev 03916] Re: charset attribute of anchor tag + requested by TSUCHIYA Masatoshi + for emacs-w3m + * html.c (ALST_A): add ATTR_CHARSET + (MAXA_A): +1 + +2003-06-18 ABE Yuji + + * [w3m-dev 03914] a fragment in the Referer URI + * url.c (otherinfo): strip URI fragment + +2003-06-13 Hiroyuki Ito + + * [w3m-dev 03913] fix gif animation support + * w3mimg/fb/fb_gdkpixbuf.c (fb_image_load): fix gif animation + * w3mimg/x11/x11_w3mimg.c (x11_load_image): ditto + +2003-05-15 Akinori Ito + + * [w3m-dev 03902] Re: table rendering + * table.c (check_relative_width): check n_leftcell + check w <= r + +2003-05-14 ABE Yuji + + * [w3m-dev 03901] body with status-code 401 + * file.c (loadGeneralFile): show page when 401, 407 + +2003-05-14 Hironori SAKAMOTO + + * [w3m-dev 03900] Re: table rendering + * table.c (check_relative_width): j loop starts from 0 + +2003-05-14 SAKAI Kiyotaka + + * [w3m-dev 03899] minor fixes + * acinclude.m4: fix s/SSLCFLAGS/SSL_CFLAGS/ + * doc/README: update, fix typo + * doc-jp/FAQ.html: update, fix URL + * doc-jp/README: update + * doc-jp/README.SSL: update + * doc-jp/README.cookie: update + * doc-jp/README.img: update URL + * doc-jp/README.migemo: update + * doc-jp/STORY.html: fix URL + +2003-05-14 Akinori Ito + + * [w3m-dev 03898] Re: table rendering + * table.c (check_relative_width): added + (set_table_matrix): use check_relative_width + +2003-05-13 Hironori SAKAMOTO + + * [w3m-dev 03896] html_quote in textarea in frame + * frame.c (createFrameFile): fix html_quote in textarea in frame + +2003-05-13 Hironori SAKAMOTO + + * [w3m-dev 03895] type=image support of pre_form + * form.c (loadPreFOrm): add image + (preFormUpdateBuffer): add FORM_INPUT_IMAGE + * doc/README.pre_form: update + * doc-jp/README.pre_form: ditto + +2003-05-11 Fumitoshi UKAI + + * [w3m-dev 03891] Re: urimethodmap and relative URL + * url.c (parseURL2): copy scheme part into pu->file when SCM_UNKNOWN + +2003-05-07 Hiroyuki Ito + + * [w3m-dev 03889] Progress bar in Download List Panel + * main.c (DownloadListBuffer): calculation in double + +2003-05-07 SAKAI Kiyotaka + + * [w3m-dev 03888] autodetect ssl + * acinclude.m4 (AC_W3M_SSL): use SSL_* + * configure.in: move AC_W3M_SSL after AC_W3M_EXTLIBS + +2003-05-03 Hiroyuki Ito + + * [w3m-dev 03887] Re: I-search problem + * main.c (dispincsrch): don't move cursor if not found. + +2003-04-27 qhwt@myrealbox.com + + * [w3m-dev 03886] Re: POSTing patch (Re: User-Agent for Bonus/2ch.cgi) + * Bonus/2ch.cgi: posting + +2003-04-20 qhwt@myrealbox.com + + * [w3m-dev 03883] User-Agent for Bonus/2ch.cgi + * Bonus/2ch.cgi: User-Agent + +2003-04-19 Fumitoshi UKAI + + * [w3m-dev 03882] Re: Bug#189460: w3m: tag is not recognized + * file.c (HTMLtagproc1): add HTML_Q, HTML_N_Q + * html.c (TagMAP): add "q", "/q" + * html.h (HTML_Q): added + (HTML_N_Q): added + * tagtable.tab: add q, /q + +2003-04-15 Hironori SAKAMOTO + + * [w3m-dev 03880] Re: convert \ -> / in URL + * Bonus/backslash_to_slash.cgi: added + +2003-04-15 Masanori Kobayasi + + * [w3m-dev 03878] I-search problem + * linein.c (inputLineHistSearch): don't call incrfunc twice + * main.c (dispincsrch): fix search loop problem + +2003-04-14 Fumitoshi UKAI + + * [w3m-dev 03875] Re: SSL & compressed stream + * file.c (loadGeneralFile): check t_buf != NULL + * url.c (openURL): don't initialize URLFile here + (init_stream): 0 clear URLFile + +2003-04-14 Fumitoshi UKAI + + * [w3m-dev 03873] SSL & compressed stream + * file.c (loadGeneralFile): always update ssl_certificate + * url.c (openURL): initialize URLFile + +2003-04-12 NAKAJIMA Mikio + + * [w3m-dev 03872] goodict.cgi + * Bonus/goodict.cgi: adapt new goo dict web page + +2003-04-11 Fumitoshi UKAI + + * configure.in (AUXBIN_TARGETS): don't reset, move to head + +2003-04-10 Fumitoshi UKAI + + * [w3m-dev 03870] Re: configure --help + * acinclude.m4 (AC_W3M_IMAGE): fix help message + (AC_W3M_SSL): fix typo + +2003-04-09 Fumitoshi UKAI + + * [w3m-dev 03865] Re: configure --help + * acinclude.m4 (AC_W3M_ANSI_COLOR): depends USE_COLOR + (AC_W3M_BG_COLOR): depends USE_COLOR + (AC_W3M_W3MMAILER): depends external_uri_loader + * fm.h: undef USE_BG_COLOR ifndef USE_COLOR + +2003-04-09 Fumitoshi UKAI + + * [w3m-dev 03864] doc/README + * doc/README doc-jp/README: update + +2003-04-09 Hironori SAKAMOTO + + * [w3m] local cookie string is too easy to guess. + * fm.h (Local_cookie): deleted + * local.c (Local_cookie): static + (writeLocalCookie): localCookie() + (setLocalCookie): deleted + (localCookie): added + * main.c (main): delete srand48(), setLocalCookie() + (adBmark): s/Local_cookie/localCookie()/ + * proto.h (setLocalCookie): deleted + (localCookie): added + * rc.c (load_option_panel): s/Local_cookie/localCookie()/ + +2003-04-08 Fumitoshi UKAI + + * [w3m-dev 03858] configure cleanup + * acinclude.m4 configure.in: update + +2003-04-08 Fumitoshi UKAI + + * [w3m-dev 03856] + * backend.c entity.c fm.h hash.c indep.c indep.h matrix.c + textlist.c: s/"gc.h"// + +2003-04-08 ABE Yuji + + * [w3m-dev 03849] fix no INET6 + * ftp.c: no need ifdef INET6 + +2003-04-08 Hironori SAKAMOTO + + * [w3m-dev 03846] fix use_history + * main.c (main): move loadHistory + +2003-04-08 Hironori SAKAMOTO + + * [w3m-dev 03844] w3mhelp.cgi update + * scripts/w3mhelp-funcdesc.en.pl.in: add %menu_funcdesc + * scripts/w3mhelp-funcdesc.ja.pl.in: add %menu_funcdesc + update %title + * scripts/w3mhelp-funcname.pl.in: add %menu_funcname + add %menu_keyfunc + * scripts/w3mhelp.cgi.in: modified for menu + link to keymap + +2003-04-07 Fumitoshi UKAI + + * [w3m-dev 03843] cleanup macros + * config.h.dist config.h.in etc.c file.c fm.h ftp.c linein.c + main.c rc.c: + delete EMACS_LIKE_LINEEDIT, VI_PREC_NUM, LABEL_TOPLINE, + NEXTPAGE_TOPLINE, FTPPASS_HOSTNAMEGEN + use_mark default FALSE + emacs_like_lineedit default FALSE + vi_prec_num default FALSE + add UseHistory, use_history + * NEWS: rc: use_history + +2003-04-05 ABE Yuji + + * [w3m-dev 03838] W3M_LIBS splitted from LIBS + * Makefile.in (W3M_LIBS): added + * acinclude.m4 (AC_W3M_TERMLIB): use W3M_LIB + (AC_W3M_SSL): ditto + * configure.in (W3M_LIBS): added + +2003-04-04 Hiroyuki Ito + + * [w3m-dev 03837] Re: gif animation with no delay_time + * w3mimg/fb/fb_gdkpixbuf.c (get_animation_size): add delay + check delay_time + (get_image_size): no need delay time + (fb_image_load): check delay + (draw): no bg + * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): delete delay skip loop + * w3mimg/x11/x11_w3mimg.c (get_animation_size): add delay + check delay_time + (x11_load_image): check delay + (x11_get_image_size): no need delay time + +2003-03-28 Dai Sato + + * doc(-jp)/keymap.default: ';' is quoted + +2003-03-28 Dai Sato + + * Makefile.in: distclean removes core + +2003-03-28 Hironori SAKAMOTO + + * [w3m-dev 03836] CFLAGS for SSL in configure + * acinclude.m4 (AC_W3M_SSL): add -I$dir/include to CFLAGS + +2003-03-28 ABE Yuji + + * [w3m-dev 03834] Re: gif animation with no delay_time + * w3mimg/x11/x11_w3mimg.c (x11_load_image): fix delay check + +2003-03-27 ABE Yuji + + * [w3m-dev 03833] gif animation with no delay_time + * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): skip delay<=0 + * w3mimg/x11/x11_w3mimg.c (x11_image): add delay + (x11_img_new): initialize delay + (x11_load_image): initialize delay + (x11_show_image): jump to last image if delay<=0 + +2003-03-27 WATANABE Katsuyuki + + * [w3m-dev 03831] fix typo + * acinclude.m4 (AC_W3M_LANG): SYSTEM_CODE + * configure.in: fix typo CYGIN + +2003-03-27 Hiroyuki Ito + + * [w3m-dev 03830] Image size of gif animation + * w3mimg/fb/fb_gdkpixbuf.c (get_animation_size): added + (get_image_size): use get_animation_size() + (fb_image_load): ditto + * w3mimg/x11/x11_w3mimg.c (get_animation_size): added + (x11_load_image): use get_animation_size() + (x11_get_image_size): ditto + +2003-03-25 Hiroyuki Ito + + * [w3m-dev 03829] w3mimgdisplay -anim + * w3mimgdisplay.c (maxAnim): added, default 100 + (main): add --anim option, w_op->max_anim + * w3mimg/w3mimg.h (w3mimg_op): add max_anim + * w3mimg/fb/fb_gdkpixbuf.c (fb_image_load): add max_anim + * w3mimg/fb/fb_img.h (fb_image_load): add max_anim args + * w3mimg/fb/fb_imlib2.c (fb_image_load): add max_anim args + * w3mimg/fb/fb_w3mimg.c (w3mfb_load_image): pass max_anim + * w3mimg/x11/x11_w3mimg.c (x11_load_image): max_anim + +2003-03-24 Daiki Ueno + + * [w3m-dev 03828] possible typo in nextA + * main.c (nextA): fix typo? + +2003-03-22 Fumitoshi UKAI + + * [w3m-dev 03827] Re: checking for GC_version... no + * configure.in: add dl for extlibs + +2003-03-20 Hironori SAKAMOTO + + * [w3m-dev 03825] re-anchor for fold line + * anchor.c (reAnchorPos): fix for fold line + +2003-03-20 Fumitoshi UKAI + + * [w3m-dev-en 00910] Re: autoconf: env MAKE not respected + * Makefile.in (SET_MAKE): added + (SHELL): added + +2003-03-19 Fumitoshi UKAI + + * [w3m-dev-en 00908] Re: autoconf: --without-migemo is a nop + * acinclude.m4 (AC_W3M_MIGEMO): dont define USE_MIGEMO + when with_migemo=no + +2003-03-14 Hironori SAKAMOTO + + * [w3m-dev 03823] Re: etc.c: treatment for "%7E" is added to expandName() + * url.c (parseURL2): file unquote + * etc.c (expandName): revert previous changes + +2003-03-14 Fumitoshi UKAI + + * [w3m-dev 03822] Re: etc.c: treatment for "%7E" is added to expandName() + * etc.c (expandName): rewrite with strncasecmp + +2003-03-14 Fumitoshi UKAI + + * [w3m-dev 03821] fix for pmake + * Makefile.in: use $(srcdir)/... instead of $< + +2003-03-13 Dai Sato + + * etc.c: treatment for "%7E" is added to expandName() + +2003-03-13 Fumitoshi UKAI + + * [w3m-dev 03819] support cd build && ../configure + * Makefile.in: add VPATH + add MV + use $(top_srcdir), $<, $@ + * acinclude.m4 (AC_W3M_VERSION): use $srcdir + * configure.in (AC_W3M_VERSION): move + * mktable.c (main): basename + +2003-03-13 Fumitoshi UKAI + + * Makefile.in (distclean): added + +2003-03-13 Hironori SAKAMOTO + + * [w3m-dev 03818] fix autoconf + * Makefile.in (CGIBIN_DIR): added + (AUXBIN_DIR): added + (HELP_DIR): added + (RC_DIR): added + (MAKE_ARGS): added + (TARGET): use $(package) + (MAN1_TARGET): ditto + (install): use $(*_DIR) + * acinclude.m4 (AC_W3M_TERMLIB): added + (AC_W3M_GC): default search prefix /usr /usr/local $HOME + fix searches + (AC_W3M_SSL): fix bugs + * config.h (RC_DIR): remove tailing / + (SYS_MAILCAP): use ETC_DIR + (SYS_MIMETYPES): ditto + (USER_MIMETYPES): homedir + * configure.in: quote + (AC_W3M_TERMLIB): use + * Bonus/oldconfigure.sh: rewrite + +2003-03-12 Fumitoshi UKAI + + * [w3m-dev 03816] --enable-lynx => --enable-keymap=lynx + * acinclude.m4 (AC_W3M_KEYMAP): --enable-lynx => --enable-keymap=lynx + * Bonus/oldconfigure.sh: ditto + +2003-03-12 Yuji Abe + + * [w3m-dev 03814] fix autoconf + * acinclude.m4: quote variables + * Bonus/oldconfigure.sh: configure using old config.param + +2003-03-12 Hironori SAKAMOTO + + * [w3m-dev 03812] fix autoconf + * acinclude.m4 (AC_W3M_IMAGE): default is autodetect x11,fb + +2003-03-12 Hironori SAKAMOTO + + * [w3m-dev 03810] fix autoconf + * acinclude.m4 (AC_W3M_EXTLIBS): use $dir + (AC_W3M_GC): PREFIX is optional + (AC_W3M_SSL): PREFIX is optional + with_ssl=yes, check usual dirs + use $dir + (AC_W3M_IPv6): use $dir + +2003-03-12 Hironori SAKAMOTO + + * [w3m-dev 03809] fix autoconf + * acinclude.m4 (AC_W3M_CHECK_VER): accept version like "1.9.13-2" + +2003-03-12 Hironori SAKAMOTO + + * [w3m-dev 03808] fix autoconf + * acinclude.m4 (AC_W3M_GC): --with-gc takes PREFIX + check include first + (AC_W3M_CHECK_VER): show checking message + (AC_W3M_IMAGE): if gdkpixbuf found, don't check imlib* + +2003-03-11 Fumitoshi UKAI + + * Makefile.in (MODEL): delete @W3M_TARGET@ + * configure.in: AC_SUBST(W3M_TARGET) + +2003-03-11 Fumitoshi UKAI + + * which: deleted + * makeallmomdel: deleted + +2003-03-11 Fumitoshi UKAI + + * [w3m-dev 03804] fix autoconf + * acinclude.m4 (AC_W3M_MENU): default enabled + (AC_W3M_MOUSE): default enabled + (AC_W3M_COOKIE): default enabled + (AC_W3M_LANG): can't detect locale here. + autoconf set LANG=C + (AC_W3M_DIGEST_AUTH): default enabled + (AC_W3M_SSL): default enabled + * configure.in (AC_W3M_DIGEST_AUTH): added + +2003-03-11 Fumitoshi UKAI + + * [w3m-dev 03804] fix autoconf + * config.h.in (EAMCS_LIKE_LINEEDIT): define + (VI_PREC_NUM): define + (USE_MARK): define + (LABEL_TOPLINE): define + (NEXTPAGE_TOPLINE): define + (FTPPASS_HOSTNAMEGEN): define + (SHOW_PARAMS): define + (VIEW_UNSEENOBJECTS): define + (ID_EXT): define + +2003-03-11 Fumitoshi UKAI + + * [w3m-dev 03804] fix autoconf + * acinclude.m4 (AC_W3M_MODEL): deleted + (AC_W3M_COLOR): default enable + (AC_W3M_ANSI_COLOR): default enable + (AC_W3M_BG_COLOR): default enable + (AC_W3M_SHOW_PARAMS): deleted + (AC_W3M_DICT): default enable + (AC_W3M_HISTORY): default enable + (AC_W3M_VIEW_UNSEENOBJECTS): deleted + (AC_W3M_FORMAT_NICE): deleted + (AC_W3M_ID_EXT): deleted + (AC_W3M_FTPPASS_HOSTNAMEGEN): deleted + (AC_W3M_NNTP): default enabled + (AC_W3M_LANG): autodetect whether japanese is enabled + (AC_W3M_KANJI_SYMBOLS): default enabled + (AC_W3M_EMACS_LIKE_LINEEDIT): deleted + (AC_W3M_VI_PREC_NUM): deleted + (AC_W3M_MARK): deleted + (AC_W3M_LABEL_TOPLINE): deleted + (AC_W3M_NEXTPAGE_TOPLINE): deleted + (AC_W3M_SSL): fix without ssl + (AC_W3M_IMAGE): default enabled + (AC_W3M_XFACE): check uncompface + (AC_W3M_IPv6): enable_ipv6 if inet6 lib found + * configure.in (AC_PROG_CPP): added + +2003-03-11 Yuji Abe + + * [w3m-dev 03803] fix autoconf + * acinclude.m4 (AC_W3M_MIGEMO): add missing test + needs quote + (AC_W3M_SSL): delete x + +2003-03-11 Hironori SAKAMOTO + + * [w3m-dev 03802] fix autoconf + * acinclude.m4 (AC_W3M_CHECK_VER): warn only + +2003-03-11 Yuji Abe + + * [w3m-dev 03801] fix autoconf + * acinclude.m4 (AC_W3M_BG_COLOR): fix typo + (AC_W3M_KANJI_SYMBOLS): check enable_japanese != 'no' + (AC_W3M_KEYMAP): needs {} + (AC_W3M_EXTLIBS): don't modify libdir, use extlibdir + (AC_W3M_SSL): missing x + (AC_W3M_IMAGE): add AC_DEFINE(USE_IMAGE) + * config.h.in: s/USE_KANJI_SYMBOLS/KANJI_SYMBOLS/ + add SIZEOF_LONG_LONG + don't use //, use /* */ + * configure.in: add AC_CHECK_SIZEOF(long long, 0) + +2003-03-10 Fumitoshi UKAI + + * autoconfiscate + * Makefile.in: added + * acinclude.m4: added + * aclocal.m4: added (generated from acinclude.m4 by aclocal) + * configure.in: added + * config.h.in: added + * config.guess: added + * config.sub: added + * .cvsignore: add Makefile config.cache config.log config.status + * configure: generated by autoconf + * gc/: deleted + * XMakefile: deleted + * XXMakefile: deleted + * NEWS: autoconficate + +2003-03-10 Fumitoshi UKAI + + * version.c.in: cvs version + +2003-03-07 Fumitoshi UKAI + + * w3m 0.4.1 + * version.c.in: update + * doc/README: version 0.4.1, release date + * doc-jp/README: ditto + * NEWS: update + +2003-03-06 Hironori SAKAMOTO + + * [w3m-dev 03794] displayBuffer() when CurrentTab == NULL. + * display.c (displayBuffer): check buf + * linein.c (inputLineHistSearch): check CurrentTab + (next_dcompl): check CurrentTab + (_editor): check CurrentTab + * main.c (resize_screen): check CurrentTab + +2003-03-06 Fumitoshi UKAI + + * [w3m-dev 03793] incremental search fix + * main.c (dispincsrch): revert sbuf.pos fix + start from next position in next forward search + (srch): start from next position in forward saerch + if not found, restore original position + (srch_nxtprv): start from next position in next forward search + * search.c (forwardSearch): search from current position + +2003-03-06 Fumitoshi UKAI + + * [w3m-dev 03792] URL match string + incremental search fix + * main.c (chkURLBuffer): allow - at end of URL string + (dispincsrch): start from current position in case of + incremental search + * search.c (forwardSearch): found if same position + (backwardSearch): ditto + +2003-03-03 Hironori SAKAMOTO + + * [w3m-dev 03788] UFhalfclose + * file.c (UFhalfclose): closeNews() for SCM_NEWS,NNTP + +2003-02-28 Hironori SAKAMOTO + + * [w3m-dev 03783] pipe to "command1 | command2" + * Bonus/utf8.cgi: added + +2003-02-27 Hironori SAKAMOTO + + * [w3m-dev 03784] ftp directory support + * ftp.c (AbortLoading): added + (KeyAbort): added + (openFTPStream): remove '~' in realpathname? + (loadFTPDir): remove '~' in realpathname? + keyabort + new ex_ftpdir_name_size_date() + add symlink information to flist + (XD_CTOD): deleted + (EX_COUNT_DIGIT): added + (ex_ftpdir_name_size_date): add **link + accept device file + loose date check for localized server + +2003-02-27 Hironori SAKAMOTO + + * [w3m-dev 03783] pipe to "command1 | command2" + * etc.c (myExtCommand): redirect to subshell + * main.c (pipeBuf): conv_to_system(cmd) + shell_quote() + set buf->filename, buf->buffername + +2003-02-26 Hironori SAKAMOTO + + * [w3m-dev 03782] real linenumber for EDIT and EDIT_SCREEN + * main.c (cur_real_linenumber): added + (editBf): use cur_real_linenumber instead of CUR_LINENUMBER + (editScr): ditto + +2003-02-26 Hironori SAKAMOTO + + * [w3m-dev 03781] Debian Bug report logs - #181897: w3m submits query urls with "extra" + * main.c (_followForm): remove tailling '?' + +2003-02-25 Hironori SAKAMOTO + + * [w3m-dev-en 00891] Re: w3m 0.4 has been released! + * image.c (getCharSize): set W3M_TTY here, before Imgdisplay invoke + (openImgdisplay): no need setting W3M_TTY here + +2003-02-25 Fumitoshi UKAI + + * version.c.in: cvs version + +2003-02-24 Fumitoshi UKAI + + * w3m 0.4 + * version.c.in: update + * doc/README: version 0.4, release date + * doc-jp/README: ditto + * NEWS: update + +2003-02-24 patakuti@t3.rim.or.jp + + * [w3m-dev 03772] Compilation error on Cygwin B20.1 + * terms.c (term_title): use Sprintf() instead of snprintf() + * doc-jp/README.cygwin doc/README.cygwin: add note about B20.1 + +2003-02-21 WATANABE Katsuyuki + + * [w3m-dev 03765] Re: README.cygwin + * doc/README.cygwin: translated + +2003-02-21 Fumitoshi UKAI + + * doc/README: update + +2003-02-21 Dai Sato + + * [w3m-dev 03762] Re: README.cygwin + * doc/README.cygwin: translated + +2003-02-21 Hironori SAKAMOTO + + * [w3m-dev 03761] eliminate compiler warnings + * ftp.c (ftp_login): Str tmp + * table.c (feed_table_tag): p is used ifdef ID_EXT + +2003-02-21 WATANABE Katsuyuki + + * [w3m-dev 03760] Re: README.cygwin + * doc-jp/README: update + +2003-02-19 Fumitoshi UKAI + + * 0.4 release candidate 3 + * version.c.in: update + +2003-02-19 Atsushi YOKOYAMA + + * [w3m-dev 03758] Re: SVR4 signal behavior + * etc.c (reset_signals): use mySignal() + (setup_child): ditto + (myExec): ditto + (mySignal): added, use sigaction if available + * fm.h (TRAP_ON): use mySignal + (TRAP_OFF): ditto + * istream.c (ISclose): ditto + * main.c (sig_chld): ditto + (main): ditto + (do_dump): ditto + (resize_hook): ditto + (resize_handler): ditto + (srchcore): ditto + (readsh): ditto + (SigAlarm): ditto + * proto.h (mySignal): added + * terms.c (error_dump): use mySignal() + (set_int): ditto + (mouse_init): ditto + +2003-02-19 Hironori SAKAMOTO + + * [w3m-dev 03753] Fixed multipart.cgi + * scripts/multipart/multipart.cgi.in: remove w3m-control + use input hidden + add form_encode + +2003-02-18 WATANABE Katsuyuki + + * [w3m-dev 03749] README.cygwin + * doc-jp/README.cygwin: added + * doc/README: updated + +2003-02-17 Fumitoshi UKAI + + * 0.4 release candidate 2 + * version.c.in: update + +2003-02-13 Fumitoshi UKAI + + * [w3m-dev 03742] Re: Bug##180814: w3m: Missing w3mimgdisplay message at startup + * image.c (getCharSize): stderr redirect to omit /bin/sh error message + +2003-02-13 Fumitoshi UKAI + + * XMakefile (install-core): fix for broken non-POSIX /bin/sh + +2003-02-11 Hironori SAKAMOTO + + * [w3m-dev-en 00868] fix mark_all_pages + * anchor.c (reAnchorAny): next_line process for MarkAllPages + +2003-02-11 Hironori SAKAMOTO + + * [w3m-dev-en 00867] fix installation problem + * XMakefile (install-core): test AUXBIN_TARGETS + +2003-02-11 Fumitoshi UKAI + + * version.c.in: cvs version + +2003-02-11 Fumitoshi UKAI + + * 0.4 release candidate 1 + * version.c.in: update + +2003-02-09 Hironori SAKAMOTO + + * [w3m-dev 03737] local-CGI POST + * local.c (localcgi_post): use tmp file + +2003-02-08 Hiroyuki Ito + + * [w3m-dev 03736] dirlist sort + * scripts/dirlist.cgi.in (right_dir): use cmp for filename comparison + +2003-02-07 Hironori SAKAMOTO + + * [w3m-dev 03735] Re: make error of checkType arg + * etc.c (checkType): delete USE_ANSI_COLOR + * file.c (addnewline): macro for USE_ANSI_COLOR + (readHeader): rewrite of USE_ANSI_COLOR + (HTMLlineproc2body): ditto + (addnewline2): ditto + (addnewline): ditto + (loadBuffer): ditto + (getNextPage): ditto + * proto.h (checkType): macro for USE_ANSI_COLOR + +2003-02-07 Hironori SAKAMOTO + + * [w3m-dev 03733] Re: display decoded URL + * display.c (make_lastline_link): buf->document_code + +2003-02-07 Hironori SAKAMOTO + + * [w3m-dev 03732] Re: scroll() is slow ? + * configure (use_raw_scroll): added + (config.h) use_raw_scroll + * config.h.dist (USE_RAW_SCROLL): added + * display.c (displayBuffer): ifdef USE_RAW_SCROLL + * proto.h (scroll): ifdef USE_RAW_SCROLL + (rscroll): ditto + (need_clrtoeol): if 0 + (terms.c): if 0 need_clrtoeol + (scroll_raw): ifdef USE_RAW_SCROLL + +2003-02-06 Fumitoshi UKAI + + * NEWS: rc: decode_url + +2003-02-06 Hironori SAKAMOTO + + * [w3m-dev 03730] display decoded URL + * anchor.c (link_list_panel): support DecodeURL + * display.c (make_lastline_link): support DecodeURL + * etc.c (url_unquote_conv): added + * fm.h (DecodeURL): added + * history.c (historyBuffer): support DecodeURL + * indep.c (QUOTE_MAP): added + (HTML_QUOTE_MAP): added + (html_quote_char): deleted + (url_quote): use is_url_quote + (file_quote): use is_file_quote + (is_url_safe): deleted + (Str_form_quote): use is_url_unsafe + (Str_url_unquote): add safe args + (is_shell_safe): delete + (shell_quote): use is_shell_unsafe + * indep.h (QUOTE_MAP): added + (HTML_QUOTE_MAP): added + (HTML_QUOTE_MASK): added + (SHELL_UNSAFE_MASK): added + (URL_QUOTE_MASK): added + (FILE_QUOTE_MASK): added + (URL_UNSAFE_MASK): added + (GET_QUOTE_TYPE): added + (is_html_quote): added + (is_shell_unsafe): added + (is_url_quote): added + (is_file_quote): added + (is_url_unsafe): added + (html_quote_char): added + (html_quote_char): deleted + (Str_url_unquote): added safe + (form_unquote): Str_url_unquote changes + * linein.c (_prev): support DecodeURL + (_next): ditto + * main.c (goURL0): support DecodeURL + (_peekURL): ditto + (curURL): ditto + * map.c (follow_map_panel): support DecodeURL + (append_map_info): ditto + (append_link_info): ditto + (append_frame_info): ditto + (page_info_panel): ditto + * menu.c (initSelectMenu): delete SCM_LOCAL_CGI + support DecodeURL + (initSelTabMenu): delete SCM_LOCAL_CGI + support DecodeURL + (link_menu): support DecodeURL + * parsetagx.c (parse_tag): is_html_quote + * proto.h (url_unquote_conv): added + * rc.c (CMT_DECODE_URL): added + (params1): add decode_url + * url.c (openURL): Str_url_unquote non safe + +2003-02-06 Hironori SAKAMOTO + + * [w3m-dev 03729] buf fix of reAnchorNewsheader() + * anchor.c (reAnchorAny): check l->bpos + (reAnchorNewsheader): check l->bpos + strlen(*q) + lineBuf[l->size] + +2003-02-06 Hironori SAKAMOTO + + * [w3m-dev 03728] IPv6 hostname + * url.c (parseURL): rewrite IPv6 address parser + +2003-02-04 Hironori SAKAMOTO + + * [w3m-dev 03724] Re: view source, edit source + * buffer.c (reshapeBuffer): initialize buf->width first + * display.c (displayBuffer): no need to check buf>sourcefile + +2003-02-01 Hironori SAKAMOTO + + * [w3m-dev 03721] PATH_INFO support of local CGI + * local.c (CGIFN_DROOT): deleted + (CGIFN_LIBDIR): added + (CGIFN_MODE): deleted + (CGIFN_CONTAIN_SLASH): deleted + (check_local_cgi): rewrite + (cgi_filename): rewrite + (localcgi_post): support PATH_INFO + * url.c (openURL): rewrite + * Bonus/smb.cgi: use PATH_INFO + +2003-02-01 Hironori SAKAMOTO + + * [w3m-dev 03720] mark remains + * main.c (srchcore): PREC_NUM + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03719] Re: Too slow when loading big file with fold_line=1 + * file.c (addnewline): check i len + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03718] Too slow when loading big file with fold_line=1 + * etc.c (nextColumn): added + (calcPosition): use New_N + rewrite with nextColumn + (columnLen): added + * file.c (addnewline): rewrite with columnLen + * proto.h (columnLen): added + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03717] print newline before exec shell command. + * main.c (execsh): print newline + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03715] initial currentLine when pager mode. + * file.c (getNextPage): fix cur + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03714] -cols 1 -dump -o fold_line=1 + * file.c (addnewline): check i == 0, i == l->len + * fm.h (_INIT_BUFFER_WIDTH): added + (INIT_BUFFER_WIDTH): use _INIT_BUFFER_WIDTH + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03713] search with "$" + * search.c (forwardSearch): check l->next && l->next->bpos + (backwardSearch): check l->size, l->next && l->next->bpos + +2003-01-31 Hironori SAKAMOTO + + * [w3m-dev 03712] buf fix of LINE_INFO + * main.c (curlno): rewrite + +2003-01-30 Hironori SAKAMOTO + + * [w3m-dev 03709] Re: view source, edit source + * display.c (displayBuffer): INIT_BUFFER_WIDTH + * file.c (_saveBuffer): added + (saveBuffer): use _saveBuffer + (saveBufferBody): added + * main.c (vmSrc): saveBufferBody + * proto.h (saveBufferBody): added + +2003-01-30 Hironori SAKAMOTO + + * [w3m-dev-en 00852] Re: Enhancement: content type detection of files + * url.c (DefaultGuess): remove upppercases + (guessContentTypeFromTable): rewrite, strcasecmp + +2003-01-30 Hironori SAKAMOTO + + * [w3m-dev 03708] Re: Don't stop loading image when moving to next page. + * config.h.dist (lstat): define ifndef HAVE_LSTAT + * configure (config.h) ditto + * display.c (fmTerm): new loadImage + (save_current_buf): only ifdef USE_BUFINFO + (displayBuffer): new loadImage + * etc.c (setup_child): TrapSignal + * file.c (loadGeneralFile): TRAP_OFF, TRAP_ON + (loadHTMLstream): ditto + (loadGopherDir): ditto + (loadBuffer): ditto + (loadImageBuffer): ditto + (getNextPage): ditto + (save2tmp): ditto + * fm.h (TrapSignal): added + (TRAP_ON): added + (TRAP_OFF): added + * form.c (HAVE_LSTAT): deleted + * frame.c (createFrameFile): TRAP_OFF, TRAP_ON + * image.c (image_buffer): added + (deleteImage): new loadImage + (getAllImage): initialize image_buffer + (loadImage): rewrite + * main.c (main): new loadImage + (checkDownloadList): remove ifdef HAVE_LSTAT + * news.c (loadNwesgroup): TRAP_ON, TRAP_OFF + * proto.h (loadImage): add buf arg + * url.c (openSocket): TRAP_ON, TRAP_OFF + (check_no_proxy): TRAP_ON, TRAP_OFF + +2003-01-29 Hironori SAKAMOTO + + * [w3m-dev 03707] Don't stop loading image when moving to next page. + * display.c (save_current_buf): required when defined USE_IMAGE + (displayBuffer): stop only buffer changed + * image.c (loadImage): IMG_FLAG_START load from maxLoadImage + +2003-01-29 Hironori SAKAMOTO + + * [w3m-dev 03706] X-Image-URL: support, bug fix of reshapeBuffer() + * buffer.c (reshapeBuffer): rewrite + * file.c (readHeader): rewrite + +2003-01-29 NAKAJIMA Mikio + + * [w3m-dev 03705] goodict.cgi (was: Re: google.cgi (was: Re: keymap key SEARCH string)) + * Bonus/goodict.cgi: added + +2003-01-29 Hironori SAKAMOTO + + * [w3m-dev 03700] Re: google.cgi (was: Re: keymap key SEARCH string) + * main.c (goURL0): check relative or *url == '#' + +2003-01-28 Hironori SAKAMOTO + + * [w3m-dev 03689] Re: fold patch + * fm.h (BufferPos): add bpos + * main.c (save_buffer_position): bpos initialize + (resetPos): reset bpos + +2003-01-26 Hironori SAKAMOTO + + * [w3m-dev 03686] Re: fold patch + * buffer.c (writeBufferCache): rewrite + (readBufferCache): rewrite + * etc.c (calcPosition): short -> int realColumn + * fm.h (Line): short -> int len,width,size,bpos,bwidth + (BufferPoint): short->int pos + (Buffer): short->int currentColumn,pos,visualpos + (BufferPos): short->int currentColumn,pos + * frame.h (frameset_queue): short->int pos,currentColumn + * main.c (clear_mark): short->int pos + (dispincsrch): short->int pos + (backBf): short->int pos + (set_buffer_environ): short->int prev_pos + +2003-01-25 Hironori SAKAMOTO + + * [w3m-dev 03684] Re: fold patch + * file.c (PSIZE): added + (HTMLlineproc2body): outc,outp is created by NewAtom_N + use PSIZE + +2003-01-25 Fumitoshi UKAI + + * file.c (getNextPage): no need volatile for code + +2003-01-25 Hironori SAKAMOTO + + * [w3m-dev 03683] interrupt in getNextPage() + * file.c (getNextPage): trap SIGINT + +2003-01-25 Hironori SAKAMOTO + + * [w3m-dev 03682] open null file on tab + * display.c (displayBuffer): if empty, clear() + +2003-01-25 Hironori SAKAMOTO + + * [w3m-dev 03681] Re: fold patch + * buffer.c (reshapeBuffer): buf->pos, sbuf.currentLine fix + FoldLine + * display.c (arrangeCursor): buf->pos fix + (restorePosition): buf->pos fix + +2003-01-24 Fumitoshi UKAI + + * NEWS: func: RESHAPE + rc: fold_line + +2003-01-24 Fumitoshi UKAI + + * fix compiler warnings + * display.c (displayBuffer): fix suggest parentheses around && within || +2003-01-24 Hironori SAKAMOTO + + * [w3m-dev 03667] fold patch + * anchor.c (reAnchorPos): rewrite + (reAnchorWord): delete reseq_anchor() + (reAnchorAny): use l->size + delete reseq_anchor() + * backend.c (internal_get): pass TRUE to saveBuffer + * buffer.c (newBuffer): delete n->linelen + (reshapeBuffer): rewrite + * display.c (displayBuffer): FoldLine + (redrawLine): l->bpos + (cursorUp0): added + (cursorUp): rewrite + (cursorDown0): added + (cursowDown): rewrite + (cursorRight): check l->next + l->bwidth + (cursorLeft): l->prev && l->bpos + l->bwidth + (arrangeCursor): buf->currentLine->bwidth + buf->cursorX + * etc.c (checkType): **oporp + rewrite + (calcPosition): realColumn allocated by New_reuse + * file.c (addnewline): add nlines arg + (propBuffer): deleted + (colorBuffer): deleted + (readHeader): propBuffer + FOLD_BUFFER_WIDTH + (HTMLlineproc2body): rewrite + (addnewline2): added + (addnewline): rewrite + (loadBuffer): propBuffer, colorBuffer + (saveBuffer): cont arg + (getNextPage): rewrite + * fm.h (LINELEN): 256 + (FNLEN): deleted + (Line): add size, bpos, bwidth + (Buffer): delete linelen + (INIT_BUFFER_WIDTH): check showLineNum + (FOLD_BUFFER_WIDTH): added + (FoldLine): added + * funcname.tab (RESHAPE): added + * main.c (do_dump): pass FALSE to saveBuffer + (nscroll): rewrite + (clear_mark): l->size + (shiftvisualpos): rewrite + (pipeBuf): pass TRUE to saveBuffer + (linebeg): check line->prev && line->bpos + (linend): check line->next, line->next->bpos + (editScr): pass TRUE to saveBuffer + (svBuf): pass TRUE to saveBuffer + (vmSrc): pass TRUE to saveBuffer + (reshape): added + (curlno): rewrite + * mimehead.c (LINELEN): deleted + * proto.h (reshape): added + (saveBuffer): add cont arg + (cursorUp0): added + (cursorDown0): added + (checkType): change type oprop, ocolor, delete check_color, len + * rc.c (CMT_FOLD_LINE): added + (params1): add fold_line + (sync_with_option): check PagerMax + * search.c (set_mark): l->size + (forwardSearch): rewrite + (backwardSearch): rewrite + * doc/README.func (RESHAPE): added + * doc-jp/README.func (RESHAPE): added + * scripts/w3mhelp.cgi.in (Buffer operation): add reshape + +2003-01-24 Hironori SAKAMOTO + + * etc.c (next_status): after = is R_ST_VALUE + R_ST_VALUE > => R_ST_NORMAL + R_ST_VALUE SP => R_ST_TAG + (read_token): R_ST_VALUE + (correct_irrtag): R_ST_VALUE + * rm.h (R_ST_VALUE): added + (ST_IS_REAL_TAG): rewrite + (ST_IS_COMMENT): deleted + (ST_IS_TAG): deleted + * parsetagx.c (parse_tag): skip too long tagname + skip too long attrname + if attrvalue has quote char, need reconstruct + if unknown attr, need reconstruct + * table.c (visible_length): R_ST_VALUE + +2003-01-24 Hironori SAKAMOTO + + * [w3m-dev 03680] showProgress() on fast system + * file.c (showProgress): check line len, time + +2003-01-24 Hironori SAKAMOTO + + * [w3m-dev 03679] Re: cleanup for pipe + * etc.c (open_pipe_rw): check stdin, stdout + * file.c (uncompress_stream): rewrite + +2003-01-23 Fumitoshi UKAI + + * [w3m-dev 03678] Re: config.param is clear when configure -help + * configure: don't override config.param + +2003-01-23 Hironori SAKAMOTO + + * [w3m-dev 03677] view source, edit source + * buffer.c (discardBuffer): unlink header source + * file.c (loadFile): delete skip header + * fm.h (BP_SOURCE): deleted + (SkipHeader): deleted + * main (editBf): cleanup + (vmSrc): cleanup + +2003-01-23 Hironori SAKAMOTO + + * [w3m-dev 03676] cleanup for pipe + * etc.c (open_pipe_rw): added + * file.c (uncompress_stream): rewrite using open_pipe_rw + * image.c (openImgdisplay): rewrite using open_pipe_rw + * local.c (localcgi_popen_rw): deleted + (localcgi_post): rewrite using open_pipe_rw + * proto.h (open_pipe_rw): added + * search.c (migemor): initialized to NULL + (migemow): initialized to NULL + (migemo_pid): initialized to 0 + (open_migemo): rewrite using open_pipe_rw + +2003-01-23 Hironori SAKAMOTO + + * [w3m-dev 03675] x-face + * file.c (xface2xpm): use getImage() + (readHeader): check same file + (loadImageBuffer): rewrite + (lessopen_stream): shell_quote() + +2003-01-23 Hironori SAKAMOTO + + * [w3m-dev 03674] -dump problem + * file.c (loadGeneralFile): return NULL when dump + * main.c (dump_source): deleted + (dump_head): deleted + (dupm_extra): deleted + (do_dump): added + (main): singal when dump + +2003-01-23 Yoshinobu Sakane + + * [w3m-dev 03671] Re: config.param is clear when configure -help + * configure: test -f config.param + +2003-01-22 Hironori SAKAMOTO + + * [w3m-dev 03665] imlib2 support (on X11) + * configure: X11 inline image with Imlib2 + fix typo in fb/imlib2 + * w3mimg/x11/x11_w3mimg.c: USE_IMLIB2 + (x11_load_image): USE_IMLIB2 + (x11_show_image): USE_IMLIB2 + (x11_free_image): USE_IMLIB2 + (x11_get_image_size): USE_IMLIB2 + +2003-01-22 Hironori SAKAMOTO + + * [w3m-dev 03664] config.param is clear when configure -help + * configure: config.param created after arg parsing + +2003-01-21 Fumitoshi UKAI + + * map.c (follow_map_menu): if USE_IMAGE or MENU_MAP + * proto.h (follow_map_menu): ditto + +2003-01-21 Hironori SAKAMOTO + + * [w3m-dev 03660] Re: fputs -> Strfputs + * Str.h (Strncmp_charp): paren + (Strncasecmp_charp): ditto + (Strinsert): ditto + (Strshrinkfirst): ditto + * display.c (disp_err_message): added + * file.c (loadGeneralFile): don't put function in macro arg + (saveBuffer): ditto + * frame.c (createFrameFile): ditto + * proto.h (disp_err_message): macro->function + * table.c (pushdata): if data is NULL, use "" + (suspend_or_pushdata): if line is NULL, use "" + * textlist.h (pushText): don't use (s) twice in a macro + +2003-01-21 Hironori SAKAMOTO + + * [w3m-dev 03659] Can't download from SSL. + * istream.c (ISfileno): case IST_SSL + +2003-01-21 Hironori SAKAMOTO + + * [w3m-dev 03658] Re: Other user can see local cookie. + * fm.h (rc_dir): init(NULL) + * rc.c (config_file): deleted + (init_rc): use rc_dir + +2003-01-21 Hironori SAKAMOTO + + * [w3m-dev 03657] fputs -> Strfputs + * form.c (form_fputs_decode): use Strfputs() + +2003-01-19 Fumitoshi UKAI + + * [w3m-dev 03655] Re: file.c:image_source when undef USE_IMAGE + * map.c (follow_map_menu): fix warnings + +2003-01-19 WATANABE Katsuyuki + + * [w3m-dev 03654] file.c:image_source when undef USE_IMAGE + * file.c (readHeader): image_source ifdef USE_IMAGE + (loadGeneralFile): ditto + (uncompress_stream): ditto + +2003-01-19 Fumitoshi UKAI + + * [w3m-dev 03653] SourceForge.net: 576032 w3m https crashes with OpenSSL-0.9.7 + * istream.c (ssl_check_cert_ident): use sk_GENERAL_NAME_free() + +2003-01-18 Fumitoshi UKAI + + * [w3m-dev 03652] Re: Debian bug #176981 + * file.c (checkHeader): always remove_space + (loadGeneralFile): no need remove_space + +2003-01-18 Hironori SAKAMOTO + + * [w3m-dev 03651] Debian bug #176981 + * file.c (checkRedirection): added + (loadGeneralFile): check redirection + t_buf only is created when it is NULL + remove_space + +2003-01-18 Hironori SAKAMOTO + + * [w3m-dev 03647] expandName() and expandPath() + * etc.c (openSecretFile): use expandPath + (expandName): rewrite + (file_to_url): use expandPath + * file.c (_doFileCopy): use expandPath + (doFileSave): use expandPath + * indep.c (expandPath): rewrite + * linein.c (inputLineHistSearch): use expandPath + (next_dcompl): use expandPath + (doComplete): use expandPath + * local.c (set_cgi_environ): rewrite + * mailcap.c (loadMailcap): use expandPath + * main.c (svBuf): use expandPath + (addDownloadList): use expandPath + * rc.c (init_rc): use expandPath + (rcFile): rewrite + (auxbinFile): use expandPath + (libFile): use expandPath + (etcFile): use expandPath + (helpFile): use expandPath + * url.c (loadMimeTypes): use expandPath + (loadURIMethods): use expandPath + +2003-01-18 Hironori SAKAMOTO + + * [w3m-dev 03646] setup child process, local CGI + * etc.c (reset_signals): static + don't ignore SIGUSR1 + (close_all_fds_except): static + DEV_NULL_PATH + (setup_child): added + (myExec): rewrite + (mySystem): rewrite + * file.c (readHeader): check image_source + (loadGeneralFile): check image_source + (doExternal): use setup_child + (_doFileCopy): use setup_child + (doFileSave): use setup_child + (uncompress_stream): check image_source + use setup_child + * image.c (getCharSize): no need stderr redirect + (openImgdisplay): use setup_child + (loadImage): use setup_child + (getImageSize): no need stderr redirect + * local.c (writeLocalCookie): check Local_cookie_file + (localcgi_popen_rw): added + (localcgi_popen_r): deleted + (localcgi_post): rewrite + (localcgi_get): deleted + * proto.h (localcgi_get): defined by localcgi_post + (reset_signals): deleted + (close_all_fds_except): deleted + (close_all_fds): deleted + (setup_child): added + * search.c (open_migemo): use setup_child, myExec + * w3mimgdisplay.c (main): use DEV_NULL_PATH + +2003-01-16 Hironori SAKAMOTO + + * [w3m-dev 03644] Re: Other user can see local cookie. + * cookie.c (save_cookies): return if no_rc_dir + * etc.c (tmpf_base): add cookie + (tmpfname): use tmp_dir instead of rc_dir + * file.c (loadGeneralFile): cookie is not passed via URL + * fm.h (TMPF_COOKIE): incl + (MAX_TMPF_TYPE): incl + (no_rc_dir): added + (tmp_dir): added + (config_file): added + * local.c (Local_cookie_file): added + (writeLocalCookie): added + (setLocalCookie): dont set environment LOCAL_COOKIE + (localcgi_post): writeLocalCookie + (localcgi_get): writeLocalCookie + * main.c (config_filename): deleted + (cmd_loadURL): arg FormList + (main): rewrite config_file, rc + (ldhelp): no cookie in URL + (cmd_loadURL): arg FormList + (goURL0): cmd_loadURL change + (cmd_loadBuffer): cmd_loadURL change + (adBmark): cookie is posted + (follow_map): cmd_loadURL change + (linkMn): cmd_loadURL change + (reinit): init_rc change + * proto.h (create_option_search_table): deleted + (init_rc): no args + * rc.c (create_option_search_table): static + (init_rc): no args + rewrite + (optionpanel_src1): rewrite + (load_option_panel): html_quote + (panel_set_option): no_rc_dir + * w3mbookmark.c: rewrite + * w3mhelperpanel.c: rewrite + * scripts/dirlist.cgi.in: rewrite + * scripts/w3mhelp.cgi.in: rewrite + * scripts/w3mmail.cgi.in: rewrite + * scripts/multipart/multipart.cgi.in: rewrite + +2003-01-16 Fumitoshi UKAI + + * file.c (loadGopherDir): convertLine RAW_MODE + * ftp.c (loadFTPDir): ditto + +2003-01-16 Hironori SAKAMOTO + + * [w3m-dev 03642] Re: cleanup (don't close connection of news server) + * local.c (localcgi_post): localcgi_popen_r first + +2003-01-16 Hironori SAKAMOTO + + * [w3m-dev 03641] Re: cleanup (don't close connection of news server) + * ftp.c (ftp_command): fix fwrite arg + * news.c (news_command): fix fwrite arg + +2003-01-16 Hironori SAKAMOTO + + * [w3m-dev 03640] Re: cleanup (don't close connection of news server) + * anchor.c (_put_ahchor_news): always conv_str + (_put_anchor_all): always conv_str + * etc.c (close_all_fds): deleted + (close_all_fds_except): added, except fd=f is left open + * file.c (guess_filename): added + (UFhalfclose): added + (convertLine): cleanup_line if not raw mode + check uf + (readHeader): always convertLine + (loadGeneralFile): rewrite + (loadGopherDir): return Str, args change to ParsedURL and code + rewrite + (saveBuffer): always conv_str + (_doFileCopy): close_all_fds + (doFileSave): close_all_fds_except + (uncompress_stream): dup, close_all_fds_except + * form.c (form_fputs_decode): always conv_str + (input_textarea): convertLine + * frame.c (createFrameFile): convertLine + * ftp.c (loadFTPDir): arg code + rewrite + (readFTPDir): convertLine + * html.h (UFfileno): added + * image.c (loadImage): close_all_fds + * indep.h (RAW_MODE): added + * local.c (loadLocalDir): return Str + (dirBuffer): rewrite + (localcgi_popen_r): close_all_fds + * main.c (main): check SCM_LOCAL + print err_msg + * news.c (news_command): args cmd and arg + (news_quit): news_command + (openNewsStream): news_command + (readNewsgroup): deleted + (loadNewsgroup): added + (closeNews): added + * proto.h (loadGopherDir): update + (conv_str): define for no JP_CHARSET + (readFTPDir): deleted + (loadFTPDir): added + (readNewsgroup): deleted + (loadNewsgroup): added + (dirBuffer): deleted + (loadLocalDir): added + (close_all_fds): defined by close_all_fds_except + (close_all_fds_except): added + +2003-01-16 Hironori SAKAMOTO + + * [w3m-dev 03639] Re: smb.cgi + * Bonus/2ch.cgi: change password handling + * Bonus/README: update + * Bonus/README.eng: ditto + +2003-01-12 qhwt@myrealbox.com + + * [w3m-dev 03636] segfault in main.c + * main.c (main): check newbuf->currentURL.file + +2003-01-12 Fumitoshi UKAI + + * Bonus/README.eng: sync with Bonus/README + +2003-01-12 Hironori SAKAMOTO + + * [w3m-dev 03635] 2ch.cgi + * Bonus/2ch.cgi: added + * Bonus/README: update + +2003-01-12 Fumitoshi UKAI + + * Bonus/README.eng: sync with Bonus/README + +2003-01-12 Hironori SAKAMOTO + + * [w3m-dev 03634] smb.cgi + * Bonus/smb.cgi: added + * Bonus/README: update + +2003-01-12 Fumitoshi UKAI + + * ftp.c (ftp_pasv): ftp_command response + (readFTPDir): masked declaration of realpathname + +2003-01-12 Hironori SAKAMOTO + + * [w3m-dev 03633] Re: cleanup (don't close connection of news server) + * file.c (FTPhalfclose): deleted + (loadGeneralFile): closeFTP when doFileSave is done + (_doFileCopy): return int + (doFileMove): return int + (doFileSave): return int + * ftp.c: rewrite + * main.c (w3m_exit): disconnectFTP + * proto.h (_doFileCopy): return int + (doFileMove): return int + (doFileSave): return int + (openFTP): deleted + (openFTPStream): return InputStream + (closeFTP): no arg + (Ftpfclose): disconnectFTP + * url.c (openFTPstream): deleted + +2003-01-11 Fumitoshi UKAI + + * fix compiler warnings + * html.h (UFclose): value computed but not used + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03632] cleanup (don't close connection of news server) + * file.c (loadSomething): remove UFclose nntp:,news: + (loadFile): UFclose + (loadGeneralFile): always UFclose + * html.h (UFclose): only reset when ISclose ==0 + * istream.c (ISclose): return int + (ISfileno): flag IST_UNCLOSE + * istream.h (ISclose): return int + (IST_UNCLOSE): added + * news.c (news_close): reset IST_UNCLOSE + (news_open): set IST_UNCLOSE + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03631] display current form item + * form.c (form2str): rewrite + * istream.c (ssl_get_certificate): fix typo + * map.c (follow_map_panel): valign=top + (append_map_info): valign=top + (append_link_info): valign=top + (append_frame_info): + html_quote ssl_certificate + (page_info_panel): rewrite, html_quote + +2003-01-11 Fumitoshi UKAI + + * doc/README.pre_form: update + * doc-jp/README.pre_form: ditto + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03630] improved pre_form + * form.c (pre_form): add re_url, name + (add_pre_form): add name + rewrite + (loadPreForm): add "form" + (preFormUpdateBuffer): handle re_url + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03629] delete tmp file + * etc.c (tempfname): always file to delete + * file.c (xface2xpm): no need fileToDelete + (readHeader): ditto + (loadGeneralFile): ditto + (loadHTMLBuffer): ditto + (loadHTMLString): ditto + (loadGopherDir): ditto + (loadImageBuffer): ditto + (doExternal): rewrite + (doFileSave): no need fileToDelete + (uncompress_stream): ditto + * fm.h (CurrentPid): added + * image.c (getImage): cache->touch to delete + * local.c (setLocalCookie): use CurrentPid + (localcgi_post): fileToDelete + * main.c (main): CurrentPid + (pipeBuf): no need fileToDelete + (query_from_followform): CurrentPid + (vmSrc): no need fileToDelete + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03628] Re: Error occured while reset + * file.c (doExternal): bufp = NULL, return 1 + (uncompress_stream): tempfname fileToDelete + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03626] Re: relative URL + * url.c (parseURL2): copy if scheme is local or local-cgi + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03625] keymap key SEARCH string + * main.c (srch): accept command argument + (reMark): accept command argument + * Bonus/google.cgi: added + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03622] Re: Error occured while reset + * file.c (uncompress_stream): child process initialized + * terms.c (close_tty): close unless stdin,out,err + (reset_tty): flush_tty, close_tty + (write1): flush_tty + (refresh): flush_tty + (flush_tty): check ttyf + +2003-01-11 Hironori SAKAMOTO + + * [w3m-dev 03620] -m option and header + * buffer.c (reshapeBuffer): fix reading from stdin + fix -m option + * display.c (redrawNLine): rewrite + (redrawLine): return l instead of l->next + (redrawLineImage): ditto + * file.c (loadFile): read header even if skip header + (loadGeneralFile): read header even if skip header + * fm.h (SkipHeader): added + * main.c (main): check whether reading from stdin + SkipHeader + +2003-01-10 Hironori SAKAMOTO + + * [w3m-dev 03619] Re: Error occured while reset + * file.c (process_img): check image.ext + (HTMLlineproc2body): check image.ext + (loadImageBuffer): url, ext is in URLFile + * frame.c (unloadFrame): no need to push to fileToDelete + (copyFrame): no need to reset FB_TODELETE + (resetFrameElement): f_body->source, buf->sourcefile + (frame_download_source): buf->source + buf->sourcefile reset + * frame.h (FB_NOCACHE): deleted + (FB_TODELETE): deleted + * main.c (vmSrc): Currentbuf->sourcefile + need_reshape if images exist + +2003-01-09 Hironori SAKAMOTO + + * [w3m-dev 03617] sourcefile when Content-Encoding: is specified. + * file.c (uncompress_stream): add src arg + (examineFile): change uncompress_stream + (loadGeneralFile): change uncompress_stream + (doExternal): src + (uncompress_stream): ext + tmpfile with same ext + +2003-01-09 Hironori SAKAMOTO + + * [w3m-dev 03616] Re: data: URL scheme + * file.c (loadGeneralFile): check SCM_DATA + (loadImageBuffer): newBuffer() + * html.h (SCM_DATA): added + * indep.c (url_unquote): deleted + (Str_url_unquote): renamed from Str_form_unquote + + is decoded is_form only + * indep.h (url_unquote): deleted + (Str_url_unquote): added + (Str_form_unquote): define by Str_url_unquote + * main.c (followA): file_unquote + (cmd_loadURL): file_unquote + * url.c (DefaultPort): add for data: + (schemetable): add "data" + (DefaultFile): SCM_FTPDIR + (parseURL): scheme copied from current + (parseURL2): SCM_DATA + check SCM_FTP, SCM_FTPDIR + (_parsedURL2Str): add data in scheme_str + handle SCM_DATA + SCM_FTPDIR + (openURL): file_unquote + handle SCM_DATA + +2003-01-08 Hironori SAKAMOTO + + * [w3m-dev 03611] relative URL + * news.c (openNewsStream): don't skip '/' for nntp: + (readNewsgroup): cleanup + * url.c (parseURL): don't copy user & password + (parseURL2): fix for group, don't copy user & password + +2003-01-07 Fumitoshi UKAI + + * fix build warnings + * url.c (parseURL2): fix comparison between pointer and integer + * news.c (readNewsgroup): variable `scheme',`group',`list' might be clobbered by `longjmp' or `vfork' + +2003-01-07 Hironori SAKAMOTO + + * [w3m-dev 03610] Re: news: + * anchor.c (_put_anchor_news): check '<' + (reAnchorNewsheader): added + * file.c (loadSomething): Subject: as buffername + (checkHeader): check buf->document_header + (loadGeneralFile): reAnchorNewsheader + * html.h (SCM_NNTP_GROUP): added + * main.c (main): delete USE_NNTP in switch (newbuf->real_scheme) + (chkNMIDBuffer): lowercase in url_like_pat + * news.c (add_news_message): add scheme, group as arg + (openNewsStream): check SCM_NNTP_GROUP + check current_news.host + (readNewsgroup): rewrite to support nntp:,news: extension + * proto.h (reAnchorNewsheader): added + * url.c (DefaultPort): add 119 for nntp group + (parseURL2): rewrite to support nntp:,news: extension + (_parsedURL2Str): add for SCM_NNTP_GROUP + (openURL): rewrite to support nntp:,news: extension + +2002-12-28 Fumitoshi UKAI + + * fix build errors + * display.c (make_lastline_message): fix error for undef JP_CHARSET + * news.c (readNewsgroup: `code' always required + + * gcc -Wall -Werror clean + * file.c (loadHTMLstream): unused variable `p' + * news.c (news_command): unused variable `c' + (news_open): unused variable `tmp' + (readNewsgroup): volatile page, qgroup, flag, start, end + uninitialized variable `page' + * url.c (openURL): unused variable `fw', `r', `stream' + +2002-12-28 Fumitoshi UKAI + + * rc: nntpserver, nntpmode, max_news + +2002-12-28 Hironori SAKAMOTO + + * [w3m-dev 03608] news: + * XMakefile (LSRCS): add news.c + (LOBJS): add news.o + * file.c (loadSOmething): don't UFclose() for nntp/news + (readHeader): remove . at beginning of line for news + img link to file: + (loadGeneralFile): add SCM_NEWS_GROUP + don't UFclose() for nntp/news + (loadHTMLstream): . line check for news + (loadBuffer): . line check for news + * fm.h (NNTP_server): added + (NNTP_mode): added + (MaxNewsMessage): added + * html.h (SCM_NEWS_GROUP): added + * main.c (main): NNTP_server or NNTPSERVER + NNTP_mode or NNTPMODE + add SCM_NEWS_GROUP + (followA): remove news:..@.. check + (cmd_loadURL): remove news:...@.. check + (w3m_exit): disconnectNews + * proto.h (openNewsStream): added + (readNewsgroup): added + (disconnectNews): added + * rc.c (CMT_NNTP_SERVER): added + (CMT_NNTP_MODE): added + (CMT_MAX_NEWS): added + (params9): add nntpserver, nntpmode, max_news + * url.c (DefaultPort): add 119 for news group + (parseURL2): news:..@... is SCM_NEWS_GROUP + (_parsedURL2Str): add news for SCM_NEWS_GROUP + (openURL): cleanup SCM_NEWS + add SCM_NEWS_GROUP + * news.c: added + +2002-12-28 Hironori SAKAMOTO + + * [w3m-dev 03607] mymktime: time zone support + * etc.c (get_zone): added + (mymktime): parse timezone + +2002-12-28 Hironori SAKAMOTO + + * [w3m-dev 03606] Re: clean up displayBuffer() + * main.c (followA): B_FORCE_REDRAW + (follow_map): ditto + +2002-12-27 Hironori SAKAMOTO + + * [w3m-dev 03604] http response code and content-type + * file.c (loadGeneralFile): don't guessContentType if http errors + +2002-12-26 Hiroyuki Ito + + * [w3m-dev 03602] Re: w3mimgdisplay core dump + * w3mimgdisplay.c (DrawImage): check load_image, imageBuf[n].pixmap + * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): check img->pixmap + * w3mimg/x11/x11_w3mimg.c (x11_show_image): check img->pixmap + +2002-12-26 Hironori SAKAMOTO + + * [w3m-dev 03601] Re: meta refresh + * main.c (LastEvent): added + (pushEvent): add to LastEvent + +2002-12-26 Hironori SAKAMOTO + + * [w3m-dev 03600] Re: meta refresh + * main.c (main): move add_download_list + +2002-12-25 Hironori SAKAMOTO + + * [w3m-dev 03598] restore cursor when download list panel is updated. + * main.c (stopDownload): delete->replace + (ldDL): use DownloadListBuffer() + +2002-12-25 Hironori SAKAMOTO + + * [w3m-dev 03597] Re: meta refresh + * main.c (Event): next, linked list + (N_EVENT_QUEUE): deleted + (eventQueue): deleted + (n_event_queue): deleted + (CurrentEvent): added + (main): event processing, add CurrentEvent linked list + (pushEvent): add Event to CurrentEvent + (SigAlarm): Currentbuf->event + * proto.h (pushEvent): rename args + +2002-12-25 Hiroaki Shimotsu + + * [w3m-dev 03596] LIST + * anchor.c (link_list_panel): check internal + +2002-12-25 Hironori SAKAMOTO + + * [w3m-dev 03595] tolower, toupper + * Str.c (Strlower): TOLOWER + (Strupper): TOUPPER + * backend.c: delete ctype.h + * etc.c (gethtmlcmd): TOLOWER + * file.c (readHeader): TOLOWER + (checkOverWrite): TOLOWER + (guess_charset): TOLOWER + * ftp.c: delete ctype.h + * indep.c (strcasecmp): TOLOWER + (strncasecmp): TOLOWER + (strcasematch): TOLOWER + * istream.c: include myctype.h + (ssl_get_certificate): TOLOWER + * mailcap.c (mailcapMatch): TOLOWER + * main.c (_quitfm): TOLOWER + * menu.c (accesskey_menu): TOLOWER + * mimehead.c: include myctype.h + (decodeWord): TOUPPER + * mktable.c: delete ctype.h, include myctype.h + (main): IS_SPACE + * myctype.h: delete ctype.h + (TOLOWER): added + (TOUPPER): added + * parsetagx.c (parse_tag): TOLOWER + * rc.c (str_to_bool): TOLOWER + (str_to_color): TOLOWER + * regex.c: delete ctype.h, include myctype.h + (TOLOWER): added + (TOUPPER): added + (regmatch1): TOLOWER + (matchWhich): TOLOWER, TOUPPER + +2002-12-22 Fumitoshi UKAI + + * mimehead.c (decodeWord): don't use toupper() (requires ctype.h) + +2002-12-22 ABE Yuji + + * [w3m-dev 03594] mime decode with encoding named 'b' & 'q' + * mimehead.c (decodeWord): toupeer(method) + +2002-12-22 Fumitoshi UKAI + + * file.c (discardline): not used + +2002-12-22 Hironori SAKAMOTO + + * [w3m-dev 03593] Re: segmentation fault when exist after <img> + * file.c (cur_title): added + (save_obuf): deleted + (process_title): added + (process_n_title): added + (feed_title): added + (HTMLtagproc1): rewrite HTML_TITLE, HTML_N_TITLE, + HTML_TITLE_ALT, HTML_N_HEAD, HTML_HEAD + (HTMLlineproc0): check RB_TITLE + (completeHTMLstream): add RB_TITLE + (loadHTMLstream): initialize cur_title + +2002-12-21 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03590] segmentation fault when <title> exist after <img> + * file.c (save_line): deleted + (save_prevchar): deleted + (save_obuf): added + (HTMLtagproc1): bcopy save_obuf + +2002-12-20 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03588] include time.h in ftp.c + * ftp.c: include <time.h> + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03583] w3mman + * scripts/w3mman/README: W3MMAN_W3M, W3MMAN_MAN + * scripts/w3mman/w3mman.1.in: add ENVIRONMENT + * scripts/w3mman/w3mman.in: $ENV{'W3MMAN_W3M'}, $ENV{'W3MMAN_MAN'} + * scripts/w3mman/w3mman2html.cgi.in: $ENV{'W3MMAN_MAN'} + hyphenation + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03582] add config options graphic_char and use_proxy + * NEWS: rc: graphic_char, use_proxy + * fm.h (Do_no_use_proxy): macro using use_proxy + (use_proxy): added + (no_graphic_char): deleted + (UseGraphicChar): added + * main.c (main): UseGraphicChar, use_proxy + * rc.c (CMT_GRAPHIC_CHAR): added + (CMT_USE_PROXY): added + (params1): graphic_char + (params4): use_proxy + * terms.c (graph_ok): UseGraphicChar + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03581] MARK_URL, MARK_WORD + * main.c (chkWORD): accept ()[]{}&|;*?$ as anchor + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03580] Re: clean up displayBuffer() + * main.c (main): force redraw + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03579] Re: clean up displayBuffer() + * display.c (displayBuffer): re calcTabPos() when force or image redraw + * main.c (_mark): force redraw + (reinit): redraw image + * search.c (backwardSearch): found_last + +2002-12-19 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03584] Re: meta refresh + * main.c (DefaultAlarm): fix initialize value + +2002-12-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03578] meta refresh + * file.c (getMetaRefreshParam): do nothing if refresh_interval < 0 + (HTMLtagproc1): rewrite refresh + (HTMLlineproc2body): add HTML_META + * fm.h (BP_RELOAD): deleted + (Buffer): add event + (AL_IMPLICIT_DONE): deleted + (AL_ONCE): deleted + (AL_RESTORE): deleted + (AlarmEvent): added + * main.c (AlarmEvent): deleted + (PrevAlarm): deleted + (DefaultAlarm): added + (CurrentAlarm): point to DefaultAlarm + (main): CurrentKeyData, CurrentCmdData + handle Currentbuf->event + (SigAlarm): CurrentAlarm is pointer + (copyAlarmEvent): deleted + (setAlarm): setAlarmEvent pass &DefaultAlarm + (setAlarmEvent): arg event + (ldDL): no BP_RELOAD + * proto.h (setAlarmEvent): arg event + +2002-12-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03577] incorrect table width + * table.c (dv2sv): fix move direction + (set_integered_width): ditto + (check_table_height): ditto + (feed_table_tag): ditto + +2002-12-17 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03576] Re: news support + * anchor.c (_put_anchor_news): convert to document code and quote + (_put_anchor_all): convert to document code + * main.c (chkNMIDBuffer): change url_like_pat + +2002-12-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: rc: preserve_timestamp + +2002-12-15 Takahashi Youichirou <nikuq@hk.airnet.ne.jp> + + * [w3m-dev 03574] Re: preserve timestamp + * ftp.c (getFtpModtime): don't call localtime,gettime in same expr + +2002-12-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03573] Re: Bug#172851: w3m: In form, takes hostname as baseref for relative URI action + * url.c (parseURL): if empty is URL, base URL is used + +2002-12-15 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03571] base=0 -> 10 in toNumber() + * parsetagx.c (toNumber): strtol base=10 + +2002-12-15 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03570] meta tag in frame + * frame.c (createFrameFile): fix meta equiv parse in frame + +2002-12-15 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03569] Re: preserve timestamp + * file.c (loadGeneralFile): PresetveTimestamp + (_doFileCopy): is_pipe, PreserveTimestamp + (doFileSave): PreserveTImestamp + * fm.h (PreserveTimestamp): added + * rc.c (CMT_PRESERVE_TIMESTAMP): added + (params3): add preserve_timestamp + +2002-12-15 Takahashi Youichirou <nikuq@hk.airnet.ne.jp> + + * [w3m-dev 03568] Re: preserve timestamp + * etc.c (USE_COOKIE): moved + * file.c (utime.h): include + (setModtime): added + (loadGeneralFile): set f.modtime + (_doFileCopy): setModtime() + (doFileSave): setModtime() + * ftp.c (getFtpModtime): added + (openFTP): pass URLFile, set modtime + * html.h (URLFile): add modtime + * proto.h (openFTP): arg URLFile *uf + (mymktime): always + * url.c (init_stream): initialize modtime + (openFTPStream): pass URLFile + (openURL): openFTPStream + +2002-12-13 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03567] default keybinding + * doc-jp/keymap.default (C-q,C-t,(,),+,-,D,L,T,m,r,{,|,}, + M-c,M-k,M-l,M-m,M-o,M-t): assign + * doc/keymap.default: ditto + * keybind.c: ditto + * doc-jp/keymap.lynx (C-q,C-t,C-u,(,),,,.,;,D,L,T,W,[,], + m,r,w,{,|,},M-<,M->,M-W,M-c,M-g, + M-k,M-l,M-m,M-n,M-o,M-p,M-t,M-w): assign + * doc/keymap.lynx: ditto + * keybind_lynx.c: ditto + * doc-jp/menu.default (Main): Select,SelectTab,TAB_LINK + * doc/menu.default: ditto + +2002-12-13 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03566] configure prefix + * configure: add X prefix for expr args + +2002-12-13 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03564] clean up displayBuffer() + * display.c (delayed_msg): static + (drawAnchorCursor): static + (redrawBuffer): define + (redrawNLine): static + (redrawLine): static + (redrawLineRegion): static + (do_effects): static + (do_color): static + (make_lastline_link): added + (make_lastline_message): added + (displayBuffer): rewrite with make_lastline_message() + (drawAnchorCursor0): added + (drawAnchorCursor): added + * main.c (main): remove onA() + (keyPressEventProc): remove onA() + (disp_srchresult): static + disp_message TRUE + (isrch): remove onA() + (srch): displayBuffer + remove onA() + (srch_nxtprv): remove onA() + (pipeBuf): disp_message TRUE + (pipesh): disp_message TRUE + (readsh): disp_message TRUE + (_mark): dispBuffer + (_followForm): break, always dispBuffer + (drawAnchorCursor0): deleted + (drawAnchorCursor): deleted + (onA): deleted + (anchorMn): delete onA() + (svBuf): displayBuffer B_NORMAL + (reload): disp_err_message TRUE + displayBuffer + (rFrame): displayBuffer + (invoke_browser): displayBuffer + (extbrz): disp_err_message TRUE + (process_mouse): onA -> displayBuffer + (movMs): delete onA() + (menuMs): onA -> displayBuffer + (closeTMs): disp_message TRUE + (wrapToggle): disp_message TRUE + (execdict): disp_message TRUE + (SigAlarm): displayBuffer, delete onA + (reinit): displayBuffer + * map.c (getCurrentMapLabel): deleted + (retrieveCurrentMapArea): added + * proto.h (redrawBuffer): deleted + (redrawNLine): deleted + (redrawLine): deleted + (redrawLineRegion): deleted + (do_effects): deleted + (do_color): deleted + (message_list): deleted + (getCurrentMapLabel): deleted + (retrieveCurrentMapArea): added + +2002-12-13 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03563] Directory Traversal Vulnerabilities in FTP Clients + * file.c (guess_save_name): pass guess_filename + +2002-12-13 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03562] #undef BUFINFO + * config.h.dist (BUFINFO): undef + * configure (use_bufinfo): n + * main.c (saveBufferInfo): ifdef USE_BUFINFO + * proto.h (reloadBuffer): if 0 + (saveBufferInfo): ifdef USE_BUFINFO + +2002-12-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03559] Re: use select instead of signal for loading images + * fm.h (Buffer): add image_loaded + * image.c (W3M_SIGIMG): deleted + (image_lock): deleted + (need_load_image): deleted + (load_image_handler): deleted + (load_image_next): deleted + (getAllImage): check image_loaded + (loadImage): delete image_lock + delete IMG_FLAG_NEXT + * main.c (main): check image_loaded + * proto.h (sleep_till_anykey): return int + * terms.c (sleep_till_anykey): return int + +2002-12-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03558] long title is displayed over tab region + * display.c (redrawNLine): check l < 0 + use addnstr + +2002-12-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03554] Re: Undo/Redo + * doc/README.func (REDO): added + (UNDO): added + * doc-jp/README.func (REDO): added + (UNDO): added + * scripts/w3mhelp.cgi.in: (Page/Cursor motion): add undoPos, redoPos + +2002-12-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: REDO, UNDO + +2002-12-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03553] Undo/Redo + * fm.h (Buffer): add undo + (BufferPos): added + * funcname.tab (REDO): added + (UNDO): added + * main.c (save_buffer_position): added + (main): save_buffer_position + (resetPos): added + (undoPos): added + (redoPos): added + * proto.h (undoPos): added + (redoPos): added + +2002-12-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03552] Re: link list + * menu.c (accesskey_menu): check hseq + (list_menu): check hseq + +2002-12-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03551] Re: External URI loader + * file.c (loadGeneralFile): fix SCM_UNKNONWN + +2002-12-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: LIST, LIST_MENU, MOVE_LIST_MENU + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03549] link list + * anchor.c (addMultirowsImg): add a->slave + (getAnchorText): arg AnchorList *al + (link_list_panel): added + * funcname.tab (LIST): added + (LIST_MENU): added + (MOVE_LIST_MENU): added + * main.c (anchorMn): added + (accessKey): use anchorMn() + (listMn): added + (movlistMn): added + (linkLst): added + * map.c (searchMapList): not static + * menu.c (accesskey_menu): pass AnchorList to getAnchorText() + (lmKeys): added + (lmKeys2): added + (nlmKeys): added + (nlmKeys2): added + (lmGoto): added + (lmSelect): added + (list_menu): added + * proto.h (linkLst): added + (listMn): added + (movlistMn): added + (list_menu): added + (searchMapList): added + (getAnchorText): arg AnchorList *al + (link_list_panel): added + * doc/README.func (LIST): added + (LIST_MENU): added + (MOVE_LIST_MENU): added + * doc-jp/README.func (LINK_MENU): fix message + (LIST): added + (LIST_MENU): added + (MOVE_LIST_MENU): added + * scripts/w3mhelp.cgi.in (Page/Cursor motion): add movlistMn + (Hyperlink operation): add linkLst linkMn + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03548] close anchor before <img align=...> + * file.c (process_img): use div_int + (process_hr): use div_int + (process_idattr): don't close_anchor + (CLOSE_A): added + (HTMLtagproc1): </p> close anchor + <dl>,<ul>,<ol>,<blockquote>,<li>,<dt>,<dd> close anchor + <noframes> close anchor + <pre> close anchor + <center> close anchor + <div> close anchor + add DIV_INT + <form> close anchor + * html.c (TagMAP): add div_int + * html.h (HTML_DIV_INT): added + (HTML_N_DIV_INT): added + * tagtable.tab (div_int): added + (/div_int): added + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03544] Can't display "1&2" in table + * file.c (HTMLlineproc0): continue -> R_ST_NORMAL + +2002-12-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * file.c (loadGeneralFile): missing `{', fix indent for SCM_UNKNOWN + * main.c (set_buffer_environ): unused variables `prev_col' + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03543] External URI loader (Debian closes: Bug#169962) + * file.c (loadGeneralFile): rewrite SCM_UNKNOWN + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03542] news support + * file.c (loadGeneralFile): NNTP as well as NEWS + * indep.c (url_unquote_char): check % hex hex + (url_unquote): unquote except \0, \n, \r + +2002-12-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03541] Re: W3M_LINE_NO / W3M_CURRENT_COLUMN + * main.c (goLine): check searchKeyData() + (set_buffer_environ): W3M_CURRENT_* + +2002-12-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03536] <del>, <s> + * file.c (HTMLtagproc1): <s>..</s> is [S:...:S] + (HTMLtagproc0): <del> will delete <table> + * fm.h (RB_S): added + * html.c (TagMAP): <s>,</s> + move <internal>, </internal> + * html.h (HTML_S): added + (HTML_N_S): added + (HTML_INTERNAL): renumed + (HTML_N_INTERNAL): ditto + (MAX_HTMLTAG): add 2 + * rc.c (CMT_DISP_INS_DEL): update + * table.c (feed_table_tag): add HTML_S, HTML_N_S + * table.h (TBLM_S): added + (TBLM_ANCHOR): renum + * tagtable.tab: (strike, s): HTML_S + (/strike, /s): HTML_N_S + +2002-12-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03535] close anchor, quote < + * file.c (HTMLtagproc1): close_anchor + * frame.c (createFrameFile): quote < + +2002-12-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03534] cleanup file.c + * file.c (HTMLlineproc2body): cleanup + +2002-12-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: w3m/0.3.2.2+cvs + * NEWS: 0.3.2.2 + +2002-12-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * security fix + * file.c (process_img): html_quote() + +2002-12-06 Takahashi Youichirou <nikuq@hk.airnet.ne.jp> + + * [w3m-dev 03530] save history + * history.c (saveHistory): save tmpfile and rename + +2002-12-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: ACCESSKEY, LINK_MENU + +2002-12-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03529] Support of title, accesskey of anchor + * anchor.c (putAnchor): arg title, key + initialize slave + (registerHref): arg title, key + (registerName): title = NULL, key = '\0' + (registerForm): title = NULL, key = '\0' + (_put_anchor_news): title = NULL, key = '\0' + (_put_anchor_all): title = NULL, key = '\0' + (addMultirowsImg): register title, accesskey + (addMultirowsForm): title = NULL, key = '\0' + (getAnchorText): added + * display.c (displayBuffer): show title if any + * file.c (set_breakpoint): use bcopy + (back_to_breakpoint): use bcopy + (flushline): s/anchor/anchor.url/ + s/anchor_hseq/anchor.hseq/ + s/anchor_target/anchor.target/ + add anchor.* + (close_effect0): s/anchor/anchor.url/ + s/anchor_hseq/anchor.hseq/ + (close_anchor): use bzero + (process_img): ATTR_TITLE, + (HTMLtagproc1): s/anchor/anchor.url/ + target, referer, title, accesskey, hseq + (HTMLlineproc2body): ATTR_TITLE, ATTR_ACCESSKEY + (init_henv): use bzero + * fm.h (Anchor): add title, accesskey, slave + (Breakpoint): use Anchor + (struct readbuffer): use Anchor + * funcname.tab (ACCESSKEY): added + (LINK_MENU): added + * html.c (ALST_A): add ATTR_TITLE, ATTR_ACCESSKEY + (ALST_IMG): add ATTR_TITLE + (ALST_IMG_ALT): add ATTR_TITLE + (AttrMAP): add accesskey, renum + * html.h (ATTR_ACCESSKEY): added + (ATTR_*): renum 50->60 + * main.c (linkMn): added + (accessKey): added + * menu.c (LinkMenu): deleted + (LinkV): deleted + (initLinkMenu): deleted + (lmGoURL): deleted + (popupMenu): delete initLinkMenu() + (initMenu): delete Link + (link_menu): added + (accesskey_menu): added + * proto.h (linkMn): added + (link_menu): added + (accessKey): added + (accesskey_menu): added + (putAnchor): arg title, key + (registerHref): arg title, key + (registerImg): arg title + (getAnchorText): added + * doc/README.func (ACCESSKEY): added + (LINK_MENU): added + * doc-jp/README.func (ACCESSKEY): added + (LINK_MENU): added + * scripts/w3mhelp.cgi.in (Hyperlink operation): add linkMn accessKey + +2002-12-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03528] area without alt + * map.c (getCurrentMapLabel): when a->alt is empty + +2002-12-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03527] fix frame.c + * frame.c (createFrameFile): move need_reconstruct + +2002-12-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03526] Re: fix doc*/README.func, w3mhelp.cgi.in + * scripts/w3mhelp.cgi.in: (load_keymap): + always upcase ESC,SPC,TAB,DEL,UP,DOWN,RIGHT,LEFT + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03525] Re: sync option + * func.c (initKeymap): delete check force, keymap_initialized + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03524] fix doc*/README.func, w3mhelp.cgi.in + * doc/README.func (REINIT): added + * doc-jp/README.func (REINIT): added + * scripts/w3mhelp.cgi.in (Page/Cursor motion): + add moveR1 movL1 movD1 movU1 ldown1 lup1 + (File/Stream operation): add pipeBuf + (Miscellany): add dispVer execCmd reinit + (load_keymap): rewrite + (norm_key): rewrite + +2002-12-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: rc: display_ins_del + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03523] Re: del/ins + * file.c (HTMLtagproc1): check displayInsDel, RB_DEL + * fm.h (RB_DEL): added + (displayInsDel): added + * rc.c (CMT_DISP_INS_DEL): added + (display_ins_del): added + * table.c (feed_table_tag): check displayInsDel, TBLM_DEL + * table.h (TBLM_DEL): added + (TBLM_ANCHOR): renum + (struct table_mode): unsigned int pre_mode + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03522] newline around <pre>..</pre> + * file.c (HTMLtagproc1): break before <pre>/after </pre> if necessary + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03521] sync option + * display.c (redrawNLine): calcTabPos() + * func.c (initKeymap): return if keymap_initialized + * main.c (calcTabPos): no more static + (main): move sync_with_option, initCookie, setLocalCookie + move backend + move initKeymap, initMouseAction, initMenu + remove calcTabPos + add displayBuffer + (numTab): static + (deleteTab): delete calcTabPos + (moveTab): delete calcTabPos + * proto.h (calcTabPos): added + +2002-12-05 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev-en 00841] Re: w3m segfaults if the terminal is not writable + * terms.c (reset_tty): don't close stderr + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03516] Re: 2 stroke keybinding + * func.c (keymap_initialized): initialized to FALSE + (setKeymap): push KeyData + +2002-12-04 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: 2 stroke keybinding + func: MULTIMAP + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03515] 2 stroke keybinding + * func.c (setKeymap): add map + K_MULTI support + (getKey2): added + (getKey): rewrite to use getKey2() + * func.h (K_MULTI): added + (MULTI_KEY): added + * funcname.tab (MULTIMAP): added + * main.c (escKeyProc): added + (escmap): rewrite to use escKeyProc() + (escbmap): rewrite to use escKeyProc() + (escdmap): rewrite to use escKeyProc() + (multimap): added + * proto.h (multimap): added + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03514] Effect of tab title + * display.c (redrawNLine): rewrite, do without clrtoeolx() + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03512] Re: HTML parser + * table.c (feed_table_tag): HTML_N_SELECT, HTML_N_CAPTION + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03510] waiting time when cookie was rejected. + * file.c (readHeader): display cookie warnings for only 1 sec + +2002-12-04 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03509] HTML parser + * file.c (close_textarea): delete + (HTMLtagproc1): rewrite + delete HTML_EOL + move HTML_LISTING, HTML_N_LISTING + add HTML_PRE_PLAIN, HTML_N_PRE_PLAIN + add HTML_PLAINTEXT + end_tag + (HTMLlineproc0): s/str/line/ + rewrite + (completeHTMLstream): </textarea> if necessary + * fm.h (struct readbuffer): delete ignore_tag + add end_tag + (RB_XMPMODE): deleted + (RB_LSTMODE): deleted + (RB_SCRIPT): added + (RB_STYLE): added + (RB_*): renumber + (R_ST_EOL): added + (R_ST_*): renumber + (ST_IS_TAG): check R_ST_EOL + * form.c (form_fputs_decode): remove <eol> handling + * frame.c (newFrame): remove_space() + (CASE_TABLE_TAG): added + (createFrameFile): rewrite + * html.c (TagMAP): delete eol + add pre_plain, /pre_plain + * html.h (HTML_EOL): deleted + (HTML_PRE_PLAIN): added + (HTML_N_PRE_PLAIN): added + * table.c (visible_length): rewrite + (visible_length_plain): added + (maximum_visible_length_plain): added + (do_refill): R_ST_EOL + (table_close_select): end_tag + (table_close_textarea): end_tag + (TAG_ACTION_PLAIN): added + (feed_table_tag): rewrite + (feed_table): rewrite + * table.h (TBLM_*) reassign + (struct table_mode): delete ignore_tag + add end_tag + * tagtable.tab (eol): deleted + (pre_plain): added + (/pre_plain): added + +2002-12-03 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03505] Re: coredump when ssl error + * file.c (loadGeneralFile): term_raw(), SIGINT before retry + +2002-12-03 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03504] coredump when ssl error + * file.c (loadGeneralFile): term_raw, SIGINT + +2002-12-03 Fumitoshi UKAI <ukai@debian.or.jp> + + * remove ununsed variables + * file.c (addLink): unused variable `t' + * menu.c (lmGoURL): unused variable `pu' + +2002-12-03 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03501] link tag support + * buffer.c (reshapeBuffer): initialize formlist, linklist, + maplist, hmarklist, imarklist + * file.c (addLink): added + (HTMLlineproc2body): add HTML_LINK + (loadHTMLstream): use HTMLlineproc0 not in R_ST_NORMAL + (reloadBuffer): initialize linklist, maplist, + hmarklist, imarklist + * fm.h (LINK_TYPE_NONE): added + (LINK_TYPE_REL): added + (LINK_TYPE_REV): added + (LinkList): added + (Buffer): add linklist + * html.c (ALST_LINK): added + (TagMAP): add link + (AtrMAP): add rel, rev, title + * html.h (HTML_LINK): added + (ATTR_REL): added + (ATTR_REV): added + (ATTR_TITLE): added + * map.c (append_map_info): anchor + (append_link_info): added + (page_info_panel): append_link_info + * menu.c (LinkMenu): added + (linkV): added + (initLinkMenu): added + (lmGoURL): added + (popupMenu): initLinkMenu() + (initMenu): w3mMenuList new 4 + add "Link" + * tagtable.tab (link): added + +2002-11-29 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m bug] internal tag + * display.c (loadHTMLstream): HTMLlineproc0 internal + +2002-11-29 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03498] Re: parse <!-- ... --> in <script> + * file.c (HTMLlineproc0): tag in textarea + * frame.c (createFrameFile): fix comment processing in frame + +2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03497] incorrect image size + * image.c (getImageSize): invoke w3mimgdiplay -size instead of "5;..." + * w3mimgdisplay.c (defined_size): added + (main): if defined_size get_image_size() + (GetOption): -size + +2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03496] parse <!-- ... --> in <script> + * etc.c (read_token): check <pre> + * file.c (HTMLlineproc0): remove comment processing + check pre mode + comment processing move + +2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03495] local CGI can't work + * local.c: #include "hash.h" + (set_environ): env string put in hash + +2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03494] Number of line is few when pager mode. + * display.c (redrawLine): buf->rootY + +2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03493] scroll menu + * menu.c (mLineU): added + (mLineD): added + (MenuKeymap): C-r, C-s, J, K + (mouse_scroll_line): added + (process_mMouse): drag + BTN4, BTN5 + * doc-jp/README.menu: update + +2002-11-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: w3m/0.3.2.1+cvs + +2002-11-27 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03491] Re: case insensitive regexp search + * regex.c (matchWhich): tolower + +2002-11-27 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * use local_cookie for support local-cgi commands + * file.c (loadGeneralFile): pass Local_cookie to DirBufferCommand + * fm.h (Local_cookie): Str + * local.c (setLocalCookie): Str, set_environ() + (set_cgi_environ): remove LOCAL_COOKIE + * main.c (ldhelp): pass Local_cookie + (adBmark): ditto + * rc.c (optionpanel_src1): cookie + (load_option_panel): pass Local_cookie + * w3mbookmark.c (main): check Local_cookie + * w3mhelperpanel (main): ditto + * scripts/dirlist.cgi.in: ditto + * scripts/w3mhelp.cgi.in: ditto + * scripts/multipart/multipart.cgi.in: ditto + +2002-11-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * frame.c (createFrameFile): html_quote() + +2002-11-27 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03488] meta refresh in frame + * file.c (getMetaRefreshParam): added + (HTMLtagproc1): use getMetaRefreshParam() + * frame.c (createFrameFile): check meta refresh + * proto.h (getMetaRefreshProgram): added + +2002-11-27 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * w3m 0.3.2.1 security fix + * frame.c (createFrameFile): html_quote() + +2002-11-27 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03486] fix of displayLineInfo + * display.c (displayBuffer): don't divide by 0 + +2002-11-26 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03485] fix mouse menu position + * main.c (do_mouse_action): use anchor_map is no active_map + check top left corner + (FRAME_WIDTH): added + (menuMs): adjust cursorX using FRAME_WIDTH + +2002-11-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: CLOSE_TAB_MOUSE, MENU_MOUSE, MOVE_MOUSE, TAB_MOUSE + +2002-11-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc/README.mouse_menu: deleted + * doc/README.mouse: added + * doc-jp/README.mouse_menu: deleted + * doc-jp/README.mouse: added + +2002-11-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * map.c (follow_map_menu): MapArea *a is used ifdef MENU_MAP + * func.c (initMouseAction): remove unsed variables: x, width, map + +2002-11-26 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03478] mouse action configuration + * display.c (displayBuffer): mouse_menu -> mouse_action.menu_str + mouse_action.lastline_str + (redrawNLine): mouse_menu -> mouse_action.menu_str + * fm.h (MouseMenuMap): deleted + (MouseActionMap): added + (MouseAction): added + (mouse_action): added + * func.c (default_mouse_action): added + (setMouseAction0): added + (setMouseAction1): added + (setMouseAction2): added + (initMouseMenu): deleted + (initMouseAction): added + * funcname.tab (CLOSE_TAB_MOUSE): added + (MENU_MOUSE): added + (MOVE_MOUSE): added + (TAB_MOUSE): added + * main.c (main): initMouseMenu() -> initMouseAction() + mouse_menu -> mouse_action + (posTab): mouse_menu -> mouse_action + check y > LastTab->y + (mouse_menu_action): deleted + (do_mouse_action): added + (process_mouse): mouse_menu -> mouse_action + do_mouse_action() + (movMs): added + (menuMs): added + (tabMs): added + (closeTMs): added + (reinit): initMouseMenu() -> initMouseAction() + resource: MOUSE_MENU -> MOUSE + (calcTabPos): mouse_menu -> mouse_action + * menu.c (mainMn): mouse_menu -> mouse_action + (selMn): mouse_menu -> mouse_action + (tabMn): mouse_menu -> mouse_action + (initMenu): add SelectTag to w3mMenuList + * proto.h (movMs): added + (menuMs): added + (tabMs): added + (closeTMs): added + (initMouseMenu): deleted + (initMouseAction): added + * rc.c (sync_with_option): initMouseMenu() -> initMouseAction() + * doc/README.func (CLOSE_TAB_MOUSE): added + (MENU_MOUSE): added + (MOVE_MOUSE): added + (TAB_MOUSE): added + * doc-jp/README.func (CLOSE_TAB_MOUSE): added + (MENU_MOUSE): added + (MOVE_MOUSE): added + (TAB_MOUSE): added + +2002-11-26 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03476] Re: Bug#170506: w3m: Unable to use mozilla bugzilla + * file.c (HTMLtagproc1): initialize ignore_tag in table_mode + (HTMLtagproc0): check table_level + * table.c (feed_table_tag): set mode->ignore_tag + * table.h (struct table_mode): add ignore_tag + +2002-11-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03471] Re: SETPGRP() + * configure: SETPGRP() always defined + * proto.h (close_all_fds): added + (myExec): #ifdef HAVE_SETPGRP + * etc.c (close_all_fds): added + (myExec): #ifdef HAVE_SETPGRP + (mySystem): #ifndef -> #ifdef + * file.c (_doFileCopy): delete #ifdef HAVE_SETPGRP + (doFileSave): ditto + * image.c (openImgdisplay): delete #ifdef HAVE_SETPGRP + use close_all_fds() + * search.c (open_migemo): ditto + +2002-11-23 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03466] Re: background download when external viewer + * file.c (doExternal): UFclose(&uf); + +2002-11-23 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03464] Re: case insensitive regexp search + (rewrite [w3m-dev 03462] by Hiroyuki Ito <hito@crl.go.jp>) + * regex.c (matchWhich): add int + (newRegex0): igncase + (regmatch1): matchWhich with re->mode & RE_IGNCASE + (matchWhich): add igncase + +2002-11-23 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03459] background download when external viewer + * etc.c (myExec): added + (mySystem): rewrite to use myExec() + * file.c (doExternal): run background if BackgroundExtViewer + * proto.h (myExec): added + +2002-11-23 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc/README.mouse_menu: delete column 10 limit + * doc-jp/README.mouse_menu: ditto + +2002-11-23 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03458] Re: mouse menu + * display.c (displayBuffer): nTab2 -> nTab, mouse_menu + * fm.h (nTab2): deleted + (MouseMenuMap): added + (MouseMenu): added + (LIMIT_MOUSE_MENU): added + * func.c (initMouseMenu): delete mouse_menu_map initialization + conv_from_system + mouse_menu->width + * main.c (main): mouse_menu->in_action = FALSE + (posTab): check mouse_menu + (mouse_menu_action): add y arg + mouse_menu_width check + (process_mouse): nTab2 -> nTab, mouse_menu + (nTabLine): deleted + (calcTabPos): check mouse_menu + * menu.c (mainMn): x, y + (selMn): mouse_menu check + (tabMn): mosue_menu check + * proto.h (nTabLine): deleted + +2002-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: options: -N + +2002-11-22 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03457] open URL of command line on each new tabs + * main.c (delBuffer): static + (fusage): -N + (main): add open_new_tab for -N + +2002-11-22 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03456] tiling of tab + * display.c (displayBuffer): use LastTab->y + (redrawNLine): fix column calculation + * fm.h (TabBuffer): add x1, x2, y + * main.c (calcTabPos): added + (main): calcTabPos() + (mouse_scroll_line): rewrite + (process_mouse): use LastTab->y + (_newT): calcTabPos() + (calcTabPos): added + (deleteTab): calcTabPos() + (moveTab): calcTabPos() + +2002-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc/README.mouse_menu: added + * doc-jp/README.mouse_menu: added + +2002-11-22 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03455] mouse menu + * configure (config.h): MOUSE_FILE + * display.c (displayBuffer): nTab -> nTab2, N_TAB -> nTabLine() + (redrawNLine): nTab -> nTab2, N_TAB -> nTabLine() + mouse_menu support + * fm.h (nTab2): added + (N_TAB): deleted + (NO_TABBUFFER): added + (struct _MouseMenu): added + (mouse_menu_map): added + (mouse_menu): added + * func.c (initMouseMenu): added + * main.c (main): initMouseMenu() + (posTab): mouse_menu support + (mouse_menu_action): added + (process_mouse): mouse_menu support + (reinit): initMouseMenu() + (nTabLine): added + (moveTab): check NO_TABBUFFER + * proto.h (nTabLine): added + (initMouseMenu): added + * rc.c (sync_with_option): initMouseMenu() + +2002-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: NEXT, PREV + +2002-11-22 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03454] next / previous buffer + * funcname.tab (NEXT): added + (PREV): added + * main.c (nextBf): added + (prevBf): added + * proto.h (nextBf): added + (prevBf): added + * doc/README.func (NEXT): added + (PREV): added + * doc-jp/README.func (NEXT): added + (PREV): added + * scripts/w3mhelp.cgi.in (Buffer operation): nextBf prevBf + +2002-11-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: rc: image_map_list + +2002-11-20 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03452] image map + * display.c (displayBuffer): use getCurrentMapLabel() + * fm.h (MapArea): delete ifdef MENU_MAP + (image_map_list): added + * main.c (followA): don't call retrieveCurrentImg() ifdef USE_IMAGE + use retrieveCurrentMap() ifndef USE_IMAGE + (_followForm): indent + (drawAnchorCursor0): add AnchorList + (drawAnchorCuror): pass AnchorList to drawAnchorCursor0 + (follow_map): follow_map_panel + * map.c (searchMapList): added + (nearestMapArea): n, min default value to -1 + (searchMapArea): added + (getCurrentMapLabel): added + (getMapXY): moved + (retrieveCurrentMap): added + (follow_map_menu): parsed_tagarg -> name + rewrite to search map list/area + (follow_map_panel): parsed_tagarg -> name + rewrite to search map list/area + (newMapArea): delete ifdef MENU_MAP + (append_map_info): added + (page_info_panel): append_map_info + * proto.h (follow_map_menu): parsed_tagarg -> name + (follow_map_panel): parsed_tagarg -> name + (getCurrentMapLabel): added + (retrieveCurrentMap): added + * rc.c (CMT_IMAGE_MAP_LIST): added + (image_map_list): added + +2002-11-20 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 03450] Re: cygwin console on Win9X + * terms.c (mouse_init): ifdef __CYGWIN__ + (mouse_end): ditto + +2002-11-19 Fumitoshi UKAI <ukai@debian.or.jp> + + * ftp.c (ftp_fclose): void return + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03444] download from ftp. + * file.c (FTPhalfclose: static + (loadGeneralFile): UFclose + FTPhalfclose for SCM_FTP + UFclose before signal back + (loadImageBuffer): UFclose before signal back + (openGeneralPagerBuffer): UFclose + * ftp.c (ftp_fclose): added + (Ftpfclose): dont read response(), but ftp_fclose() + (FtpBye): ftp_fclose() + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03449] Add DOWNLOAD_LIST to doc*/README.func and scripts/w3mhelp.cgi.in + * doc-jp/README.func (DOWNLOAD_LIST): added + * doc/README.func (DOWNLOAD_LIST): added + * scripts/w3mhelp.cgi.in (Miscellany): add ldDL + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03448] Some fixes + * url.c (KeyAbort): SIGNAL_RETURN + * .cvsginore: delete w3mimgsize + * scripts/.cvsignore: delete xface2xbm + * scripts/xface2xbm.in: deleted + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03447] Re: Open download list panel on new tab + * main.c (download_action): buffer management deleted + (ldDL): buffer management moved here + +2002-11-19 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: rc: open_tab_dl_list + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03446] Open download list panel on new tab + * fm.h (open_tab_dl_list): added + * main.c (download_action): buffer delete when download done + (ldDL): open buf in new tab if open_tab_dl_list + * rc.c (CMT_OPEN_TAB_DL_LIST): added + (open_tab_dl_list): added + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03445] download list for "w3m foo.tar.gz" + * main.c (main): display download list + +2002-11-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03443] Can't display "echo only_one_line | w3m" + * display.c (redrawNLine): check 1st line + +2002-11-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03442] Re: setting form on loading + * form.c (preFormUpdateBuffer): ifdef MENU_SELECT + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03441] charset of save file + * file.c (_doFileCopy): use conv_from_system() + (doFileSave): conv_from_system() + * main.c (DownloadListBuffer): conv_from_system() + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03440] Re: restore alarm event + * fm.h (BP_RELOAD): added + (DOWNLOAD_LIST_TITLE): added + * main.c (main): if BP_RELOAD, do reload + (reload): if buffer is DOWNLOAD_LIST, ldDL() + (DownloadListBuffer): rewrite with DOWNLOAD_LIST_TITLE + (download_action): delete "update" + don't delete prev buffer + (ldDL): rewrite to do reload + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03439] restore alarm event + * fm.h (AL_RESTORE): added + * main.c (alarm_sec): deleted + (alarm_status): deleted + (alarm_buffer): deleted + (alarm_event): deleted + (AlarmEvent): added + (CurrentAlarm): added + (PrevAlarm): added + (main): rewrite with CurrentAlarm + (SigAlarm): rewrite with CurrentAlarm + (copyAlarmEvent): added + (setAlarm): if AL_RESTORE, copy back from PrevAlarm + rewrite with CurrentAlarm + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03438] Re: segmentation fault by large complex table. + * table.c (check_table_height): check MAXROWCELL + * table.h (MAXROWCELL): added + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03437] Re: Check image size + * fm.h (MAX_IMAGE_SIZE): changed to 2048 + +2002-11-16 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03436] Check image size + * file.c (process_img): check w > MAX_IMAGE_SIZE + (HTMLlineproc2body): check w,h > MAX_IMAGE_SIZE + * fm.h (MAX_IMAGE_SIZE): added + * image.c (getImageSize): check w,h,width,height > MAX_IMAGE_SIZE + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03435] save image with SAVE + * buffer.c (discardBuffer): check image + * file.c (loadImageBuffer): add st + IMG_FLAG_DONE_REMOVE + s/sourcefile/mailcap_source/ + * fm.h (IMG_FLAG_DONT_REMOVE): added + * image.c (drawImage): & IMG_FLAG_LOADED + (deleteImage): & IMG_FLAG_DONT_REMOVE + (showImageProgress): & IMG_FLAG_LOADED + (getImage): & IMG_FLAG_LOADED + (getImageSize): & IMG_FLAG_LOADED + * main.c (vmSrc): delete ifdef USE_IMAGE + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03434] Re: cygwin console on Win9X + * terms.c (cygwin_mouse_btn_swapped): ifdef USE_MOUSE + (lastConMouse): deleted + (check_win9x): static + (read_win32_console): static + (GetConsoleHwnd): static + (cygwin_version): ifdef USE_MOUSE, static + (check_cygwin_console): static + (NEED_XTERM_ON): added + (NEED_XTERM_OFF): added + (NEED_CYGWIN_ON): added + (NEED_CYGWIN_OFF): added + (XTERM_TITLE): static char[] + (SCREEN_TITLE): static char[] + (CYGWIN_TITLE): static char[] + (term_title): check title_str + * terms.h (LASTLINE): added + (is_xterm): deleted + (enable_win9x_console_input): extern + (disable_win9x_console_input): extern + (NEED_XTERM_ON): deleted + (NEED_XTERM_OFF): deleted + +2002-11-16 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp> + + * [w3m-dev 03433] cygwin console on Win9X + * configure (config.h): SUPPORT_WIN9X_CONSOLE_MBCS + * linein.c (inputLineHistSearch): enable_win9x_console_input() + disable_win9x_console_input() + * main.c (mouse): cygin_mouse_btn_swapped + * terms.c (is_xterm): static + (isLocalConsole): added + (cygwin_mouse_btn_swapped): added + (check_win32_console): deleted + (check_win9x): added + (init_win32_console_handle): check ttyslot() + (enable_win9x_console_input): added + (disable_win9x_console_input): added + (read_win32_console_input): delete ifdef MOUSE + (cmp_tv): deleted + (subtract_tv): deleted + (GetConsoleHwnd): added + (cygwin_version): added + (select_or_poll_win32_console): deleted + (check_cygwin_console): added + (select_win32_console): deleted + (set_tty): check_cygin_console() + (term_title): SetConsoleTitle() + (CYGWIN_ON): added + (CYGIN_OFF): added + (mouse_init): NEED_CYGWIN_ON + (mouse_end): NEED_CYGWIN_OFF + * terms.h (cygwin_mouse_btn_swapped): added + (enable_win9x_console_input): added + (disable_win9x_console_input): added + (NEED_CYGWIN_ON): added + (NEED_CYGWIN_OFF): added + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03432] Re: tab browser + * display.c (displayBuffer): s/buf->LINES/LASTLINES/ in cygwin + +2002-11-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: func: DOWNLOAD_LIST + +2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03431] save file by background process + * file.c (loadGeneralFile): use _doFileCopy() + (_doFileCopy): renamed from doFileCopy() + lock + fork & save + (doFileSave): lock + fork & save + * fm.h (DownloadList): added + (FirstDL): added + (LastDL): added + * form.c (struct internal_action): add download + * funcname.tab (DOWNLOAD_LIST): added + * html.h (URLFile): add url + * main.c (dump_extra): add add_download_list + (main): add_download_list, ldDL() + (_quitfm): added + (quitfm): rewrite with _quitfm() + (qquitfm): ditto + (w3m_exit): stopDownload() + (addDownloadList): added + (checkDownloadList): added + (convert_size3): added + (DownloadListBuffer): added + (download_action): added + (stopDownload): added + (ldDL): added + * proto.h (ldDL): added + (convert_size): added + (convert_size2): added + (doFileCopy): deleted + (_doFileCopy): added + (addDownloadList): added + (stopDownload): added + (checkDownloadList): added + (download_action): added + * url.c (openURL): save url in uf + +2002-11-15 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03430] disable display of alarm command + * main.c (SigAlarm): remove display_message_nsec() + (setAlarm): show sec + +2002-11-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: env,rc: https_proxy + +2002-11-15 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03429] https proxy + * fm.h (HTTPS_proxy): added + (HTTPS_proxy_parsed): added + * main.c (main): check https_proxy + * rc.c (CMT_HTTPS_PROXY): added + (https_proxy): added + (parse_proxy): HTTPS_proxy + * url.c (openURL): for HTTPS, use HTTPS_proxy + (schemeToProxy): HTTPS_proxy_parsed + +2002-11-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03428] install manual as w3m.exe.1 on Cygwin + * XMakefile (MAN1_TARGET): added + (HELP_TARGET): added + (install): use MAN1_TARGET, HELP_TARGET + (uninstall): use MAN1_TARGET, uninstall HELP_TARGET + +2002-11-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03427] Re: Select the nearest map area as default. + * map.c (newMapArea): accept sign chars + if points is not enough, return as SHAPE_UNKNOWN + +2002-11-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03425] charset of title + * display.c (displayBuffer): buffername converted to system coding + for term title + +2002-11-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03424] Content length + * file.c (loadGeneralFile): current_content_length before do_download + (save2tmp): current_content_length move before return + +2002-11-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03422] Re: setting form on loading + * form.c (loadPreForm): initialize name + check textarea, name for /textarea + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03418] Re: tab browser + * display.c (redrawNLine): s/clrtoeol/clrtoeolx/ + move rootY + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03417] install_w3mimgdisplay + * configure: define install_w3mimgdisplay + after use_w3mimg_fb determined + +2002-11-12 Akira TAGOH <at@gclab.org> + + * [w3m-dev 03415] fix a build issue for 64bit arch + * gcmain.c: deleted + * main.c: no need gcmain.c + s/MAIN/main/ + * mktable.c: ditto + * w3mbookmark.c: ditto + * w3mhelperpanel.c: ditto + +2002-11-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc/w3m.1: update + * doc-jp/w3m.1: update + * NEWS: update: -show-option + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03414] Re: show parameter + * main.c (fusage): add -show-option + (MAIN): check -show-option + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03413] Re: setting form on loading + * form.c (loadPreForm): add textarea + (preFormUpdateBuffer): submit if value is matched as well + case FORM_TEXTAREA + case FORM_SELECT ifdef MENU_SELECT + +2002-11-12 Yuji Abe <cbo46560@pop12.odn.ne.jp> + + * [w3m-dev 03411] do AUXBIN_TARGETS + * scripts/Makefile (all): add AUXBIN_TARGETS + (clean): add AUXBIN_TARGETS + +2002-11-12 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03408] edit From in w3mail.cgi + * scripts/w3mmail.cgi.in: edit from as well + +2002-11-12 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03408] fix Bug#87472 + MOUSE_SCROLL_LINE should be a run-time option + * fm.h (relative_wheel_scroll): added + (fixed_wheel_scroll_count): added + (relative_wheel_scroll_ratio): added + * main.c (mouse_scroll_line): added + (process_mouse): s/MOUSE_SCROLL_LINE/mouse_scroll_line()/ + * menu.c (MOUSE_SCROLL_LINE): deleted + * terms.h (MOUSE_SCROLL_LINE): deleted + * rc.c (CMT_RELATIVE_WHEEL_SCROLL): added + (CMT_RELATIVE_WHEEL_SCROLL_RATIO): added + (CMT_FIXED_WHEEL_SCROLL_COUNT): added + (wheelmode): added + (params3): add relative_wheel_scroll, + relative_wheel_scroll_ratio, + fixed_wheel_scroll_count + * NEWS: updated + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03407] char GlobalKeymap -> unsigned char GlobalKeymap + * fm.h (GlobalKeymap): char->unsigned char + (EscKeymap): ditto + (EscBKeymap): ditto + (EscDKeymap): ditto + (PcKeymap): ditto + * keybind.c: ditto + * keybind_lynx.c: ditto + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03406] + * scripts/Makefile: add AUXBIN_DIR + update LIB_DIR, HELP_DIR + xface2xpm installed in AUXBIN_DIR + * scripts/multipart/Makefile: update LIB_DIR + * scripts/w3mman/Makefile: update LIB_DIR + +2002-11-12 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03405] Re: tab browser + * main.c (moveTab): B_FORCE_REDRAW + +2002-11-10 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03401] w3mhelp.cgi + * proto.h (tabMn): nulcmd ifndef USE_MENU + * scripts/w3mhelp-funcdesc.en.pl.in: add LINEEDIT:EDITOR + * scripts/w3mhelp-funcdesc.ja.pl.in: add LINEEDIT:EDITOR + Tab operation + * scripts/w3mhelp-funcname.pl.in: add LINEEDIT:EDITOR C-o + * scripts/w3mhelp.cgi.in: add tabA in Hyperlink operation + add tabURL, tabrURL in File/Stream operation + add Tab operation + add lineedit_editor in Line edit mode + +2002-11-10 NOMIYA Masaru <nomiya@ttmy.ne.jp> + + * [w3m-dev 03399] + * XMakefile: ;; -> ; + +2002-11-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03398] auxbindir + * XMakefile: EXT_TARGETS -> LIB_TARGETS, AUXBIN_TARGETS + * config.h.dist: add AUXBIN_DIR + LIB_DIR is cgi-bin + * configure: add -auxbindir + add AUXBIN_DIR + LIB_DIR is cgi-bin + EXT_TARGETS -> LIB_TARGETS, AUXBIN_TARGETS + * file.c (compression_decoder): libfile_p -> auxbin_p + (check_command): libfile_p -> auxbin_p + use w3m_auxbin_dir() instead of w3m_lib_dir() + (acceptableEncoding): libfile_p -> auxbin_p + (xface2xpm): use auxbinFile() instead of libFile() + (uncompress_stream): libfile_p -> auxbin_p + use auxbinFile() instead of libFile() + * image.c (getCharSize): use w3m_auxbin_dir() instead of w3m_lib_dir() + (openImgdisplay): use w3m_auxbin_dir() instead of w3m_lib_dir() + * indep.c (w3m_auxbin_dir): added + * indep.h (w3m_auxbin_dir): added + * proto.h (auxbinFile): added + * rc.c (auxbinFile): added + (libFile): #if 0, no longer used + (helpFile): used only #ifndef USE_HELP_CGI + * NEWS: separate auxbindir and libdir (local-CGI, file:///$LIB/) + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03396] Re: meta refresh problem + * main.c (MAIN): AL_IMPLICIT -> alarm_status + (SigAlarm): AL_IMPLICIT -> alarm_status + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03391] use editor when input at last line + * linein.c (_editor): added + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03390] some fixes related with form + * form.c (input_textarea): goto input_end + unlink(tmpf); + * main.c (_followForm): s/TEXT/Password/ + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03388] meta refresh problem + * fm.h (AL_IMPLICIT_DONE): 3->4 + (AL_ONCE): 8 + (AL_IMPLICIT_ONCE): (AL_IMPLICIT|AL_ONCE) + * main.c (MAIN): & AL_IMPLICIT, & AL_IMPLICIT_DONE + (SigAlarm): & AL_IMPLICIT, & AL_IMPLICIT_DONE, & AL_ONCE + (setAlaramEvent): & AL_IMPLICIT + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03387] Re: tab browser + * buffer.c (newBuffer): buf->LINES initialize + (gotoLine): use buf->LINES + (gotoRealLine): use buf->LINES + * display.c (displayBuffer): check by buf->LINES + (redrawNLine): buf->LINES + (redrawLine): buf->LINES + (redrawLineImage): no need buf->rootY + (cursorDown): buf->LINES + (arrangeCursor): buf->LINES + * etc.c (columnSkip): buf->LINES + (lineSkip): buf->LINES + (currentLineSkip): buf->LINES + * fm.h (Buffer): add LINES + * main.c (nscroll): Currentbuf->LINES + (pgFore): Currentbuf->LINES + (pgBack): Currentbuf->LINES + (ctrCsrV): Currentbuf->LINES + (movD): Currentbuf->LINES + (movU): Currentbuf->LINES + (_goLine): Currentbuf->LINES + (drawAnchorCursor): Currentbuf->LINES + (setOpt): B_REDRAW_IMAGE + (newT): B_REDRAW_IMAGE + (closeT): B_REDRAW_IMAGE + (nextT): B_REDRAW_IMAGE + (prevT): B_REDRAW_IMAGE + (moveTab): B_NORMAL + +2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03386] Re: Interrupt in no_proxy_check() + * file.c (getAuthCookie): term_cbreak() + (loadGeneralFile): term_cbreak() + term_raw() + preFormUpdateBuffer() before term_raw() + (loadHTMLstream): term_raw() + +2002-11-07 Katsumi@yamaoka.cc + + * [w3m-dev 03385] install-sh typo + * install-sh: s/'/"/ + +2002-11-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03383] Select the nearest map area as default. + * fm.h (MapArea): add center_x, center_y + * map.c (nearestMapArea): added + (follow_map_menu): initial by nearestMapArea() + (newMapArea): set center_x, center_y + +2002-11-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03382] Interrupt in no_proxy_check() + * url.c (check_no_proxy): SIGINT trap by KeyAbort + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03380] fix configure + * configure: s/INSTALL_W3MIMGDISPLAY/install_w3mimgdisplay/ + already define + * config.h.dist (INSTALL_W3MIMGDISPLAY): added + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03379] setuid w3mimgdisplay and check console tty + * XMakefile: w3mimgdisplay install by INSTALL_W3MIMGDISPLAY + * configure: ask setuid w3mimgdisplay + (w3mimgdisplay_setuid): added + (INSTALL_W3MIMGDISPLAY): added + * etc.c (mySystem): close until FOPEN_MAX + * image.c (openImgdisplay): setenv W3M_TTY + stderr to /dev/null + close until FOPEN_MAX + * install-sh: -o, -g for owner, group + * proto.h (ttyname_tty): added + * search.c (open_migemo): stderr to /dev/null + close until FOPEN_MAX + * terms.c (ttyname_tty): added + * w3mimgdisplay.c: include <sys/types.h>, <unistd.h> + W3MIMGDISPLAY_SETUID + stderr to /dev/null + * w3mimg/w3mimg.c: include <sys/types.h>, <unistd.h> + W3MIMGDISPLAY_SETUID + * w3mimg/fb/fb_w3mimg.c (check_tty_console): added + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03377] sync_with_option + * etc.c (loadPassword): reset passwords + * form.c (loadPreForm): reset PreForm + * main.c (option_assigned): deleted + (parse_proxy): deleted + (MAIN): move initCookie(), setLocalCookie() + after sync_with_option() + delete parseURL for *_proxy + s/WrapSearch/WrapDefault/ + move initKeymap(), initMenu() after setupscreen() + sync_with_option() after init_rc() + * rc.c (pre_form_file): move in params9 (network settting) + (sync_with_option): initKeymap(), initMenu() is done + if fmInitialized + (init_rc): delete sync_with_option() + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03375] NULL check of CurrentTab + * display.c (disp_message_nsec): check CurrentTab + * file.c (doExternal): check CurrentTab + * image.c (loadImage): check CurrentTab + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03374] disable_secret_security_check + * etc.c (openSecurityFile): disable_secret_security_check + * fm.h (disable_secret_security_check): added + * rc.c (CMT_DISABLE_SECRET_SECURITY_CHECK): added + (disable_secret_security_check): added + * NEWS: rc: disable_secret_security_check + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * NEWS: update + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * rc.c (CMT_PRE_FORM_FILE): added + (pre_form_file): added + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc-jp/README.tab: added [w3m-dev 03372] + * doc/README.tab: brief translation + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03372] tab browser + * display.c (displayBuffer): add ny + rootY offset by tab + tab line + (cursorDown): offset rootY + (arrangeCursor): offset rootY + * etc.c (columnSkip): offset rootY + (lineSkip): offset rootY + (currentLineSkip): offset rootY + * file.c (HTMLlineproc2body): ATTR_TARGET + * fm.h (MapArea): add target + (Buffer): add rootY + (TabBuffer): added + (Currentbuf): comment out + (Firstbuf): comment out + (CurrentTab): added + (FirstTab): added + (LastTab): added + (open_tab_blank): added + (close_tab_back): added + (nTab): added + (TabCols): added + (N_TAB): added + (Currentbuf): CurrentTab->currentBuffer + (Firstbuf): CurrentTab->firstBuffer + * funcname.tab (CLOSE_TAB): added + (NEW_TAB): added + (NEXT_TAB): added + (PREV_TAB): added + (TAB_GOTO): added + (TAB_GOTO_RELATIVE): added + (TAB_LEFT): added + (TAB_LINK): added + (TAB_MENU): added + (TAB_RIGHT): added + * html.c (ALST_AREA): add ATTR_TARGET + * image.c (showImageProgress): offset rootY + * main.c (_newT): added + (followTab): added + (moveTab): added + (check_target): added + (MAIN): init tab related values + buf => tab + (nscroll): offset rootY + (pgFore): offset rootY + (pgBack): offset rootY + (ctrCsrV): offset rootY + (_movD): offset rootY + (_movU): offset rootY + (_goLine): offset rootY + (_mark): offset rootY + (followA): check target + (_followForm): offset rootY + (drawAnchorCursor0): offset rootY + (drawAnchorCursor): offset rootY + (backBf): check close_tab_back + (follow_map): rewrite for tab, check target + (posTab): added + (process_mouse): tab operation + offset rootY + (deleteFiles): for all buffers in all tabs + (newTab): added + (newT): added + (numTab): added + (deleteTab): added + (closeT): added + (nextT): added + (prevT): added + (followTab): added + (tabA): added + (tabURL0): added + (tabURL): added + (tabrURL): added + (moveTab): added + (tabR): added + (tabL): added + * map.c (follow_map_menu): return MapArea + (newMapArea): add target args + * menu.c (SelTabMenu): added + (SelTabV): added + (initSelTabMenu): added + (smChTab): added + (smDelTab): added + (MainMenuItem): add Select Tab + on New Tab + (popupMenu): add initSelTabMenu() + offset rootY + (mainMn): offset rootY + (selMn): offset rootY + (initSelectMenu): offset rootY + (tabMn): added + * proto.h (newT): added + (closeT): added + (nextT): added + (prevT): added + (tabA): added + (tabURL): added + (tabrURL): added + (tabR): added + (tabL): added + (newTab): added + (deleteTab): added + (follow_map_menu): return MapArea + (newMapArea): add target arg + (tabMn): added + * rc.c (CMT_OPEN_TAB_BLANK): added + (CMT_CLOSE_TAB_BACK): added + (open_tab_blank): added + (close_tab_back): added + * doc/README.func (CLOSE_TAB): added + (NEW_TAB): added + (NEXT_TAB): added + (PREV_TAB): added + (TAB_GOTO): added + (TAB_GOTO_RELATIVE): added + (TAB_LEFT): added + (TAB_LINK): added + (TAB_MENU): added + (TAB_RIGHT): added + * doc-jp/README.func: ditto doc/README.func + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc-jp/README.pre_form: added [w3m-dev 03373] + * doc/README.pre_form: brief translation + +2002-11-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * etc.c (PASS_IS_READABLE_MSG): deleted + (FILE_IS_READABLE_MSG): added + (openPasswdFile): deleted + (openSecretFile): delete error_msg arg + (loadPasswd): use openSecretFile() + * form.c (next_token): delete unused static decl + (FILE_IS_READABLE_MSG): deleted + (loadPreForm): no need pass error_msg + * proto.h (openSecretFile): delete error_msg arg + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03373] setting form on loading + * config.h.dist (PRE_FORM_FILE): added + * configure (PRE_FORM_FILE): added + * etc.c (openPasswdFile): define by openSecretFile() + (openSecretFile): renamed, not static + * file.c (loadGeneralFile): preFOrmUpdateBuffer() + * fm.h (Buffer): add submit + (pre_form_file): added + * form.c (struct pre_form_item): added + (struct pre_form): added + (next_token): added + (PreForm): added + (add_pre_form): added + (add_pre_form_item): added + (loadPreForm): added + (preFormUpdateBuffer): added + * frame.c (renderFrame): add preFormUpdateBuffer() + * main.c (MAIN): buf->submit check + * proto.h (preFormUpdateBuffer): added + (openSecretFile): added + (loadPreForm): added + * rc.c (sync_with_option): add loadPreForm() + +2002-11-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03371] segmentation fault by large complex table. + * table.c (bsearch_2short): indexarry char to short + (bsearch_double): ditto + (dv2sv): ditto + (table_rule_width): ditto + (set_integrated_width): ditto + (check_table_height): ditto + (feed_table_tag): ditto + * table.h (struct table_cell): index, eindex char to short + +2002-11-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.3.2 + * version.c.in: update + * doc/README: version 0.3.2, release date + * doc-jp/README: ditto + * NEWS: update + +2002-11-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * scripts/w3mhelp.cgi.in: add chkWORD + +2002-11-04 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00827] Re: w3m-cvs segfaults on news://<mid> URLs + * url.c (openURL): check pu->file for news: + +2002-10-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * fix compilation warnings + * w3mimgdisplay.c: add #include <string.h> for strlen, strcmp + * w3mimg/fb/fb.c: add #include <string.h> for memset + * w3mimg/fb/fb_w3mimg.c: add #include <string.h> for memset + +2002-10-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * 0.3.2 release candidate 4 + * version.c.in: update + +2002-10-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03365] ~/.netrc support + * etc.c (add_auth_pass_entry): add netrc arg + add new entry to tail + (find_auth_pass_entry): ent->host == NULL is "default" + (loadPasswd): rewrite with next_token, parsePasswd, + openPasswdFile + load ~/.netrc + (next_token): added + (parsePasswd): added + (openPasswdFile): added + * ftp.c (openFTP): use find_auth_user_passwd + * NEWS: ~/.netrc + +2002-10-31 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03363] refresh download + * file.c (HTMLtagproc1): alarm is implicit once + * fm.h (AL_IMPLICIT_ONCE): added + * main.c (searchKeyData): reset CurrentKeyData, CurrentCmdData + (SigAlarm): CurrentCmdData is saved to data + message displayed on AL_EXPLICIT + clear alarm when AL_IMPLICIT_ONCE + (setAlarmEvent): AL_IMPLICIT_ONCE + +2002-10-31 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03362] Re: support for http://user:pass@www.url.com + * etc.c (loadPasswd): accept host, passwd + +2002-10-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03359] support for http://user:pass@www.url.com + * etc.c (find_auth_user_passwd): use ParsedURL for args + use user and passwd if these are defined in ParsedURL + * file.c (getAuthCookie): change find_auth_user_passwd() + * proto.h (find_auth_user_passwd): change prototype + * NOTE: http://user:pass@www.url.com is NOT RECOMMENDED + for security reasons. + +2002-10-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03357] tab in <pre> in <ul>,<ol>,... + * file.c (HTMLlineproc2): check indent for tabstop + +2002-10-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03354] display current line number + * display.c (displayBuffer): %3d -> %d + +2002-10-29 Fumitoshi UKAI <ukai@debian.or.jp> + + * 0.3.2 release candidate 3 + * version.c.in: update + +2002-10-29 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03352] w3mimgsize is not necessary. + * XMakefile (IMGSIZE): removed + * config.h.dist (IMGSIZE): removed + * configure (imgtarget): remove IMGSIZE + (config.h): remove IMGSIZE + * rc.c (CMT_IMGSIZE): removed + * doc/README.img: remove imgsize + * w3mimgsize.c: removed + +2002-10-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03351] w3m core dump + * table.c (feed_table_tag): fix rendering problem (maybe security hole?) + +2002-10-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00796] + * configure: expand here. ($var in Makefile is $v + ar) + * XMakefile: clean w3mimg/**/*.o + +2002-10-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00795] + * configure: IMLIB_CONFIG, IMLIB2_CONFIG, GDKPIXBUF_CONFIG + * rc.c (CMT_DISP_IMAGE): need if not defined USE_IMAGE + +2002-10-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * 0.3.2 release candidate 2 + * version.c.in: update + +2002-10-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00788] + * fm.h (displayImage): FALSE ifndef USE_IMAGE + * rc.c (displayImage): display_image even if USE_IMAGE undefined + (sync_with_options): display_image is forced to be FALSE + ifndef USE_IMAGE + +2002-10-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00783] hsaka@mth.biglobe.ne.jp (Hironori SAKAMOTO) + add display_lineinfo option + * display.c (displayBuffer): check displayLineInfo + * fm.h (displayLineInfo): added + * rc.c (CMT_DISPLINEINFO): added + (display_lineinfo): added + * NEWS (rc: display_lineinfo): add + +2002-10-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00781] "Clemens Fischer" <ino-waiting@gmx.net> + zope doesn't recognize implied *LWS in accept-language + * rc.c (sync_with_option): remove optional LWS + +2002-10-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00780] "Carlo E. Prelz" <fluido@fluido.as> + always print on screen the relative position + * display.c (displayBuffer): relative position + +2002-10-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * 0.3.2 release candidate 1 + * version.c.in: update + +2002-10-26 Gary Johnson <garyjohn@spk.agilent.com> + + * [w3m-dev-en 00777] patch to fix w3m-0.3.1 word break problem + * file.c (is_period_char): + 0x203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + (is_beginning_char): + 0x2018 - LEFT SINGLE QUOTATION MARK + 0x2039 - SINGLE LEFT-POINTING ANGLE QUOTATION MARK + (is_word_char): add several chars ifndef JP_CHARSET + add ':' and '*' + +2002-10-17 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03342] + * doc/README.img: updated + * doc-jp/README.img: updated + +2002-10-17 Daiki Ueno <ueno@unixuser.org> + + * [w3m-dev 03341] white space is needed to close an empty-element tag + * parsetagx.c (parse_tag): extract tagname until '/' + +2002-10-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03339] Re: Debian Bug#164098 w3m: <sup> is not properly supported + * file.c (HTMLtagproc1): HTML_SUP, HTML_N_SUP, HTML_SUB, HTML_N_SUB + * html.c (TagMAP): sup, /sup, sub, /sub + * html.c (HTML_SUP): added + (HTML_N_SUP): added + (HTML_SUB): added + (HTML_N_SUB): added + * table.c (feed_table_tag): HTML_SUP, HTML_N_SUP, HTML_SUB, HTML_N_SUB + * tagtable.tab (sup): added + (/sup): added + (sub): added + (/sub): added + +2002-10-11 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03337] delete unused functions in fb.c etc. (Re: canna patch) + * w3mimg/fb/fb.c (fb_image_rotate): delete + (fb_frame_rotate): delete + (fb_pset): delete + (fb_get_color): delete + (fb_clear): delete + (fb_cmap_disp): delete + (fb_fscrn_disp): delete + (fb_vscrn_disp): delete + * w3mimg/fb/fb.h (fb_image_rotate): delete + (fb_frame_rotate): delete + (fb_pset): delete + (fb_get_color): delete + (fb_clear): delete + (fb_cmap_disp): delete + (fb_fscrn_disp): delete + (fb_vscrn_disp): delete + * w3mimg/fb/fb_img.c (fb_image_draw_simple): delete + * w3mimg/fb/fb_img.h (fb_image_draw_simple): delete + + * w3mimg/fb/license.txt: removed, follow w3m license + +2002-10-09 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03336] proxy check for https authorization: + * url.c (HTTPrequest): check CONNECT request for ssl + +2002-10-06 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03333] x11 image animation + * w3mimg/x11/x11_w3mimg.c (struct x11_image): added + (x11_img_new): added + (resize_image): added + (x11_load_image): rewrite GdkPixbuf + (x11_show_image): rewrite GdkPixbuf + (x11_free_image): rewrite GdkPixbuf + +2002-10-02 Yuji Abe <cbo46560@pop12.odn.ne.jp> + + * [w3m-dev 03332] Re: hang up when seeing web page that contains xbm file + * w3mimg/x11/x11_w3mimg.c (x11_load_image): transparent support + +2002-10-02 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 03331] Re: hang up when seeing web page that contains xbm file + * configure: check gdk-pixbuf-config existence + +2002-10-01 Yuji Abe <cbo46560@pop12.odn.ne.jp> + + * [w3m-dev 03330] Re: hang up when seeing web page that contains xbm file + * w3mimg/x11/x11_w3mimg.c (x11_load_image): scaling + +2002-09-30 Yuji Abe <cbo46560@pop12.odn.ne.jp> + + * [w3m-dev 03327] gdk-pixbuf support for w3m-img/x11 + * configure (use_w3mimg_x11) Imlib1 or GdkPixbuf + check gdkpixbuf + * w3mimg/x11/x11_w3mimg.c (USE_GDKPIXBUF): added + (x11_init): USE_GDKPIXBUF + (x11_load_image): USE_GDKPIXBUF + (x11_get_image_size): USE_GDKPIXBUF + +2002-09-30 qhwt@myrealbox.com + + * [w3m-dev 03325] Re: hang up when seeing web page that contains xbm file + * w3mimgdisplay.c (main): always return response + even if size is unknown + +2002-09-29 Hiroaki Shimotsu <shim@d5.bs1.fc.nec.co.jp> + + * [w3m-dev 03323] EDITOR + * main.c (MAIN): use not_null() + +2002-09-29 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * Re: [w3m-dev 03320] Re: Passwords + * etc.c (dir_under): same path is ok + * file.c (loadGeneralFile): if missing, return NULL + ssl cert already checked + * html.h (URLFILE): add ssl_certificate + * istream.c (ssl_get_certificate): change args + * istream.h (ssl_get_certificate): ditto + * url.c (openSSLHandle): add p_cert + ssl certificate check here + (HTTPrequest): auth_cookie fix + +2002-09-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03321] Bug#162104: file descriptors 1 and 2 are closed rather than reopened to /dev/null + * etc.c (mySystem): fd 0,1,2 redirect /dev/null, close all other fds + +2002-09-25 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03319] mailto + * main.c (followA): mailto + * main.c (cmd_loadURL): mailto + * url.c (_parsedURL2Str): mailto: query + +2002-09-25 AIDA Shinra <aida-s@jcom.home.ne.jp> + + * [w3m-dev 03318] Re: Passwords + * etc.c (struct auth_path): added + (passwords): added + (dir_under): added + (add_auth_pass_entry): added + (find_auth_pass_entry): added + (find_auth_user_passwd): added + (loadPasswd): added + (find_auth): dir_under() + (add_auth_cookie): check file + * file.c (find_auth_user_passwd): removed + (getAuthCookie): use delText() + check proxy + (get_auth_cookie): removed + (loadGeneralFile): auth_pu + * proto.h (schemeToProxy): added + (get_auth_cookie): removed + (loadPasswd): added + (find_auth_user_passwd): added + * rc.c (sync_with_option): loadPasswd() + * textlist.c (delValue): added + * textlist.h (delValue): added + (delText): added + * url.c (HTTPrequest): seen_www_auth + (schemeToProxy): added + +2002-09-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03312] Re: Passwords + * config.h.dist: PASSWD_FILE + * file.c (find_auth_user_passwd): return if passwd_file == NULL + +2002-09-11 Yuuichi Teranishi <teranisi@gohome.org> + + * [w3m-dev 03311] Re: Passwords + * configure (config.h): default PASSWD_FILE + * fm.h (passwd_file): default PASSWD_FILE + +2002-09-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03307] add password_file support + * file.c (find_auth_user_passwd): added + * fm.h (passwd_file): added + * rc.c (CMT_PASSWDFILE): added + (passwdfile): added + +2002-09-09 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03300] framebuffer: 8bit color support + * w3mimg/fb/fb.c: support FB_VISUAL_PSEUDOCOLOR 256 colors + +2002-09-09 Hironori SAKAMOTO <h-saka@lsi.nec.co.jp> + + * [w3m-dev 03299] remove file before copying (install-sh) + * install-sh: remove file before copying + +2002-09-09 Hironori SAKAMOTO <h-saka@lsi.nec.co.jp> + + * [w3m-dev 03298] [ -f instead of [ -e (configure) + * configure: use test -f instead of test -e + +2002-09-09 Hironori SAKAMOTO <h-saka@lsi.nec.co.jp> + + * [w3m-dev 03297] TERM=mlterm + * terms.c (w3m_term_info_list): add mlterm + +2002-09-09 Hironori SAKAMOTO <h-saka@lsi.nec.co.jp> + + * [w3m-dev 03296] fix configure (strtoq) + * configure (strtoq): fix missing semicolon + +2002-09-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03292] Re: load file at cursor + * anchor.c (reAnchorPos): added + (reAnchorWord): added + (reAnchorAny): rewrite to use reAnchorPos() + * funcname.tab (MARK_WORD): added + * keybind.c (;) MARK_WORD + * main.c (getCurWord): added + (chkWORD): added + (is_wordchar): added + (getCurWord): added + (GetWord): rewrite to use getCurWord() + * proto.h (chkWORD): added + (reAnchorWord): added + * doc/README.func: add MARK_WORD + * doc/keymap.default: add MARK_WORD + * doc-jp/README.func: add MARK_WORD + * doc-jp/keymap.default: add MARK_WORD + * NEWS: add MARK_WORD + +2002-08-28 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03291] parsetagx.c:toNumber() + * parsetagx.c (toNumber): don't parse non-number value as 0, + just ignore + +2002-08-28 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03290] Re: Forward: Bug#157098: wrong file presentation on large files + * indep.c (strtoclen): need defined() + +2002-08-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * Debian Bug#157098: wrong file presentation on large files + from "Eduard Bloch" <blade@debian.org> + * configure (clen_t): added + (HAVE_STRTOLL): added + (HAVE_STRTOQ): added + (HAVE_ATOLL): added + (HAVE_ATOQ): added + * config.h.dist: ditto + * file.c (current_content_length): s/int/clen_t/ + (loadGeneralFile): s/atoi/strtoclen/ + (convert_size): s/int/clen_t/ + (convert_size2): s/int/clen_t/ + (showProgress): s/int/clen_t/ + (loadHTMLstream): s/int/clen_t/ linelen, trbyte + (loadBuffer): ditto + (getNextPage): s/int/clen_t/ linelen + (save2tmp): s/int/clen_t/ linelen, trbye + (_MoveFile): s/int/clen_t/ linelen, trbye + * fm.h (_Buffer): s/int/clen_t/ linelen, trbye + * ftp.c (size_int2str): s/long/clen_t/ + (ex_ftpdir_name_size_date): s/long/clen_t/ + * indep.c (strtoclen): added + * indep.h (strtoclen): added + * proto.h (showProgress): s/int/clen_t/ + +2002-07-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * Debian Bug#154766: w3m-img: support DirectColor framebuffer visuals? + from Colin Watson <cjwatson@debian.org> + * w3mimg/fb/fb.c (fb_open): accept FB_VISUAL_DIRECTCOLOR + +2002-07-30 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03282] Re: w3m-img for framebuffer update + * w3mimg/fb/fb.c (fb_image_new): ignore no image + calloc multiple images + (fb_image_fill): added + (fb_image_draw): width, height fix + (fb_image_rotate): fix typo + (fb_image_copy): added + (fb_frame_new): added + (fb_freme_free): added + (fb_frame_rotate): added + * w3mimg/fb/fb.h (FB_IMAGE): add num, id, delay + (fb_frame_new): added + (fb_frame_free): added + (fb_frame_rotate): added + * w3mimg/fb/fb_gdkpixbuf.c (get_image_size): animation support + (fb_image_load): animation support + (draw): add bg, x, y, w, h args + * w3mimg/fb/fb_img.h (fb_image_load): return FB_IMAGE** + * w3mimg/fb/fb_imlib2.c (fb_image_load): return FB_IMAGE** + * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): animation support + +2002-07-23 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03280] w3m-img without w3mimgsize + * fm.h (Imagesize): deleted + * image.c (getImageSize): rewrite to use w3mimgdisplay + instead of w3mimgsize + * rc.c (params1): remove imgsize, merged to imgdisplay + +2002-07-23 Hiroyuki Ito <hito@crl.go.jp> + + * [w3m-dev 03279] w3m-img for framebuffer update + http://homepage3.nifty.com/slokar/fb/w3mfb.patch.gz + * w3mimg/fb/readme.txt: update + * w3mimg/fb/fb.c: update + * w3mimg/fb/fb.h: update + * w3mimg/fb/fb_gdkpixbuf.c: update + * w3mimg/fb/fb_img.c: update + * w3mimg/fb/fb_img.h: update + * w3mimg/fb/fb_imlib2.c: update + * w3mimg/fb/fb_w3mimg.c: update + * w3mimg/fb/fb_gdkpixbuf.h: deleted + * w3mimg/fb/fb_imlib2.h: deleted + * w3mimg/w3mimg.h (w3mimg_op): add get_image_size() + * w3mimg/x11/x11_w3mimg.c: update + * w3mimgdisplay.c (main): use get_image_size() + * w3mimgsize.c (main): use get_image_size() + +2002-07-19 Hideyuki SHIRAI <shirai@rdmg.mgcs.mei.co.jp> + + * [w3m-dev 03277] compile error on Solaris7 + * w3mimg/w3mimg.c: include <stdio.h> for NULL + +2002-07-19 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + +a * [w3m-dev 03276] compile error on EWS4800 + * file.c (extract_auth_val): fix warnings + * w3mimg/w3mimg.c: include <stdlib.h> + +2002-07-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03275] fix of multipart.cgi + * scripts/multipart/multipart.cgi.in: check REQUEST_METHOD first + need $count for POST + +2002-07-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3mimgdisplay.c (main): '5' for w3mimgsize + +2002-07-18 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 03270] Re: w3m-img for framebuffer merged + * w3mimg/x11/x11_w3mimg.c (w3mimg_x11open): unsigned int nchildren + +2002-07-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * XMakefile (w3mimg/w3mimg): added + (w3img/fb) fixed + * w3mimg/w3mimg.h (w3mimg_open): deleted to avoid compilation warnings + * w3mimg/w3mimg.c: added + * configure (imgobjs): add w3mimg/w3mimg.o + +2002-07-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03272] Re: w3m-img for framebuffer merged (Re: Re: w3m-img for framebuffer) + * XMakefile (w3mimg/x11): chdir + (w3mimg/fb): chdir + +2002-07-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03273] Re: w3m-img for framebuffer merged + * configure (use_w3mimg_fb): check linux, use test -c + +2002-07-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * merge w3m-img for framebuffer support + * w3mimg/w3mimg.h: created + * w3mimg/x11/x11_w3mimg.c: created + * w3mimg/fb/fb_w3mimg.c: created + * w3mimgsize.c w3mimgdisplay.c: modified + * configure: modified + * XMakefile: modified + * config.h.dist: updated + +2002-07-18 ZXB01226@nifty.com + + * w3m-img for framebuffer support + * http://homepage3.nifty.com/slokar/fb/ + * w3mimg/fb/fb.c w3mimg/fb/fb.h + w3mimg/fb/fb_img.c w3mimg/fb/fb_img.h + w3mimg/fb/fb_gdkpixbuf.c w3mimg/fb/fb_gdkpixbuf.h + w3mimg/fb/fb_imlib2.c w3mimg/fb/fb_imlib.h + w3mimg/fb/readme.txt w3mimg/fb/license.txt: added + +2002-07-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03263] fix lastA segfault + * main.c (lastA): fix lastA segfault when no anchor found + +2002-07-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: cvs version + +2002-07-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.3.1 + * version.c.in: update + * doc/README: version 0.3, release date + * doc-jp/README: ditto + * NEWS: update + +2002-07-12 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp> + + * [w3m-dev 03255] update cygwin info + * doc-jp/README: update + * doc/README: update + * doc-jp/README.cygwin: deleted + * doc/README.cygwin: deleted + +2002-07-10 SAKAI Kiyotaka <ksakai@kso.netwk.ntt-at.co.jp> + + * [w3m-dev 03240] doc-jp update + * doc-jp/MANUAL.html: update + * doc-jp/README: update + * doc-jp/README.SSL: update + * doc-jp/README.img: update + +2002-07-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * gc/: import gc6.1alpha5 + +2002-07-09 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * delete old mail addresses of aito-san from docs + * delete old ftp site from w3m-doc/install.html.in + +2002-07-01 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev 03235] topA/lastA with prec_num + * main.c: add prec_num to topA() and lastA() + +2002-06-24 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03233] "obuf->flag |= RB_IGNORE_P" after <body> tag + * file.c (HTMLtagproc1): no need RB_IGNORE_P after <body> tag + +2002-06-18 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev 03215] Re: Boehm GC 6.1alpha5 + * XMakefile: add "base_lib gc.a" for making GC + +2002-06-18 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03212] lstat() in form.c + * form.c: define lstat unless HAVE_LSTAT + (form_write_from_file): always check lstat() + +2002-06-17 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev 03214] strtoul() in frame.c + * frame.c (parseFrameSetLength): strtoul() -> strtol() + +2002-06-10 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev-en 00752] Re: tab completion weirdness in w3m 0.3 + * file.c (doFileCopy): same fix as [w3m-dev-en 00751] + +2002-06-10 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev-en 00751] Re: tab completion weirdness in w3m 0.3 + * main.c (svBuf): unescape spaces when input is filename + * proto.h (unescape_spaces): added + +2002-06-08 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03207] strchr(), strcasecmp(), and strncasecmp() + * etc.c (strchr): removed + (strcasecmp): removed + (strncasecmp): removed + * indep.c (strchr): moved, cast + (strcasecmp): moved, fix the case that s1 = "" + (strncasecmp): moved, fix the case that s1 is shorter than s2 + * indep.h (strchr): added + (strcasecmp): added + (strncasecmp): added + +2002-06-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03206] Re: dict + * main.c (execdict): quote word + +2002-06-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03204] INET6 + * main.c (fversion): s/USE_INET6/INET6/ + +2002-06-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03203] dict + * main.c (execdict): fix loadGeneralFile() + +2002-06-02 Tushar Samant <scribble@pobox.com> + + * [w3m-dev-en 00748] PATCH: Reinitialize w3m while running + * funcname.tab (INIT_MAILCAP): deleted + (REINIT): added + * main.c (config_filename): added + (reinit): added + * proto.h (reinit): added + * rc.c (rc_initialized): deleted + * w3mhelperpanel.c (editMailcap): use REINIT MAILCAP + +2002-06-02 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03200] Re: New configuration option ``keymap_file'' and new command ``DEFINE_KEY'' + * fm.h: add <sts/stat.h>, unistd.h> + * fm.h (keymap_file): added + * func.c (keymap_initialized): added + (current_keymap_file): added + (setKeymap): added + (initKeymap): rewrite to use setKeymap() + * funcname.tab (DEFINE_KEY): added + * main.c (MAIN): initKeymap(TRUE) + (defKey): added + * proto.h (defKey): added + (setKeymap): added + (initKeymap): add force param + * rc.c (CMT_KEYMAP_FILE): added + (params3): add keymap_file + (sync_with_option): add initKeymap(FALSE) + * doc/README.func (DEFINE_KEY): added + * doc-jp/README.func: (DEFINE_KEY): added + * scripts/w3mhelp.cgi.in: add defKey + * NEWS: + func: DEFINE_KEY + rc: keymap_file + +2002-06-02 Hiroaki Shimotsu <shim@d5.bs1.fc.nec.co.jp> + + * [w3m-dev 03196] C-w + * linein.c (inputLineHistSearch) move_word changed + * linein.c (setStrType): add space to termchar + +2002-05-15 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03191] typo in file.c:extract_auth_val()? + * file.c (extract_auth_val): s/177/0177/ + +2002-05-15 Tsutomu OKADA <okada@furuno.co.jp> + + * [w3m-dev 03190] a tiny patch for configure + * configure (ask_choice): reset default value + +2002-04-27 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03185] Re: cmd_mark in main.c, rev 1.60 broke unmark? + * main.c (cmd_mark): deleted + (_mark): xor PE_MARK + (reMark): or PE_MARK + +2002-04-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * scripts/.cvsignore: add xface2xpm + +2002-04-26 Tushar Samant <scribble@pobox.com> + + * [w3m-dev-en 00733] Submission: "English" patch + * rc.c: update english + +2002-04-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00730] Re: Patch for a more flexible dictionary lookup + * NEWS: rc: use_dictcommand, dictcommand + * main.c (execdict): use url_quote_conv() instead of cURLcode() + * proto.h (cURLcode): deleted + * doc-jp/README.dict: updated + +2002-04-25 Tushar Samant <scribble@pobox.com> + + * [w3m-dev-en 00729] Re: Patch for a more flexible dictionary lookup + * config.h.dist (DICT): define + * configure (use_dict): default y + * fm.h (DICTCMD): deleted + (UseDictCommand): added + (DictCommand): added + * main.c (execdict): rewrite to use DictCommand, loadGeneralFile() + * rc.c (CMT_USE_DICTCOMMAND): added + (CMT_DICTCOMMAND): added + (params1): use_dictcommand, dictcommand added + * doc/README.dict: updated + +2002-04-21 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03181] KEYBIND_SRC was not passed to scripts/Makefile + * Makefile (all-scripts): pass KEYBIND_SRC + +2002-04-17 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03178] Parser of ``cols'' and ``rows'' + * frame.c (parseFrameSetLength): added + (newFrameSet): use parseFrameSetLength() + +2002-04-17 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03177] SIGUSR1 --> W3M_SIGIMG in image.c + * image.c (W3M_SIGIMG): added + (load_image_handler): s/SIGUSR1/W3M_SIGIMG/ + (load_image_next): ditto + (loadImage): ditto + +2002-04-17 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03176] no Content-Type in http response header + * file.c (loadGeneralFile): guess content-type from filename + +2002-04-09 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03169] Can't calculate table height if number of cells > 20. + * table.c (check_table_height): change row, rowspan, indexarray, height + from array to pointer + +2002-04-09 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03167] xface2xbm -> xface2xpm (current imlib can't handle XBM) + * configure: s/XFACE2XBM/XFACE2XPM/ + * config.h.dist: ditto + * file.c (xface2xpm): renamed from xface2xbm + modified for xpm + (readHeader): s/xface2xbm/xface2xpm/ + * scripts/Makefile (LIB_TARGETS): s/xface2xbm/xface2xpm/ + * scripts/xface2xpm.in: added + +2002-03-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03162] Re: "ttp:" is marked instead of "http:" by MARL_URL + * main.c (chkURLBuffer): "mailto" removed when USE_W3MMAILER + in this case, chkExternalURIBuffer() will mark mailto: URL. + +2002-03-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03160] Re: "ttp:" is marked instead of "http:" by MARL_URL + * NEWS: mark_all_pages + * anchor.c (reAnchorAny): check MarkAllPages + * fm.h (MarkAllPages): added + * rc.c (CMT_MARK_ALL_PAGES): added + (mark_all_pages): added + +2002-03-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03159] "ttp:" is marked instead of "http:" by MARL_URL + * main.c (chkURLBuffer): check internal URLs first + +2002-03-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * terms.c (set_tty): s/term_info/w3m_term_info/g; + struct term_info is defined in FreeBSD's sys/consio.h + reported by KOIE Hidetaka <hide@koie.org> + +2002-03-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03146] Re: header option + * main.c (make_optional_header_string): cleanups + +2002-03-28 Yuuichi Teranishi <teranisi@gohome.org> + + * [w3m-dev 03145] header option + * main.c (MAIN): hide args for security + +2002-03-23 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 03140] Forward: Bug#139305: + w3m: EXTERN_LINK does not work if href ends with ampersand + * main.c (invoke_browser): check bg by browser + +2002-03-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * terms.c (term_title): use ttyf instead of stderr + +2002-03-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03137] Re: w3mman.1 + * XMakefile (MAN1): added + (MAN1_JA): added + (install-core): install man + (install-scripts): pass MAN_DIR + (uninstall): uninstall man, pass MAN_DIR to subdirs + * config.h.dist (MAN_DIR): added + (MAN1_DIR): added + (MAN1_JA_DIR): added + * configure: -mandir + (config.h): add MAN_DIR, MAN1_DIR, MAN1_JA_DIR + * scripts/w3mman/Makefile (MAN1_DIR): added + +2002-03-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03136] Add COMMAND to execute multiple commands + * fm.h (CurrentMenuData): deleted + (CurrentCmdData): added + * func.c (getKey): check next char of ^ + (getWord): get word until ';' + (getQWord): rewrite using Str + * funcname.tab (COMMAND): added + * main.c (MAIN): delete CurrentMenuData + initialize CurrentCmdData + (searchKeyData): use CurrentCmdData + (execCmd): added + (SigAlarm): delete CurrentMenuData, use CurrentCmdData + * menu.c (action_menu): delete CurrentMenuData, use CurrentCmdData + * proto.h (execCmd): added + * doc/README.func (ALARM): capitalize + (COMMAND): added + * doc-jp/README.func (COMMAND): added + +2002-03-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03135] commit of [w3m-dev 03006] is incomplete. + * file.c (HTMLlineproc2body): check form_int fid attr + update forms[] + fix buf->formlist + +2002-03-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * part of [w3m-dev-en 00713] contrib: unofficial "current page info" patch, updated for w3m-0.3 + by Moritz Barsnick <barsnick@gmx.net> + * map.c (page_info_panel): s/line/lines/ + s/byte/bytes/ + anchor for URL of current anchor + +2002-03-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * -title support + modified [w3m-dev-en 00710] contrib: unofficial "xterm title" patch, updated for w3m-0.3 + by Moritz Barsnick <barsnick@gmx.net> + * NEWS: -title + * fm.h (displayTitleTerm): added + * proto.h (term_title): added + * main.c (fusage): add -title + (MAIN): add -title + (quitfm): term_title("") + * display.c (displayBuffer): term_title() + * terms.c (title_str): added + (TERM_INFO): added + (term_info): modified from mouse_term_info + (term_info_list): modified from xterm_mouse_term + add "screen" + (set_tty): check displayTitleTerm + (term_title): added + +2002-03-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03132] Re: Reload image + * file.c (loadGeneralFile): b->type = "text/html" + * file.c (loadImageBuffer): comment out getImageSize() + image_flag = IMG_FLAG_AUTO + * file.c (openGeneralPagerBuffer): buf->type = "text/html" + * frame.c (resetFrameElement): if (buf->mailcap_source) ... + * frame.c (frame_download_source): if (buf->mailcap_source) ... + * main.c (vwSrc): #ifdef USE_IMAGE + +2002-03-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03133] Re: w3mman.1 + * scripts/w3mman/Makefile (MAN1_TARGETS): added + (MAN_TARGETS): use $(MAN_TARGETS) + (INSTALL_MAN): added + (install): use $MAN1_TARGETS, $(INSTALL_MAN) + * scripts/w3mman/w3mman2html.cgi.in: $PAGER='cat' + +2002-03-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * scripts/.cvsignore: add xface2xbm + +2002-03-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03130] w3mman.1 + * scripts/w3mman/.cvsignore: add w3mman.1 + * scripts/w3mman/Makefile (MAN_DIR): added + (MAN_TARGETS): added + (all): add $(MAN_TARGETS) + (.in): replace @LIB_DIR@ + (install): install $(MAN_TARGETS) + (uninstall): uninstall $(MAN_TARGETS) + (clean): clean $(MAN_TARGETS) + * scripts/w3mman/w3mman.1.in: added + * scripts/w3mman/w3mman2html.cgi.in: undef $PAGER + +2002-03-15 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03129] Re: X-Face + * configure (use_xface): ask + * fm.h (_Buffer): add header_source + * buffer.c (reshapeBuffer): fix reshape when reading stdin with image + fix disappearing header when reading stdin + * file.c (xface2xbm): check file existence + * file.c (readHeader): save to tmp file + X-Face when activeImage & displayImage + * main.c (dispI): comment out checking content type + * main.c (stopI): ditto + * scripts/xface2xbm.in: update compface URL + read from file $XF + write to file $XBM + +2002-03-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * proto.h (readHeader): added + +2002-03-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03127] X-Face + * NEWS: X-Face support + * configure (use_xface): added + * config.h.dist (USE_XFACE): added + (XFACE2XBM): added + * file.c (xface2xbm): added + (readHeader): X-Face: handling + * scripts/Makefile (LIB_TARGETS): add xface2xbm + * scripts/xface2xbm.in: added + +2002-03-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03126] reshapeBuffer() and -m option + * buffer.c (reshapeBuffer): fix reshapeBuffer() in case of -m option + +2002-03-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03125] w3m -m < image + * file.c (openGeneralPagerBuffer): use internal viewer for -m option + +2002-03-13 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03116] Re: aligned block in <td align="center"> + * file.c (flushline): align if align="align" + * fm.h (RB_LEFT): change value + (RB_ALIGN): include RB_LEFT + (RB_INTABLE): added + * table.c (do_refill): obuf.flag |= RB_INTABLE + +2002-03-11 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp> + + * [w3m-dev 03110] Re: gopher broken + * file.c (loadGeneralFile): #ifdef USE_GOPHER + +2002-03-11 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03106] Re: displayBuffer + * display.c (displayBuffer): revert previous changes + * file.c (process_img): remove space in src attribute + +2002-03-10 Rei FURUKAWA <furukawa@tcp-ip.or.jp> + + * [w3m-dev 03096] displayBuffer + * display.c (displayBuffer): buf->need_reshape = 0 to prevent recursive + displayBuffer calls + +2002-03-09 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03095] Re: gopher broken + (Re: Bug#137287: w3m: segfault on gopher://xxxx.xxx URI) + * file.c (loadGopherDir): html_quote(url_quote_conv()) + +2002-03-09 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03092] Reload image + * file.c (loadImageBuffer): cache->index = 0 + +2002-03-09 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03093] Re: gopher broken + (Re: Bug#137287: w3m: segfault on gopher://xxxx.xxx URI) + * file.c (loadGopherDir): fix ->ptr + q should be url_quote() + * url.c (openURL): url_unquote() for gopher selector + +2002-03-09 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03090] Re: gopher broken + (Re: Bug#137287: w3m: segfault on gopher://xxxx.xxx URI) + * file.c (loadGeneralFile): if loadGopherDir, type is real_type + * file.c (loadGopherDir): rewrite to use loadHTMLstream() + +2002-03-08 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03088] gopher broken + (Re: Bug#137287: w3m: segfault on gopher://xxxx.xxx URI) + * file.c (form_max): initial value should be -1 + * file.c (loadGopherDir): </A> + +2002-03-08 YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp> + + * [w3m-dev 03087] vi +1 emptyfile + * etc.c (myEditor): line > 1 + +2002-03-06 Christian Weisgerber <w3m-dev-en@mips.inka.de> + + * [w3m-dev-en 00699] + * configure: define SETPGRP() instead of setpgrp() + * etc.c (mySystem): use SETPGRP() instead of setpgrp() + * image.c (openImgdisplay): ditto + * search.c (open_migemo): ditto + * url.c: revert changes by Dai Sato on 2002-02-01 + since stdio.h and config.h is included with this order + in fm.h + +2002-03-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.3+cvs + +2002-03-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.3 + * version.c.in: update + * doc/README: version 0.3, release date + * doc-jp/README: ditto + * NEWS: update + +2002-03-06 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03084] A temporary file remains when pipe + 'v' + * proto.h (saveBufferDelNum): deleted + * file.c (saveBufferDelNum): deleted + * file.c (saveBuffer): saveBufferDelNum() renamed + * main.c (vwSrc): tmpfname() recorded as fileToDelete + use saveBuffer() instead of saveBufferDelNum() + +2002-03-04 Fumitoshi UKAI <ukai@debian.or.jp> + + * doc-jp/MANUAL.html: add note about file:/cgi-bin + * doc/MANUAL.html: ditto + +2002-03-01 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03073] frame + image + * file.c (loadGeneralFile): w3m_dump & ~DUMP_FRAME + * file.c (loadImageBuffer): comment out if (frame_source) + +2002-03-01 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03072] Proxy-Authorization (Re: Re: https through proxy) + * file.c (loadGeneralFile) delete Proxy-Authorization set here + * fm.h (HR_FLAG_PROXY): added + * main.c (MAIN): need "Basic " for proxy_auth_cookie + * url.c (HTTPrequest): add seen_proxy_auth + if proxy and no Proxy-Authorization: header seen and + has proxy_auth_cookie, use it + * url.c (openURL): hr->flag |= HR_FLAG_PROXY + + * file.c (loadGeneralFile) comment indent fix + * html.c (TagMAP): ditto + +2002-02-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03070] Re: https through proxy + * url.c (openURL): pass extra_header (Proxy-Authorization:) + +2002-02-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03067] Re: https through proxy + * file.c (loadGeneralFile): comment out ssl_get_certificate here + +2002-02-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00691] Re: w3m 0.2.5.1 fails to recognize '<dt id="XXX">' + * html.c: ATTR_CORE for dt, dd, blockquote, caption + +2002-02-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03064] Re: SELECTED form value + * form.c (formResetBuffer): set inititial value + +2002-02-23 HIDAI Ken-ichi <hidai@nmn.jp> + + * [w3m-dev 03060] doc-jp/README.migemo + * doc-jp/README.migemo: added + +2002-02-23 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03059] table + hborder + rowspan + valign=bottom + * table.c (renderTable): add case BORDER_NOWIN: + +2002-02-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03057] Re: Bug#134350: w3m: Forgets (http auth) login information upon reload (or almost anything else) + * etc.c (find_auth): add `file' + check file as well + * etc.c (find_auth_cookie): add `file' + * etc.c (add_auth_cookie): add `file' + * file.c (AuthBasicCred): add "Basic " + * file.c (AuthDigestCred): add "Digest " + * file.c (getAuthCookie): if h_auth == NULL, get recorded cookie + * file.c (get_auth_cookie): get recorded cookie + * file.c (loadGeneralFile): don't clear add_auth_cookie_flag + by redirection + add_auth_cookie if authorization is required and passed + * fm.h (auth_cookie): add file + * ftp.c (openFTP): follow change auth_cookie + * proto.h (get_auth_cookie): added + * proto.h (find_auth_cookie): add `file' + * proto.h (add_auth_cookie): add `file' + * url.c (openURL): get_auth_cookie + +2002-02-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03058] mailer + * NEWS: rc: mailer + * fm.h (Mailer): change default + * main.c (MAIN): $MAILER will be used as "mailer" + * main.c (followA): if "mailer" defined & simple mailto: URL, + use mailer instead of w3mmail.cgi + * main.c (cmd_loadURL): ditto + * rc.c (params6): remove ifndef USE_W3MMAILER + +2002-02-15 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03056] DISPLAY_IMAGE, STOP_IMAGE don't work. + * main.c (dispI): fix DISPLAY_IMAGE + * main.c (stopI): fix STOP_IMAGE + +2002-02-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03055] LIB_DIR -> w3m_lib_dir() + * image.c (getCharSize): s/LIB_DIR/w3m_lib_dir()/ + * image.c (openImgdisplay): ditto + * image.c (getImageSize): ditto + +2002-02-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03048] garbage of images on the right edge of termical. + * display.c (redrawLineImage): fix width calculation + +2002-02-14 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03053] Re: SSL indicator + * main.c (dump_extra): Output SSL certificate. + +2002-02-12 Katsumi Yamaoka <yamaoka@jpl.org> + + * [w3m-dev 03038] LDFLAGS + * XMakefile: refer to LDFLAGS when linking + * configure: add -ldflags=* + +2002-02-12 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 03036] + * display.c (displayBuffer): ifdef USE_SSL + +2002-02-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03034] check buf + * frame.c (frame_download_source): buf->ssl_certificate can be used + only if buf != NULL && buf != NO_BUFFER + +2002-02-10 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03033] SSL indicator + * display.c (displayBuffer): show SSL indicator + +2002-02-08 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 03025] fix image loading on EWS4800 + * image.c (loadImage): exit if symlink failed + exit if fopen failed + +2002-02-08 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03022] SSL certificates of frame body + * frame.h (frame_body): add ssl_certificate + * frame.c (frame_download_source): save ssl_certificate + * map.c (append_frame_info): display ssl_certificate of frame_body + +2002-02-08 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03021] Bug#132934: w3m should recognize file:/uris + in chkURLBuffer function + * main.c (chkURLBuffer): add "file:" + +2002-02-08 Yuji Abe <cbo46560@pop12.odn.ne.jp> + + * [w3m-dev 03017] URI scheme is case insensitive + * url.c (searchURIMethods): s/strcmp/strcasecmp/ + +2002-02-08 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 03011] segmentation fault on <input> tag without <form> + * file.c (process_input): tmp initialization fix + +2002-02-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [emacs-w3m:02733] for emacs-w3m better rendering with inline image + * main.c (MAIN): activeImage = TRUE when -halfdump & display_image=1 + +2002-02-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03006] fix form order in table + * file.c (process_form): static + fix form index order + method should be quoted + * file.c (process_form): added + * file.c (HTMLlineproc2body): add form_id + * html.c (ALST_FORM_INT): added + * html.c (form_int): update + +2002-02-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 03005] fix Bad cert ident + * istream.c (ssl_match_cert_ident): added + * istream.c (ssl_check_cert_ident): use ssl_match_cert_ident() + +2002-02-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02999] don't ask accept bad cert when background downloading + * file.c (getAuthCookie): if QuietMessage, return NULL + * file.c (inputAnswer): if QuietMessage, input "n" + +2002-02-05 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02991] form support in w3m -halfdump foo.html|w3m -halfload + * fm.h (DUMP_HALFEXTRA): deleted + * proto.h (process_select): return Str + * file.c (process_img): process_form() fix + * file.c (process_input): process_form() fix + * file.c (process_select): return Str + process_form() fix + * file.c (process_textarea): process_form() fix + * file.c (process_form): support -halfdump + * file.c (HTMLtagproc1): delete case HTML_FORM_INT, HTML_N_FORM_INT + process_{form,select,textarea}() fix + * file.c (HTMLlineproc2body): support -halfload + HTML_INTERNAL, HTML_N_INTERNAL, + HTML_FORM_INT, HTML_FORM_INT, + HTML_TEXTAREA_INT, HTML_N_TEXTAREA_INT, + HTML_SELECT_INT, HTML_N_SELECT_INT, + HTML_OPTION_INT, HTML_TITLE_ALT + * file.c (print_internal_information): fix -halfdump + * file.c (loadHTMLstream): no DUMP_HALFEXTRA + * html.h: add HTML_INTERNAL, HTML_N_INTERNAL, + HTML_SELECT_INT, HTML_N_SELECT_INT, + HTML_OPTION_INT, HTML_TEXTAREA_INT, HTML_N_TEXTAREA_INT + * html.c (ALST_TEXTAREA_INT): added + * html.c (ALST_SELECT_INT): added + * html.c: add <internal>, </internal>, <select_int>, </select_int> + <option_int>, <textarea_int>, </textarea_int> + * main.c (MAIN): delete -halfdump_extra + dont output <pre> by -halfdump + * table.c (feed_table_tag): process_{form,select}() fix + add case HTML_INTERNAL, HTML_N_INTERNAL, + HTML_SELECT_INT, HTML_N_SELECT_INT, + HTML_OPTION_INT, HTML_TEXTAREA_INT, HTML_N_TEXTAREA_INT, + * tagtable.tab: add internal, /internal, select_int, /select_int + option_int, textarea_int, /textarea_int + +2002-02-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02990] + * file.c (doFileCopy): use Strfgets() instead of fgets() + * file.c (doFileSave): ditto + +2002-02-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02989] + * file.c (inputAnswer): use Strfgets() instead of fgets() + +2002-02-04 TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> + + * [w3m-dev 02986] + * file.c (print_internal_information): Don't print boundaries. + Use henv->f instead of stdout. + +2002-02-04 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02984] inline image improvements and cleanups + * config.h.dist (HAVE_SYMLINK) added + * config.h.dist (HAVE_LSTAT): added + * configure: symlink() check + * configure: lstat() check + * fm.h (maxLoadImage): added + * form.c (form_write_from_file): s/HAVE_READLINK/HAVE_LSTAT/ + * image.c: include <sys/stat.h> + * image.c (MAX_LOAD_IMAGE): default 8 + * image.c (max_load_image): deleted + * image.c (n_load_image): added + * image.c (showImageProgress): added + * image.c (loadImage): check load image count + s/HAVE_READLINK/HAVE_LSTAT/ (HAVE_SYMLINK) + showImageProgress + * local.c: include <sys/stat.h> + s/HAVE_READLINK/HAVE_LSTAT/ + * rc.c (CMT_MAX_LOAD_IMAGE): added + * rc.c (max_load_image): added + * doc/README.img: update + * doc-jp/README.img: update + + * file.c (process_img): pre_int fix + +2002-02-04 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02985] inputAnswer() and no "ssl_forbid_method" + * file.c (inputAnswer): buf size is 80 + * url.c (openSSLHandle): if old_ssl_forbid_method == ssl_forbid_method + ssl path is not modified + +2002-02-04 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02980] Re: code_to_str not found ifndef JP_CHARSET + * backend.c (get_mime_charset_name): used only ifdef JP_CHARSET + +2002-02-04 Kazuhiko <kazuhiko@archi.kyoto-u.ac.jp> + + * [w3m-dev 02979] code_to_str not found ifndef JP_CHARSET + * file.c (print_internal_information): ifdef JP_CHARSET + +2002-02-03 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02967] parallel image downloading + * fm.h (ImageCache): add touch, pid + * image.c (getCharSize): retry fscanf + * image.c (drawImage): retry fflush + * image.c (MAX_LOAD_IMAGE): added, default 4 + * image.c (image_cache): change to ImageCache** + * image.c (image_lock): added + * image.c (load_image_handler): signal SIGUSR1 + * image.c (load_image_next): signal SIGUSR1 + * image.c (loadImage): parallel image downloading + * image.c (getImage): initialize touch, pid + * image.c (getImageSize): return value is TRUE or FALSE + retry fscanf + +2002-02-03 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02970] multiple -lnsl -lsocket + * configure: merge bsdlib and extlib detection, use extlib only + add ldflags to extlib + (SYS_LIBRARIES): remove extlib + (LOCAL_LIBRARIES): exlib only + +2002-02-03 TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> + + * [w3m-dev 02964] Print data of forms when halfdump option is set + * backend.c (print_headers): print w3m-current-url and w3m-base-url + * backend.c (print_formlist): deleted + * backend.c (internal_get): remove "if (buf->formlist) {}" + * file.c (print_internal_information): added + * file.c (loadHTMLstream): if halfdump, print_internal_information + if w3m_backend, print_internal_information + * fm.h (DUMP_HALFEXTRA): added + * main.c (-halfdump_extra): added + +2002-02-01 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev 02972] #include "config.h" + * url.c, mktable.c: fix the order of including files + +2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02968] fix problem with Netscape-Enterprise WWW-authenticate + * file.c (findAuthentication): token is case insensitive + +2002-02-01 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02961] halfdump image is not consistent + * file.c (flushline): check f + * file.c (do_blankline): fix blanklink conditions + +2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp> + + * gcc -Wall -Werror safe + * anchor.c (addMultirowsImg): unused variable: fi + * display.c (redrawLineImage): unused variable: ncol + * file.c (process_img): uninitialized variables: r2, ni, w0, i0, ismap + unused variable: url, ext + * file.c (loadHTMLstream): need volatile image_flag + * image.c (image_index): int + * image.c (getCharSize): need prototype + * image.c (getImage): uninitialized variable: key + return NULL + * map.c (follow_map_menu): used only USE_IMAGE: px, py, map + * map.c (newMapArea): used only USE_IMAGE: p, i, max + * proto.h (addMultirowsImg): added + * w3mimgdisplay.c (main): format string fix + * w3mimgdisplay.c (DrawImage): need (Pixmap) cast + + * inflate.c: indent + +2002-02-01 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * w3m-img merge (w3m-0.2.4+cvs-1.278-img-2.2.patch.gz) + * NEWS: w3m-img merge + * .cvsignore: add w3mimgdisplay, w3mimgsize + * XMakefile: add image.c to SRCS + add image.o to OBJS + add IMGDISPLAY, IMGSIZE + * config.h.dist: USE_IMAGE, IMGSIZE, IMGDISPLAY + * configure: add find_imlib + ask use_image + (config.h) add $imgtarget to EXT_TARGETS + $def_use_image + IMGSIZE, IMGDISPLAY + * fm.h (MAX_IMAGE): added + * fm.h (DEFAULT_PIXEL_PER_CHAR): fix for USE_IMAGE + * fm.h (DEFAULT_PIXEL_PER_LINE): added + * fm.h (B_REDRAW_IMAGE): added + * fm.h (IMG_FLAG_SKIP): added + * fm.h (IMG_FLAG_AUTO): added + * fm.h (IMG_FLAG_START): added + * fm.h (IMG_FLAG_STOP): added + * fm.h (IMG_FLAG_NEXT): added + * fm.h (IMG_FLAG_UNLOADED): added + * fm.h (IMG_FLAG_LOADED): added + * fm.h (IMG_FLAG_ERROR): added + * fm.h (MapArea): added + * fm.h (MapList): s/urls/alts/, add area + * fm.h (ImageCache): added + * fm.h (Image): added + * fm.h (Anchor): add image + * fm.h (Buffer): add imarklist, image_flag, need_reshape + * fm.h (RG_FRAME_SRC): added + * fm.h (ALIGN_MIDDLE): added + * fm.h (ALIGN_TOP): added + * fm.h (ALIGN_BOTTOM): added + * fm.h (QuietMessage): added + * fm.h (Imgdisplay): added + * fm.h (Imgsize): added + * fm.h (activeImage): added + * fm.h (displayImage): added + * fm.h (autoImage): added + * fm.h (useExtImageViewer): added + * fm.h (image_source): added + * fm.h (view_unseenobject): change default if USE_IMAGE + * fm.h (set_pixel_per_char): added + * fm.h (pixel_per_line): added + * fm.h (set_pixel_per_line): added + * fm.h (image_scale): added + * proto.h (dispI): added + * proto.h (stopI): added + * proto.h (deleteImage): added + * proto.h (getAllImage): added + * proto.h (loadImage): added + * proto.h (getImage): added + * proto.h (getImageSize): added + * proto.h (process_img): add width arg + * proto.h (loadImageBuffer): added + * proto.h (follow_map_menu): add a_img arg + * proto.h (getMapXY): added + * proto.h (newMapArea): added + * proto.h (touch_cursor): added + * proto.h (cURLcode): added + * proto.h (initImage): added + * proto.h (termImage): added + * proto.h (addImage): added + * proto.h (drawImage): added + * proto.h (clearImage): added + * anchor.c (addMultirowsImg): added + * buffer.c (discardBuffer): deleteImage if USE_IMAGE + * buffer.c (reshapeBuffer): buf->need_reshape check + * display.c (fmTerm): if activeImage, stop load image + * display.c (fmInit): if displayImage, initImage + * display.c (image_touch): added + * display.c (draw_image_flag): added + * display.c (redrawLineImage): added + * display.c (displayBuffer): buf->need_reshape = TRUE + mode == B_REDRAW_IMAGE + image flag checks + force redraw image in mode == B_REDRAW_IMAGE + displayBuffer if need reshape + drawImage + * display.c (redrawNLine): redrawLineImage + * display.c (redrawLineImage): added + * display.c (disp_message_nsec): return immediately if QuietMessage + * etc.c (reset_signals): ignore SIGUSR1 + * file.c (frame_source): added + * file.c (_MoveFile): added + * file.c (cur_baseURL): added + * file.c (cur_document_code): added + * file.c (cur_iseq): added + * file.c (loadGeneralFile): fix fmInitialized and prevtrap checks + save cur_baseURL + image_source load + loadImageBuffer for "image/*" + frame_source flag + fix b->type when proc is loadImageBuffer + * file.c (process_img): add width arg + parse height and width attr, align + fix for inline-image + * file.c (process_input): fix for form <input type="image"> + * file.c (HTMLtagproc1): pass h_env->limit to process_img() + fix <img_alt> for inline-image + save cur_baseURL + * file.c (HTMLlineproc2body): fix <img_alt> for inline-image + * file.c (loadHTMLstream): fix for inline-image + fix fmInitialized and prevtrap checks + save cur_document_code + save image_flag + * file.c (loadGopherDir): save cur_document_code + fix fmInitialized and prevtrap checks + * file.c (loadImageBuffer): added for inline-image + * file.c (save2tmp): fix fmInitialized and prevtrap checks + * frame.c (frame_download_source): set RG_FRAME_SRC flag + image check + * funcname.tab (DISPLAY_IMAGE): added + * funcname.tab (STOP_IMAGE): added + * html.c (ALST_IMG): add align, ismap + * html.c (ALST_AREA): add shape, coords + * html.c (ALST_IMG_ALT): add width, height, usemap, ismap, hseq, + xoffset, yoffset, top_margin, bottom_margin + * html.c (AttrMap): add shape, coords, ismap, xoffset, yoffset + * html.h (ATTR_SHAPE): added + * html.h (ATTR_COORDS): added + * html.h (ATTR_ISMAP): added + * html.h (ATTR_XOFFSET): added + * html.h (ATTR_YOFFSET): added + * html.h (ATTR_TOP_MARGIN): added + * html.h (ATTR_BOTTOM_MARGIN): added + * html.h (SHAPE_UNKNOWN): added + * html.h (SHAPE_DEFAULT): added + * html.h (SHAPE_RECT): added + * html.h (SHAPE_CIRCLE): added + * html.h (SHAPE_POLY): added + * image.c: added + * main.c (fversion): add USE_IMAGE + * main.c (fusage): -ppl option + * main.c (MAIN): set_pixel_per_char if ppc specified + -ppl option + loadImage + * main.c (pushBuffer): deleteImage + * main.c (quitfm): termImage + * main.c (selBuf): deleteImage + * main.c (followA): fix for inline-image and map area + * main.c (query_from_followform): getMapXY() + * main.c (setOpt): displayBuffer B_REDRAW_IMAGE + * main.c (follow_map): fix calculate x, y + * main.c (dispI): added + * main.c (stopI): added + * map.c: include <math.h> + * map.c (inMapArea): added + * map.c (follow_map_menu): add a_img arg to handle inline-image + * map.c (follow_map_panel): use MapArea + * map.c (getMapXY): added + * map.c (newMapArea): added + * menu.c (smChBuf): deleteImage + * parsetagx.c (toAlign): align top, bottom, middle + * rc.c (P_SCALE): added + * rc.c (CMT_PIXEL_PER_LINE): added + * rc.c (CMT_DISP_IMAGE): added + * rc.c (CMT_AUTO_IMAGE): added + * rc.c (CMT_EXT_IMAGE_VIEWER): added + * rc.c (CMT_IMAGE_SCALE): added + * rc.c (CMT_IMGDISPLAY): added + * rc.c (CMT_IMGSIZE): added + * rc.c (show_param): P_PIXELS + * rc.c (set_param): P_PIXELS + * rc.c (sync_with_option): initImage + * rc.c (to_str): P_PIXELS + * table.c (feed_table_tag): fix <img> for inline-image + * tagtable.tab (image): added + * terms.c (wgetch): retry read when EINTR or EAGAIN + * terms.c (touch_cursor): added + * w3mimgdisplay.c: added + * w3mimgsize.c: added + * doc/README.func (DISPLAY_IMAGE): added + * doc/README.func (STOP_IMAGE): added + * doc/README.img: added + * doc-jp/README.func (DISPLAY_IMAGE): added + * doc-jp/README.func (STOP_IMAGE): added + * doc-jp/README.img: added + * scripts/w3mhelp.cgi.in: show dispI, stopI + * scripts/multipart/multipart.cgi.in: inline image support + +2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.2.5+cvs + +2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.5 + * version.c.in: update + * doc/README: version 0.2.5, release date + * doc-jp/README: ditto + * NEWS: update + +2002-01-31 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02960] inflate without memmove() + * inflate.c: rewrite without memmove() + +2002-01-31 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * inflate.c: support raw deflate without zlib header + +2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02955] compression_decoders error message + * file.c (uncompress_stream): redirect stderr + * inflate.c (main): print error message + +2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02949] fix for #undef USE_MIGEMO + * main.c (dispincsrch): need #ifdef USE_MIGEMO + +2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02946] toggle migemo + * fm.h (migemo_active): added + * proto.h (inputLineHistSearch): add arg `prop' to incrfunc() + * linein.c (inputLineHistSearch): ditto + * main.c (isrch): ditto + * main.c (dispincsrch): ditto + C-\ toggle migemo + underline when migemo is active + * search.c (migemo_active): deleted + * search.c (migemo_running): added + * search.c (init_migemo): migemo_running + * search.c (migemostr): ditto + * search.c (forwardSearch): migemo_active > 0 + * search.c (backwardSearch): ditto + +2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02942] Digest qop=auth support + * file.c (http_auth): add request to cred() arg + * file.c (AuthBasicCred): ditto + * file.c (AuthDigestCred): ditto + * file.c (AuthDigestCred): support algorithm=MD5, MD5-sess + qop=auth, auth-int + * file.c (qstr_unquote): return NULL if input is NULL + * file.c (none_auth_param): added + * file.c (findAuthentication): skip weak or unknown auth + * file.c (getAuthCookie): add request to arg + * file.c (loadGeneralFile): add request to getAuthCookie() + +2002-01-31 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02934] add auth cookie with unquoted realm + * file.c (loadGeneralFile): need unquote realm + +2002-01-31 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02933] segmentation fault when w3m -dump https: + * file.c (readHeader): use inputAnswer() + * file.c (getAuthCookie): remove term_cbreak() + * file.c (checkOverWrite): use inputAnswer() + * file.c (inputAnswer): added + * istream.c (ssl_get_certificate): use inputAnswer() + * main.c (qquitfm): change prompt + * proto.h (inputAnswer): added + +2002-01-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02931] use POST in multipart.cgi + * scripts/multipart/multipart.cgi.in: support POST method + +2002-01-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02930] Re: fixed w3mmail.cgi + * scripts/w3mmail.cgi.in (lang_header_default): [=_?] should be encoded + * scripts/w3mmail.cgi.in (lang_body_default): '=' should be encoded + +2002-01-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02929] Re: fixed w3mmail.cgi + * file.c (openPagerBuffer): use content_charset as document_code + * file.c (getNextPage): code is document_code or DocumentCode + +2002-01-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02928] RFC2617: HTTP Digest authentication + * NEWS: RFC2617: HTTP Digest authentication + * config.h.dist (USE_DIGEST_AUTH): added + * configure (use_digest_auth): added, enabled when openssl found + (because it used openssl/md5.h) + * file.c (auth_param): added + * file.c (http_auth): added + * file.c (extract_auth_val): added + * file.c (qstr_unquote): added + * file.c (extract_auth_param): added + * file.c (get_auth_param): added + * file.c (AuthBasicCred): added + * file.c (digest_hex): added + * file.c (AuthDigestCred): added + * file.c (basic_auth_param): added + * file.c (digest_auth_param): added + * file.c (www_auth): added + * file.c (findAuthentication): added + * file.c (getAuthCookie): rewrite, use http_auth + * file.c (loadGeneralFile): HRequest hr + * file.c (loadGeneralFile): use findAuthentication, new getAuthCookie + * proto.h (HTTPrequestMethod): added + * proto.h (HTTPrequestURI): added + * proto.h (openURL): add `hr' arg + * url.c (HTTPrequestMethod): added + * url.c (HTTPrequestURI): added + * url.c (HTTPrequest): use HTTPrequestMethod and HTTPrequestURI + * url.c (openURL): add `hr' arg + +2002-01-30 SASAKI Takeshi <sasaki@ct.sakura.ne.jp> + + * [w3m-dev 02927] mailto: POST method with w3mmail.cgi + * file.c (loadGeneralFile): pass request even if SCM_UNKNOWN + (for external URI loader) + * scripts/w3mmail.cgi.in: support POST method + +2002-01-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02926] fixed w3mmail.cgi + * scripts/w3mmail.cgi.in: dont MIME encode for preview + * scripts/w3mmail.cgi.in (lang_body): add 7bit/8bit flag arg + * scripts/w3mmail.cgi.in: fix hidden from value + * scripts/w3mmail.cgi.in (lang_setup): check $LC_ALL, $LC_CTYPE + * scripts/w3mmail.cgi.in (lang_header_default): fix MIME encode word + +2002-01-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02920] don't use inttypes.h and/or stdint.h + * mktable.c: remove inttypes.h, uintptr_t, use unsigned long instead + * configure: remove inttypes.h detection + * config.h.dist: remove HAVE_INTTYPES_H + +2002-01-29 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02921] use inttypes.h instead of stdint.h + * configure: check inttypes.h instead of stdint.h + * config.h.dist: s/STDINT_H/INTTYPES_H/ + * mktable.c: use inttypes.h instead of stdint.h + +2002-01-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02919] no need of width + * scripts/w3mmail.cgi.in: no need width=80 for header field name + +2002-01-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02919] wrong table width calculation + * table.c (set_table_matrix0): refine width calculation + +2002-01-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02918] fixed scripts/w3mmail.cgi.in + * scripts/w3mmail.cgi.in: add width=80 for header field name + * scripts/w3mmail.cgi.in (url_unquote): use pack instead of chr + +2002-01-27 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02914] + * history.c (copyHist): added + * history.h (copyHist): ditto + * main.c (goURL0): copyHist(URLHist), push current and anchor URLs + default set by DefaultURLString + +2002-01-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02913] wrong table width calculation + * table.c (set_table_matrix0): refine width calculation + +2002-01-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02875] rendering a table with inconsistent colspan,rowspan + * table.c (feed_table_tag): don't clear HTT_X|HTT_Y + instead, if set these flags, break the loop + +2002-01-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02909] wrong table width calculation (sf.net Bug#506949) + * table.c (correct_table_matrix4): added + * table.c (set_table_matrix0): use correct_table_matrix4() + +2002-01-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02908] document code of frame + * frame.c (renderFrame): save document_code if JP_CHARSET + +2002-01-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02904] + * rc.c (N_STR): use cpp stringification + +2002-01-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02902] mouse inactive after calling some command with ALARM. + * main.c (SigAlarm): mouse_inactive() and mouse_active() + +2002-01-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02901] Default URL for GOTO* + * fm.h (DEFAULT_URL_*): added + * fm.h (DefaultURLString): added + * main.c (cmd_loadURL): add arg `referer' + * main.c (goURL0): 2nd arg is `relative' flag + check DefaultURLString + if relative, then current and referer is set + * main.c (ldhelp): cmd_loadURL arg changes + * main.c (deletePrevBuf): ditto + * main.c (cmd_loadBuffer): ditto + * main.c (adBmark): ditto + * main.c (follow_map): ditto + * rc.c (CMT_DEFAULT_URL): added + * rc.c (defaulturls): added + * rc.c (params9): add "default_url" + +2002-01-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02901] DNS_ORDER_* + * fm.h (DNS_ORDER_*): added + * rc.c (dnsorders): use N_S(DNS_ORDER_*) + +2002-01-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02901] ACCEPT_BAD_COOKIE_* + * file.c (readHeader): accept_bad_cookie is one of ACCEPT_BAD_COOKIE_* + * fm.h (PERHAPS): deleted + * fm.h (ACCEPT_BAD_COOKIE_*): added + * rc.c (n_s): added + * rc.c (N_S): added + * rc.c (badcookiestr): use N_S(ACCEPT_BAD_COOKIE_*) + +2002-01-24 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02896] fid attr value should be in sequence + * table.c (feed_table_tag): s/line/""/ for HTML_FORM,HTML_N_FORM + +2002-01-24 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02894] Re: goURL + * file.c (HTMLtagproc1): s/goURL/gorURL/ + * keybind.c (EscKeymap): M-u = GOTO_RELATIVE + * keybind_lynx.c (EscKeymap): ditto + * doc/keymap.default: ditto + * doc/keymap.lynx: ditto + * doc-jp/keymap.default: ditto + * doc-jp/keymap.lynx: ditto + * main.c (MAIN): add $HTTP_HOME or $WWW_HOME to history + * main.c (MAIN): add history even if it is local file or local cgi + * main.c (goURL0): change args, def_url -> current + * main.c (goURL0): delete ParsedURL *b_url + * main.c (goURL0): add Buffer *cur_buf + * main.c (goURL0): if current is supplied, use its URL as default + * main.c (goURL0): add URL to history if loadURL succeeded + * main.c (goURL): change args for goURL0() + * main.c (gorURL): ditto + +2002-01-23 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02889] fix scripts/multipart/multipart.cgi.in + * scripts/multipart/multipart.cgi.in: return "" instead of next + +2002-01-23 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02885] Re: goURL + * funcname.tab (GOTO_RELATIVE): added + * main.c (goURL0): renamed from goURL + don't add http:// here, if base URL is NULL, cmd_loadURL() + will add http:// when necessary + * main.c (goURL): go to URL with current URL + * main.c (gorURL): go to relative URL + * proto.h (gorURL): added + * doc/README.func (GOTO_RELATIVE): added + * doc-jp/README.func (GOTO_RELATIVE): ditto + +2002-01-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00670] GOTO behavior change + * main.c (goURL): default URL is current URL + if retry_http specified, and inputed URL is not absolute URL + add http:// to top of url + + * linein.c (InputKeymap): C-w as backword-kill-word + +2002-01-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02880] URI_PATTERN + * url.c (URI_PATTERN): better match for % hex hex + * url.c (chkExternalURIBuffer): don't use URI_PATTERN as format string + +2002-01-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02879] reset signals + * etc.c (reset_signals): added + * etc.c (mySystem): use reset_signals() + * file.c (uncompress_stream): use reset_signals() + * proto.h (reset_signals): added + * search.c (init_migemo): kill by SIGKILL + * search.c (open_migemo): use reset_signals() + +2002-01-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * url.c (URI_PATTERN): remove \ + +2002-01-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02878] fix regexp [-...], [...-], []...] + * regexp.c (newRegex0): if first char is `-' or ']' after '[', + it isn't meta char. + if last char in [..] is `-', it isn't meta char. + +2002-01-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02877] some fixes for urimethodmap + * config.h.dist (RC_DIR): remove tailing / + * configure (mailer): if use_w3mmailer = y, don't ask mailer + * configure (RC_DIR): remove tailing / + * fm.h (Mailer): ifndef USE_W3MMAILER + * main.c (MAIN): ifndef USE_W3MMAILER getenv("MAILER") + * rc.c ("mailer"): ifndef USE_W3MMAILER + * regex.c (newRegex0): \ escape kanji chars + * url.c (searchURIMethods): need escape for - + * scripts/w3mmail.cgi.in: move $url, $qurl + * scripts/w3mmail.cgi.in: url_unquote $to + +2002-01-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02876] w3mmail.cgi.in backport from w3mmee + * action='file://$0' + * don't add \n to $body's tail + * $body =~ s/\r+\n/\n/g; + * s/@cmd/@opt/ + * url_unquote: + should be unquote too + +2002-01-18 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02873] delete "decode MIME-body" in doc{,-jp}/README + * doc-jp/README: delete "decode MIME-body" + * doc/README: ditto + +2002-01-18 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 02872] EWS4800 sh doesn't work ${param-word} + * configure (use_migemo): change migemo URL + * configure (def_migemo_command): fix for EWS4800 + * configure (def_image_viewer): ditto + * configure (def_audio_player): ditto + +2002-01-18 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02871] ignore SIGCHLD (for at least EWS4800) + * search.c (open_migemo): signal(SIGCHLD, SIG_IGN); + +2002-01-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02870] don't kill migemo by SIGINT + * main.c (w3m_exit): init_migemo() to kill migemo + * search.c: #include <unistd.h> + * search.c (migemo_active): added + * search.c (migemo_pid): added + * search.c (init_migemo): migemo_active = use_migemo + * search.c (init_migemo): kill migemo_pid + * search.c (open_migemo): s/pid/migemo_pid/ + * search.c (open_migemo): setpgrp() + * search.c (open_migemo): s/use_migemo/migemo_active/ + * search.c (migemostr): ditto + * search.c (forwardSearch): ditto + * search.c (backwardSearch): ditto + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02867] mark URL for external URIs + * main.c (chkURLBuffer): chkExternalURIBuffer() + * proto.h (chkExternalURIBuffer): added + * url.c (chkExternalURIBuffer): added + +2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02866] + * search.c: #include <signal.h> + * search.c (open_migemo): ignore SIG_INT for migemo process + * search.c (open_migemo): close_tty() + * search.c (open_migemo): use execl() instead of system() + +2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02865] + * search.c (open_migemo): add flush_tty() + +2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02864] def_migemo_command + * configure (def_migemo_command): default is + migemo -t egrep /usr/local/share/migemo/migemo-dict + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02863] discard migemo error message + * search.c (open_migemo): close stderr + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02862] SIGPIPE for migemo support + * main.c (SigPipe): added + * main.c (MAIN): signal(SIGPIPE, ) + * search.c: #include <errno.h> + * search.c (migemostr): check fflush() error + * search.c (migemostr): check result string (empty is err) + * search.c (migemostr): if error occured, disable use_migemo + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02861] IPv6 configuration check + * configure: force "#define INET6" if socket(AF_INET6, SOCK_STREAM, 0) + failed but use_ipv6=y in config.param + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02859] + * config.h.dist (DEF_MIGEMO_COMMAND): added + * configure (DEF_MIGEMO_COMMAND): added + * fm.h (migemo_command): initial value is DEF_MIGEMO_COMMAND + * main.c (migemostr): remove here, move search.c + * main.c (srchcore): dont migemostr() here + * proto.h (init_migemo): added + * rc.c (sync_with_option): init_migemo() + * search.c (init_migemo): added + * search.c (open_migemo): added + * search.c (migemostr): communicate background migemo + * search.c (forwardSearch): if regexCompile for migemostr failed, + try original str + * search.c (backwardSearch): ditto + +2002-01-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02855] + * main.c (dispincsrch): for C-s C-s, revert some changes + +2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02854] highlight for incremental search + * NEWS: highlight for incremental search + * display.c (EFFECT_MARK_START): added + * display.c (EFFECT_MARK_END): added + * display.c (EFFECT_MARK_START_C): added + * display.c (EFFECT_MARK_END_C): added + * display.c (EFFECT_MARK_START_M): added + * display.c (EFFECT_MARK_END_M): added + * display.c: define_effect for MARK_{START,END} + * display.c (mark_mode): added + * display.c (redrawLine): if mark_mode + * display.c (do_effects): do_effect2(PE_MARK, ...) + * display.c (do_effects): do_effect1(PE_MARK, ...) + * fm.h (P_EFFECT): changed to 0x01ff + * fm.h (PE_MARK): moved + * fm.h (mark_color): added + * linein.c (inputLineHistSearch): incrfunc(int ch, Str str) + * main.c (clear_mark): added + * main.c (dispincsrch): remove arg `x', `y' + * main.c (dispincsrch): move SAVE_BUFPOSITION() + * main.c (srch): if (result & SR_FOUND) clear_mark() + * main.c (cmd_mark): PE_MARK + * main.c (nextMk): s/PM_MARK/PE_MARK/ + * main.c (prevMk): s/PM_MARK/PE_MARK/ + * proto.h (inputLineHistSearch): change prototype incfunc() + * rc.c (CMT_MARK_COLOR): added + * rc.c (params2): add "mark_color" + * search.c (set_mark): added + * search.c (forwardSearch): use set_mark() + * search.c (backwardSearch): use set_mark() + +2002-01-16 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02851] + * regex.c (newRegex0): fix return NULL; + +2002-01-16 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 02847] + * menu.c (initSelectMenu): use /* */ instead of // + +2002-01-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02846] + * regex.c (newRegex0): check msg + +2002-01-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02845] + * regex.c (newRegex0): check regex->storage[STORAGE_MAX] + +2002-01-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02843] w3mmail.cgi.in update + * scripts/w3mmail.cgi.in: add $SENDMAIL_OPT + change html + +2002-01-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02841] migemo patch + * NEWS: migemo support + * config.h.dist (USE_MIGEMO): added + * configure: add use_migemo + * fm.h (use_migemo): added + * fm.h (migemo_command: added + * main.c (fversion): add "migemo" + * main.c (migemostr): added + * main.c (srchcore): if use_migemo, use migemostr + * rc.c (CMT_USE_MIGEMO): added + * rc.c (CMT_MIGEMO_COMMAND): added + * rc.c (params3): add use_migemo, migemo_command + +2002-01-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * main.c (fversion): add "external-uri-loader,w3mmailer" + +2002-01-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02840] + * scripts/w3mmail.cgi.in: use LOCAL_COOKIE + * scripts/w3mmail.cgi.in: no need HTTP response header + * scripts/w3mmail.cgi.in: fix typo $nkf_NKF + * scripts/w3mmail.cgi.in: eval { use NKF; } is perl5ism + * scripts/multipart/multipart.cgi.in: ditto + +2002-01-16 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02835] + * rc.c: move label_topline, nextpage_topline from param3 to param1 + param7 is SSL Setting + +2002-01-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02834] mailto: use external program + * NEWS: use w3mmail.cgi for mailto: URL + * configure: add use_w3mmailer + * frame.c (createFrameFile): ifndef USE_W3MMAILER + * main.c (followA): ifndef USE_W3MMAILER + * main.c (cmd_loadURL): ifndef USE_W3MMAILER + * url.c (schemetable): ifndef USE_W3MMAILER, mailto: become SCM_UNKNOWN + * url.c (parseURL2): ifndef USE_W3MMAILER + * url.c (_parsedURL2Str): ifndef USE_W3MMAILER + * url.c (default_urimethods): added + * url.c (searchURIMethods): check default_urimethods + * scripts/Makefile: add w3mmail.cgi + * scritps/w3mmail.cgi.in: added + * scripts/.cvsignore: ignore w3mmail.cgi + +2002-01-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * file.c (loadGeneralFile): return NULL, not NO_BUFFER + +2002-01-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02833] ssl_forbid_method in SSL Setting + * rc.c (params7): ssl_forbid_method moved here + * rc.c (params8): ssl_forbid_method removed here + * rc.c (sections): params7 ifdef USE_SSL + +2002-01-15 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02832] external URI loader support + * NEWS: support external URI loader + * config.h.dist (USE_EXTERNAL_URI_LOADER): added + * config.h.dist (USER_URIMETHODMAP): added + * config.h.dist (SYS_URIMETHODMAP): added + * configure: ask use_external_uri_loader + * file.c (loadGeneralFile): return NO_BUFFER, not NULL + * file.c (loadGeneralFile): add SCM_UNKNOWN for USE_EXTERNAL_URI_LOADER + * fm.h (urimethodmap_files): added + * menu.c (initSelectMenu): SCM_UNKNOWN comment out + * proto.h (initURIMethods): added + * proto.h (searchURIMethods): added + * rc.c (CMT_URIMETHODMAP): added + * rc.c (params6): add urimethodmap + * rc.c (sync_with_option): add initURIMethods() + * url.c (parseURL): if SCM_UNKNOWN, url is saved in pu->file + * url.c (_parsedURL2Str): if SCM_UNKNOWN, url is in pu->file + * url.c (urimethods): added + * url.c (loadURIMethods): added + * url.c (initURIMethods): added + * url.c (searchURIMethods): added + +2002-01-13 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02828] + * url.c (_parsedURL2Str): add '/' at the end when scheme is SCM_FTPDIR + +2002-01-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02829] + * file.c (loadGeneralFile): return NO_BUFFER + * file.c (loadGeneralFile): if ssl_get_certificate() fails, + no buffer created + * istream.c (ssl_certificate_validity): deleted + * istream.c (ssl_set_certificate_validity): ditto + * istream.c (accept_this_site): added + * istream.c (ssl_accept_this_site): ditto + * istream.c (ssl_check_cert_ident): 1st arg is `X509 *' + * istream.c (ssl_get_certificate): 2nd arg is `char *hostname' + cert check code moved here from openSSLHandle() + * url.c (free_ssl_ctx): accept_this_site initialized + * url.c (openSSLHandle): remove cert check code here + +2002-01-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02827] + * scripts/Makefile: use sed instead of /bin/sh while read; echo loop + +2002-01-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02823] + * scripts/Makefile: don't use read -r + because Solaris 8 for x86 doesn't work + +2002-01-12 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02822] Print FTP directory list for -dump_extra option + * file.c (loadGeneralFile): remove FTPDIRtmp, use readFTPDir() instead + save to buf->sourcefile for -dump_extra + * ftp.c (FTPDIRtmp): deleted + * ftp.c (openFTP): delete readFTPDir() part + * ftp.c (readFTPDir): added + * proto.h (readFTPDir): added + +2002-01-11 Akinori Ito <aito@fw.ipsj.or.jp> + + * [w3m-dev 02819] + * regex.c (RegexMatch): loop condition changed (from < to <= ) + * regex.c (regmatch_iter): end condition changed (from >= to >) + * search.c (forwardSearch): next search fix + +2002-01-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02818] + * regex.c (regmatch_iter): return 0 if out of range + +2002-01-11 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02817] + * menu.c (menuBackwardSearch): new regexMatch() + +2002-01-11 aito@fw.ipsj.or.jp + + * [w3m-dev 02815] + * cookie.c (domain_match): use new regex + * main.c (chkURLBuffer): use new regex + * main.c (chkNMIDBuffer): use new regex + * menu.c (menuForwardSearch): new regexMatch() + * regex.c (RegexMatch): negative length means whole string + * regex.c (RegexMatch): new regmatch() + * regex.c (regmatch_sub_anytime): add 5th arg `char *' + * regex.c (regmatch_iter): add 4th arg `char *' + * regex.c (regmatch): add 3rd arg `char *' + * url.c (openSocket): use new regex + +2002-01-10 aito@fw.ipsj.or.jp + + * [w3m-dev 02811] new regexp implementation + * regex.h: remove defines + * regex.h: struct regexchar, struct regex + * regex.c: include stdio.h, stdlib.h, string.h, config.h + * regex.c: remove include fm.h + * regex.c (NULL JP_CHARSET IS_ALPHA IS_KANJI1): define unless defined + * regex.c (RE_*) define + * regex.c (st_ptr): deleted + * regex.c (regmatch): remove 4th arg `int' + * regex.c (newRegex0): rewrite, based on old newRegex + * regex.c (newRegex): use newRegex0() + * regex.c (RegexMatch): rewrite + * regex.c (struct MatchingContext1): added + * regex.c (struct MatchingContext2): added + * regex.c (YIELD): added + * regex.c (regmatch_sub_anytime): added + * regex.c (regmatch_iter): added + * regex.c (regmatch): use regmatch_iter() + * regex.c (regmatch1): rewrite + * regex.c (lc2c): add 2nd arg `len', rewrite + +2002-01-10 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 02810] + * scripts/Makefile: read -r + * scripts/w3mhelp.cgi.in: fix bugs displaying "C-" only in some case + +2002-01-08 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02794] + * url.c (parseURL): cleanup + * url.c (parseURL2): file_unquote(pu->file) + +2002-01-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.2.4+cvs + +2002-01-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.4 + * version.c.in: update + * doc/README: version 0.2.4, release date + * doc-jp/README: ditto + * NEWS: update + +2002-01-06 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02781] Re: Bug#127883: w3m tries to use xv as default + * config.h.dist (DEF_IMAGE_VIEWER): added + * config.h.dist (DEF_AUDIO_PLAYER): added + * configure (def_image_viewer): added + * configure (def_audio_player): added + * configure (DEF_IMAGE_VIEWER): added + * configure (DEF_AUDIO_PLAYER): added + * mailcap.c (DefaultMailcap): use DEF_IMAGE_VIEWER, DEF_AUDIO_PLAYER + +2002-01-05 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02779] `;' is valid in URL + * main.c (chkURLBuffer): add ; + +2001-12-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02772] + * istream.c (ssl_get_certificate): show certificate subject and issuer + * istream.c (ssl_check_cert_ident): add missing NULL for Strcat_m_charp + * url.c (openSSLHandle): close(sock) and SSL_free(handle) on failure + +2001-12-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02770] form element outside <form>..</form> + * main.c (_followForm): check whether parent action is "none" + * form.c (internal_action): add "none" + * form.c (do_internal): check internal_action[i].rout + * file.c (process_input): check cur_form_id + * file.c (process_select): ditto + * file.c (process_textarea): ditto + +2001-12-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02769] <form>..</form> as block element + * file.c (HTMLtagproc1): CLOSE_P for <form>...</form> + * table.c (feed_table_tag): add feed_table_block_tag for <form></form> + +2001-12-28 Hironori Sakamoto <h-saka@lsi.nec.co.jp> + + * [w3m-dev 02765] backend + * backend.c (internal_get): cleanups + * file.c (flushline): remove w3m_backend checks + * file.c (loadHTMLstream): add w3m_backend check + * fm.h (backend_halfdump_str): deleted + * fm.h (backend_halfdump_buf): added + +2001-12-28 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02761] + * file.c (loadcmdout): remove unnecessary buf check + +2001-12-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02760] + * file.c (getshell): check buf == NULL + * main.c (execdict): check buf == NULL + buf->type == NULL, then buf->type is set as "text/plain" + +2001-12-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02759] fold textarea + * fm.h (FoldTextarea): added + * form.c (formUpdateBuffer): check FoldTextarea + * rc.c (CMT_FOLD_TEXTAREA): added + * rc.c (params1): add "fold_textarea" + +2001-12-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02757] + * main.c (execdict): w = conv_from_system(word) + * main.c (dictword): call execdict() only + +2001-12-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * url.c (openSSLHandle): accept_this_file is out of + #ifdef USE_SSL_VERIFY + +2001-12-27 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02753] + * url (ssl_verify_error_string): deleted + * url.c (openSSLHandle): use X509_verify_cert_error_string() + +2001-12-27 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02750] RFC2818 server identity check + * istream.c (ssl_certificate_validity): added + * istream.c (ssl_set_certificate_validity): added + * istream.c (ssl_get_certificate): use ssl_certificate_validity + * istream.h (ssl_set_certificate_validity): added + * url.c (ssl_verity_error_string): added + * url.c (openSSLHandle): add accept_this_site + * url.c (openSSLHandle): dont check by SSL_VERIFY_PEER, + use SSL_get_verify_result() instead + * url.c (openSSLHandle): check peer_certificate() and then + SSL_get_verify_result() + +2001-12-27 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02749] cleanup code for editor,mailer,extbrowser + * etc.c (myExtCommand): added + * etc.c (myEditor): added + * form.c (input_textarea): use myEditor() + * main.c (pipeBuf): use myExtCommand() + * main.c (editBf): use myEditor() + * main.c (editScr): use myEditor() + * main.c (followA): use myExtCommand() + * main.c (cmd_loadURL): use myExtCommand() + * main.c (invoke_browser): use myExtCommand() + * main.c (execdict): use myExtCommand() + * proto.h (myExtCommand): added + * proto.h (myEditor): added + +2001-12-27 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02748] cleanup code for restoring cursor position + * buffer.c (reshapeBuffer): delete top, linenum, cursorY, pos, + currentColumn, formitem + * buffer.c (reshapeBuffer): add sbuf and + use copyBuffer(), restorePosition() + * buffer.c (reshapeBuffer): use chkURLBuffer(), chkNMIDBuffer() + * display.c (in_check_url): deleted + * display.c (displayBuffer): ditto + * display.c (displayBuffer): s/Currentbuf/buf/ + * display.c (arrangeLine): ditto + * display.c (restorePosition): added + * fm.h (TOP_LINENUMBER): added + * fm.h (CUR_LINENUMBER): added + * main.c (editBf): delete type, top, linenum, cursorY, pos, + currentColumn + * main.c (editBf): add sbuf and use copyBuffer(), restorePosition() + * main.c (reload): delete type, top, linenum, cursorY, pos, + currentColumn + * main.c (reload): add sbuf and use copyBuffer(), restorePosition() + * main.c (chkURLBuffer): added + * main.c (chkURL): chkRULBuffer on Currentbuf + * main.c (chkNMIDBuffer): added + * main.c (chkNMID): chkNMIDBuffer on Currentbuf + * proto.h (chkURLBuffer): added + * proto.h (chkNMIDBuffer): added + * proto.h (restorePosition): added + +2001-12-27 "OMAE, jun" <jun-o@dai.meta.ne.jp> + + * [w3m-dev 02735] + * indep.c (bcopy): need (chat *) cast + * indep.c (bzero): use char * instead of void * + +2001-12-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02745] + * istream.h: #include <x509v3.h> deleted + * istream.c: #include <x509v3.h> + * istream.c (ssl_check_cert_ident): if subjectAltName dNSName found, + don't try commonName + +2001-12-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02743] RFC2818 server identity check + * NEWS: RFC2818 server identity check + * istream.c (ssl_check_cert_ident): added + * istream.h (ssl_check_cert_ident): ditto + * istream.h: #include <x509v3.h> + * url.c (free_ssl_ctx): ssl_ctx = NULL + * url.c (openSSLHandle): arg hostname to check cert id + * url.c (openSSLHandle): check SSL_get_verify_result + if ssl_verify_server + * url.c (openSSLHandle): check server identity by ssl_check_cert_ident + * url.c (openURL): openSSLHandle with pu->host + +2001-12-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02715] bugfix in scripts/multipart/multipart.cgi.in + was not applied + * scripts/multipart/multipart.cgi: fix "use NKF" check + +2001-12-26 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02732] fix Debian Bug#126381 + - Passwords entered for HTTPS are used for HTTP + * etc.c (find_auth): add port arg + * etc.c (find_auth_cookie): add port arg + * etc.c (add_auth_cookie): add port arg + * file.c (getAuthCookie): find_auth_cookie(host, port, realm) + * file.c (loadGeneralFile): add_auth_cookie(host, port, realm, ss) + * fm.h (struct auth_cookie): add port + * ftp.c (openFTP): find_auth_cookie(host, port, user) + * ftp.c (openFTP): add_auth_cookie(host, port, user, pwd) + * proto.h (find_auth_cookie): add port + * proto.h (add_auth_cookie): add port + +2001-12-26 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02729] + * doc-jp/README.func (DOWNLOAD): update + * doc-jp/README.func (EDIT): ditto + * doc-jp/README.func (EDIT_SCREEN): ditto + * doc-jp/README.func (SAVE): ditto + * doc/README.func (DOWNLOAD): ditto + * doc/README.func (SAVE): ditto + * doc/README.func (SUBMIT): ditto + * scripts/w3mhelp.cgi.in: $key is normalized by &norm_key + * scripts/w3mhelp.cgi.in: keyfunc update + * scripts/w3mhelp.cgi.in (load_keymap): check data, &norm_key + * scripts/w3mhelp.cgi.in (norm_key): added + +2001-12-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [#496613] LASTLINE in terms.c + by Kazuhiro NISHIYAMA (znz) + * terms.c (LASTLINE): defined(__CYGWIN__) instead of defined(CYGWIN) + * terms.c (setlinescols): ditto + +2001-12-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [#496610] #include <sys/wait.h> + by Kazuhiro NISHIYAMA (znz) + * main.c: #if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) + * etc.c: ditto + * file.c: ditto + +2001-12-26 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * [w3m-dev 02725] bcopy, bzero + * etc.c (bcopy): deleted + * etc.c (bzero): deleted + * indep.c (bcopy): added + * indep.c (bzero): added + * indep.c (bcopy): src should be const + * fm.h (bcopy): ditto + +2001-12-25 Kazuhiko <kazuhiko@archi.kyoto-u.ac.jp> + + * [w3m-dev 02727] + * doc-jp/keymap.default (C-r): ISEARCH_BACK + * doc-jp/keymap.default (C-s): ISEARCH + * doc-jp/README.func: fix typo + +2001-12-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02726] incremental search + * NEWS: incremental search + * fm.h (inputLineHist) define by inputLineHistSearch + * fm.h (COPY_BUFPOTISION): added + * fm.h (SAVE_BUFPOSITION): ditto + * fm.h (RESTORE_BUFPOSITION): ditto + * funcname.tab (ISEARCH): added + * funcname.tab (ISEARCH_BACK): added + * keybind.c (GlobalKeymap): C-s = ISEARCH, C-r = ISEARCH_BACK + * linein.c (inputLineHistSearch): renamed from inputLineHist, + new arg incrfunc() for increment search + * linein.c (inputLineHistSearch): add cursorX, cursorY + * main.c (srchcore): remove displayBuffer, onA + * main.c (dispincsrch): added + * main.c (isrch): ditto + * main.c (isrchfor): ditto + * main.c (isrchbak): ditto + * main.c (srch): add displayBuffer, onA + * main.c (srch_nxtprv): ditto + * proto.h (isrchfor): added + * proto.h (isrchbak): ditto + * proto.h (inputLineHistSearch): renamed + * doc/keymap.default (C-r): ISEARCH_BACK + * doc/keymap.default (C-s): ISEARCH + * doc/README.func (ISEARCH): added + * doc/README.func (ISEARCH_BACK): ditto + * doc-jp/README.func (ISEARCH): added + * doc-jp/README.func (ISEARCH_BACK): ditto + +2001-12-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02723] cleanup resizing + * main.c (resized): renamed to need_resize_screen + * main.c (need_resize_screen): added + * main.c (resize_hook): prototype here + * main.c (resize_handler): ditto + * main.c (MAIN): move signal initialization + * main.c (MAIN): remove duplicate signal initialization + * main.c (resize_screen): added + * proto.h (resize_hook): deleted + * terms.c (mouse_init): remove signal + +2001-12-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02721] + * main.c (resize_handler): added + * main.c (MAIN): use resize_handler in getch() + +2001-12-25 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp> + + * [w3m-dev 02714] + * scripts/w3mhelp.cgi.in: $helpdir should be handled by cygwin_pathconv + when $CYGPATH=1 + +2001-12-25 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02715] bugfix in scripts/multipart/multipart.cgi.in + * scripts/multipart/multipart.cgi: fix "use NKF" check + +2001-12-25 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02719] (based on [w3m-dev 02708] comments) + * resize_hook: set resized flag only + * main.c (MAIN): in key input loop, process resize + when resized flag is set + +2001-12-24 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02702] fix problem with emacs-w3m in [w3m-dev 02699] + * main.c (MAIN): remove some flag initialization, its too early? + this code caused problem with emacs-w3m. + +2001-12-23 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02700] search refactoring + * based on http://www.nmn.jp/~hidai/software/w3m/ + * fm.h: add SR_* constants, result value for search + * main.c (srchcore): added + * main.c (disp_srchresult): added + * main.c (srch): added + * main.c (srchfor): use srch() + * main.c (srchbak): use srch() + * main.c (srch_nxtprv): use srchcore() & disp_srch_result() + * search.c (forwardSearch): return SR_* result value + * search.c (backwardSearch): ditto + +2001-12-23 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02699] initialization too late + * main.c (MAIN): initializations moved before arg processing + * debian bug closes: Bug##102445: ignores SIGWINCH while downloading + +2001-12-22 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02696] + * configure: fix bashism of w3mhelp-{lynx,w3m}_{en,ja} expansion + +2001-12-22 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev 02687] version number in w3mhelp-*.html (+[w3m-dev 02689]) + * configure (cur_ver): w3mhelp*.html version subst + * w3mhelp*.html: deleted + * w3mhelp*.html.in: added + +2001-12-22 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02682] + * doc/README: remove README.dj + * doc-jp/README.hp: deleted + +2001-12-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02692] w3m on linux/ia64 + * mktable.c: #include "config.h" + * mktable.c: #include "stdint.h" or uintptr_t typedef + * mktable.c: use uintptr_t instead of unsigned int + * configure: check pthread on linux + * configure: add gc_cflags for linux/ia64,alpha,s390 + * configure: check stdint.h + * configure (config.h): add $pthreadlib to GCLIB + * configure (config.h): add $def_have_stdint_h + * config.h.dist (HAVE_STDINT_H): added + * Str.c: add #include <stdlib.h> for exit() on some platform (ia64) + +2001-12-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02690] RC_DIR in scripts + * configure (config.h): add RC_DIR + * config.h.dist: ditto + * XMakefile: pass RC_DIR + * scripts/Makefile: subst RC_DIR + * scripts/dirlist.cgi.in: $RC_DIR initial value + * scripts/w3mhelp.cgi.in: ditto + * scripts/w3mhelp.cgi.in (cygwin_pathconv): added + +2001-12-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.2.3.2+cvs + +2001-12-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.3.2 - Security fix in w3m/scripts + * version.c.in: update + * w3mhelp-*.html: version 0.2.3.2 + * doc/README: version 0.2.3.2, release date + * doc-jp/README: ditto + * NEWS: added + +2001-12-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * scripts/w3mhelp.cgi.in: lang=[a-z][a-z] only + +2001-12-22 Hironori Sakamoto <h-saka@lsi.nec.co.jp> + + * Security hole in multipart.cgi.in, w3mman2html.cgi.in + * scripts/w3mhelp.cgi.in: open(F, "< $var") instead of open(F, $var) + * scripts/w3mhelp.cgi.in: fix eval qq{require ...}; + * scripts/multipart/multipart.cgi.in: ditto + * scripts/w3mman/w3mman2html.cgi.in: validate $keyword, $section, $man + +2001-12-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev-en 00656] + * helpdir default is PREFIX/share/w3m + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.2.3.1-cvs + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.3.1 + * version.c.in: update + * w3mhelp-*.html: version 0.2.3.1 + * doc/README: version 0.2.3.1, release date + * doc-jp/README: ditto + +2001-12-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02683] + * configure (def_param): fix wrong behavior unless variable initialized + * configure (def_param): fix unnecessary eval + * configure (ask_choice): ditto + +2001-12-20 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * w3mhelp-*.html, doc/README, doc-jp/README: + * fix version number to 0.2.3. + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * version.c.in: 0.2.3-cvs + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.3 release + * version.c.in: update + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.3 release condidate 3 + * configure (use_bundled_gclib): added + +2001-12-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * w3m 0.2.3 release candidate 2 + * [w3m-dev 02678] + * configure: get mygcversion from gc/version.h + * Makefile: update GCLIBTGZ + +2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3m 0.2.3 release candidate 1 + * gc/: sync with w3m-0.2.2-inu-1.1/gc + * Patches/ews4800: deleted + * configure: comment out Patches/ews4800 + +2001-12-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02655] print version and compile options + * configure: change order of questions + * main.c (fversion): added + * main.c (fusage): use fversion() + * main.c (fusage): add -help, -version + * main.c (MAIN): add -help, -version + +2001-12-20 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02672] + * main.c (wrap_GC_warn_proc): msg_ring initial value + * main.c (SigAlarm): not need #ifdef USE_ALARM, already guarded + +2001-12-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * [#493911] too few arguments to function `longjmp' + by Kazuhiro NISHIYAMA (znz) + * configure (LONGJMP): need val argument + +2001-12-18 Fumitoshi UKAI <ukai@debian.or.jp> + + * [#493906] missing #ifdef by Kazuhiro NISHIYAMA (znz) + * main.c (sig_chld): #ifdef SIGCHLD + * main.c (SigAlarm): #ifdef USE_ALARM + +2001-12-18 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02670] + * table.c (maximum_visible_length): use strchr() + * table.c (do_refill): use force==2 mode for flushline() + +2001-12-18 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02669] delete cURLcode() + * main.c (cURLcode): deleted + * main.c (loadNormalBuf): no need to use cURLcode() + * main.c (followI): ditto + * main.c (query_from_followform): need conv_form_encoding() + +2001-12-18 Rin Okuyama <okuyama@cna.ne.jp> + + * [w3m-dev 02668] install-sh: -e option of sh(1) + * install-sh: add set -e + +2001-12-18 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02667] + * terms.c (mouse_init): #ifdef SIGWINCH guard + +2001-12-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02666] resizing on xterm with gpm support + * terms.c (mouse_init): check Gpm_Open return value, signal(SIGWINCH) + +2001-12-16 Rin Okuyama <okuyama@cna.ne.jp> + + * [w3m-dev 02664] install-sh -s option + * XMakefile: install-sh -s + * install-sh: support strip option + +2001-12-15 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02663] fix prevA() cause loop + * table.c (do_refill): force flushline + * table.c (feed_table_tag): push line if <a> has no href attr + +2001-12-15 Rin Okuyama <okuyama@cna.ne.jp> + + * [w3m-dev 02659] rc.c (show_srch_str) + * fm.h (show_srch_str): added + * main.c (srch_nxtprv): check show_srch_str + * rc.c (CMT_SHOW_SRCH_STR): added + +2001-12-15 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02657] + * main.c (chkURL): accept URL ending with '=' + +2001-12-15 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02656] + * XMakefile (clean): remove functable.c + * anchor.c (_put_anchor_new): use Strnew_size() and Strcat_charp_n() + * indep.c (getescapechar): use GET_MYCDIGIT + +2001-12-13 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02541] mouse support on cygwin + * linein.c (_esc): ignore ESC M <ch> <ch> <ch> on cygwin + * terms.c (is_xterm): not static on cygwin + * terms.c (ConInV): INPUT_RECORD * -> char * + * terms.c (MouseConToXTerm): deleted + * terms.c (iMouseConXTerm): deleted + * terms.c (expand_win32_console_input_buffer): added + * terms.c (read_win32_console_input): use PeekConsoleInput + and ReadConsole + * terms.c (read_win32_console): use read_win32_console_input() + * terms.c (cmp_tv): added + * terms.c (subtract_tv): added + * terms.c (select_or_poll_win32_console): added + * terms.c (select_win32_console): added + * terms.c (xterm_mouse_term): deleted + * terms.c (mouse_term_info): added + * terms.c (set_tty): modified to use mouse_term_info + * terms.c (sleep_till_anykey): use select_win32_console on cygwin + * terms.c (mouse_init): check is_xterm flag + * terms.c (mouse_end): check is_xterm flag + * terms.h (is_xterm): if cygwin + * terms.h (NEED_XTERM_ON): added + * terms.h (NEED_XTERM_OFF): added + +2001-12-11 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02651] search keymap using hash + * XMakefile (func.c): depends functable.c funcname1.h + * XMakefile (functable.c): generated from funcname.tab + * functable.awk: added + * fm.h (w3mKeyList): deleted + * func.c (w3mKeyList): ditto + * file.c (readHeader): change getFuncList() + * func.c (w3mNFuncList): deleted + * func.c (functable.c): include + * func.c (initKeymap): no need to count w3mFuncList + * func.c (initKeymap): change getFuncList() + * func.c (initKeymap): put data to keyData hashtable + * func.c (countFuncList): deleted + * func.c (getFuncList): use getHash_si() + * func.c (getKeyData): use getHash_iv() + * func.c (addKeyList): deleted + * func.c (searchKeyList): deleted + * func.h (textlist.h): include + * func.h (hash.h): include + * func.h (KEY_HASH_SIZE): added + * func.h (KeyListItem): deleted + * func.h (KeyList): deleted + * hash.c: s/hist/sv/ + * hash.c: add defhashfunc_i(int, void *, iv) + * hash.h: s/hist/sv/ + * hash.h: defhash(int, void *, iv) + * hash.h (putHash_*): added + * hash.h (getHash_*): added + * hash.h (defhashfunc_i): added + * history.c (pushHashHist): s/hist/sv/ + * history.c (getHashHist): s/hist/sv/ + * history.h (Hist): s/hist/sv/ + * main.c (searchKeyData): item deleted + * main.c (searchKeyData): data added + * main.c (searchKeyData): use getKayData() instead of searchKeyList() + * main.c (setAlarm): w3mNFuncList deleted + * main.c (setAlarm): change getFuncList() + * menu.c (w3mNFuncList): deleted + * menu.c (w3mFuncList): deleted + * menu.c (initMenu): no need to count w3mFuncList + * menu.c (setMenuItem): change getFuncList() + * proto.h (countFuncList): deleted + * proto.h (getFuncList): change args + * proto.h (addKeyList): deleted + * proto.h (searchKeyList): deleted + * proto.h (getKeyData): added + +2001-12-11 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02650] + * file.c (readHeader): Strnew_charp_n() should be used + +2001-12-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02647] + * proto.h (arg_is): deleted + * etc.c (arg_is): ditto + * etc.c (searchAnchorArg): ditto + +2001-12-11 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02648] rewrite strCmp() with strcmp() + * indep.c (strCmp): use strcmp() + +2001-12-11 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02441] A patch against functions *_(un)?quote() + * indep.c (url_unquote_char): use GET_MYCDIGIT, instead of sscanf + * indep.c (url_quote): use xdigit[] instead of sprintf() + * myctype.c (MYCTYPE_DIGITMAP): added + * myctype.h (MYCTYPE_DIGITMAP): ditto + * myctype.h (GET_MYCDIGIT): added + +2001-12-11 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02647] + * proto.h (getAnchor): deleted + * etc.c (getAnchor): deleted + +2001-12-09 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02646] Some code cleanups + * configure: use host libgc instead of gc/gc.a on Linux and/or AIX + if possible + * etc.c (get_cmd): deleted, merged into gethtmlcmd() + * etc.c (gethtmlcmd): merge get_cmd() code + * file.c (uncompressed_file_type): initialize slen + * file.c (passthrough): status deleted + * file.c (HTMLlineproc0): istr deleted, gethtmlcmd() argument fix + * fm.h (_GNU_SOURCE): ifndef _GNU_SOURCE + * proto.h (gethtmlcmd): fix prototypes + * terms.c: include <sys/ioctl.h> always + +2001-12-09 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02645] + * configure: fix to prevent rcsid expansion + +2001-12-08 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02641] + * configure: generate version.c from version.c.in + * version.c.in: added + * version.c: deleted, autogenerated from version.c.in + * .cvsignore (version.c): added + +2001-12-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02642] + * linein.c (next_dcompl): fix ifdef EMACS_LIKE_LINEEDIT + +2001-12-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02640] + * linein.c (escape_spaces): rewrite + * linein.c (unescape_spaces): rewrite + +2001-12-07 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02638] completion for ! and/or @ + * linein.c (next_compl): check "\\ ", "\\\t" + * linein.c (escape_spaces): added + * linein.c (unescape_spaces): added + * linein.c (doComplete): use unescape_spaces, escape_spaces + +2001-12-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02637] + * url.c (openSocket): hostname volatile -> const + * url.c (openSocket): add hname + * url.c (openSocket): copy hostname to hname to be modified safely + * url.c (otherinfo): revert previous change + +2001-12-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02635] dirlist + * file.c (loadGeneralFile): use pu.file instead of pu.real_file + * scripts/dirlist.cgi.in: modified for perl4 + +2001-12-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * [#489463] Host: header is wrong IPv6 literal addr + * url.c (otherinfo): IPv6 address should be quoted with bracket + +2001-12-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02629] + * linein.c (next_compl): completion for name including space + +2001-12-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02633] + * url.c (parseURL2): filename should be quoted here, because + it will be unquote() soon + +2001-12-07 Fumitoshi UKAI <ukai@debian.or.jp> + + * rename install.sh to install-sh + * XMakefile: s/install.sh/install-sh/ + +2001-12-07 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02622] + * tagtable.tab (noframes): added + * tagtable.tab (/noframes): added + * fm.h (RB_NOFRAMES): added + * html.h (HTML_NOFRAMES): added + * html.h (HTML_N_NOFRAMES): added + * html.c (ALST_NOFRAMES): added + * html.c (98 HTML_NOFRAMES): added + * html.c (99 HTML_N_NOFRAMES): added + * file.c (HTMLtagproc1): add HTML_NOFRAMES, HTML_N_NOFRAMES + * file.c (HTMLtagproc1): don't meta refresh if it is in noframes and + auto frame rendering + * main.c (MAIN): use setAlarmEvent() + * main.c (SigAlarm): ditto + * main.c (setAlarm): ditto + * main.c (setAlarmEvent): check if status == AL_UNSET + +2001-12-06 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02619] + * file.c (loadHTMLString): set document type + +2001-12-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02618] + * configure: fix typo in --mimetypes + +2001-12-05 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02617] + * scripts/Makefile (HELP_LIBS): added + * scripts/Makefile (all): depends $(HELP_LIBS) + * scripts/Makefile (install): depends $(HELP_LIBS) + * scripts/Makefile (w3mhelp-funcname.pl): split from helplibs + * scripts/Makefile (w3mhelp-funcdesc.pl): split from helplibs, touch + * scripts/Makefile (clean): clean *-stamp + * scripts/.cvsignore: add w3mhelp-funcdesc-stamp + +2001-12-05 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02616] + * buffer.c (gotoLine): use set_delayed_message instead of disp_message + * buffer.c (gotoRealLine): ditto + * display.c (delayed_msg): added + * display.c (displayBuffer): display deleyed_msg if it is set + * display.c (set_delayed_message): added + * proto.h (set_delayed_message): added + +2001-12-05 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02615] + * main.c (goLine): _goLine() called twice when prec_num was set + +2001-12-05 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02614] + * XMakefile (HELP_ALLFILES): added + * XMakefile (INSTALL_PROGRAM): ditto + * XMakefile (INSTALL_SCRIPT): ditto + * XMakefile (INSTALL_DATA): ditto + * XMakefile (install) use INSTALL_{PROGRAM,DATA} + * XMakefile (install-helpfile): cleanup + * XMakefile (install-scripts): pass MKDIR + * XMakefile (uninstall): cleanup + * XMakefile (clean): cleanup + * scripts/Makefile (MKDIR): added + * scripts/Makefile (INSTALL_DATA): added + * scripts/Makefile (install): mkdir, use INSTALL_DATA + * scripts/Makefile (uninstall): added + * scripts/Makefile (clean): ignore errors + * scripts/multipart/Makefile (MKDIR): added + * scripts/multipart/Makefile (install): mkdir + * scripts/multipart/Makefile (uninstall): added + * scripts/multipart/Makefile (clean): ignore errors + * scripts/multipart/Makefile (dist): cleanup + * scripts/w3mman/Makefile (MKDIR): added + * scripts/w3mman/Makefile (install): mkdir + * scripts/w3mman/Makefile (uninstall): added + * scripts/w3mman/Makefile (clean): ignore errors + * scripts/w3mman/Makefile (dist): cleanup + +2001-12-04 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02611] a improvement of find_cookie() + * cookie.c (make_cookie): domainname is passed as argument + * cookie.c (find_cookie): FQDN(pu->host) done only once + * func.c (getQWord): comment reformat + * local.c (check_local_cgi): ditto + +2001-12-04 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02609] + * proto.h: remove duplicate prototypes + +2001-12-04 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02608] + * local.c (localcgi_get): request == NULL means no ? in URL + * url.c (openURL): ditto + +2001-12-03 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02606] + * XMakefile (install-scripts): run pwd outside for loop + +2001-12-03 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02605] $(PWD) / allocStr() + + * XMakefile (install-scripts): use $$TOPDIR instead of $(PWD) + + * indep.c (allocStr): if len is negative, it will copy string in `s' + * display.c (record_err_message): pass -1 as length to allocStr + * etc.c (lastFileName): ditto + * etc.c (mybasename): ditto + * etc.c (FQDN): ditto + * file.c (push_tag): ditto + * func.c (addKeyList): ditto + * history.c (unshiftHist): ditto + * history.c (pushHist): ditto + * indep.c (cleanupName): ditto + * linein.c (inputLineHist): ditto + * local.c (dirBuffer): ditto + * main.c (gotoLabel): ditto + * main.c (searchKeyData): ditto + * parsetagx.c (parsedtag_set_value): ditto + * terms.c (GETSTR): ditto + * textlist.h (pushText): ditto + * url.c (DefaultFile): ditto + * url.c (parseURL): ditto + * url.c (ALLOC_STR): ditto + * url.c (parseURL2): ditto + * url.c (openURL): ditto + * w3mhelperpanel.c (extractMailcapEntry): ditto + +2001-12-02 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02604] + * configure: kanji_symbols=n if lang=EN + * file.c (HTMLlineproc2body): initialize rule + +2001-12-02 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02603] + * scripts/w3mhelp.cgi.in: modified for perl4 + +2001-12-01 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02601] + * Makefile (install-core): added + * Makefile (install-helpfile): added + * configure (use_help_cgi): default yes if perl found + * configure (config.h): add HELP_CGI + * configure (config.h): add $def_use_help_cgi + * main.c (ldhelp): add USE_HELP_CGI code + * scripts/Makefile: use w3mhelp*.pl.in + * scripts/w3mhelp-funcname.pl.in: added + * scripts/w3mhelp-funcdesc.en.pl.in: added + * scripts/w3mhelp-funcdesc.ja.pl.in: added + * scripts/w3mhelp.cgi.in: use %buf_*, %lineedit_* + * scripts/w3mhelp.cgi.in: use %title + + * [w3m-dev 02660] (based on [w3m-dev 02577] + by Kiyokazu SUTO <suto@ks-and-ks.ne.jp>) + * scripts/.cvsignore: add w3mhelp.cgi w3mhelp-*.pl + * scripts/Makefile (HELP_DIR): added + * scripts/Makefile (LIB_TARGETS): add w3mhelp.cgi + * scripts/Makefile (DOCDIRS): added + * scripts/Makefile (all): add helplibs + * scripts/Makefile (.in): subst HELP_DIR, DOCDIRS + * scripts/Makefile (helplibs): added + * scripts/Makefile (install): s/DISTDIR/DESTDIR/ + * scripts/Makefile (install): install w3mhelp-*.pl + + * scripts/w3mhelp.cgi.in: added + + * XMakefile (INSTALL2): deleted + * XMakefile (install): split + * XMakefile (install-core): added + * XMakefile (install-helpfile): added + * XMakefile (all-scripts): HELP_DIR + * XMakefile (install-scripts): HELP_DIR + + * doc/REAMDE.func: add ALARM, SUSPEND + * doc-jp/README.func: ditto + + * config.h.dist: updated + +2001-11-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * url.c (otherinfo): use AcceptLang + * rc.c (sync_with_option): initialize AcceptLang + +2001-11-30 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02599] + * main.c comment reformat + +2001-11-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02598] + * url.c (otherinfo): add missing NULL + +2001-11-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02597] (based on [w3m-dev 02594] by aito@fw.ipsj.or.jp) + * fm.h (AcceptLang): added + * fm.h (AcceptMedia): added + * rc.c (CMT_ACCEPTENCODING): added + * rc.c (CMT_ACCEPTMEDIA): added + * rc.c (params9): add accept_encoding, accept_media + * rc.c (sync_with_option): initialize AcceptEncoding and AcceptMedia + * url.c (otherinfo): use Strcat_m_charp() + +2001-11-30 aito@fw.ipsj.or.jp + + * [w3m-dev 02594] + * configure: s/dcode/display_code/ + +2001-11-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02596] + * file.c (acceptableEncoding): fix segfault if no decoder found + +2001-11-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02595] + * file.c (compression_decoder): add encodings + * file.c (readHeader): use compression_decoder->encodings + +2001-11-30 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02593] + * form.h: comment reformat + * matrix.c: ditto + * menu.c: ditto + * regex.c: ditto + * table.h: ditto + * terms.c: ditto + +2001-11-30 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02592] Accept: and AcceptEncoding: + * url.c (otherinfo): use acceptableEncoding() acceptableMimeTypes() + + * file.c: add compression_decoder + * file.c (check_compress): rewrite by using compression_decoder + * file.c (compress_application_type): ditto + * file.c (uncompressed_file_type): ditto + * file.c (check_command): added + * file.c (acceptableEncoding): added + * proto.h (acceptableEncoding): ditto + * file.c (uncompress_stream): renamed from gunzip_stream + * file.c (uncompress_stream): rewrite by using compression_decoder + * configure: add PATH_SEPARATOR + + * mailcap.c (extractMailcapEntry): static + * mailcap.c (loadMailcap): static + * proto.h (loadMailcap): removed + * mailcap.c (acceptableMimeTypes): added + * proto.h (acceptableMimeTypes): added + + * configure: #define USE_PATH_ENVVAR for __EMX__ + * file.c: GUNZIP_*, BUNZIP2_*, INFLATE_* removed here -> config.h + * file.c (gunzip_stream): s/(GUNZIP|BUNZIP2|INFLATE)_CMD/\1_CMDNAME/ + * configure (config.h): GUNZIP_*, BUNZIP2_*, INFLATE_* moved here + * fm.h (DirBufferCommand): use CGI_EXTENSION + * fm.h (mailcap_list): removed from global -> mailcap.c + * fm.h (UserMailcap): removed from global -> mailcap.c + * mailcap.c: static mailcap_list + * mailcap.c: static UserMailcap + * proto.h (initMimeTypes): moved + * proto.h (get_os2_dft): removed + * rc.c (loadMimeTypes): removed here -> url.c + * rc.c (initMimeTypes): removed here -> url.c + * fm.h (mimetypes_list): removed from global -> url.c + * fm.h (UserMimeTypes): removed from global -> url.c + * url.c: static mimetypes_list + * url.c: static UserMimeTypes + * url.c (loadMimeTypes): moved here + * url.c (initMimeTypes): moved here + +2001-11-30 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02590] + * main.c (_peekURL): peek URL on <input type="image"> + +2001-11-30 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02589] + * rc.c (params1): remove #ifdef VIEW_UNSEENOBJECTS + +2001-11-29 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02588] + * configure: fix alarm() check + +2001-11-29 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02587] + * file.c (gunzip_stream): s/__CYGWIN__/USE_BINMODE_STREAM/ + + * [w3m-dev 02586] + * configure: typo s/_zdmachdep.c/zmachdep.c/ + + * fix shadow variable + * main.c (HTMLtagproc1): s/refresh/refresh_interval/ + * matrix.c (LUfactor): s/index/indexarray/ + * matrix.c (LUsolve): ditto + * matrix.c (m_inverse): ditto + * matrix.c (LUinverse): ditto + * table.c (bsearch_2short): ditto + * table.c (bsearch_double): ditto + * table.c (dv2sv): ditto + * table.c (check_cell_width): ditto + * table.c (set_integered_width): ditto + * table.c (set_table_width): ditto + * table.c (check_table_height): ditto + * ftp.c: s/ftp/current_ftp/ + * ftp.c (Ftpfclose): ditto + * ftp.c (openFTP): ditto + * ftp.c (closeFTP): ditto + * ftp.c (FtpLogin): save to current_ftp + * ftp.c (openFTP): s/realpath/realpathname/ + * ftp.c (openFTP): remove i + + * ftp.c (ftp_pasv): s/sin/sockaddr/ + + * [w3m-dev 02584] code cleanup + + * linein.c (_esc): fix #ifdef EMACS_LIKE_LINEEDIT + + * fix shadow variables (partially) + * version.c: s/version/w3m_version/ + * configure: ditto + * fm.h: ditto + * local.c (set_environ): ditto + * main.c (fusage): ditto + * main.c (MAIN): ditto + * main.c (dispVer): ditto + * rc.c (load_option_panel): ditto + * url.c (otherinfo): ditto + * file.c (readHeader): s/tmp/tmp2/ + * file.c (loadGeneralFile): s/tmp/cmd/ + * file.c (flushline): s/f/df/ + * file.c (doExternal): s/stat/mc_stat/ + * proto.h: ditto + * mailcap.c (unquote_mailcap_loop): ditto + * mailcap.c (unquote_mailcap): ditto + * main.c (cmd_loadBuffer): s/link/linkid/ + * main.c (sig_chld): s/stat/p_stat/ + * fm.h: remove config_file + * main.c (MAIN): s/config_file/config_filename/ + * rc.c (init_rc): ditto + * proto.h: ditto + * rc.c: add config_file + * menu.c (goem_menu): s/select/mselect/ + * menu.c (draw_menu_item): ditto + * menu.c (select_menu): ditto + * menu.c (goto_menu): ditto + * menu.c (action_menu): ditto + * menu.c (mNext): ditto + * menu.c (mPrev): ditto + * menu.c (mOk): ditto + * menu.c (mSrchF): ditto + * menu.c (mSrchB): ditto + * menu.c (mSrchN): ditto + * menu.c (mSrchP): ditto + * menu.c (process_mMouse): ditto + * menu.c (smDelBuf): ditto + * proto.h: ditto + + * printf format + * display.c (redrawLine): use %*ld instead of %*d + + * require parentheses + * ftp.c (FtpLogin): add paren + + * fix variable might be clobbered by `longjmp' or `vfork' + * file.c (loadGeneralFile): add volatile + * file.c (loadHTMLString): ditto + * file.c (loadBuffer): ditto + * file.c (doExternal): ditto + * frame.c (createFrameFile): ditto + * main.c (srchfor): ditto + * main.c (srchbak): ditto + * main.c (srch_nxtprv): ditto + * url.c (openSocket): ditto + + * fix unused variables + * file.c (readHeader): emssg if USE_COOKIE defined + * file.c (HTMLlineproc2body: remove tmp + * file.c (saveBufferDelNum): remove p + * linein.c (_esc): c2 if JP_CHARSET defined + + * fix uninitialized variables + * Str.c (Sprintf): initialize p + * buffer.c (readBufferCache): initialize prevl + * conv.c (cConvSE): initialize ub + * conv.c (_cConvEE): initialize ub + * conv.c (cConvES): initialize ub + * file.c (loadGeneralFile): initialize proc, t, prevtral, ss, realm + * file.c (HTMLlineproc2body): initialize debug + * file.c (HTMLlineproc0): initialize tbl_mode, tbl_width + * file.c (loadHTMLstream): initialize prevtrap + * file.c (loadHTMLString): initialize prevtrap + * file.c (loadBuffer): initialize prevtrap + * form.c (formUpdateBuffer): initialize col + * ftp.c (openFTP): initialize pwd + * local.c (dirBuffer): initialize nrow + * main.c (gpm_process_mouse): initialize btn + * menu.c (gpm_process_menu_mouse): ditto + * menu.c (initMenu): initialize nmenu, nitem, item + * parsetagx.c (parse_tag): initialize attr_id + * rc.c (show_params): initialize t + * table.c (visible_length): initialize amp_len + * table.c (set_integered_width): initialize x + * table.c (check_table_height): initialize space + * table.c (renderTable): initialize vrulea, vruleb, vrulec + * terms.c (putchars): initialize s + * url.c (openSocket): initialize trap, result + * url.c (openURL): initialize sslh + +2001-11-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02579] + * configure: Use environment variables CC, CFLAGS, LDFLAGS + +2001-11-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02574] sysconfdir + * configure: add -bindir=* -libdir=* -helpdir=* -sysconfdir=* + * configure: add ETC_DIR + * indep.c (w3m_etc_dir): added + * indep.h: ditto + * rc.c (init_rc): use etcFile() instead of libFile() + * rc.c (etcFile): added + * proto.h: ditto + +2001-11-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02578] + * file.c (process_anchor): support <input type="image"> + * html.c (ALST_INPUT): add ATTR_SRC, ATTR_WIDTH, ATTR_HEIGHT + * html.c (MAXA_INPUT): +3 + + * conv.c (checkShiftCode): fix comments for indent(1) + * main.c (loadLink): ditto + * fm.h: ditto + * file.c (process_anchor); ditto + * file.c (HTMLlineproc2body): ditto + +2001-11-28 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02576] + * url.c (openURL): remove pu->file = p; which cause segfault + because p is not initialized + +2001-11-28 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02571] MAXPATHLEN + * indep.c (currentdir): #ifdef MAXPATHLEN for GNU Hurd + * configure: ditto + +2001-11-27 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02572] + * main.c (_peekURL): initialize s when anchor not found + +2001-11-27 aito@fw.ipsj.or.jp + * Error correction on doc-jp/FAQ.html + +2001-11-27 sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane) + * w3m-doc update. + +2001-11-26 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02537] + * configure: s/$def_egd/def_use_egd/ + +2001-11-26 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02556] + * indep.c (strcasestr): strcasestr("", "") should not return NULL + + * [w3m-dev 02555] + * configure: check strcasestr + * fm.h (_GNU_SOURCE): requires for strcasestr() + * indep.c (strcasestr): #ifdef HAVE_STRCASESTR + * indep.c (strcasestr): check whether s2 is NULL + * indep.h: add #include "config.h" + * indep.h: #ifdef HAVE_STRCASESTR + * indep.h: strcasestr() takes const char * + +2001-11-26 Yoshinobu Sakane <sakane@d4.bsd.nes.nec.co.jp> + + * [w3m-dev 02553] + * configure: SysV's tr requires '[a-z]' '[A-Z]' + +2001-11-26 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02547] "message/*" as a kind of text type + * file.c (is_text_type): add message/* + +2001-11-25 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02535] Name conflicts in configure + * configure: s/libdir/tlibdir/ for loop variables + +2001-11-25 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * display.c: call of init_win32_console_handle is deleted + +2001-11-25 Rin Okuyama <okuyama@cna.ne.jp> + + * [w3m-dev 02533] setpgrp bug in configure + * configure: s/have_setpgrp/def_have_setpgrp/ + s/setpgrp/def_setpgrp/ + +2001-11-24 Fumitoshi UKAI <ukai@debian.or.jp> + + * Makefile (indent): indent + * run make indent + +2001-11-24 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02530] + * file.c (readHeader): NULL check for domain + +2001-11-24 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02529] + * configure (ask_choice): fix bugs + * configure (include_opt): disable as much as if baby model + * configure: ask/def parameter after model selected + + * fm.h (use_mark): runtime option use_mark + * main.c (_mark): ditto + * main.c (cmd_mark): ditto + * main.c (nextMk): ditto + * main.c (prevMk): ditto + * main.c (reMk): ditto + * rc.c (CMT_USE_MARK): ditto + * rc.c (params3): ditto + + * fm.h (nextpage_topline): runtime option nextpage_topline + * etc.c (lineSkip): ditto + * main.c (nscroll): ditto + * rc.c (CMT_NEXTPAGE_TOPLINE): ditto + * rc.c (params3): ditto + + * fm.h (label_topline): runtime option label_topline + * file.c (loadGeneralFile): ditto + * main.c (loadLink): ditto + * rc.c (CMT_LABEL_TOPLINE): ditto + * rc.c (params3): ditto + + * fm.h (vi_prec_num): runtime option vi_prec_num + * main.c (pgFore): ditto + * main.c (pgBack): ditto + * rc.c (CMT_VI_PREC_NUM): ditto + * rc.c (params3): ditto + + * fm.h (emacs_like_lineedit): runtime option emacs_like_lineedit + * linein.c (inputLineHist): ditto + * linein.c (_esc): ditto + * linein.c (next_dcompl): ditto + * rc.c (CMT_EMACS_LIKE_LINEEDIT): ditto + * rc.c (params3): ditto + + * fm.h (ftppass_hostnamegen): runtime option ftppass_hostnamegen + * ftp.c (FtpLogin): ditto + * rc.c (CMT_FTPPASS_HOSTNAMEGEN): ditto + * rc.c (params9): ditto + +2001-11-24 Akihiro Sagawa <sagawa@sohgoh.net> + + * [w3m-dev 02528] RFC2732 URL Patch + * main.c (chkURL): check RFC2732 style URLs + * url.c (parseURL): remove RFC2732 address check here, + move to openSocket() + * url.c (openSocket): check RFC2732 style hostname + * url.c (openSocket): check IPv4 address strictly + +2001-11-24 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02526] + * .cvsignore: add inflate mktable w3m w3mbookmark w3mhelperpanel + _zdmachdep.c + * configure: + pref_lang -> lang={JA|EN} + dcode -> display_code + scode -> system_code + remove save_params() + add def_param(), ask_choice() ask_param() + all confiration parameters can be read from config.param + s/DICT/USE_DICT/ + s/BUFINFO/USE_BUFINFO/ + * fm.h: s/DICT/USE_DICT/ + * proto.h: ditto + * doc/README.dict: ditto + * doc-jp/README.dict: ditto + * display.c: s/BUFINFO/USE_BUFINFO/ + * main.c: s/DICT/USE_DICT/ s/BUFINFO/USE_BUFINFO/ + +2001-11-24 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02523] + * table.c (feed_table_tag): + fix problem of anchor tag with name attribute only + +2001-11-23 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02511] + * terms.c (isWinConsole): added + +2001-11-22 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02509] ([w3m-dev 02499] [w3m-dev 02508]) + * terms.c (setlinescols): initialize LASTLINE + * terms.c: add LASTLINE + * fm.h: extern int LASTLINE + * linein.c: remove defined(__CYGWIN__) && defined(JP_CHARSET) + * main.c: remove MOUSE_* definition + * terms.h: move MOUSE_* definition from main.c + * terms.c: add tty + * terms.c (check_win32_console): added + * terms.c (init_win32_console_handle): ditto + * terms.c (read_win32_console_input): ditto + * terms.c (read_win32_console): ditto + * terms.c (set_tty) add call init_win32_console + * terms.c (getch) use read_win32_console + * terms.c (mouse_init): check hConIn + * terms.c (mouse_end): ditto + +2001-11-22 aito@fw.ipsj.or.jp + + * [w3m-dev 02503] + * indep.c (getescapechar): allow incomplete entity references in URL + closes: Debian Bug#120540 + +2001-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02506] + * anchor.c (putHmarker): remove #ifdef __CYGWIN__ for bzero() + * matrix.h (m_copy): ditto + * table.c (pushTable): ditto + +2001-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02505] + * configure (alarm): check alarm if USE_ALARM + +2001-11-22 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02501] + * .cvsignore: add funcname.c funcname1.h funcname2.h tagtable.c + * scripts/.cvsignore: added, dirlist.cgi + * scripts/multipart/.cvsignore: added, multipart.cgi + * scripts/w3mman/.cvsignore: added, w3mman w3mman2html.cgi + * doc-jp/README.kokb: deleted + * gc/makefile.depend: deleted + +2001-11-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * table.c (feed_table): fix the following table + <table border=1><tr><td>< <</table> + +2001-11-22 WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp> + + * [w3m-dev 02497] + * url.c (parseURL2): fix #ifdef __EMX__ code + * indep.c (cleanupName): remove #if 0 /* SUPPORT_NETBIOS_SHARE */ code + +2001-11-22 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02494] + * configure (MIME_TYPES): check if mimetypes is empty + * configure (label_topline): add missing = + * configure (nextpage_topline): ditto + +2001-11-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02493] + * scripts/multipart/Makefile: s/DISTDIR/DESTDIR/ + +2001-11-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02481] + * s/BG_COLOR/USE_BG_COLOR/ + * s/ANSI_COLOR/USE_ANSI_COLOR/ + * s/COLOR/USE_COLOR/ + * s/MENU/USE_MENU/ + * s/MOUSE/USE_MOUSE/ + + * [w3m-dev 02480] new configure + * config.h.dist: updated + * configure: $def_emacs_like_lineedit, $def_vi_prec_num + $def_label_topline, $def_nextpage_topline + $def_use_mark, $def_use_gopher, $def_use_alarm + * configure: add --{ssl,gc}-{include,lib}dir, --mimetypes + * configure: BoehmGC Debian hack + * XMakefile: add $(OPTS) + * terms.c: use HAVE_SYS_SELECT_H + * configure: add sys/select.h detection + * configure: no_float_h -> float_h + * configure: add chdir() detection + * local.c (localcgi_post): use HAVE_CHDIR instead of __EMX__ + * local.c (localcgi_get): ditto + * main.c: <time.h> no need for #ifdef __EMX__ + other files already do #include <time.h> + + [w3m-dev 02479] + * rc.c (init_rc): remove #ifdef __EMX__ for tmpdir + * config.h.dit: updated + * url.c (openURL): use CGI_EXTENSION + add extlen + * rc.c (helpFile): remove #ifdef __EMX__ + use w3m_help_dir() + * w3mbookmark.c (lib_dir): removed + * w3mbookmark.c (print_bookmark_panel): use w3m_lib_dir() + * rc.c (libFile): remove #ifdef __EMX__ + use w3m_lib_dir() + * local.c (get_os2_dft): removed + * local.c (check_local_cgi): use w3m_lib_dir() instead of lib_dir + * local.c (cgi_filename): ditto + * indep.c (w3m_dir): added + * indep.c (w3m_lib_dir w3m_help_dir): ditto + * indep.h (w3m_lib_dir w3m_help_dir): ditto + * terms.c (set_tty): remove #ifdef __EMX__ + use DEV_TTY_PATH + * local.c (localcgi_get): use DEV_NULL_PATH + * w3mhelperpanel.c (printMailcapPanal): remove #ifdef __EMX__ + use W3mHELPERPANEL_CMDNAME + * rc.c (optionpanel_src1): ditto + * w3mbookmark.c (bkmark_src1): remove #ifdef __EMX__ + use W3MBOOKMARK_CMDNAME + * main.c (adBmark): ditto + use w3m_lib_dir() + * terms.c (getTCstr): remove #ifdef __DJGPP__ + use DEFAULT_TERM + check ent is NULL + * main.c (fusage): remove #ifdef SHOW_PARAMS + * main.c (MAIN): ditto + * rc.c (show_params): ditto + * fm.h (view_unseenobject): remove #ifdef VIEW_UNSEENOBJECTS + * url.c (check_no_proxy): remove #ifdef NOPROXY_NETADDR + * configure (show_params): removed + * configure (config.h): + - fix comment for USE_MARK + - add MENU_THIN_FRAME + - move $def_nntp (USE_NNTP), $def_ansi_color (ANSI_COLOR) + - remove VIEW_UNSEENOBJECTS + - remove $def_show_params (SHOW_PARAMS) + - define DEFAULT_TERM + - define W3MBOOKMARK_CMDNAME + - define W3MHELPERPANEL_CMDNAME + - define DEV_NULL_PATH + - define DEV_TTY_PATH + - define CGI_EXTENSION + + [w3m-dev 02478] + * Makefile: make -> $(MAKE) + +2001-11-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02473] + * scripts/Makefile: chmod +x + * scripts/Makefile: add clean target + * scripts/multipart/Makefile: ditto + * scripts/w3mman/Makefile: ditto + * XMakefile: clean scripts + * scripts/dirlist.cgi: removed from CVS + * Makefile (install-scripts): added + * XMakefile: (install-scripts): depends all-scripts + +2001-11-21 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02470] + * XMakefile: all of scripts are generated by this instead of configure + * configure: add PERL, remove scripts/dirlist.cgi generation + * config.h.dist: add PERL + * scripts/Makefile: added + * scripts/multipart/Makefile scripts/w3mman/Makefile: + new scripts generation and installation + * scripts/multipart/README scripts/w3mman/README: update + +2001-11-21 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02472] cleanup CYGWIN macro + * display.c (displayBuffer): use __CYGWIN__ macro + * fm.h: ditto + * terms.c (refresh): add condition for isWinConsole which + defined only japanese cygwin environment + +2001-11-21 Akinori Ito <aito@fw.ipsj.or.jp> + + * [w3m-dev 02466] + Homepage URLs and author's mail addresses in the documents + are changed. + +2001-11-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02459] + * XMakefile: update scripts/dirlist.cgi generation + * scripts/multipart/multipart.cgi: removed + * scripts/w3mman/w3mman scripts/w3mman/w3mman2html.cgi: removed + + * [w3m-dev 02462] + * scripts/dirlist.in scripts/dirlist.cgi: removed + * scripts/dirlist.cgi.in: added + +2001-11-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * add rcsids + +2001-11-21 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02454] + * buffer.c (newBuffer): set COLS + * display.c (displayBuffer redrawLine redrawLineRegion + cursorRight arrangeCursor cursorXY): + new showLineNumber implementation + * main.c (ctrCsrH shiftvisualpos shiftl shiftr _movL _movR + _followForm follow_map process_mouse): + use buf->COLS, buf->rootX + * menu.c (popupMenu mainMn initSelectMenu): + use buf->rootX + * etc.c (columnSkip): use buf->COLS + * file.c (HTMLlineproc2body loadBuffer saveBufferDelNum getNextPage) + remove old showLineNumber codes + * fm.h (Buffer): add rootX, COLS + +2001-11-21 Fumitoshi UKAI <ukai@debian.or.jp> + + * XMakefile (clean): rm tagtable.c + * .cvsignore: XXMakefile config.h config.param + +2001-11-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02455] + * XMakefile.dist deflate.c: removed, not used + * tagtable.c: removed, autogenerated files + * XMakefile (mktable w3mbookmark w3mhelperpanel): use LIBS2 + * configure: add $bsdlib + +2001-11-20 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * frame.c (newFrameSet): fix possible buffer overrun + +2001-11-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * XXMakefile config.h: removed from CVS + these are autogenerated files. + config.h is moved to config.h.dist as sample config file. + +2001-11-20 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02449] + * file.c (HTMLtagproc1): reimplement meta refresh with + setAlarmEvent() + * fm.h: put back alarm related variables to main.c + add alarm related status flags + * main.c: put back alarm related variables from fm.h + alarm_once was renamed alarm_status + add alarm_buffer and setAlarmEvent() + * main.c (MAIN): cancel the alarm event if the buffer was + changed + * main.c (SigAlarm): ditto + * main.c (setAlarm): use setAlarmEvent() + * proto.h: add setAlarmEvent() + +2001-11-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * w3mhelperpanel.c (extractMailcapEntry): remove unused variables + * istream.c (StrISgets): add parentheses around assignment used + as truth value + + * XMakefile (clean): remove funcname.c funcname1.h funcname2.h + these are autogenerated files. + * funcname.c funcname1.h funcname2.h: removed from CVS + + * main.c (MAIN): add braces to avoid ambiguous `else' + * main.c (set_buffer_environ): remove unused variables + * linein.c (_rcompl): not EMACS_LIKE_LINEEDIT only + * local.c (localcgi_get): remove unused variables + * mailcap.c (unquote_mailcap_loop): remove unused variables + * url.c (init_PRNG) add parentheses around assignment used as true value + * url.c (parseURL): remove unsed label + * url.c (parseURL2): remove unused variables + * ftp.c (ftp_escape_str ftp_restore_str): remove not used functions + * indep.c (getescapechar): remove unused variable + + * proto.h: add missing prototypes + +2001-11-20 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02447] + * terms.c (skip_escseq): is_xterm && ESC [ M <ch> <ch> <ch> + +2001-11-20 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02448] + * terms.c (mouse_init): Gpm_Close() is required. + closes: Debian Bug#120221: w3m-ssl: trashes terminal on exit + +2001-11-20 Kiyokazu SUTO <suto@ks-and-ks.ne.jp> + + * [w3m-dev 02444] + * XMakefile (funcname1.h funcname2.h): sort as well as funcname.c + +2001-11-19 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02439] + * terms.c (xterm_mouse_term set_tty): add cygwin as xterm-style + mouse terminal + +2001-11-19 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 02436] + * main.c (GetWord): closes: #482763 segmentation fault in main.c + +2001-11-19 Fumitoshi UKAI <ukai@debian.or.jp> + + * gc/.cvsignore: + remove gctest, if_mach, if_not_there, threadlibs + closes: #482765 i386 binaries in gc directory + +2001-11-17 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02432] + * configure: follow autoconf conventions + STRCASECMP -> HAVE_STRCASECMP + STRCHR -> HAVE_STRCHR + STRERROR -> HAVE_STRERROR + SYS_ERRLIST -> HAVE_SYS_ERRLIST + NOBCOPY -> HAVE_BCOPY + GETCWD -> HAVE_GETCWD + GETWD -> HAVE_GETWD + READLINK -> HAVE_READLINK (HAVE_LSTAT?) + TERMIO -> HAVE_TERMIO_H + TERMIOS -> HAVE_TERMIOS_H + SGTTY -> HAVE_SGTTY_H + DIRENT -> HAVE_DIRENT_H + NO_FLOAT_H -> HAVE_FLOAT_H + * etc.c fm.h config.h: HAVE_STRCASECMP + * etc.c config.h file.c: HAVE_STRCHR + strchr() moved from file.c to etc.c + * etc.c config.h: HAVE_STRERROR + * etc.c config.h main.c (MAIN): HAVE_SYS_ERRLIST + * etc.c fm.h: HAVE_BCOPY + * etc.c indep.c (currentdir) config.h: HAVE_GETCWD + * indep.c (currentdir) config.h: HAVE_GETWD + * form.c (form_write_from_file) local.c (dirBuffer) + config.h: HAVE_READLINK + * config.h terms.c: HAVE_TERMIO_H, HAVE_TERMIOS_H, HAVE_SGTTY_H + * config.h local.h: HAVE_DIRENT_H + * config.h matric.c: HAVE_FLOAT_H + + * anchor.c cookie.c file.c parsetagx.c regex.c table.c url.c: + remove include <strings.h> ifdef __EMX__ + it will be included in fm.h + * frame.c: remove include <strings.h> for bzero() and bcopy() + these are declared in fm.h + * indep.c: remove include <strings.h> for bcopy() + this is declared in fm.h + * istream.c mailcap.c: remove include <strings.h> for bzero() + this is declared in fm.h + * parsetag.c: remove include <strings.h> for bzero() + no bzero() used in this file + + * [w3m-dev 02431] + * terms.c (set_tty): "rxvt" is xterm + (getTCstr): tgetstr("Km", &pt) is not xterm, removed + (mouse_init): check Gpm_Open() == -2 to detect xterm when USE_GPM + +2001-11-16 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02418] + * main.c (chkURL): add mailto: like pattern to mark as anchor + * search.c (forwardSearch): check whether currentLine is NULL + * search.c (backwardSearch): ditto + +2001-11-16 Dai Sato <satodai@dog.intcul.tohoku.ac.jp> + + * [w3m-dev-en 00641] Re: w3m-0.2.1-inu-1.6 + * configure: add some dirs for zlib and mime.types + +2001-11-16 Fumitoshi UKAI <ukai@debian.or.jp> + + * [w3m-dev 02417] + * terms.c (mouse_init): fix mouse handling on TERM=linux + if Gpm_Open() successed, set is_xterm = 0 so that + w3m uses gpm functions. + +2001-11-16 Tsutomu Okada <okada@furuno.co.jp> + + * [w3m-dev 02408] meta refresh + * file.c (HTMLtagproc1): + use MetaRefresh + add case refresh > 0 + * fm.h: + add MetaRefresh + move alarm related definition from main.c + * main.c: + move alarm releated definition to fm.h + (SigAlarm): alarm_once + * rc.c: + add CMT_META_REFRESH + + * [w3m-dev 02415] + * file.c (loadHTMLBuffer): + pushText() to clean up temporary files + + * [w3m-dev 02414] + * file.c (loadHTMLstream): + SETJMP and signal after buffer is initialized + + * [w3m-dev 02413] + * main.c (reMark): + don't save invalid regexp to MarkString + +2001-11-15 aito@eie.yz.yamagata-u.ac.jp + + * release-0-2-2 + * Update to w3m-0.2.1-inu-1.6 + +2001-11-09 aito@eie.yz.yamagata-u.ac.jp + + * release-0-2-1-inu-1-5 + * Updates from 0.2.1 into 0.2.1-inu-1.5 + +2001-11-08 aito@eie.yz.yamagata-u.ac.jp + + * release-0-2-1 + * import w3m-0.2.1 + +$Id: ChangeLog,v 1.998 2007/05/31 12:17:05 inu Exp $ diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..ab81d30 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,319 @@ +# +# Makefile +# @configure_input@ +# +@SET_MAKE@ +SHELL=@SHELL@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +DOMAIN = $(PACKAGE) +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +bindir = @bindir@ +datadir = @datadir@ +localedir = $(datadir)/locale +libdir = @libdir@ +includedir = @includedir@ +infodir = @infodir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +top_srcdir = @top_srcdir@ +top_builddir = . +VPATH = $(top_srcdir):. +DESTDIR = + +CGIBIN_DIR = $(libexecdir)/$(PACKAGE)/cgi-bin +AUXBIN_DIR = $(libexecdir)/$(PACKAGE) +HELP_DIR = @HELP_DIR@ +RC_DIR = @RC_DIR@ +ETC_DIR = $(sysconfdir) +CONF_DIR = $(sysconfdir)/$(PACKAGE) + +CFLAGS = $(OPTS) -I. -I$(top_srcdir) @CFLAGS@ $(CPPFLAGS) $(DEFS) +WCCFLAGS = @WCCFLAGS@ +CPPFLAGS = @CPPFLAGS@ +DEFS = @DEFS@ -DAUXBIN_DIR=\"$(AUXBIN_DIR)\" \ + -DCGIBIN_DIR=\"$(CGIBIN_DIR)\" -DHELP_DIR=\"$(HELP_DIR)\" \ + -DETC_DIR=\"$(ETC_DIR)\" -DCONF_DIR=\"$(CONF_DIR)\" \ + -DRC_DIR=\"$(RC_DIR)\" \ + -DLOCALEDIR=\"$(localedir)\" +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +EXT_LIBS = -L. -lindep @LIBINTL@ @LIBGC@ +W3M_LIBS = @W3M_LIBS@ +WCTARGET = @WCTARGET@ +NLSTARGET = @NLSTARGET@ + +MAKE_ARGS = PERL='$(PERL)' MKDIR='$(MKDIR)' \ + BIN_DIR='$(bindir)' AUXBIN_DIR='$(AUXBIN_DIR)' \ + CGIBIN_DIR='$(CGIBIN_DIR)' \ + HELP_DIR='$(HELP_DIR)' MAN_DIR='$(mandir)' ETC_DIR='$(ETC_DIR)' \ + CONF_DIR='$(CONF_DIR)' \ + RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)' + +IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ +IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ + +CC0 = @CC@ +CC = @POSUBST@ $(CC0) +CPP = @CPP@ +RANLIB=@RANLIB@ +AWK = @AWK@ +PERL = @PERL@ +MKDIR=mkdir -p +MV=mv +RM=rm +AR=ar +INSTALL=@INSTALL@ +INSTALL_PROGRAM=@INSTALL_PROGRAM@ +INSTALL_SCRIPT=@INSTALL_SCRIPT@ +INSTALL_DATA=@INSTALL_DATA@ +INSTALL_W3MIMGDISPLAY=@INSTALL_W3MIMGDISPLAY@ + +HELP_FILE = @HELP_FILE@ +KEYBIND_SRC = @KEYMAP_FILE@.c +KEYBIND_OBJ = @KEYMAP_FILE@.o + +VERSION=@CURRENT_VERSION@ +MODEL=@W3M_TARGET@-@W3M_LANG@ + +SRCS=main.c file.c buffer.c display.c etc.c search.c linein.c table.c local.c \ + form.c map.c frame.c rc.c menu.c mailcap.c image.c \ + symbol.c entity.c terms.c url.c ftp.c mimehead.c regex.c news.c \ + func.c cookie.c history.c backend.c $(KEYBIND_SRC) +OBJS=main.o file.o buffer.o display.o etc.o search.o linein.o table.o local.o\ + form.o map.o frame.o rc.o menu.o mailcap.o image.o \ + symbol.o entity.o terms.o url.o ftp.o mimehead.o regex.o news.o \ + func.o cookie.o history.o backend.o $(KEYBIND_OBJ) +LSRCS=anchor.c parsetagx.c tagtable.c istream.c +LOBJS=anchor.o parsetagx.o tagtable.o istream.o +LLOBJS=version.o +ALIBOBJS=Str.o indep.o regex.o textlist.o parsetag.o myctype.o hash.o +ALIB=libindep.a +ALLOBJS=$(OBJS) $(LOBJS) $(LLOBJS) + +EXT=@EXEEXT@ + +TARGET=$(PACKAGE)$(EXT) +BOOKMARKER=w3mbookmark$(EXT) +HELPER=w3mhelperpanel$(EXT) +INFLATE=inflate$(EXT) +IMGDISPLAY=w3mimgdisplay$(EXT) +MAN1_TARGET=$(PACKAGE).1 +MAN1=$(top_srcdir)/doc/w3m.1 +MAN1_JA=$(top_srcdir)/doc-jp/w3m.1 + +LIB_TARGETS=$(BOOKMARKER) $(HELPER) +AUXBIN_TARGETS=@AUXBIN_TARGETS@ +TARGETS=$(TARGET) $(LIB_TARGETS) $(AUXBIN_TARGETS) +HELP_TARGET=w3mhelp.html +HELP_ALLFILES=w3mhelp-w3m_en.html w3mhelp-w3m_ja.html \ + w3mhelp-lynx_en.html w3mhelp-lynx_ja.html + +DEFUNS=$(top_srcdir)/main.c $(top_srcdir)/menu.c +SCRIPTSUBDIRS= scripts +SUBDIRS = $(SCRIPTSUBDIRS) w3mimg libwc po +.PHONY: $(SUBDIRS) + +all: $(TARGETS) all-scripts $(NLSTARGET) + +$(TARGET): $(ALLOBJS) $(ALIB) $(WCTARGET) + $(CC) $(CFLAGS) -o $(TARGET) $(ALLOBJS) $(LDFLAGS) $(LIBS) $(EXT_LIBS) $(W3M_LIBS) + +$(ALIB): $(ALIBOBJS) + $(AR) rv $(ALIB) $(ALIBOBJS) + $(RANLIB) $(ALIB) + +$(OBJS) $(LOBJS): fm.h funcname1.h + +tagtable.c: tagtable.tab mktable$(EXT) html.h + ./mktable$(EXT) 100 $(srcdir)/tagtable.tab > $@ + +indep.o: indep.c fm.h funcname1.h +func.o: funcname.c functable.c funcname1.h +keybind.o: funcname2.h +keybind_lynx.o: funcname2.h +parsetagx.o: html.c + +funcname.tab: $(DEFUNS) + (echo '#define DEFUN(x,y,z) x y';\ + sed -ne '/^DEFUN/{p;n;/^[ ]/p;}' $(DEFUNS)) | $(CPP) - | \ + awk '$$1 ~ /^[_A-Za-z]/ { \ + for (i=2;i<=NF;i++) { print $$i, $$1} \ + }' > $@.tmp + @if cmp -s $@.tmp $@; then \ + echo "$@ unchanged"; \ + rm -f $@.tmp; \ + else \ + echo "$@ updated"; \ + mv $@.tmp $@; \ + fi + +funcname.c: funcname.tab + sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname0.awk > $@ + +funcname1.h: funcname.tab + sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname1.awk > $@ + +funcname2.h: funcname.tab + sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname2.awk > $@ + +functable.c: funcname.tab mktable$(EXT) + sort funcname.tab | $(AWK) -f $(top_srcdir)/functable.awk > functable.tab + ./mktable$(EXT) 100 functable.tab > $@ + -rm -f functable.tab + +mktable$(EXT): mktable.o dummy.o $(ALIB) + $(CC) $(CFLAGS) -o mktable mktable.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS) + +$(BOOKMARKER): w3mbookmark.o dummy.o $(ALIB) + $(CC) $(CFLAGS) -o $(BOOKMARKER) w3mbookmark.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS) + +$(HELPER): w3mhelperpanel.o dummy.o $(ALIB) + $(CC) $(CFLAGS) -o $(HELPER) w3mhelperpanel.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS) + +$(INFLATE): inflate.o $(ALIB) + $(CC) $(CFLAGS) -o $(INFLATE) inflate.o $(LDFLAGS) $(LIBS) -lz + +inflate.o: inflate.c + $(CC) $(CFLAGS) -o $@ -c $(srcdir)/inflate.c + +libwc/libwc.a: libwc +libwc: + (cd libwc && $(MAKE) CC='$(CC0)' OPTS='$(OPTS)') + +dummy.o: entity.c + $(CC) $(CFLAGS) -DDUMMY -c -o $@ $? + +$(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a + $(CC) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS) + +w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h + $(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c + +w3mimg/w3mimg.a: w3mimg +w3mimg: + (cd w3mimg && $(MAKE) CC="$(CC0)" OPTS="$(OPTS)") + +po: + (cd $@ && $(MAKE)) + +install: install-core install-scripts install-po + +install-core: $(TARGETS) + -$(MKDIR) $(DESTDIR)$(bindir) + -$(MKDIR) $(DESTDIR)$(AUXBIN_DIR) + -$(MKDIR) $(DESTDIR)$(CGIBIN_DIR) + -$(MKDIR) $(DESTDIR)$(HELP_DIR) + -$(MKDIR) $(DESTDIR)$(mandir)/man1 + -$(MKDIR) $(DESTDIR)$(mandir)/ja/man1 + $(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(bindir)/$(TARGET) + $(INSTALL_DATA) $(HELP_FILE) $(DESTDIR)$(HELP_DIR)/$(HELP_TARGET) + $(INSTALL_DATA) $(MAN1) $(DESTDIR)$(mandir)/man1/$(MAN1_TARGET) + $(INSTALL_DATA) $(MAN1_JA) $(DESTDIR)$(mandir)/ja/man1/$(MAN1_TARGET) + targets="$(AUXBIN_TARGETS)"; for file in $$targets; \ + do \ + case $$file in \ + $(IMGDISPLAY)) $(INSTALL_W3MIMGDISPLAY) $$file \ + $(DESTDIR)$(AUXBIN_DIR)/$$file;; \ + *) $(INSTALL_PROGRAM) $$file $(DESTDIR)$(AUXBIN_DIR)/$$file;; \ + esac; \ + done + for file in $(LIB_TARGETS); \ + do \ + $(INSTALL_PROGRAM) $$file $(DESTDIR)$(CGIBIN_DIR)/$$file; \ + done + +install-helpfile: + -$(MKDIR) $(DESTDIR)$(HELP_DIR) + for file in $(HELP_ALLFILES); \ + do \ + $(INSTALL_DATA) $$file $(DESTDIR)$(HELP_DIR)/$$file; \ + done + +install-po: + NLSTARGET="$(NLSTARGET)"; for subdir in $$NLSTARGET; \ + do \ + (cd $$subdir && $(MAKE) install); \ + done + +all-scripts: + for dir in $(SCRIPTSUBDIRS); \ + do \ + (cd $$dir && $(MAKE) $(MAKE_ARGS)); \ + done + +install-scripts: all-scripts + topdir=`pwd`; \ + for dir in $(SCRIPTSUBDIRS); \ + do \ + (cd $$dir && $(MAKE) $(MAKE_ARGS) install); \ + done + +uninstall: + -$(RM) $(bindir)/$(TARGET) + -for file in $(AUXBIN_TARGETS); \ + do \ + $(RM) -f $(AUXBIN_DIR)/$$file; \ + done + -for file in $(LIB_TARGETS); \ + do \ + $(RM) -f $(CGIBIN_DIR)/$$file; \ + done + -for file in $(HELP_ALLFILES); \ + do \ + $(RM) -f $(HELP_DIR)/$$file; \ + done + -$(RM) -f $(HELP_DIR)/$(HELP_TARGET) + -$(RM) -f $(mandir)/man1/$(MAN1_TARGET) + -$(RM) -f $(mandir)/ja/man1/$(MAN1_TARGET) + -for dir in $(SCRIPTSUBDIRS); \ + do \ + (cd $$dir && $(MAKE) $(MAKE_ARGS) uninstall); \ + done + +clean: sweep + -$(RM) -f *.o *.a $(TARGETS) mktable$(EXT) + -$(RM) -f funcname.tab + -$(RM) -f funcname.c funcname1.h funcname2.h tagtable.c functable.c + -for dir in w3mimg libwc; \ + do \ + (cd $$dir && $(MAKE) clean RM="$(RM)"); \ + done + -for dir in $(SCRIPTSUBDIRS); \ + do \ + (cd $$dir && $(MAKE) clean); \ + done + +distclean: clean + for subdir in po scripts w3mimg libwc; \ + do \ + (cd $$subdir && $(MAKE) distclean); \ + done + -$(RM) -f config.cache config.log config.status + -$(RM) -f w3mhelp-w3m_en.html w3mhelp-w3m_ja.html + -$(RM) -f w3mhelp-lynx_en.html w3mhelp-lynx_ja.html + -$(RM) -f version.c + -$(RM) -f posubst + -$(RM) -f config.h Makefile + -$(RM) -f *core + +sweep: + -$(RM) -f core *~ *.bak *.orig *.rej + +depend: + makedepend $(CFLAGS) *.c + +dist: + cd ..; tar cvfz w3m-$(VERSION).tar.gz w3m + +bindist: + cd ..; tar cvfz w3m-$(VERSION)-$(MODEL).tar.gz w3m/w3m* w3m/doc* w3m/Bonus* w3m/README w3m/scripts + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..54731c6 --- /dev/null +++ b/NEWS @@ -0,0 +1,198 @@ +w3m 0.5.2 - 2007-05-31 + +* security fix + - fix format string vulnerability. +* new features + - support gtk2 with w3m-img. + - new option for LiveHTTPHeaders-like logs. + - new option to fontify <del>, <s>, <ins>, and so on. +* other bug fixes + - avoid errors in "configure" and "make". + - '\n' handling in attributes' values of HTML tags. + +w3m 0.5.1 - 2004-04-29 + +* fix minor bugs + - build problem on some platform/some configuration + - authentication bug + - ipv6 FQDN resolv + - SSL verify + - search problem on different charset page/display + - cleanup LANG==JA + - DisplayCharset default + - w3mhelp.cgi charset + +w3m 0.5 - 2004-03-22 + +* gettextize +* m17n patch merged + +w3m 0.4.2 - 2003-09-23 + +* options: -4, -6 +* configuration file in $(sysconfdir)/$(package)/ +* func: NEXT_VISITED, PREV_VISITED +* autoconfiscate (partially) +* rc: use_history + +w3m 0.4.1 - 2003-03-07 + +* fix bugs + - completion segfault in lineinput + - incremental search + - URL pattern fix + - UFhalfclose bug + - allow pipe in shell command + - enhance ftp directory support + - linenumber in edit + - fix Bug#181897 + - W3M_TTY problem fixed + +w3m 0.4 - 2003-02-24 + +* rc: decode_url +* func: RESHAPE +* rc: fold_line +* local cookie: passed via file named $LOCAL_COOKIE or posted not in url query +* func: SEARCH can take arg +* URL data: support +* URL news:, nntp: newsgroup support +* rc: nntpserver, nntpmode, max_news +* rc: graphic_char +* rc: use_proxy +* rc: preserve_timestamp +* func: REDO, UNDO +* func: LIST, LIST_MENU, MOVE_LIST_MENU +* func: ACCESSKEY, LINK_MENU +* rc: display_ins_del +* 2 stroke keybinding +* func: MULTIMAP +* func: CLOSE_TAB_MOUSE, MENU_MOUSE, MOVE_MOUSE, TAB_MOUSE +* options: -N +* func: NEXT, PREV +* rc: image_map_list +* rc: open_tab_dl_list +* func: DOWNLOAD_LIST +* env: https_proxy +* rc: https_proxy +* options: -show-option +* rc: relative_wheel_scroll +* rc: relative_wheel_scroll_ratio +* rc: fixed_wheel_scroll_count +* separate auxbindir and libdir (local-CGI, file:///$LIB/) +* configure: -auxbindir +* rc: disable_secret_security_check (for windows?) +* tab browsing +* rc: open_tab_blank, close_tab_back +* func: CLOSE_TAB, NEW_TAB, NEXT_TAB, PREV_TAB, +* func: TAB_GOTO, TAB_GOTO_RELATIVE +* func: TAB_LEFT, TAB_LINK, TAB_MENU, TAB_RIGHT +* pre_form: ~/.w3m/pre_form +* rc: pre_form_file: pre_form configuration file + +---------------------------------------------------------------- + +w3m 0.3.2.2 - 2002-12-06 + +* security fix: html_quote for img alt attributes + +---------------------------------------------------------------- + +w3m 0.3.2.1 - 2002-11-27 + +* security fix: html_quote for frame contents +* backport from w3m 0.3.2+cvs + - fix segmentation fault by large complex table. + [w3m-dev 03371][w3m-dev 03438] + +---------------------------------------------------------------- +w3m 0.3.2 - 2002-11-05 + +* ~/.netrc: password for ftp +* rc: display_lineinfo: display current line number +* rc: passwd_file: passwd file for HTTP auth +* func: MARK_WORD +* rc: imgsize: obsoleted +* w3m-img for framebuffer merged + +---------------------------------------------------------------- +w3m 0.3.1 - 2002-07-16 + +* func: REINIT + INIT_MAILCAP deleted, use REINIT MAILCAP instead +* func: DEFINE_KEY +* rc: keymap_file +* rc: use_dictcommand, dictcommand +* rc: mark_all_pages +* configure: -mandir +* func: COMMAND +* -title option: set buffer name to terminal title +* X-Face support: USE_XFACE, require uncompface + +---------------------------------------------------------------- +w3m 0.3 - 2002-03-06 + +* rc: mailer + if mailer is set, it will be used for simple mailto: URLs + otherwise, w3mmail.cgi will be used (when USE_W3MMAILER defined) +* rc: max_load_image +* rc: display_image, auto_image, image_scale, imgdisplay, imgsize +* func: DISPLAY_IMAGE, STOP_IMAGE +* w3m-img merged: w3m now can display images! see doc/README.img + +---------------------------------------------------------------- +w3m 0.2.5.1 - 2002-02-05 + +* backport from w3m/0.2.5+cvs-1.299 + - fix inputAnswer() and no "ssl_forbid_method" [w3m-dev 02985] + - fix SunOS 4.1.4 build problem [w3m-dev 02972] + - fix problem with Netscape-Enterprise WWW-authenticate [w3m-dev 02968] + +---------------------------------------------------------------- +w3m 0.2.5 - 2002-01-31 + +* RFC2617: HTTP Digest authentication +* rc: default_url=0(empty) 1(current URL) 2(link URL) +* GOTO_RELATIVE (M-u) +* highlight for incremental search +* support migemo (romaji search) +* use w3mmail.cgi for mailto: URL +* support external URI loader +* support -dump_extra ftp:// +* new regex implementation + +---------------------------------------------------------------- +w3m 0.2.4 - 2002-01-07 + +* RFC2818 server identity check +* incremental search (C-s, C-r) + +---------------------------------------------------------------- +w3m 0.2.3.2 - 2001-12-22 + +* fix security hole in w3m/scripts + +---------------------------------------------------------------- +w3m 0.2.3.1 - 2001-12-20 + +* sync with cvs repository +* fix bug in configure + +---------------------------------------------------------------- +w3m 0.2.3 - 2001-12-20 + +* command line option: -help, -version +* new libgc included +* new runtime option use_mark, nextpage_topline, label_topline, vi_prec_num + emacs_like_lineedit, ftppass_hostnamegen +* RFC2732 support (IPv6) +* new w3mhelp system +* several configure changes +* code cleanups, now gcc -Wall -Werror safe + +---------------------------------------------------------------- +w3m 0.2.2 - 2001-11-15 + +* sync with w3m 0.2.1-inu-1.5 +* w3m maintained in sourceforge.net/projects/w3m + diff --git a/README b/README new file mode 100644 index 0000000..8778d80 --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +If you can read English, see doc/*. +If you can read Japanese, see doc-jp/*. +If you can read both, read both and correct English. :-) diff --git a/Str.c b/Str.c new file mode 100644 index 0000000..e5a0982 --- /dev/null +++ b/Str.c @@ -0,0 +1,557 @@ +/* $Id: Str.c,v 1.8 2002/12/24 17:20:46 ukai Exp $ */ +/* + * String manipulation library for Boehm GC + * + * (C) Copyright 1998-1999 by Akinori Ito + * + * This software may be redistributed freely for this purpose, in full + * or in part, provided that this entire copyright notice is included + * on any copies of this software and applications and derivations thereof. + * + * This software is provided on an "as is" basis, without warranty of any + * kind, either expressed or implied, as to any matter including, but not + * limited to warranty of fitness of purpose, or merchantability, or + * results obtained from use of this software. + */ +#include <stdio.h> +#include <stdlib.h> +#include <gc.h> +#include <stdarg.h> +#include <string.h> +#ifdef __EMX__ /* or include "fm.h" for HAVE_BCOPY? */ +#include <strings.h> +#endif +#include "Str.h" +#include "myctype.h" + +#define INITIAL_STR_SIZE 32 + +#ifdef STR_DEBUG +/* This is obsolete, because "Str" can handle a '\0' character now. */ +#define STR_LENGTH_CHECK(x) if (((x)->ptr==0&&(x)->length!=0)||(strlen((x)->ptr)!=(x)->length))abort(); +#else /* not STR_DEBUG */ +#define STR_LENGTH_CHECK(x) +#endif /* not STR_DEBUG */ + +Str +Strnew() +{ + Str x = GC_MALLOC(sizeof(struct _Str)); + x->ptr = GC_MALLOC_ATOMIC(INITIAL_STR_SIZE); + x->ptr[0] = '\0'; + x->area_size = INITIAL_STR_SIZE; + x->length = 0; + return x; +} + +Str +Strnew_size(int n) +{ + Str x = GC_MALLOC(sizeof(struct _Str)); + x->ptr = GC_MALLOC_ATOMIC(n + 1); + x->ptr[0] = '\0'; + x->area_size = n + 1; + x->length = 0; + return x; +} + +Str +Strnew_charp(char *p) +{ + Str x; + int n; + + if (p == NULL) + return Strnew(); + x = GC_MALLOC(sizeof(struct _Str)); + n = strlen(p) + 1; + x->ptr = GC_MALLOC_ATOMIC(n); + x->area_size = n; + x->length = n - 1; + bcopy((void *)p, (void *)x->ptr, n); + return x; +} + +Str +Strnew_m_charp(char *p, ...) +{ + va_list ap; + Str r = Strnew(); + + va_start(ap, p); + while (p != NULL) { + Strcat_charp(r, p); + p = va_arg(ap, char *); + } + return r; +} + +Str +Strnew_charp_n(char *p, int n) +{ + Str x; + + if (p == NULL) + return Strnew_size(n); + x = GC_MALLOC(sizeof(struct _Str)); + x->ptr = GC_MALLOC_ATOMIC(n + 1); + x->area_size = n + 1; + x->length = n; + bcopy((void *)p, (void *)x->ptr, n); + x->ptr[n] = '\0'; + return x; +} + +Str +Strdup(Str s) +{ + Str n = Strnew_size(s->length); + STR_LENGTH_CHECK(s); + Strcopy(n, s); + return n; +} + +void +Strclear(Str s) +{ + s->length = 0; + s->ptr[0] = '\0'; +} + +void +Strfree(Str x) +{ + GC_free(x->ptr); + GC_free(x); +} + +void +Strcopy(Str x, Str y) +{ + STR_LENGTH_CHECK(x); + STR_LENGTH_CHECK(y); + if (x->area_size < y->length + 1) { + GC_free(x->ptr); + x->ptr = GC_MALLOC_ATOMIC(y->length + 1); + x->area_size = y->length + 1; + } + bcopy((void *)y->ptr, (void *)x->ptr, y->length + 1); + x->length = y->length; +} + +void +Strcopy_charp(Str x, char *y) +{ + int len; + + STR_LENGTH_CHECK(x); + if (y == NULL) { + x->length = 0; + return; + } + len = strlen(y); + if (x->area_size < len + 1) { + GC_free(x->ptr); + x->ptr = GC_MALLOC_ATOMIC(len + 1); + x->area_size = len + 1; + } + bcopy((void *)y, (void *)x->ptr, len + 1); + x->length = len; +} + +void +Strcopy_charp_n(Str x, char *y, int n) +{ + int len = n; + + STR_LENGTH_CHECK(x); + if (y == NULL) { + x->length = 0; + return; + } + if (x->area_size < len + 1) { + GC_free(x->ptr); + x->ptr = GC_MALLOC_ATOMIC(len + 1); + x->area_size = len + 1; + } + bcopy((void *)y, (void *)x->ptr, n); + x->ptr[n] = '\0'; + x->length = n; +} + +void +Strcat_charp_n(Str x, char *y, int n) +{ + int newlen; + + STR_LENGTH_CHECK(x); + if (y == NULL) + return; + newlen = x->length + n + 1; + if (x->area_size < newlen) { + char *old = x->ptr; + newlen = newlen * 3 / 2; + x->ptr = GC_MALLOC_ATOMIC(newlen); + x->area_size = newlen; + bcopy((void *)old, (void *)x->ptr, x->length); + GC_free(old); + } + bcopy((void *)y, (void *)&x->ptr[x->length], n); + x->length += n; + x->ptr[x->length] = '\0'; +} + +void +Strcat(Str x, Str y) +{ + STR_LENGTH_CHECK(y); + Strcat_charp_n(x, y->ptr, y->length); +} + +void +Strcat_charp(Str x, char *y) +{ + if (y == NULL) + return; + Strcat_charp_n(x, y, strlen(y)); +} + +void +Strcat_m_charp(Str x, ...) +{ + va_list ap; + char *p; + + va_start(ap, x); + while ((p = va_arg(ap, char *)) != NULL) + Strcat_charp_n(x, p, strlen(p)); +} + +void +Strgrow(Str x) +{ + char *old = x->ptr; + int newlen; + newlen = x->length * 6 / 5; + if (newlen == x->length) + newlen += 2; + x->ptr = GC_MALLOC_ATOMIC(newlen); + x->area_size = newlen; + bcopy((void *)old, (void *)x->ptr, x->length); + GC_free(old); +} + +Str +Strsubstr(Str s, int beg, int len) +{ + Str new_s; + int i; + + STR_LENGTH_CHECK(s); + new_s = Strnew(); + if (beg >= s->length) + return new_s; + for (i = 0; i < len && beg + i < s->length; i++) + Strcat_char(new_s, s->ptr[beg + i]); + return new_s; +} + +void +Strlower(Str s) +{ + int i; + STR_LENGTH_CHECK(s); + for (i = 0; i < s->length; i++) + s->ptr[i] = TOLOWER(s->ptr[i]); +} + +void +Strupper(Str s) +{ + int i; + STR_LENGTH_CHECK(s); + for (i = 0; i < s->length; i++) + s->ptr[i] = TOUPPER(s->ptr[i]); +} + +void +Strchop(Str s) +{ + STR_LENGTH_CHECK(s); + while ((s->ptr[s->length - 1] == '\n' || s->ptr[s->length - 1] == '\r') && + s->length > 0) { + s->length--; + } + s->ptr[s->length] = '\0'; +} + +void +Strinsert_char(Str s, int pos, char c) +{ + int i; + STR_LENGTH_CHECK(s); + if (pos < 0 || s->length < pos) + return; + if (s->length + 2 > s->area_size) + Strgrow(s); + for (i = s->length; i > pos; i--) + s->ptr[i] = s->ptr[i - 1]; + s->ptr[++s->length] = '\0'; + s->ptr[pos] = c; +} + +void +Strinsert_charp(Str s, int pos, char *p) +{ + STR_LENGTH_CHECK(s); + while (*p) + Strinsert_char(s, pos++, *(p++)); +} + +void +Strdelete(Str s, int pos, int n) +{ + int i; + STR_LENGTH_CHECK(s); + if (s->length <= pos + n) { + s->ptr[pos] = '\0'; + s->length = pos; + return; + } + for (i = pos; i < s->length - n; i++) + s->ptr[i] = s->ptr[i + n]; + s->ptr[i] = '\0'; + s->length = i; +} + +void +Strtruncate(Str s, int pos) +{ + STR_LENGTH_CHECK(s); + s->ptr[pos] = '\0'; + s->length = pos; +} + +void +Strshrink(Str s, int n) +{ + STR_LENGTH_CHECK(s); + if (n >= s->length) { + s->length = 0; + s->ptr[0] = '\0'; + } + else { + s->length -= n; + s->ptr[s->length] = '\0'; + } +} + +void +Strremovefirstspaces(Str s) +{ + int i; + + STR_LENGTH_CHECK(s); + for (i = 0; i < s->length && IS_SPACE(s->ptr[i]); i++) ; + if (i == 0) + return; + Strdelete(s, 0, i); +} + +void +Strremovetrailingspaces(Str s) +{ + int i; + + STR_LENGTH_CHECK(s); + for (i = s->length - 1; i >= 0 && IS_SPACE(s->ptr[i]); i--) ; + s->length = i + 1; + s->ptr[i + 1] = '\0'; +} + +Str +Stralign_left(Str s, int width) +{ + Str n; + int i; + + STR_LENGTH_CHECK(s); + if (s->length >= width) + return Strdup(s); + n = Strnew_size(width); + Strcopy(n, s); + for (i = s->length; i < width; i++) + Strcat_char(n, ' '); + return n; +} + +Str +Stralign_right(Str s, int width) +{ + Str n; + int i; + + STR_LENGTH_CHECK(s); + if (s->length >= width) + return Strdup(s); + n = Strnew_size(width); + for (i = s->length; i < width; i++) + Strcat_char(n, ' '); + Strcat(n, s); + return n; +} + +Str +Stralign_center(Str s, int width) +{ + Str n; + int i, w; + + STR_LENGTH_CHECK(s); + if (s->length >= width) + return Strdup(s); + n = Strnew_size(width); + w = (width - s->length) / 2; + for (i = 0; i < w; i++) + Strcat_char(n, ' '); + Strcat(n, s); + for (i = w + s->length; i < width; i++) + Strcat_char(n, ' '); + return n; +} + +#define SP_NORMAL 0 +#define SP_PREC 1 +#define SP_PREC2 2 + +Str +Sprintf(char *fmt, ...) +{ + int len = 0; + int status = SP_NORMAL; + int p = 0; + char *f; + Str s; + va_list ap; + + va_start(ap, fmt); + for (f = fmt; *f; f++) { + redo: + switch (status) { + case SP_NORMAL: + if (*f == '%') { + status = SP_PREC; + p = 0; + } + else + len++; + break; + case SP_PREC: + if (IS_ALPHA(*f)) { + /* conversion char. */ + double vd; + int vi; + char *vs; + void *vp; + + switch (*f) { + case 'l': + case 'h': + case 'L': + case 'w': + continue; + case 'd': + case 'i': + case 'o': + case 'x': + case 'X': + case 'u': + vi = va_arg(ap, int); + len += (p > 0) ? p : 10; + break; + case 'f': + case 'g': + case 'e': + case 'G': + case 'E': + vd = va_arg(ap, double); + len += (p > 0) ? p : 15; + break; + case 'c': + len += 1; + vi = va_arg(ap, int); + break; + case 's': + vs = va_arg(ap, char *); + vi = strlen(vs); + len += (p > vi) ? p : vi; + break; + case 'p': + vp = va_arg(ap, void *); + len += 10; + break; + case 'n': + vp = va_arg(ap, void *); + break; + } + status = SP_NORMAL; + } + else if (IS_DIGIT(*f)) + p = p * 10 + *f - '0'; + else if (*f == '.') + status = SP_PREC2; + else if (*f == '%') { + status = SP_NORMAL; + len++; + } + break; + case SP_PREC2: + if (IS_ALPHA(*f)) { + status = SP_PREC; + goto redo; + } + break; + } + } + va_end(ap); + s = Strnew_size(len * 2); + va_start(ap, fmt); + vsprintf(s->ptr, fmt, ap); + va_end(ap); + s->length = strlen(s->ptr); + if (s->length > len * 2) { + fprintf(stderr, "Sprintf: string too long\n"); + exit(1); + } + return s; +} + +Str +Strfgets(FILE * f) +{ + Str s = Strnew(); + char c; + while (1) { + c = fgetc(f); + if (feof(f) || ferror(f)) + break; + Strcat_char(s, c); + if (c == '\n') + break; + } + return s; +} + +Str +Strfgetall(FILE * f) +{ + Str s = Strnew(); + char c; + while (1) { + c = fgetc(f); + if (feof(f) || ferror(f)) + break; + Strcat_char(s, c); + } + return s; +} diff --git a/Str.h b/Str.h new file mode 100644 index 0000000..f345c74 --- /dev/null +++ b/Str.h @@ -0,0 +1,83 @@ +/* $Id: Str.h,v 1.6 2006/04/07 13:35:35 inu Exp $ */ +/* + * String manipulation library for Boehm GC + * + * (C) Copyright 1998-1999 by Akinori Ito + * + * This software may be redistributed freely for this purpose, in full + * or in part, provided that this entire copyright notice is included + * on any copies of this software and applications and derivations thereof. + * + * This software is provided on an "as is" basis, without warranty of any + * kind, either expressed or implied, as to any matter including, but not + * limited to warranty of fitness of purpose, or merchantability, or + * results obtained from use of this software. + */ +#ifndef GC_STR_H +#define GC_STR_H +#include <stdio.h> +#include <string.h> +#ifdef __EMX__ +#define strcasecmp stricmp +#define strncasecmp strnicmp +#endif + +typedef struct _Str { + char *ptr; + int length; + int area_size; +} *Str; + +Str Strnew(void); +Str Strnew_size(int); +Str Strnew_charp(char *); +Str Strnew_charp_n(char *, int); +Str Strnew_m_charp(char *, ...); +Str Strdup(Str); +void Strclear(Str); +void Strfree(Str); +void Strcopy(Str, Str); +void Strcopy_charp(Str, char *); +void Strcopy_charp_n(Str, char *, int); +void Strcat_charp_n(Str, char *, int); +void Strcat(Str, Str); +void Strcat_charp(Str, char *); +void Strcat_m_charp(Str, ...); +Str Strsubstr(Str, int, int); +void Strinsert_char(Str, int, char); +void Strinsert_charp(Str, int, char *); +void Strdelete(Str, int, int); +void Strtruncate(Str, int); +void Strlower(Str); +void Strupper(Str); +void Strchop(Str); +void Strshrink(Str, int); +void Strshrinkfirst(Str, int); +void Strremovefirstspaces(Str); +void Strremovetrailingspaces(Str); +Str Stralign_left(Str, int); +Str Stralign_right(Str, int); +Str Stralign_center(Str, int); + +Str Sprintf(char *fmt, ...); + +Str Strfgets(FILE *); +Str Strfgetall(FILE *); + +void Strgrow(Str s); + +#define Strcat_char(x,y) (((x)->length+1>=(x)->area_size)?Strgrow(x),0:0,(x)->ptr[(x)->length++]=(y),(x)->ptr[(x)->length]=0) +#define Strcmp(x,y) strcmp((x)->ptr,(y)->ptr) +#define Strcmp_charp(x,y) strcmp((x)->ptr,(y)) +#define Strncmp(x,y,n) strncmp((x)->ptr,(y)->ptr,(n)) +#define Strncmp_charp(x,y,n) strncmp((x)->ptr,(y),(n)) +#define Strcasecmp(x,y) strcasecmp((x)->ptr,(y)->ptr) +#define Strcasecmp_charp(x,y) strcasecmp((x)->ptr,(y)) +#define Strncasecmp(x,y,n) strncasecmp((x)->ptr,(y)->ptr,(n)) +#define Strncasecmp_charp(x,y,n) strncasecmp((x)->ptr,(y),(n)) + +#define Strlastchar(s) ((s)->length>0?(s)->ptr[(s)->length-1]:'\0') +#define Strinsert(s,n,p) Strinsert_charp((s),(n),(p)->ptr) +#define Strshrinkfirst(s,n) Strdelete((s),0,(n)) +#define Strfputs(s,f) fwrite((s)->ptr,1,(s)->length,(f)) +#endif /* not GC_STR_H */ diff --git a/Symbols/alt.sym b/Symbols/alt.sym new file mode 100644 index 0000000..a70c937 --- /dev/null +++ b/Symbols/alt.sym @@ -0,0 +1,26 @@ +static char *alt_symbol[] = { + "+", "|", "-", "+", "|", "|", "+", "", + "-", "+", "-", "", "+", "", "", "", + "+", "|", "-", "+", "|", "|", "+", "", + "-", "+", "-", "", "+", "", "", "", + + "*", "+", "o", "#", "@", "-", + "=", "x", "%", "*", "o", "#", + "#", + "<=UpDn ", + NULL +}; +#ifdef USE_M17N +static char *alt2_symbol[] = { + "-+", " |", "--", " +", "-|", " |", "-+", "", + "--", " +", "--", "", "-+", "", "", "", + "-+", " |", "--", " +", "-|", " |", "-+", "", + "--", " +", "--", "", "-+", "", "", "", + + " *", " +", " o", " #", " @", " -", + " =", " x", " %", " *", " o", " #", + " #", + "<=UpDn ", + NULL +}; +#endif diff --git a/Symbols/big5.sym b/Symbols/big5.sym new file mode 100644 index 0000000..e180039 --- /dev/null +++ b/Symbols/big5.sym @@ -0,0 +1,12 @@ +static char *big5_symbol[] = { + "\242q", "\242u", "\242s", "\242z", "\242t", "\242x", "\242{", "", + "\242r", "\242|", "\242w", "", "\242}", "", "", "", + "\242q", "\242u", "\242s", "\242z", "\242t", "\242x", "\242{", "", + "\242r", "\242|", "\242w", "", "\242}", "", "", "", + + "\241\105", "\241\274", "\241\270", "\241\263", "\241\275", "\241\271", + "\241\267", "\241\264", "\241\265", "\241\264", "\241\263", "\241\274", + "\241\264", + "\241\155\241\364\241\365", + NULL +}; diff --git a/Symbols/cp850.sym b/Symbols/cp850.sym new file mode 100644 index 0000000..304c7f9 --- /dev/null +++ b/Symbols/cp850.sym @@ -0,0 +1,12 @@ +static char *cp850_symbol[] = { + "\305", "\303", "\302", "\332", "\264", "\263", "\277", "", + "\301", "\300", "\304", "", "\331", "", "", "", + "\316", "\314", "\313", "\311", "\271", "\272", "\273", "", + "\312", "\310", "\315", "", "\274", "", "", "", + + "*", "+", "o", "#", "@", "-", + "=", "x", "%", "*", "o", "#", + "#", + "<<UpDn ", + NULL +}; diff --git a/Symbols/euccn.sym b/Symbols/euccn.sym new file mode 100644 index 0000000..0dde176 --- /dev/null +++ b/Symbols/euccn.sym @@ -0,0 +1,12 @@ +static char *euccn_symbol[] = { + "\251\340", "\251\300", "\251\320", "\251\260", "\251\310", "\251\246", "\251\264", "", + "\251\330", "\251\270", "\251\244", "", "\251\274", "", "", "", + "\251\340", "\251\304", "\251\323", "\251\263", "\251\314", "\251\247", "\251\267", "", + "\251\333", "\251\273", "\251\245", "", "\251\277", "", "", "", + + "\241\244", "\241\365", "\241\356", "\241\360", "\241\366", "\241\357", + "\241\362", "\241\361", "\241\367", "\241\361", "\241\360", "\241\365", + "\241\361", + "\241\266\241\374\241\375", + NULL +}; diff --git a/Symbols/eucjp.sym b/Symbols/eucjp.sym new file mode 100644 index 0000000..82b11a9 --- /dev/null +++ b/Symbols/eucjp.sym @@ -0,0 +1,12 @@ +static char *eucjp_symbol[] = { + "¨«", "¨§", "¨¨", "¨£", "¨©", "¨¢", "¨¤", "", + "¨ª", "¨¦", "¨¡", "", "¨¥", "", "", "", + "¨«", "¨·", "¨¸", "¨®", "¨¹", "¨­", "¨¯", "", + "¨º", "¨±", "¨¬", "", "¨°", "", "", "", + + "¡¦", "¢¢", "¡ù", "¡û", "¢£", "¡ú", + "¡ý", "¡ü", "¢¤", "¡ü", "¡û", "¢¢", + "¡ü", + "¢ã¢¬¢­", + NULL +}; diff --git a/Symbols/euckr.sym b/Symbols/euckr.sym new file mode 100644 index 0000000..5a44324 --- /dev/null +++ b/Symbols/euckr.sym @@ -0,0 +1,12 @@ +static char *euckr_symbol[] = { + "\246\253", "\246\247", "\246\250", "\246\243", "\246\251", "\246\242", "\246\244", "", + "\246\252", "\246\246", "\246\241", "", "\246\245", "", "", "", + "\246\253", "\246\267", "\246\270", "\246\256", "\246\271", "\246\255", "\246\257", "", + "\246\272", "\246\261", "\246\254", "", "\246\260", "", "", "", + + "\241\244", "\241\340", "\241\331", "\241\333", "\241\341", "\241\332", + "\241\335", "\241\334", "\241\342", "\241\334", "\241\333", "\241\340", + "\241\334", + "\241\354\241\350\241\351", + NULL +}; diff --git a/Symbols/euctw.sym b/Symbols/euctw.sym new file mode 100644 index 0000000..ba58a73 --- /dev/null +++ b/Symbols/euctw.sym @@ -0,0 +1,12 @@ +static char *euctw_symbol[] = { + "\243\263", "\243\267", "\243\265", "\243\274", "\243\266", "\243\272", "\243\275", "", + "\243\264", "\243\276", "\243\271", "", "\243\277", "", "", "", + "\243\263", "\243\267", "\243\265", "\243\274", "\243\266", "\243\272", "\243\275", "", + "\243\264", "\243\276", "\243\271", "", "\243\277", "", "", "", + + "\241\246", "\241\373", "\241\367", "\241\362", "\241\374", "\241\370", + "\241\366", "\241\363", "\241\364", "\241\363", "\241\362", "\241\373", + "\241\363", + "\241\316\242\325\242\326", + NULL +}; diff --git a/Symbols/graph.sym b/Symbols/graph.sym new file mode 100644 index 0000000..85b8b02 --- /dev/null +++ b/Symbols/graph.sym @@ -0,0 +1,15 @@ +char *graph_symbol[] = { + "n", "t", "w", "l", "u", "x", "k", "", + "v", "m", "q", "", "j", "", "", "", + "n", "t", "w", "l", "u", "x", "k", "", + "v", "m", "q", "", "j", "", "", "", +}; + +#ifdef USE_M17N +char *graph2_symbol[] = { + "qn", " t", "qw", " l", "qu", " x", "qk", "", + "qv", " m", "qq", "", "qj", "", "", "", + "qn", " t", "qw", " l", "qu", " x", "qk", "", + "qv", " m", "qq", "", "qj", "", "", "", +}; +#endif diff --git a/Symbols/sym.pl b/Symbols/sym.pl new file mode 100644 index 0000000..11d3395 --- /dev/null +++ b/Symbols/sym.pl @@ -0,0 +1,11 @@ + +while(<>) { + for(split('')) { + $n = ord($_); + if ($n & 0x80) { + printf("\\%.3o", $n); + } else { + print $_; + } + } +} diff --git a/Symbols/utf8.sym b/Symbols/utf8.sym new file mode 100644 index 0000000..cb02b22 --- /dev/null +++ b/Symbols/utf8.sym @@ -0,0 +1,12 @@ +static char *utf8_symbol[] = { + "\342\224\274", "\342\224\234", "\342\224\254", "\342\224\214", "\342\224\244", "\342\224\202", "\342\224\220", "", + "\342\224\264", "\342\224\224", "\342\224\200", "", "\342\224\230", "", "", "", + "\342\224\274", "\342\224\240", "\342\224\257", "\342\224\217", "\342\224\250", "\342\224\203", "\342\224\223", "", + "\342\224\267", "\342\224\227", "\342\224\201", "", "\342\224\233", "", "", "", + + "\342\200\242", "\342\226\241", "\342\230\206", "\342\227\213", "\342\226\240", "\342\230\205", + "\342\227\216", "\342\227\217", "\342\226\263", "\342\227\217", "\342\227\213", "\342\226\241", + "\342\227\217", + "\342\211\252 \342\206\221 \342\206\223 ", + NULL +}; diff --git a/TODO b/TODO new file mode 100644 index 0000000..da426ef --- /dev/null +++ b/TODO @@ -0,0 +1,139 @@ +TODO lists + +refactoring + backend - ?? + file - ?? + local ? + func ? + indep ? + main + +utilities + Str - string modules + myctype + entity + symbol + hash + textlist + etc - system informations + history + inflate + matrix + regex + +configuration + rc + +UI + display + menu + search + keybind + linein + terms + mouse + +buffer + buffer + +loader - main controller + loader + - connection management + - protocol backends + - media management + - media processing + +URL + url + - protocol backends + +media management + mailcap + mimehead + mimetyps + - media procesings + +media processing + html + parsetag + parsetagx + anchor + form + frame + map + table + tagtable + plain + image + +connection management + conn + ssl? + istream + +protocol backend + http + auth + cookie + ftp + news + ... + + +Documentation + release notes for w3m-0.4 + [w3m-dev 03739] + +new features +* Keep alive +* incremental display, background download + [w3m-dev 03389] background download +* bookmark editor + [w3m-dev 03394] bookmark editor +* w3mimgdisplay without X + [w3m-dev 03723] Re: w3mimgdisplayfb (independent of X) + http://homepage3.nifty.com/slokar/fb/w3mimgfb-0.6.tar.gz + http://homepage3.nifty.com/slokar/stimg/stimg-0.0.0.tar.gz +* Internationalized Domain Name support + [w3m-dev 03727] Re: IDN support (test) + requires idnkit (http://www.nic.ad.jp/ja/idn/) and iconv. +* SMB + Bonus/smb.cgi +* JavaScript +* gettextize + +cleanups +* autoconfisicate +* code review, cleanup + +bugs +* fix [w3m-dev 02658] problem when form is reset + http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/200112.month/2658.html + +* wishlist? [w3m-dev 03507] save space in JP chars + +* [w3m-dev-en 00875] USE_RAW_SCROLL + +[sf.net] http://sf.net/projects/w3m + +[bugs] http://bugs.debian.org/w3m + +* support for the <button> tag (HTML 4.01) + http://bugs.debian.org/136810 + +* not working 'Ignore case when search' on non latin pages + http://bugs.debian.org/138891 + => after m17n merge + +fixed + +wontfix / impossible to fix +* w3m -dump generates too long lines + http://bugs.debian.org/149288 + +wishlist? +* w3mman -l doesn't work + http://bugs.debian.org/138805 + +done +* merge m17n diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..e10b7ed --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,879 @@ +dnl w3m autoconf macros +# +# ---------------------------------------------------------------- +# AC_W3M_VERSION +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_VERSION], +[AC_SUBST(CURRENT_VERSION) + cvsver=`$AWK '\$[1] ~ /Id:/ { print \$[3]}' $srcdir/ChangeLog` + sed -e 's/define CURRENT_VERSION "\(.*\)+cvs/define CURRENT_VERSION "\1+cvs-'$cvsver'/' $srcdir/version.c.in > version.c + CURRENT_VERSION=`sed -n 's/.*define CURRENT_VERSION *"w3m\/\(.*\)".*$/\1/p' version.c`]) +# +# ---------------------------------------------------------------- +# AC_W3M_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_COLOR], +[AC_SUBST(USE_COLOR) +AC_MSG_CHECKING(if color escape sequence for kterm/pxvt is enabled) +AC_ARG_ENABLE(color, + [ --disable-color disable color for vt100 terminal],, + [enable_color="yes"]) +test x"$enable_color" = xyes && AC_DEFINE(USE_COLOR) +AC_MSG_RESULT($enable_color)]) +# +# ---------------------------------------------------------------- +# AC_W3M_ANSI_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_ANSI_COLOR], +[AC_SUBST(USE_ANSI_COLOR) +AC_MSG_CHECKING(if ansi color escape sequence support is enabled) +AC_ARG_ENABLE(ansi_color, + [ --disable-ansi-color disable ansi color escape sequence],, + [enable_ansi_color="$enable_color"]) + test x"$enable_ansi_color" = xyes && AC_DEFINE(USE_ANSI_COLOR) + AC_MSG_RESULT($enable_ansi_color)]) +# +# ---------------------------------------------------------------- +# AC_W3M_BG_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_BG_COLOR], +[AC_SUBST(USE_BG_COLOR) +AC_MSG_CHECKING(if background color support is enabled) +AC_ARG_ENABLE(bgcolor, + [ --disable-bgcolor disable to set background color],, + [enable_bgcolor="$enable_color"]) + test x"$enable_bgcolor" = xyes && AC_DEFINE(USE_BG_COLOR) +AC_MSG_RESULT($enable_bgcolor)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MENU +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MENU], +[AC_SUBST(USE_MENU) +AC_MSG_CHECKING(if popup menu is enabled) +AC_ARG_ENABLE(menu, + [ --disable-menu disable popup menu],, + [enable_menu="yes"]) + test x"$enable_menu" = xyes && AC_DEFINE(USE_MENU) + AC_MSG_RESULT($enable_menu)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MOUSE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MOUSE], +[AC_SUBST(USE_MOUSE) +AC_MSG_CHECKING(if mouse operation enabled) +AC_ARG_ENABLE(mouse, + [ --disable-mouse disable mouse operation],, + [enable_mouse="yes"]) +test x"$enable_mouse" = xyes && AC_DEFINE(USE_MOUSE) +AC_MSG_RESULT($enable_mouse)]) +# +# ---------------------------------------------------------------- +# AC_W3M_COOKIE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_COOKIE], +[AC_SUBST(USE_COOKIE) +AC_MSG_CHECKING(if cookie is enabled) +AC_ARG_ENABLE(cookie, + [ --disable-cookie disable cookie],, + [enable_cookie="yes"]) +test x"$enable_cookie" = xyes && AC_DEFINE(USE_COOKIE) +AC_MSG_RESULT($enable_cookie)]) +# +# ---------------------------------------------------------------- +# AC_W3M_DICT +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_DICT], +[AC_SUBST(USE_DICT) +AC_MSG_CHECKING(if dictionary lookup is enabled) +AC_ARG_ENABLE(dict, + [ --disable-dict disable dictionary lookup (see README.dict)],, + [enable_dict="yes"]) + test x"$enable_dict" = xyes && AC_DEFINE(USE_DICT) + AC_MSG_RESULT($enable_dict)]) +# +# ---------------------------------------------------------------- +# AC_W3M_HISTORY +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_HISTORY], +[AC_SUBST(USE_HISTORY) +AC_MSG_CHECKING(if URL history is enabled) +AC_ARG_ENABLE(history, + [ --disable-history disable URL history],, + [enable_history="yes"]) + test x"$enable_history" = xyes && AC_DEFINE(USE_HISTORY) + AC_MSG_RESULT($enable_history)]) +# +# ---------------------------------------------------------------- +# AC_W3M_NNTP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_NNTP], +[AC_SUBST(USE_NNTP) + AC_MSG_CHECKING(if nntp is enabled) + AC_ARG_ENABLE(nntp, + [ --disable-nntp disable NNTP],, + [enable_nntp="yes"]) + test x"$enable_nntp" = xyes && AC_DEFINE(USE_NNTP) + AC_MSG_RESULT($enable_nntp)]) +# +# ---------------------------------------------------------------- +# AC_W3M_GOPHER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_GOPHER], +[AC_SUBST(USE_GOPHER) + AC_MSG_CHECKING(if gopher is enabled) + AC_ARG_ENABLE(gopher, + [ --enable-gopher enable GOPHER],, + [enable_gopher="no"]) + test x"$enable_gopher" = xyes && AC_DEFINE(USE_GOPHER) + AC_MSG_RESULT($enable_gopher)]) +# +# ---------------------------------------------------------------- +# AC_W3M_M17N +# ---------------------------------------------------------------- +# m17n enable? +AC_DEFUN([AC_W3M_M17N], +[AC_SUBST(USE_M17N) +AC_SUBST(USE_UNICODE) +AC_SUBST(WCTARGET) +AC_SUBST(WCCFLAGS) +AC_SUBST(DISPLAY_CHARSET) +AC_SUBST(SYSTEM_CHARSET) +AC_SUBST(DOCUMENT_CHARSET) +AC_SUBST(POSUBST) +AC_SUBST(POLANG) +WCTARGET=""; WCCFLAGS=""; wcinclude=""; wclib="" +AC_MSG_CHECKING(if m17n support is enabled) +AC_ARG_ENABLE(m17n, + [ --disable-m17n do not use m17n],, + [enable_m17n="yes"]) +AC_MSG_RESULT($enable_m17n) +if test x"$enable_m17n" = xno; then + w3m_lang="en" + WCTARGET="" + WCCFLAGS="" + wcinclude="" + wclib="" + display_charset='WC_CES_US_ASCII' + system_charset='WC_CES_US_ASCII' + document_charset='WC_CES_US_ASCII' +else + AC_DEFINE(USE_M17N) + WCTARGET="libwc/libwc.a" + WCCFLAGS='-I$(srcdir) -I$(srcdir)/..' + wcinclude='-I$(srcdir)/libwc' + wclib="-L./libwc -lwc" + AC_MSG_CHECKING(if unicode support is enabled) + AC_ARG_ENABLE(unicode, + [ --disable-unicode do not use unicode],, + [enable_unicode="yes"]) + AC_MSG_RESULT($enable_unicode) + if test x"$enable_m17n" = xyes; then + charset=US-ASCII + else + charset=$enable_m17n + fi + if test x"$enable_unicode" = xyes; then + WCCFLAGS="-DUSE_UNICODE $WCCFLAGS" + if test x"$charset" = xUS-ASCII; then + charset=UTF-8 + fi + AC_DEFINE(USE_UNICODE) + fi + AC_MSG_CHECKING(if message l10n) + AC_ARG_ENABLE(messagel10n, + [ --enable-messagel10n=LL message l10n instead of NLS],, + [enable_messagel10n="no"]) + if test x$enable_messagel10n = xyes; then + enable_messagel10n="ja"; + fi + AC_MSG_RESULT($enable_messagel10n) + if test x$enable_messagel10n = xno; then + : + else + POSUBST="\$(top_srcdir)/posubst" + POLANG="$enable_messagel10n" + fi + AC_MSG_CHECKING(if japanese support is enabled) + AC_ARG_ENABLE(japanese, + [ --enable-japanese=CODE support Japanese CODE=(S|E|J|U)],, + [enable_japanese="no"]) + AC_MSG_RESULT($enable_japanese) + if test x"$enable_japanese" = xno; then + w3m_lang="en" + else + w3m_lang="ja" + case "$enable_japanese" in + E*) charset=EUC-JP;; + S*) charset=Shift_JIS;; + J*) charset=ISO-2022-JP;; + U*) charset=UTF-8;; + esac + fi + display_charset=$charset + AC_MSG_CHECKING(which charset is used for display) + AC_ARG_WITH(charset, + [ --with-charset=CHARSET], + [test x"with_charset" = xyes || display_charset="$with_charset"]) + AC_MSG_RESULT($display_charset) + display_charset=`awk '$[1] == "'$display_charset'" {print $[2]}' $srcdir/charset-list` + case "$display_charset" in + WC_CES_ISO_2022_JP*) + system_charset=WC_CES_EUC_JP + document_charset=WC_CES_EUC_JP + ;; + WC_CES_SHIFT_JIS) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_JP + ;; + WC_CES_ISO_2022_CN|WC_CES_HZ_GB_2312) + system_charset=WC_CES_EUC_CN + document_charset=WC_CES_EUC_CN + ;; + WC_CES_BIG5) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_TW + ;; + WC_CES_ISO_2022_KR) + system_charset=WC_CES_EUC_KR + document_charset=WC_CES_EUC_KR + ;; + *) + system_charset=$display_charset + document_charset=$display_charset + ;; + esac +fi +W3M_LANGDEF=`echo $w3m_lang | tr 'a-z' 'A-Z'` +W3M_LANG=$W3M_LANGDEF +AC_DEFINE_UNQUOTED(W3M_LANG, $W3M_LANG) +AC_DEFINE_UNQUOTED(WCTARGET, "$WCTARGET") +AC_DEFINE_UNQUOTED(WCCFLAGS, "$WCCFLAGS") +CFLAGS="$CFLAGS $wcinclude" +W3M_LIBS="$W3M_LIBS $wclib" +AC_DEFINE_UNQUOTED(DISPLAY_CHARSET, $display_charset) +AC_DEFINE_UNQUOTED(SYSTEM_CHARSET, $system_charset) +AC_DEFINE_UNQUOTED(DOCUMENT_CHARSET, $document_charset)]) +# +# ---------------------------------------------------------------- +# AC_W3M_KEYMAP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_KEYMAP], +[AC_SUBST(KEYMAP_FILE) + AC_MSG_CHECKING(default keymap) + AC_ARG_ENABLE(keymap, + [ --enable-keymap[=w3m|lynx] default keybind style(w3m or lynx)],, + [enable_keymap="w3m"]) + AC_MSG_RESULT($enable_keymap) + case x"$enable_keymap" in + xw3m) + KEYMAP_FILE="keybind";; + xlynx) + KEYMAP_FILE="keybind_lynx";; + *) + AC_MSG_ERROR([keymap should be either w3m or lynx.]);; + esac + AC_SUBST(HELP_FILE) + HELP_FILE=w3mhelp-${enable_keymap}_$w3m_lang.html + AC_DEFINE_UNQUOTED(HELP_FILE, "$HELP_FILE") + AC_SUBST(KEYBIND) + AC_DEFINE_UNQUOTED(KEYBIND, $enable_keymap)]) +# +# ---------------------------------------------------------------- +# AC_W3M_DIGEST_AUTH +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_DIGEST_AUTH], +[AC_SUBST(USE_DIGEST_AUTH) + AC_MSG_CHECKING(if digest auth is enabled) + AC_ARG_ENABLE(digest_auth, + [ --disable-digest-auth disable digest auth],, + [enable_digest_auth="yes"]) + test x"$enable_digest_auth" = xyes && AC_DEFINE(USE_DIGEST_AUTH) + AC_MSG_RESULT($enable_digest_auth)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MIGEMO +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MIGEMO], +[AC_SUBST(USE_MIGEMO) + AC_SUBST(DEF_MIGEMO_COMMAND) + migemo_command="migemo -t egrep /usr/local/share/migemo/migemo-dict" + AC_MSG_CHECKING(if migemo is supported with) + AC_ARG_WITH(migemo, + [ --with-migemo=MIGEMO_COMMAND migemo command], + [test x"$with_migemo" = xyes || migemo_command="$with_migemo"]) + if test "${with_migemo+set}" = set -a "$with_migemo" != "no"; then + AC_DEFINE(USE_MIGEMO) + fi + AC_MSG_RESULT($migemo_command) + AC_DEFINE_UNQUOTED(DEF_MIGEMO_COMMAND, "$migemo_command")]) +# +# ---------------------------------------------------------------- +# AC_W3M_EDITOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EDITOR], +[AC_SUBST(DEF_EDITOR) +w3m_editor="/usr/bin/vi" +AC_MSG_CHECKING(which editor is used by default) +AC_ARG_WITH(editor, + [ --with-editor=EDITOR default editor (/usr/bin/vi)], + [w3m_editor="$with_editor"]) +AC_MSG_RESULT($w3m_editor) +AC_DEFINE_UNQUOTED(DEF_EDITOR, "$w3m_editor")]) +# +# ---------------------------------------------------------------- +# AC_W3M_MAILER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MAILER], +[AC_SUBST(DEF_MAILER) +w3m_mailer="/usr/bin/mail" +AC_MSG_CHECKING(which mailer is used by default) +AC_ARG_WITH(mailer, + [ --with-mailer=MAILER default mailer (/usr/bin/mail)], + [w3m_mailer="$with_mailer"]) +AC_MSG_RESULT($w3m_mailer) +AC_DEFINE_UNQUOTED(DEF_MAILER, "$w3m_mailer")]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXT_BROWSER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXT_BROWSER], +[AC_SUBST(DEF_EXT_BROWSER) +w3m_browser="/usr/bin/mozilla" +AC_MSG_CHECKING(which external browser is used by default) +AC_ARG_WITH(browser, + [ --with-browser=BROWSER default browser (/usr/bin/mozilla)], + [w3m_browser="$with_browser"]) +AC_MSG_RESULT($w3m_browser) +AC_DEFINE_UNQUOTED(DEF_EXT_BROWSER, "$w3m_browser")]) +# +# ---------------------------------------------------------------- +# AC_W3M_HELP_CGI +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_HELP_CGI], +[AC_SUBST(USE_HELP_CGI) + AC_MSG_CHECKING(if help cgi is enabled) + AC_ARG_ENABLE(help_cgi, + [ --disable-help-cgi disable help cgi],, + [enable_help_cgi="yes"]) + test x"$enable_help_cgi" = xyes && AC_DEFINE(USE_HELP_CGI) + AC_MSG_RESULT($enable_help_cgi)]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXTERNAL_URI_LOADER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXTERNAL_URI_LOADER], +[AC_SUBST(USE_EXTERNAL_URI_LOADER) + AC_MSG_CHECKING(if external URI loader is enabled) + AC_ARG_ENABLE(external_uri_loader, + [ --disable-external-uri-loader disable external URI loader],, + [enable_external_uri_loader="yes"]) + test x"$enable_external_uri_loader" = xyes && AC_DEFINE(USE_EXTERNAL_URI_LOADER) + AC_MSG_RESULT($enable_external_uri_loader)]) +# +# ---------------------------------------------------------------- +# AC_W3M_W3MMAILER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_W3MMAILER], +[AC_SUBST(USE_W3MMAILER) + AC_MSG_CHECKING(if w3mmail is used) + AC_ARG_ENABLE(w3mmailer, + [ --disable-w3mmailer disable w3mmailer],, + [enable_w3mmailer="$enable_external_uri_loader"]) + test x"$enable_external_uri_loader" = xno && enable_w3mmailer=no + test x"$enable_w3mmailer" = xyes && AC_DEFINE(USE_W3MMAILER) + AC_MSG_RESULT($enable_w3mmailer)]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXTLIBS(libs) +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXTLIBS], +[lib=$1 + AC_MSG_CHECKING(for -l$lib) + extlib="not found" + for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib + do + if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then + LIBS="$LIBS -l$lib" + extlib="found at $dir" + break + fi + done + AC_MSG_RESULT($extlib)]) +# +# ---------------------------------------------------------------- +# AC_W3M_TERMLIB +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_TERMLIB], +[AC_MSG_CHECKING(terminal library) +AC_ARG_WITH(termlib, + [ --with-termlib[=LIBS] terminal library + LIBS is space separated list of: + terminfo mytinfo termcap ncurses curses],, + [with_termlib="yes"]) + AC_MSG_RESULT($with_termlib) + test x"$with_termlib" = xyes && with_termlib="terminfo mytinfo termlib termcap ncurses curses" + for lib in $with_termlib; do + AC_CHECK_LIB($lib, tgetent, [W3M_LIBS="$W3M_LIBS -l$lib"; break]) + done +]) +# +# ---------------------------------------------------------------- +# AC_W3M_GC +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_GC], +[AC_MSG_CHECKING(GC library exists) +AC_ARG_WITH(gc, + [ --with-gc[=PREFIX] libgc PREFIX], + [test x"$with_gc" = xno && AC_MSG_ERROR([You can not build w3m without gc])], + [with_gc="yes"]) + AC_MSG_RESULT($with_gc) + test x"$with_gc" = xyes && with_gc="/usr /usr/local ${HOME}" + unset ac_cv_header_gc_h + AC_CHECK_HEADER(gc.h) + if test x"$ac_cv_header_gc_h" = xno; then + AC_MSG_CHECKING(GC header location) + AC_MSG_RESULT($with_gc) + gcincludedir=no + for dir in $with_gc; do + for inc in include include/gc; do + cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$dir/$inc" + AC_MSG_CHECKING($dir/$inc) + unset ac_cv_header_gc_h + AC_CHECK_HEADER(gc.h, [gcincludedir="$dir/$inc"; CFLAGS="$CFLAGS -I$dir/$inc"; break]) + CPPFLAGS="$cppflags" + done + if test x"$gcincludedir" != xno; then + break; + fi + done + if test x"$gcincludedir" = xno; then + AC_MSG_ERROR([gc.h not found]) + fi + fi + unset ac_cv_lib_gc_GC_init + AC_CHECK_LIB(gc, GC_init, [LIBS="$LIBS -lgc"]) + if test x"$ac_cv_lib_gc_GC_init" = xno; then + AC_MSG_CHECKING(GC library location) + AC_MSG_RESULT($with_gc) + gclibdir=no + for dir in $with_gc; do + ldflags="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$dir/lib" + AC_MSG_CHECKING($dir) + unset ac_cv_lib_gc_GC_init + AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBS="$LIBS -L$dir/lib -lgc"; break]) + LDFLAGS="$ldflags" + done + if test x"$gclibdir" = xno; then + AC_MSG_ERROR([libgc not found]) + fi + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_SSL +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SSL], +[AC_SUBST(USE_SSL) +AC_SUBST(USE_SSL_VERIFY) +AC_MSG_CHECKING(if SSL is suported) +AC_ARG_WITH(ssl, + [ --with-ssl[=PREFIX] support https protocol],, + [with_ssl="yes"]) +AC_MSG_RESULT($with_ssl) +if test x"$with_ssl" != xno; then + PKG_CHECK_MODULES(SSL, openssl,,[ + AC_MSG_CHECKING(for SSL library/header) + test x"$with_ssl" = xyes && with_ssl="/usr/openssl /usr/ssl /usr /usr/local/openssl /usr/local/ssl /usr/local" + AC_MSG_RESULT($with_ssl) + for dir in $with_ssl + do + if test -f "$dir/include/openssl/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include/openssl" + if test "$dir" != "/usr"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + elif test "$dir" != "/usr" -a -f "$dir/include/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + if test "$dir" != "/usr" -a -f "$dir/lib/libssl.a"; then + SSL_LIBS="$SSL_LIBS -L$dir/lib" + fi + done + ]) + AC_CHECK_LIB(ssl, SSL_new, + [w3m_ssl="found"; CFLAGS="$CFLAGS $SSL_CFLAGS" W3M_LIBS="$W3M_LIBS $SSL_LIBS -lssl -lcrypto"], + [w3m_ssl="not found"], + [$SSL_LIBS -lcrypto]) + + if test x"$w3m_ssl" = xfound; then + AC_DEFINE(USE_SSL) + AC_MSG_CHECKING(if SSL certificate verify is enabled) + AC_ARG_ENABLE(sslverify, + [ --disable-sslverify verify SSL certificate],, + [enable_sslverify="yes"]) + test x"$enable_sslverify" = xyes && AC_DEFINE(USE_SSL_VERIFY) + AC_MSG_RESULT($enable_sslverify) + fi +fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_ALARM +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_ALARM], +[AC_SUBST(USE_ALARM) + AC_MSG_CHECKING(if alarm is enabled) + AC_ARG_ENABLE(alarm, + [ --disable-alarm disable alarm],, + [enable_alarm="yes"]) + AC_MSG_RESULT($enable_alarm) + if test x"$enable_alarm" = xyes; then + AC_TRY_COMPILE( + [#include <unistd.h> +#include <signal.h>], + [int sa = SIGALRM; + void (*a) = alarm;], + [AC_DEFINE(USE_ALARM)]) + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_CHECK_VER(name, version, major, minor, micro, +# action-if-ok, message-if-badver, action-if-nover) +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_CHECK_VER], +[version="$2" + if test x"$version" != x; then + AC_MSG_CHECKING($1 version) + AC_MSG_RESULT($version) + set -- `echo "$version" | sed 's/[[^0-9]]/ /g'` + if test "$[1]" -ne "$3" -o "$[2]" -lt "$4" || test "$[2]" -eq "$4" -a "$[3]" -lt "$5"; then + AC_MSG_WARN([$1 is too old. Install $1 (version >= $3.$4.$5)]) + $7 + else + $6 + fi + else + AC_MSG_WARN([$1 is not installed. Install $1 (version >= $3.$4.$5)]) + $7 + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_IMAGE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_IMAGE], +[AC_SUBST(USE_IMAGE) + AC_SUBST(USE_W3MIMG_X11) + AC_SUBST(USE_W3MIMG_FB) + AC_SUBST(W3MIMGDISPLAY_SETUID) + AC_SUBST(INSTALL_W3MIMGDISPLAY) + INSTALL_W3MIMGDISPLAY='${INSTALL_PROGRAM}' + AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY) + AC_SUBST(USE_GDKPIXBUF) + AC_SUBST(USE_GTK2) + AC_SUBST(USE_IMLIB) + AC_SUBST(USE_IMLIB2) + AC_SUBST(IMGTARGETS) + AC_SUBST(IMGOBJS) + AC_SUBST(IMGX11CFLAGS) + AC_SUBST(IMGX11LDFLAGS) + AC_SUBST(IMGFBCFLAGS) + AC_SUBST(IMGFBLDFLAGS) + AC_MSG_CHECKING(if image is enabled) + AC_ARG_ENABLE(image, + [ --enable-image[=DEVS] enable inline image handler for DEVS + DEVS may be comma separeted: x11,fb,fb+s + default: autodetected. + 'no' means disable inline image],, + [enable_image="yes"]) + AC_MSG_RESULT($enable_image) + if test x"$enable_image" != xno; then + IMGOBJS=w3mimg.o + if test x"$enable_image" = xyes; then + enable_image=x11 + case "`uname -s`" in + Linux|linux|LINUX) + if test -c /dev/fb0; then + enable_image=x11,fb + fi;; + esac + fi + save_ifs="$IFS"; IFS=","; + for img in $enable_image; do + case $img in + x11) x11=yes;; + fb) fb=yes;; + fb+s) fb=yes + AC_DEFINE(W3MIMGDISPLAY_SETUID) + INSTALL_W3MIMGDISPLAY='${INSTALL} -o root -m 4755 -s' + AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY);; + esac + done + IFS="$save_ifs" + enable_image=yes + AC_DEFINE(USE_IMAGE) + AC_MSG_CHECKING(image library) + AC_ARG_WITH(imagelib, + [ --with-imagelib=IMAGELIBS image library + IMAGELIBS may be space separeted list of: + gtk2 gdk-pixbuf imlib imlib2],, + + [with_imagelib="yes"]) + if test x"$with_imagelib" = xyes; then + with_imagelib="gtk2 gdk-pixbuf imlib imlib2" + fi + AC_MSG_RESULT($with_imagelib) + with_imlib=no + with_imlib2=no + with_gdkpixbuf=no + with_gtk2=no + for imagelib in $with_imagelib + do + case "$imagelib" in + imlib) + with_imlib="yes" + if test x"$IMLIB_CONFIG" = x; then + IMLIB_CONFIG=imlib-config + fi;; + imlib2) + with_imlib2="yes" + if test x"$IMLIB2_CONFIG" = x; then + IMLIB2_CONFIG=imlib2-config + fi;; + gdk-pixbuf) + with_gdkpixbuf="yes" + if test x"$GDKPIXBUF_CONFIG" = x; then + GDKPIXBUF_CONFIG=gdk-pixbuf-config + fi;; + gtk2) + with_gtk2="yes" + if test x"$PKG_CONFIG" = x; then + PKG_CONFIG=pkg-config + else + PKG_CONFIG=: + fi;; + esac + done + IMGTARGETS="" + if test x"$with_gtk2" = xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$PKG_CONFIG --modversion gdk-pixbuf-2.0 2>/dev/null`], + 2, 0, 0, + [have_gdkpixbuf="yes"; have_gtk2="yes"], + [have_gdkpixbuf="no"; have_gtk2="no"]) + fi + if test x"$with_gdkpixbuf" = xyes; then + if test x"$have_gdkpixbuf" != xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$GDKPIXBUF_CONFIG --version 2>/dev/null`], + 0, 16, 0, + [have_gdkpixbuf="yes"], + [have_gdkpixbuf="no"]) + fi + fi + if test x"$with_imlib" = xyes; then + AC_W3M_CHECK_VER([Imlib], + [`$IMLIB_CONFIG --version 2>/dev/null`], + 1, 9, 8, + [have_imlib="yes"], + [have_imlib="no"]) + fi + if test x"$with_imlib2" = xyes; then + AC_W3M_CHECK_VER([Imlib2], + [`$IMLIB2_CONFIG --version 2>/dev/null`], + 1, 0, 5, + [have_imlib2="yes"], + [have_imlib2="no"]) + fi + if test x"$x11" = xyes; then + if test x"$have_gtk2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_GDKPIXBUF) + AC_DEFINE(USE_GTK2) + IMGX11CFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + IMGX11LDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_GDKPIXBUF) + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + elif test x"$have_imlib" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_IMLIB) + IMGX11CFLAGS="`${IMLIB_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB_CONFIG} --libs`" + IMGTARGETS="x11" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_IMLIB2) + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + AC_MSG_WARN([unable to build w3mimgdisplay with X11 support]) + fi + fi + if test x"$fb" = xyes; then + if test x"$have_gtk2" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_GDKPIXBUF) + AC_DEFINE(USE_GTK2) + IMGFBCFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gtk+-2.0`" + IMGFBLDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_GDKPIXBUF) + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_IMLIB2) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGFBLDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + AC_MSG_WARN([unable to build w3mimgdisplay with FB support]) + fi + fi + AC_DEFINE(IMGTARGETS, "$IMGTARGETS") + AC_DEFINE(IMGOBJS, "$IMGOBJS") + AC_DEFINE(IMGX11CFLAGS, "$IMGX11CFLAGS") + AC_DEFINE(IMGX11LDFLAGS, "$IMGX11LDFLAGS") + AC_DEFINE(IMGFBCFLAGS, "$IMGFBCFLAGS") + AC_DEFINE(IMGFBLDFLAGS, "$IMGLDFLAGS") + fi]) +# ---------------------------------------------------------------- +# AC_W3M_XFACE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_XFACE], +[AC_SUBST(USE_XFACE) + AC_MSG_CHECKING(if xface is enabled) + AC_ARG_ENABLE(xface, + [ --disable-xface disable xface support],, + [enable_xface="$enable_image"]) + test x"$enable_xface" = xyes && AC_DEFINE(USE_XFACE) + AC_MSG_RESULT($enable_xface) + AC_CHECK_PROG(uncompface, uncompface, "yes", "no") + test "$uncompface" = "no" && AC_MSG_WARN([uncompface is not installed.]) +]) +# +# ---------------------------------------------------------------- +# AC_W3M_IPv6 +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_IPv6], +[AC_MSG_CHECKING(if IPv6 support is enabled) +AC_ARG_ENABLE(ipv6, + [ --disable-ipv6 disable IPv6],, + [enable_ipv6="yes"]) +AC_MSG_RESULT($enable_ipv6) + +if test x"$enable_ipv6" = xyes; then + AC_MSG_CHECKING(if IPv6 API available) + AC_SUBST(INET6) + AC_CHECK_FUNC(getaddrinfo, + [enable_ipv6="yes"], + [enable_ipv6="no"]) + if test x"$enable_ipv6" = xno; then + AC_MSG_CHECKING(for libinet6) + for dir in /usr/local/v6/lib /usr/local/lib /usr/lib + do + if test -f $dir/libinet6.a; then + if test $dir != "/usr/lib"; then + W3M_LIBS="$W3M_LIBS -L$dir" + fi + AC_CHECK_LIB(inet6, getaddrinfo, + [enable_ipv6="yes" + use_libinet6="found"; W3M_LIBS="$W3M_LIBS -linet6"; break], + [use_libinet6="not found"]) + fi + done + AC_MSG_RESULT($use_libinet6) + fi + if test x"$enable_ipv6" = xyes; then + AC_SUBST(HAVE_OLD_SS_FAMILY) + AC_MSG_CHECKING(if struct sockaddr_storage has an ss_family member) + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ], [ + struct sockaddr_storage ss; + int i = ss.ss_family; + ], + [AC_MSG_RESULT(yes)], + [AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ], + [ + struct sockaddr_storage ss; + int i = ss.__ss_family; + ], + [AC_MSG_RESULT(no, but __ss_family exists) + AC_DEFINE(HAVE_OLD_SS_FAMILY)], + [AC_MSG_RESULT(no) + AC_MSG_WARN(IPv6 support is disabled) + enable_ipv6="no"]) + ]) + fi + if test x"$enable_ipv6" = xyes; then + AC_DEFINE(INET6) + fi +fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_SYS_ERRLIST +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SYS_ERRLIST], +[AC_SUBST(HAVE_SYS_ERRLIST) +AC_MSG_CHECKING(for sys_errlist) +AC_TRY_COMPILE( +changequote(<<,>>)dnl +<<extern char *sys_errlist[];>>, +<<printf(sys_errlist[0]);>>, +changequote([,])dnl +[have_sys_errlist="yes"; AC_DEFINE(HAVE_SYS_ERRLIST)], +[have_sys_errlist="no"]) +AC_MSG_RESULT($have_sys_errlist)]) +# +# ---------------------------------------------------------------- +# AC_W3M_SIGSETJMP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SIGSETJMP], +[AC_SUBST(HAVE_SIGSETJMP) +AC_MSG_CHECKING(for sigsetjmp) +AC_TRY_COMPILE( +[#include <setjmp.h>], +[ jmp_buf env; + if (sigsetjmp(env, 1) != 0) { exit(0); } siglongjmp(env, 1);], +[have_sigsetjmp="yes"; AC_DEFINE(HAVE_SIGSETJMP)], +[have_sigsetjmp="no"]) +AC_MSG_RESULT($have_sigsetjmp)]) +# +# ---------------------------------------------------------------- +# AC_W3M_SIGNAL_RETURN +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SIGNAL], +[AC_TYPE_SIGNAL + AC_SUBST(RETSIGTYPE) + AC_SUBST(SIGNAL_RETURN) + if test x"$ac_cv_type_signal" = xvoid; then + AC_DEFINE(SIGNAL_RETURN,return) + else + AC_DEFINE(SIGNAL_RETURN,return 0) + fi]) diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..dca6dda --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,3581 @@ +dnl aclocal.m4 generated automatically by aclocal 1.4-p6 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 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. + +dnl w3m autoconf macros +# +# ---------------------------------------------------------------- +# AC_W3M_VERSION +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_VERSION], +[AC_SUBST(CURRENT_VERSION) + cvsver=`$AWK '\$[1] ~ /Id:/ { print \$[3]}' $srcdir/ChangeLog` + sed -e 's/define CURRENT_VERSION "\(.*\)+cvs/define CURRENT_VERSION "\1+cvs-'$cvsver'/' $srcdir/version.c.in > version.c + CURRENT_VERSION=`sed -n 's/.*define CURRENT_VERSION *"w3m\/\(.*\)".*$/\1/p' version.c`]) +# +# ---------------------------------------------------------------- +# AC_W3M_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_COLOR], +[AC_SUBST(USE_COLOR) +AC_MSG_CHECKING(if color escape sequence for kterm/pxvt is enabled) +AC_ARG_ENABLE(color, + [ --disable-color disable color for vt100 terminal],, + [enable_color="yes"]) +test x"$enable_color" = xyes && AC_DEFINE(USE_COLOR) +AC_MSG_RESULT($enable_color)]) +# +# ---------------------------------------------------------------- +# AC_W3M_ANSI_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_ANSI_COLOR], +[AC_SUBST(USE_ANSI_COLOR) +AC_MSG_CHECKING(if ansi color escape sequence support is enabled) +AC_ARG_ENABLE(ansi_color, + [ --disable-ansi-color disable ansi color escape sequence],, + [enable_ansi_color="$enable_color"]) + test x"$enable_ansi_color" = xyes && AC_DEFINE(USE_ANSI_COLOR) + AC_MSG_RESULT($enable_ansi_color)]) +# +# ---------------------------------------------------------------- +# AC_W3M_BG_COLOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_BG_COLOR], +[AC_SUBST(USE_BG_COLOR) +AC_MSG_CHECKING(if background color support is enabled) +AC_ARG_ENABLE(bgcolor, + [ --disable-bgcolor disable to set background color],, + [enable_bgcolor="$enable_color"]) + test x"$enable_bgcolor" = xyes && AC_DEFINE(USE_BG_COLOR) +AC_MSG_RESULT($enable_bgcolor)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MENU +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MENU], +[AC_SUBST(USE_MENU) +AC_MSG_CHECKING(if popup menu is enabled) +AC_ARG_ENABLE(menu, + [ --disable-menu disable popup menu],, + [enable_menu="yes"]) + test x"$enable_menu" = xyes && AC_DEFINE(USE_MENU) + AC_MSG_RESULT($enable_menu)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MOUSE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MOUSE], +[AC_SUBST(USE_MOUSE) +AC_MSG_CHECKING(if mouse operation enabled) +AC_ARG_ENABLE(mouse, + [ --disable-mouse disable mouse operation],, + [enable_mouse="yes"]) +test x"$enable_mouse" = xyes && AC_DEFINE(USE_MOUSE) +AC_MSG_RESULT($enable_mouse)]) +# +# ---------------------------------------------------------------- +# AC_W3M_COOKIE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_COOKIE], +[AC_SUBST(USE_COOKIE) +AC_MSG_CHECKING(if cookie is enabled) +AC_ARG_ENABLE(cookie, + [ --disable-cookie disable cookie],, + [enable_cookie="yes"]) +test x"$enable_cookie" = xyes && AC_DEFINE(USE_COOKIE) +AC_MSG_RESULT($enable_cookie)]) +# +# ---------------------------------------------------------------- +# AC_W3M_DICT +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_DICT], +[AC_SUBST(USE_DICT) +AC_MSG_CHECKING(if dictionary lookup is enabled) +AC_ARG_ENABLE(dict, + [ --disable-dict disable dictionary lookup (see README.dict)],, + [enable_dict="yes"]) + test x"$enable_dict" = xyes && AC_DEFINE(USE_DICT) + AC_MSG_RESULT($enable_dict)]) +# +# ---------------------------------------------------------------- +# AC_W3M_HISTORY +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_HISTORY], +[AC_SUBST(USE_HISTORY) +AC_MSG_CHECKING(if URL history is enabled) +AC_ARG_ENABLE(history, + [ --disable-history disable URL history],, + [enable_history="yes"]) + test x"$enable_history" = xyes && AC_DEFINE(USE_HISTORY) + AC_MSG_RESULT($enable_history)]) +# +# ---------------------------------------------------------------- +# AC_W3M_NNTP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_NNTP], +[AC_SUBST(USE_NNTP) + AC_MSG_CHECKING(if nntp is enabled) + AC_ARG_ENABLE(nntp, + [ --disable-nntp disable NNTP],, + [enable_nntp="yes"]) + test x"$enable_nntp" = xyes && AC_DEFINE(USE_NNTP) + AC_MSG_RESULT($enable_nntp)]) +# +# ---------------------------------------------------------------- +# AC_W3M_GOPHER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_GOPHER], +[AC_SUBST(USE_GOPHER) + AC_MSG_CHECKING(if gopher is enabled) + AC_ARG_ENABLE(gopher, + [ --enable-gopher enable GOPHER],, + [enable_gopher="no"]) + test x"$enable_gopher" = xyes && AC_DEFINE(USE_GOPHER) + AC_MSG_RESULT($enable_gopher)]) +# +# ---------------------------------------------------------------- +# AC_W3M_M17N +# ---------------------------------------------------------------- +# m17n enable? +AC_DEFUN([AC_W3M_M17N], +[AC_SUBST(USE_M17N) +AC_SUBST(USE_UNICODE) +AC_SUBST(WCTARGET) +AC_SUBST(WCCFLAGS) +AC_SUBST(DISPLAY_CHARSET) +AC_SUBST(SYSTEM_CHARSET) +AC_SUBST(DOCUMENT_CHARSET) +AC_SUBST(POSUBST) +AC_SUBST(POLANG) +WCTARGET=""; WCCFLAGS=""; wcinclude=""; wclib="" +AC_MSG_CHECKING(if m17n support is enabled) +AC_ARG_ENABLE(m17n, + [ --disable-m17n do not use m17n],, + [enable_m17n="yes"]) +AC_MSG_RESULT($enable_m17n) +if test x"$enable_m17n" = xno; then + w3m_lang="en" + WCTARGET="" + WCCFLAGS="" + wcinclude="" + wclib="" + display_charset='WC_CES_US_ASCII' + system_charset='WC_CES_US_ASCII' + document_charset='WC_CES_US_ASCII' +else + AC_DEFINE(USE_M17N) + WCTARGET="libwc/libwc.a" + WCCFLAGS='-I$(srcdir) -I$(srcdir)/..' + wcinclude='-I$(srcdir)/libwc' + wclib="-L./libwc -lwc" + AC_MSG_CHECKING(if unicode support is enabled) + AC_ARG_ENABLE(unicode, + [ --disable-unicode do not use unicode],, + [enable_unicode="yes"]) + AC_MSG_RESULT($enable_unicode) + if test x"$enable_m17n" = xyes; then + charset=US-ASCII + else + charset=$enable_m17n + fi + if test x"$enable_unicode" = xyes; then + WCCFLAGS="-DUSE_UNICODE $WCCFLAGS" + if test x"$charset" = xUS-ASCII; then + charset=UTF-8 + fi + AC_DEFINE(USE_UNICODE) + fi + AC_MSG_CHECKING(if message l10n) + AC_ARG_ENABLE(messagel10n, + [ --enable-messagel10n=LL message l10n instead of NLS],, + [enable_messagel10n="no"]) + if test x$enable_messagel10n = xyes; then + enable_messagel10n="ja"; + fi + AC_MSG_RESULT($enable_messagel10n) + if test x$enable_messagel10n = xno; then + : + else + POSUBST="\$(top_srcdir)/posubst" + POLANG="$enable_messagel10n" + fi + AC_MSG_CHECKING(if japanese support is enabled) + AC_ARG_ENABLE(japanese, + [ --enable-japanese=CODE support Japanese CODE=(S|E|J|U)],, + [enable_japanese="no"]) + AC_MSG_RESULT($enable_japanese) + if test x"$enable_japanese" = xno; then + w3m_lang="en" + else + w3m_lang="ja" + case "$enable_japanese" in + E*) charset=EUC-JP;; + S*) charset=Shift_JIS;; + J*) charset=ISO-2022-JP;; + U*) charset=UTF-8;; + esac + fi + display_charset=$charset + AC_MSG_CHECKING(which charset is used for display) + AC_ARG_WITH(charset, + [ --with-charset=CHARSET], + [test x"with_charset" = xyes || display_charset="$with_charset"]) + AC_MSG_RESULT($display_charset) + display_charset=`awk '$[1] == "'$display_charset'" {print $[2]}' $srcdir/charset-list` + case "$display_charset" in + WC_CES_ISO_2022_JP*) + system_charset=WC_CES_EUC_JP + document_charset=WC_CES_EUC_JP + ;; + WC_CES_SHIFT_JIS) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_JP + ;; + WC_CES_ISO_2022_CN|WC_CES_HZ_GB_2312) + system_charset=WC_CES_EUC_CN + document_charset=WC_CES_EUC_CN + ;; + WC_CES_BIG5) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_TW + ;; + WC_CES_ISO_2022_KR) + system_charset=WC_CES_EUC_KR + document_charset=WC_CES_EUC_KR + ;; + *) + system_charset=$display_charset + document_charset=$display_charset + ;; + esac +fi +W3M_LANGDEF=`echo $w3m_lang | tr 'a-z' 'A-Z'` +W3M_LANG=$W3M_LANGDEF +AC_DEFINE_UNQUOTED(W3M_LANG, $W3M_LANG) +AC_DEFINE_UNQUOTED(WCTARGET, "$WCTARGET") +AC_DEFINE_UNQUOTED(WCCFLAGS, "$WCCFLAGS") +CFLAGS="$CFLAGS $wcinclude" +W3M_LIBS="$W3M_LIBS $wclib" +AC_DEFINE_UNQUOTED(DISPLAY_CHARSET, $display_charset) +AC_DEFINE_UNQUOTED(SYSTEM_CHARSET, $system_charset) +AC_DEFINE_UNQUOTED(DOCUMENT_CHARSET, $document_charset)]) +# +# ---------------------------------------------------------------- +# AC_W3M_KEYMAP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_KEYMAP], +[AC_SUBST(KEYMAP_FILE) + AC_MSG_CHECKING(default keymap) + AC_ARG_ENABLE(keymap, + [ --enable-keymap[=w3m|lynx] default keybind style(w3m or lynx)],, + [enable_keymap="w3m"]) + AC_MSG_RESULT($enable_keymap) + case x"$enable_keymap" in + xw3m) + KEYMAP_FILE="keybind";; + xlynx) + KEYMAP_FILE="keybind_lynx";; + *) + AC_MSG_ERROR([keymap should be either w3m or lynx.]);; + esac + AC_SUBST(HELP_FILE) + HELP_FILE=w3mhelp-${enable_keymap}_$w3m_lang.html + AC_DEFINE_UNQUOTED(HELP_FILE, "$HELP_FILE") + AC_SUBST(KEYBIND) + AC_DEFINE_UNQUOTED(KEYBIND, $enable_keymap)]) +# +# ---------------------------------------------------------------- +# AC_W3M_MIGEMO +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MIGEMO], +[AC_SUBST(USE_MIGEMO) + AC_SUBST(DEF_MIGEMO_COMMAND) + migemo_command="migemo -t egrep /usr/local/share/migemo/migemo-dict" + AC_MSG_CHECKING(if migemo is supported with) + AC_ARG_WITH(migemo, + [ --with-migemo=MIGEMO_COMMAND migemo command], + [test x"$with_migemo" = xyes || migemo_command="$with_migemo"]) + if test "${with_migemo+set}" = set -a "$with_migemo" != "no"; then + AC_DEFINE(USE_MIGEMO) + fi + AC_MSG_RESULT($migemo_command) + AC_DEFINE_UNQUOTED(DEF_MIGEMO_COMMAND, "$migemo_command")]) +# +# ---------------------------------------------------------------- +# AC_W3M_EDITOR +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EDITOR], +[AC_SUBST(DEF_EDITOR) +w3m_editor="/usr/bin/vi" +AC_MSG_CHECKING(which editor is used by default) +AC_ARG_WITH(editor, + [ --with-editor=EDITOR default editor (/usr/bin/vi)], + [w3m_editor="$with_editor"]) +AC_MSG_RESULT($w3m_editor) +AC_DEFINE_UNQUOTED(DEF_EDITOR, "$w3m_editor")]) +# +# ---------------------------------------------------------------- +# AC_W3M_MAILER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_MAILER], +[AC_SUBST(DEF_MAILER) +w3m_mailer="/usr/bin/mail" +AC_MSG_CHECKING(which mailer is used by default) +AC_ARG_WITH(mailer, + [ --with-mailer=MAILER default mailer (/usr/bin/mail)], + [w3m_mailer="$with_mailer"]) +AC_MSG_RESULT($w3m_mailer) +AC_DEFINE_UNQUOTED(DEF_MAILER, "$w3m_mailer")]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXT_BROWSER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXT_BROWSER], +[AC_SUBST(DEF_EXT_BROWSER) +w3m_browser="/usr/bin/mozilla" +AC_MSG_CHECKING(which external browser is used by default) +AC_ARG_WITH(browser, + [ --with-browser=BROWSER default browser (/usr/bin/mozilla)], + [w3m_browser="$with_browser"]) +AC_MSG_RESULT($w3m_browser) +AC_DEFINE_UNQUOTED(DEF_EXT_BROWSER, "$w3m_browser")]) +# +# ---------------------------------------------------------------- +# AC_W3M_HELP_CGI +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_HELP_CGI], +[AC_SUBST(USE_HELP_CGI) + AC_MSG_CHECKING(if help cgi is enabled) + AC_ARG_ENABLE(help_cgi, + [ --disable-help-cgi disable help cgi],, + [enable_help_cgi="yes"]) + test x"$enable_help_cgi" = xyes && AC_DEFINE(USE_HELP_CGI) + AC_MSG_RESULT($enable_help_cgi)]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXTERNAL_URI_LOADER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXTERNAL_URI_LOADER], +[AC_SUBST(USE_EXTERNAL_URI_LOADER) + AC_MSG_CHECKING(if external URI loader is enabled) + AC_ARG_ENABLE(external_uri_loader, + [ --disable-external-uri-loader disable external URI loader],, + [enable_external_uri_loader="yes"]) + test x"$enable_external_uri_loader" = xyes && AC_DEFINE(USE_EXTERNAL_URI_LOADER) + AC_MSG_RESULT($enable_external_uri_loader)]) +# +# ---------------------------------------------------------------- +# AC_W3M_W3MMAILER +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_W3MMAILER], +[AC_SUBST(USE_W3MMAILER) + AC_MSG_CHECKING(if w3mmail is used) + AC_ARG_ENABLE(w3mmailer, + [ --disable-w3mmailer disable w3mmailer],, + [enable_w3mmailer="$enable_external_uri_loader"]) + test x"$enable_external_uri_loader" = xno && enable_w3mmailer=no + test x"$enable_w3mmailer" = xyes && AC_DEFINE(USE_W3MMAILER) + AC_MSG_RESULT($enable_w3mmailer)]) +# +# ---------------------------------------------------------------- +# AC_W3M_EXTLIBS(libs) +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_EXTLIBS], +[lib=$1 + AC_MSG_CHECKING(for -l$lib) + extlib="not found" + for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib + do + if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then + LIBS="$LIBS -l$lib" + extlib="found at $dir" + break + fi + done + AC_MSG_RESULT($extlib)]) +# +# ---------------------------------------------------------------- +# AC_W3M_TERMLIB +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_TERMLIB], +[AC_MSG_CHECKING(terminal library) +AC_ARG_WITH(termlib, + [ --with-termlib[=LIBS] terminal library + LIBS is space separated list of: + terminfo mytinfo termcap ncurses curses],, + [with_termlib="yes"]) + AC_MSG_RESULT($with_termlib) + test x"$with_termlib" = xyes && with_termlib="terminfo mytinfo termlib termcap ncurses curses" + for lib in $with_termlib; do + AC_CHECK_LIB($lib, tgetent, [W3M_LIBS="$W3M_LIBS -l$lib"; break]) + done +]) +# +# ---------------------------------------------------------------- +# AC_W3M_GC +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_GC], +[AC_MSG_CHECKING(GC library exists) +AC_SUBST(LIBGC) +AC_ARG_WITH(gc, + [ --with-gc[=PREFIX] libgc PREFIX], + [test x"$with_gc" = xno && AC_MSG_ERROR([You can not build w3m without gc])], + [with_gc="yes"]) + AC_MSG_RESULT($with_gc) + test x"$with_gc" = xyes && with_gc="/usr /usr/local ${HOME}" + unset ac_cv_header_gc_h + AC_CHECK_HEADER(gc.h) + if test x"$ac_cv_header_gc_h" = xno; then + AC_MSG_CHECKING(GC header location) + AC_MSG_RESULT($with_gc) + gcincludedir=no + for dir in $with_gc; do + for inc in include include/gc; do + cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$dir/$inc" + AC_MSG_CHECKING($dir/$inc) + unset ac_cv_header_gc_h + AC_CHECK_HEADER(gc.h, [gcincludedir="$dir/$inc"; CFLAGS="$CFLAGS -I$dir/$inc"; break]) + CPPFLAGS="$cppflags" + done + if test x"$gcincludedir" != xno; then + break; + fi + done + if test x"$gcincludedir" = xno; then + AC_MSG_ERROR([gc.h not found]) + fi + fi + unset ac_cv_lib_gc_GC_init + AC_CHECK_LIB(gc, GC_init, [LIBGC="-lgc"]) + if test x"$ac_cv_lib_gc_GC_init" = xno; then + AC_MSG_CHECKING(GC library location) + AC_MSG_RESULT($with_gc) + gclibdir=no + for dir in $with_gc; do + ldflags="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$dir/lib" + AC_MSG_CHECKING($dir) + unset ac_cv_lib_gc_GC_init + AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBGC="-L$dir/lib -lgc"; break]) + LDFLAGS="$ldflags" + done + if test x"$gclibdir" = xno; then + AC_MSG_ERROR([libgc not found]) + fi + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_SSL_DIGEST_AUTH +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SSL_DIGEST_AUTH], +[AC_SUBST(USE_SSL) +AC_SUBST(USE_SSL_VERIFY) +AC_MSG_CHECKING(if SSL is suported) +AC_ARG_WITH(ssl, + [ --with-ssl[=PREFIX] support https protocol],, + [with_ssl="yes"]) +AC_MSG_RESULT($with_ssl) +if test x"$with_ssl" != xno; then + PKG_CHECK_MODULES(SSL, openssl,,[ + AC_MSG_CHECKING(for SSL library/header) + test x"$with_ssl" = xyes && with_ssl="/usr/openssl /usr/ssl /usr /usr/local/openssl /usr/local/ssl /usr/local" + AC_MSG_RESULT($with_ssl) + for dir in $with_ssl + do + if test -f "$dir/include/openssl/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include/openssl" + if test "$dir" != "/usr"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + elif test "$dir" != "/usr" -a -f "$dir/include/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + if test "$dir" != "/usr" -a -f "$dir/lib/libssl.a"; then + SSL_LIBS="$SSL_LIBS -L$dir/lib" + fi + done + ]) + AC_CHECK_LIB(ssl, SSL_new, + [w3m_ssl="found"; CFLAGS="$CFLAGS $SSL_CFLAGS" W3M_LIBS="$W3M_LIBS $SSL_LIBS -lssl -lcrypto"], + [w3m_ssl="not found"], + [$SSL_LIBS -lcrypto]) + + if test x"$w3m_ssl" = xfound; then + AC_DEFINE(USE_SSL) + AC_MSG_CHECKING(if SSL certificate verify is enabled) + AC_ARG_ENABLE(sslverify, + [ --disable-sslverify verify SSL certificate],, + [enable_sslverify="yes"]) + test x"$enable_sslverify" = xyes && AC_DEFINE(USE_SSL_VERIFY) + AC_MSG_RESULT($enable_sslverify) + fi +fi +AC_SUBST(USE_DIGEST_AUTH) +AC_MSG_CHECKING(if digest auth is enabled) +AC_ARG_ENABLE(digest_auth, + [ --disable-digest-auth disable digest auth],, + [enable_digest_auth="yes"]) +if test x"$enable_digest_auth" = xyes -a x"$w3m_ssl" = xfound; then + AC_DEFINE(USE_DIGEST_AUTH) +else + enable_digest_auth="no" +fi +AC_MSG_RESULT($enable_digest_auth) +]) +# +# ---------------------------------------------------------------- +# AC_W3M_ALARM +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_ALARM], +[AC_SUBST(USE_ALARM) + AC_MSG_CHECKING(if alarm is enabled) + AC_ARG_ENABLE(alarm, + [ --disable-alarm disable alarm],, + [enable_alarm="yes"]) + AC_MSG_RESULT($enable_alarm) + if test x"$enable_alarm" = xyes; then + AC_TRY_COMPILE( + [#include <unistd.h> +#include <signal.h>], + [int sa = SIGALRM; + void (*a) = alarm;], + [AC_DEFINE(USE_ALARM)]) + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_CHECK_VER(name, version, major, minor, micro, +# action-if-ok, message-if-badver, action-if-nover) +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_CHECK_VER], +[version="$2" + if test x"$version" != x; then + AC_MSG_CHECKING($1 version) + AC_MSG_RESULT($version) + set -- `echo "$version" | sed 's/[[^0-9]]/ /g'` + if test "$[1]" -ne "$3" -o "$[2]" -lt "$4" || test "$[2]" -eq "$4" -a "$[3]" -lt "$5"; then + AC_MSG_WARN([$1 is too old. Install $1 (version >= $3.$4.$5)]) + $7 + else + $6 + fi + else + AC_MSG_WARN([$1 is not installed. Install $1 (version >= $3.$4.$5)]) + $7 + fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_IMAGE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_IMAGE], +[AC_SUBST(USE_IMAGE) + AC_SUBST(USE_W3MIMG_X11) + AC_SUBST(USE_W3MIMG_FB) + AC_SUBST(W3MIMGDISPLAY_SETUID) + AC_SUBST(INSTALL_W3MIMGDISPLAY) + INSTALL_W3MIMGDISPLAY='${INSTALL_PROGRAM}' + AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY) + AC_SUBST(USE_GDKPIXBUF) + AC_SUBST(USE_GTK2) + AC_SUBST(USE_IMLIB) + AC_SUBST(USE_IMLIB2) + AC_SUBST(IMGTARGETS) + AC_SUBST(IMGOBJS) + AC_SUBST(IMGX11CFLAGS) + AC_SUBST(IMGX11LDFLAGS) + AC_SUBST(IMGFBCFLAGS) + AC_SUBST(IMGFBLDFLAGS) + AC_MSG_CHECKING(if image is enabled) + AC_ARG_ENABLE(image, + [ --enable-image[=DEVS] enable inline image handler for DEVS + DEVS may be comma separeted: x11,fb,fb+s + default: autodetected. + 'no' means disable inline image],, + [enable_image="yes"]) + AC_MSG_RESULT($enable_image) + if test x"$enable_image" != xno; then + IMGOBJS=w3mimg.o + if test x"$enable_image" = xyes; then + enable_image=x11 + case "`uname -s`" in + Linux|linux|LINUX) + if test -c /dev/fb0; then + enable_image=x11,fb + fi;; + esac + fi + save_ifs="$IFS"; IFS=","; + for img in $enable_image; do + case $img in + x11) x11=yes;; + fb) fb=yes;; + fb+s) fb=yes + AC_DEFINE(W3MIMGDISPLAY_SETUID) + INSTALL_W3MIMGDISPLAY='${INSTALL} -o root -m 4755 -s' + AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY);; + esac + done + IFS="$save_ifs" + enable_image=yes + AC_DEFINE(USE_IMAGE) + AC_MSG_CHECKING(image library) + AC_ARG_WITH(imagelib, + [ --with-imagelib=IMAGELIBS image library + IMAGELIBS may be space separeted list of: + gtk2 gdk-pixbuf imlib imlib2],, + + [with_imagelib="yes"]) + if test x"$with_imagelib" = xyes; then + with_imagelib="gtk2 gdk-pixbuf imlib imlib2" + fi + AC_MSG_RESULT($with_imagelib) + with_imlib=no + with_imlib2=no + with_gdkpixbuf=no + with_gtk2=no + for imagelib in $with_imagelib + do + case "$imagelib" in + imlib) + with_imlib="yes" + if test x"$IMLIB_CONFIG" = x; then + IMLIB_CONFIG=imlib-config + fi;; + imlib2) + with_imlib2="yes" + if test x"$IMLIB2_CONFIG" = x; then + IMLIB2_CONFIG=imlib2-config + fi;; + gdk-pixbuf) + with_gdkpixbuf="yes" + if test x"$GDKPIXBUF_CONFIG" = x; then + GDKPIXBUF_CONFIG=gdk-pixbuf-config + fi;; + gtk2) + with_gtk2="yes" + if test x"$PKG_CONFIG" = x; then + PKG_CONFIG=pkg-config + else + PKG_CONFIG=: + fi;; + esac + done + IMGTARGETS="" + if test x"$with_gtk2" = xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$PKG_CONFIG --modversion gdk-pixbuf-2.0 2>/dev/null`], + 2, 0, 0, + [have_gdkpixbuf="yes"; have_gtk2="yes"], + [have_gdkpixbuf="no"; have_gtk2="no"]) + fi + if test x"$with_gdkpixbuf" = xyes; then + if test x"$have_gdkpixbuf" != xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$GDKPIXBUF_CONFIG --version 2>/dev/null`], + 0, 16, 0, + [have_gdkpixbuf="yes"], + [have_gdkpixbuf="no"]) + fi + fi + if test x"$with_imlib" = xyes; then + AC_W3M_CHECK_VER([Imlib], + [`$IMLIB_CONFIG --version 2>/dev/null`], + 1, 9, 8, + [have_imlib="yes"], + [have_imlib="no"]) + fi + if test x"$with_imlib2" = xyes; then + AC_W3M_CHECK_VER([Imlib2], + [`$IMLIB2_CONFIG --version 2>/dev/null`], + 1, 0, 5, + [have_imlib2="yes"], + [have_imlib2="no"]) + fi + if test x"$x11" = xyes; then + if test x"$have_gtk2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_GDKPIXBUF) + AC_DEFINE(USE_GTK2) + IMGX11CFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + IMGX11LDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_GDKPIXBUF) + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + elif test x"$have_imlib" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_IMLIB) + IMGX11CFLAGS="`${IMLIB_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB_CONFIG} --libs`" + IMGTARGETS="x11" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + AC_DEFINE(USE_IMLIB2) + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + AC_MSG_WARN([unable to build w3mimgdisplay with X11 support]) + fi + fi + if test x"$fb" = xyes; then + if test x"$have_gtk2" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_GDKPIXBUF) + AC_DEFINE(USE_GTK2) + IMGFBCFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gtk+-2.0`" + IMGFBLDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_GDKPIXBUF) + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + AC_DEFINE(USE_IMLIB2) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGFBLDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + AC_MSG_WARN([unable to build w3mimgdisplay with FB support]) + fi + fi + AC_DEFINE(IMGTARGETS, "$IMGTARGETS") + AC_DEFINE(IMGOBJS, "$IMGOBJS") + AC_DEFINE(IMGX11CFLAGS, "$IMGX11CFLAGS") + AC_DEFINE(IMGX11LDFLAGS, "$IMGX11LDFLAGS") + AC_DEFINE(IMGFBCFLAGS, "$IMGFBCFLAGS") + AC_DEFINE(IMGFBLDFLAGS, "$IMGLDFLAGS") + fi]) +# ---------------------------------------------------------------- +# AC_W3M_XFACE +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_XFACE], +[AC_SUBST(USE_XFACE) + AC_MSG_CHECKING(if xface is enabled) + AC_ARG_ENABLE(xface, + [ --disable-xface disable xface support],, + [enable_xface="$enable_image"]) + test x"$enable_xface" = xyes && AC_DEFINE(USE_XFACE) + AC_MSG_RESULT($enable_xface) + AC_CHECK_PROG(uncompface, uncompface, "yes", "no") + test "$uncompface" = "no" && AC_MSG_WARN([uncompface is not installed.]) +]) +# +# ---------------------------------------------------------------- +# AC_W3M_IPv6 +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_IPv6], +[AC_MSG_CHECKING(if IPv6 support is enabled) +AC_ARG_ENABLE(ipv6, + [ --disable-ipv6 disable IPv6],, + [enable_ipv6="yes"]) +AC_MSG_RESULT($enable_ipv6) + +if test x"$enable_ipv6" = xyes; then + AC_MSG_CHECKING(if IPv6 API available) + AC_SUBST(INET6) + AC_CHECK_FUNC(getaddrinfo, + [enable_ipv6="yes"], + [enable_ipv6="no"]) + if test x"$enable_ipv6" = xno; then + AC_MSG_CHECKING(for libinet6) + for dir in /usr/local/v6/lib /usr/local/lib /usr/lib + do + if test -f $dir/libinet6.a; then + if test $dir != "/usr/lib"; then + W3M_LIBS="$W3M_LIBS -L$dir" + fi + AC_CHECK_LIB(inet6, getaddrinfo, + [enable_ipv6="yes" + use_libinet6="found"; W3M_LIBS="$W3M_LIBS -linet6"; break], + [use_libinet6="not found"]) + fi + done + AC_MSG_RESULT($use_libinet6) + fi + if test x"$enable_ipv6" = xyes; then + AC_SUBST(HAVE_OLD_SS_FAMILY) + AC_MSG_CHECKING(if struct sockaddr_storage has an ss_family member) + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ], [ + struct sockaddr_storage ss; + int i = ss.ss_family; + ], + [AC_MSG_RESULT(yes)], + [AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ], + [ + struct sockaddr_storage ss; + int i = ss.__ss_family; + ], + [AC_MSG_RESULT(no, but __ss_family exists) + AC_DEFINE(HAVE_OLD_SS_FAMILY)], + [AC_MSG_RESULT(no) + AC_MSG_WARN(IPv6 support is disabled) + enable_ipv6="no"]) + ]) + fi + if test x"$enable_ipv6" = xyes; then + AC_DEFINE(INET6) + fi +fi]) +# +# ---------------------------------------------------------------- +# AC_W3M_SYS_ERRLIST +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SYS_ERRLIST], +[AC_SUBST(HAVE_SYS_ERRLIST) +AC_MSG_CHECKING(for sys_errlist) +AC_TRY_COMPILE( +changequote(<<,>>)dnl +<<extern char *sys_errlist[];>>, +<<printf(sys_errlist[0]);>>, +changequote([,])dnl +[have_sys_errlist="yes"; AC_DEFINE(HAVE_SYS_ERRLIST)], +[have_sys_errlist="no"]) +AC_MSG_RESULT($have_sys_errlist)]) +# +# ---------------------------------------------------------------- +# AC_W3M_SIGSETJMP +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SIGSETJMP], +[AC_SUBST(HAVE_SIGSETJMP) +AC_MSG_CHECKING(for sigsetjmp) +AC_TRY_COMPILE( +[#include <setjmp.h>], +[ jmp_buf env; + if (sigsetjmp(env, 1) != 0) { exit(0); } siglongjmp(env, 1);], +[have_sigsetjmp="yes"; AC_DEFINE(HAVE_SIGSETJMP)], +[have_sigsetjmp="no"]) +AC_MSG_RESULT($have_sigsetjmp)]) +# +# ---------------------------------------------------------------- +# AC_W3M_SIGNAL_RETURN +# ---------------------------------------------------------------- +AC_DEFUN([AC_W3M_SIGNAL], +[AC_TYPE_SIGNAL + AC_SUBST(RETSIGTYPE) + AC_SUBST(SIGNAL_RETURN) + if test x"$ac_cv_type_signal" = xvoid; then + AC_DEFINE(SIGNAL_RETURN,return) + else + AC_DEFINE(SIGNAL_RETURN,return 0) + fi]) + +# lib-prefix.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +# lib-link.m4 serial 4 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes ;; +*) + acl_cv_prog_gnu_ld=no ;; +esac]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# 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 +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) + + +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 -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + 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 + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_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 $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 +]) + + + +# gettext.m4 serial 28 (gettext-0.13) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Set USE_NLS. + AM_NLS + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + dnl Add a version number to the cache macros. + define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) + + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include <libintl.h> +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) + + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include <libintl.h> +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <libintl.h> +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([bh_C_SIGNED])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl + AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl + AC_REQUIRE([gt_TYPE_WCHAR_T])dnl + AC_REQUIRE([gt_TYPE_WINT_T])dnl + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + AC_REQUIRE([gt_TYPE_INTMAX_T]) + AC_REQUIRE([gt_PRINTF_POSIX]) + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + AC_REQUIRE([gl_XSIZE])dnl + + AC_CHECK_TYPE([ptrdiff_t], , + [AC_DEFINE([ptrdiff_t], [long], + [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) + ]) + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \ +mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ +strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ +__fsetlocking]) + + dnl Use the _snprintf function only if it is declared (because on NetBSD it + dnl is defined as a weak alias of snprintf; we prefer to use the latter). + gt_CHECK_DECL(_snprintf, [#include <stdio.h>]) + gt_CHECK_DECL(_snwprintf, [#include <stdio.h>]) + + dnl Use the *_unlocked functions only if they are declared. + dnl (because some of them were defined without being declared in Solaris + dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built + dnl on Solaris 2.5.1 to run on Solaris 2.6). + dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. + gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>]) + gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>]) + gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>]) + + case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; + esac + AC_SUBST([HAVE_POSIX_PRINTF]) + if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 + else + HAVE_ASPRINTF=0 + fi + AC_SUBST([HAVE_ASPRINTF]) + if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 + else + HAVE_SNPRINTF=0 + fi + AC_SUBST([HAVE_SNPRINTF]) + if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 + else + HAVE_WPRINTF=0 + fi + AC_SUBST([HAVE_WPRINTF]) + + AM_ICONV + AM_LANGINFO_CODESET + if test $ac_cv_header_locale_h = yes; then + AM_LC_MESSAGES + fi + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) + + +dnl gt_CHECK_DECL(FUNC, INCLUDES) +dnl Check whether a function is declared. +AC_DEFUN([gt_CHECK_DECL], +[ + AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, + [AC_TRY_COMPILE([$2], [ +#ifndef $1 + char *p = (char *) $1; +#endif +], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) + if test $ac_cv_have_decl_$1 = yes; then + gt_value=1 + else + gt_value=0 + fi + AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], + [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + +# po.m4 serial 3 (gettext-0.14) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat <<EOT +$* +EOT + } + gt_echo='echo_func' + fi + fi + + # A sed script that extracts the value of VARIABLE from a Makefile. + sed_x_variable=' +# Test if the hold space is empty. +x +s/P/P/ +x +ta +# Yes it was empty. Look if we have the expected variable definition. +/^[ ]*VARIABLE[ ]*=/{ + # Seen the first line of the variable definition. + s/^[ ]*VARIABLE[ ]*=// + ba +} +bd +:a +# Here we are processing a line from the variable definition. +# Remove comment, more precisely replace it with a space. +s/#.*$/ / +# See if the line ends in a backslash. +tb +:b +s/\\$// +# Print the line, without the trailing backslash. +p +tc +# There was no trailing backslash. The end of the variable definition is +# reached. Clear the hold space. +s/^.*$// +x +bd +:c +# A trailing backslash means that the variable definition continues in the +# next line. Put a nonempty string into the hold space to indicate this. +s/^.*$/P/ +x +:d +' +changequote([,])dnl + + # Set POTFILES to the value of the Makefile variable POTFILES. + sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`" + POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"` + # Compute POTFILES_DEPS as + # $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) + POTFILES_DEPS= + for file in $POTFILES; do + POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file" + done + POMAKEFILEDEPS="" + + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. + sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`" + ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` + fi + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + # Compute PROPERTIESFILES + # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) + # Compute CLASSFILES + # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) + # Compute QMFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) + # Compute MSGFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg) + # Compute RESOURCESDLLFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + PROPERTIESFILES= + CLASSFILES= + QMFILES= + MSGFILES= + RESOURCESDLLFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" + CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" + QMFILES="$QMFILES $srcdirpre$lang.qm" + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" + frobbedlang=`echo $lang | sed -e 's/_/-/g'` + RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + JAVACATALOGS= + QTCATALOGS= + TCLCATALOGS= + CSHARPCATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties" + QTCATALOGS="$QTCATALOGS $lang.qm" + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg" + frobbedlang=`echo $lang | sed -e 's/_/-/g'` + CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll" + done + fi + + sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" <<EOF +$frobbedlang.msg: $lang.po + @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ + \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF + done + fi + if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g'` + cat >> "$ac_file.tmp" <<EOF +$frobbedlang/\$(DOMAIN).resources.dll: $lang.po + @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ + \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF + done + fi + if test -n "$POMAKEFILEDEPS"; then + cat >> "$ac_file.tmp" <<EOF +Makefile: $POMAKEFILEDEPS +EOF + fi + mv "$ac_file.tmp" "$ac_file" +]) + +# nls.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) + +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate it. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) + +# progtest.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1996. + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# 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 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) + +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) + +# signed.m4 serial 1 (gettext-0.10.40) +dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([bh_C_SIGNED], +[ + AC_CACHE_CHECK([for signed], bh_cv_c_signed, + [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) + if test $bh_cv_c_signed = no; then + AC_DEFINE(signed, , + [Define to empty if the C compiler doesn't support this keyword.]) + fi +]) + +# longlong.m4 serial 4 +dnl Copyright (C) 1999-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_LONG_LONG if 'long long' works. + +AC_DEFUN([jm_AC_TYPE_LONG_LONG], +[ + AC_CACHE_CHECK([for long long], ac_cv_type_long_long, + [AC_TRY_LINK([long long ll = 1LL; int i = 63;], + [long long llmax = (long long) -1; + return ll << i | ll >> i | llmax / ll | llmax % ll;], + ac_cv_type_long_long=yes, + ac_cv_type_long_long=no)]) + if test $ac_cv_type_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, + [Define if you have the 'long long' type.]) + fi +]) + +# longdouble.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. +dnl Test whether the compiler supports the 'long double' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_LONGDOUBLE], +[ + AC_CACHE_CHECK([for long double], gt_cv_c_long_double, + [if test "$GCC" = yes; then + gt_cv_c_long_double=yes + else + AC_TRY_COMPILE([ + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ + int array [2*(sizeof(long double) >= sizeof(double)) - 1]; + ], , + gt_cv_c_long_double=yes, gt_cv_c_long_double=no) + fi]) + if test $gt_cv_c_long_double = yes; then + AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) + fi +]) + +# wchar_t.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. +dnl Test whether <stddef.h> has the 'wchar_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WCHAR_T], +[ + AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, + [AC_TRY_COMPILE([#include <stddef.h> + wchar_t foo = (wchar_t)'\0';], , + gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) + if test $gt_cv_c_wchar_t = yes; then + AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) + fi +]) + +# wint_t.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. +dnl Test whether <wchar.h> has the 'wint_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WINT_T], +[ + AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, + [AC_TRY_COMPILE([#include <wchar.h> + wint_t foo = (wchar_t)'\0';], , + gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) + if test $gt_cv_c_wint_t = yes; then + AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) + fi +]) + +# inttypes_h.m4 serial 5 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists, +# doesn't clash with <sys/types.h>, and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include <sys/types.h> +#include <inttypes.h>], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_inttypes_h=yes, + jm_ac_cv_header_inttypes_h=no)]) + if test $jm_ac_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, + and declares uintmax_t. ]) + fi +]) + +# stdint_h.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists, +# doesn't clash with <sys/types.h>, and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include <sys/types.h> +#include <stdint.h>], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_stdint_h=yes, + jm_ac_cv_header_stdint_h=no)]) + if test $jm_ac_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, + and declares uintmax_t. ]) + fi +]) + +# intmax.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. +dnl Test whether the system has the 'intmax_t' type, but don't attempt to +dnl find a replacement if it is lacking. + +AC_DEFUN([gt_TYPE_INTMAX_T], +[ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, + [AC_TRY_COMPILE([ +#include <stddef.h> +#include <stdlib.h> +#if HAVE_STDINT_H_WITH_UINTMAX +#include <stdint.h> +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include <inttypes.h> +#endif +], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) + if test $gt_cv_c_intmax_t = yes; then + AC_DEFINE(HAVE_INTMAX_T, 1, + [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.]) + fi +]) + +# printf-posix.m4 serial 2 (gettext-0.13.1) +dnl Copyright (C) 2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. +dnl Test whether the printf() function supports POSIX/XSI format strings with +dnl positions. + +AC_DEFUN([gt_PRINTF_POSIX], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], + gt_cv_func_printf_posix, + [ + AC_TRY_RUN([ +#include <stdio.h> +#include <string.h> +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, + [ + AC_EGREP_CPP(notposix, [ +#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + notposix +#endif + ], gt_cv_func_printf_posix="guessing no", + gt_cv_func_printf_posix="guessing yes") + ]) + ]) + case $gt_cv_func_printf_posix in + *yes) + AC_DEFINE(HAVE_POSIX_PRINTF, 1, + [Define if your printf() function supports format strings with positions.]) + ;; + esac +]) + +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include <features.h> +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) + +# intdiv0.m4 serial 1 (gettext-0.11.3) +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([gt_INTDIV0], +[ + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + AC_TRY_RUN([ +#include <stdlib.h> +#include <signal.h> + +static void +#ifdef __cplusplus +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; +#endif +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} +], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, + [ + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i[34567]86 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + ]) + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + [Define if integer division by zero raises signal SIGFPE.]) +]) + +# uintmax_t.m4 serial 7 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_PREREQ(2.13) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in <stdint.h> or <inttypes.h>. + +AC_DEFUN([jm_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if <stdint.h> and <inttypes.h> don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.]) + fi +]) + +# ulonglong.m4 serial 3 +dnl Copyright (C) 1999-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. + +AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the 'unsigned long long' type.]) + fi +]) + +# inttypes.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with +# <sys/types.h>. + +AC_DEFUN([gt_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include <sys/types.h> +#include <inttypes.h>], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.]) + fi +]) + +# inttypes-pri.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include <inttypes.h> +#ifdef PRId32 +char *p = PRId32; +#endif +], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if <inttypes.h> exists and defines unusable PRI* macros.]) + fi +]) + +# xsize.m4 serial 2 +dnl Copyright (C) 2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_XSIZE], +[ + dnl Prerequisites of lib/xsize.h. + AC_REQUIRE([gl_SIZE_MAX]) + AC_CHECK_HEADERS(stdint.h) +]) + +# size_max.m4 serial 2 +dnl Copyright (C) 2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([gl_SIZE_MAX], +[ + AC_CHECK_HEADERS(stdint.h) + dnl First test whether the system already has SIZE_MAX. + AC_MSG_CHECKING([for SIZE_MAX]) + result= + AC_EGREP_CPP([Found it], [ +#include <limits.h> +#if HAVE_STDINT_H +#include <stdint.h> +#endif +#ifdef SIZE_MAX +Found it +#endif +], result=yes) + if test -z "$result"; then + dnl Define it ourselves. Here we assume that the type 'size_t' is not wider + dnl than the type 'unsigned long'. + dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr', + dnl which is guaranteed to work from LONG_MIN to LONG_MAX. + _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi, + [#include <stddef.h>], result=?) + _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo, + [#include <stddef.h>], result=?) + _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, + [#include <stddef.h>], result=?) + if test "$fits_in_uint" = 1; then + dnl Even though SIZE_MAX fits in an unsigned int, it must be of type + dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. + AC_TRY_COMPILE([#include <stddef.h> + extern size_t foo; + extern unsigned long foo; + ], [], fits_in_uint=0) + fi + if test -z "$result"; then + if test "$fits_in_uint" = 1; then + result="$res_hi$res_lo"U + else + result="$res_hi$res_lo"UL + fi + else + dnl Shouldn't happen, but who knows... + result='~(size_t)0' + fi + fi + AC_MSG_RESULT([$result]) + if test "$result" != yes; then + AC_DEFINE_UNQUOTED([SIZE_MAX], [$result], + [Define as the maximum value of type 'size_t', if the system doesn't define it.]) + fi +]) + +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include <langinfo.h>], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) + fi +]) + +# lcmessage.m4 serial 3 (gettext-0.11.3) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995. + +# Check whether LC_MESSAGES is available in <locale.h>. + +AC_DEFUN([AM_LC_MESSAGES], +[ + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your <locale.h> file defines LC_MESSAGES.]) + fi +]) + diff --git a/anchor.c b/anchor.c new file mode 100644 index 0000000..27bbd56 --- /dev/null +++ b/anchor.c @@ -0,0 +1,868 @@ +/* $Id: anchor.c,v 1.33 2006/04/08 11:33:16 inu Exp $ */ +#include "fm.h" +#include "myctype.h" +#include "regex.h" + +#define FIRST_ANCHOR_SIZE 30 + +AnchorList * +putAnchor(AnchorList *al, char *url, char *target, Anchor **anchor_return, + char *referer, char *title, unsigned char key, int line, int pos) +{ + int n, i, j; + Anchor *a; + BufferPoint bp; + if (al == NULL) { + al = New(AnchorList); + al->anchors = NULL; + al->nanchor = al->anchormax = 0; + al->acache = -1; + } + if (al->anchormax == 0) { + /* first time; allocate anchor buffer */ + al->anchors = New_N(Anchor, FIRST_ANCHOR_SIZE); + al->anchormax = FIRST_ANCHOR_SIZE; + } + if (al->nanchor == al->anchormax) { /* need realloc */ + al->anchormax *= 2; + al->anchors = New_Reuse(Anchor, al->anchors, al->anchormax); + } + bp.line = line; + bp.pos = pos; + n = al->nanchor; + if (!n || bpcmp(al->anchors[n - 1].start, bp) < 0) + i = n; + else + for (i = 0; i < n; i++) { + if (bpcmp(al->anchors[i].start, bp) >= 0) { + for (j = n; j > i; j--) + al->anchors[j] = al->anchors[j - 1]; + break; + } + } + a = &al->anchors[i]; + a->url = url; + a->target = target; + a->referer = referer; + a->title = title; + a->accesskey = key; + a->slave = FALSE; + a->start = bp; + a->end = bp; + al->nanchor++; + if (anchor_return) + *anchor_return = a; + return al; +} + + +Anchor * +registerHref(Buffer *buf, char *url, char *target, char *referer, char *title, + unsigned char key, int line, int pos) +{ + Anchor *a; + buf->href = putAnchor(buf->href, url, target, &a, referer, title, key, + line, pos); + return a; +} + +Anchor * +registerName(Buffer *buf, char *url, int line, int pos) +{ + Anchor *a; + buf->name = putAnchor(buf->name, url, NULL, &a, NULL, NULL, '\0', line, + pos); + return a; +} + +Anchor * +registerImg(Buffer *buf, char *url, char *title, int line, int pos) +{ + Anchor *a; + buf->img = putAnchor(buf->img, url, NULL, &a, NULL, title, '\0', line, + pos); + return a; +} + +Anchor * +registerForm(Buffer *buf, FormList *flist, struct parsed_tag *tag, int line, + int pos) +{ + Anchor *a; + FormItemList *fi; + + fi = formList_addInput(flist, tag); + if (fi == NULL) + return NULL; + buf->formitem = putAnchor(buf->formitem, (char *)fi, flist->target, &a, + NULL, NULL, '\0', line, pos); + return a; +} + +int +onAnchor(Anchor *a, int line, int pos) +{ + BufferPoint bp; + bp.line = line; + bp.pos = pos; + + if (bpcmp(bp, a->start) < 0) + return -1; + if (bpcmp(a->end, bp) <= 0) + return 1; + return 0; +} + +Anchor * +retrieveAnchor(AnchorList *al, int line, int pos) +{ + Anchor *a; + size_t b, e; + int cmp; + + if (al == NULL || al->nanchor == 0) + return NULL; + + if (al->acache < 0 || al->acache >= al->nanchor) + al->acache = 0; + + for (b = 0, e = al->nanchor - 1; b <= e; al->acache = (b + e) / 2) { + a = &al->anchors[al->acache]; + cmp = onAnchor(a, line, pos); + if (cmp == 0) + return a; + else if (cmp > 0) + b = al->acache + 1; + else if (al->acache == 0) + return NULL; + else + e = al->acache - 1; + } + return NULL; +} + +Anchor * +retrieveCurrentAnchor(Buffer *buf) +{ + if (buf->currentLine == NULL) + return NULL; + return retrieveAnchor(buf->href, buf->currentLine->linenumber, buf->pos); +} + +Anchor * +retrieveCurrentImg(Buffer *buf) +{ + if (buf->currentLine == NULL) + return NULL; + return retrieveAnchor(buf->img, buf->currentLine->linenumber, buf->pos); +} + +Anchor * +retrieveCurrentForm(Buffer *buf) +{ + if (buf->currentLine == NULL) + return NULL; + return retrieveAnchor(buf->formitem, + buf->currentLine->linenumber, buf->pos); +} + +Anchor * +searchAnchor(AnchorList *al, char *str) +{ + int i; + Anchor *a; + if (al == NULL) + return NULL; + for (i = 0; i < al->nanchor; i++) { + a = &al->anchors[i]; + if (a->hseq < 0) + continue; + if (!strcmp(a->url, str)) + return a; + } + return NULL; +} + +Anchor * +searchURLLabel(Buffer *buf, char *url) +{ + return searchAnchor(buf->name, url); +} + +#ifdef USE_NNTP +static Anchor * +_put_anchor_news(Buffer *buf, char *p1, char *p2, int line, int pos) +{ + Str tmp; + + if (*p1 == '<') { + p1++; + if (*(p2 - 1) == '>') + p2--; + } + tmp = wc_Str_conv_strict(Strnew_charp_n(p1, p2 - p1), InnerCharset, + buf->document_charset); + tmp = Sprintf("news:%s", file_quote(tmp->ptr)); + return registerHref(buf, tmp->ptr, NULL, NO_REFERER, NULL, '\0', line, + pos); +} +#endif /* USE_NNTP */ + +static Anchor * +_put_anchor_all(Buffer *buf, char *p1, char *p2, int line, int pos) +{ + Str tmp; + + tmp = wc_Str_conv_strict(Strnew_charp_n(p1, p2 - p1), InnerCharset, + buf->document_charset); + return registerHref(buf, url_quote(tmp->ptr), NULL, NO_REFERER, NULL, + '\0', line, pos); +} + +static void +reseq_anchor0(AnchorList *al, short *seqmap) +{ + int i; + Anchor *a; + + if (!al) + return; + + for (i = 0; i < al->nanchor; i++) { + a = &al->anchors[i]; + if (a->hseq >= 0) { + a->hseq = seqmap[a->hseq]; + } + } +} + +/* renumber anchor */ +static void +reseq_anchor(Buffer *buf) +{ + int i, j, n, nmark = (buf->hmarklist) ? buf->hmarklist->nmark : 0; + short *seqmap; + Anchor *a, *a1; + HmarkerList *ml = NULL; + + if (!buf->href) + return; + + n = nmark; + for (i = 0; i < buf->href->nanchor; i++) { + a = &buf->href->anchors[i]; + if (a->hseq == -2) + n++; + } + + if (n == nmark) + return; + + seqmap = NewAtom_N(short, n); + + for (i = 0; i < n; i++) + seqmap[i] = i; + + n = nmark; + for (i = 0; i < buf->href->nanchor; i++) { + a = &buf->href->anchors[i]; + if (a->hseq == -2) { + a->hseq = n; + a1 = closest_next_anchor(buf->href, NULL, a->start.pos, + a->start.line); + a1 = closest_next_anchor(buf->formitem, a1, a->start.pos, + a->start.line); + if (a1 && a1->hseq >= 0) { + seqmap[n] = seqmap[a1->hseq]; + for (j = a1->hseq; j < nmark; j++) + seqmap[j]++; + } + ml = putHmarker(ml, a->start.line, a->start.pos, seqmap[n]); + n++; + } + } + + for (i = 0; i < nmark; i++) { + ml = putHmarker(ml, buf->hmarklist->marks[i].line, + buf->hmarklist->marks[i].pos, seqmap[i]); + } + buf->hmarklist = ml; + + reseq_anchor0(buf->href, seqmap); + reseq_anchor0(buf->formitem, seqmap); +} + +static char * +reAnchorPos(Buffer *buf, Line *l, char *p1, char *p2, + Anchor *(*anchorproc) (Buffer *, char *, char *, int, int)) +{ + Anchor *a; + int spos, epos; + int i, hseq = -2; + + spos = p1 - l->lineBuf; + epos = p2 - l->lineBuf; + for (i = spos; i < epos; i++) { + if (l->propBuf[i] & (PE_ANCHOR | PE_FORM)) + return p2; + } + for (i = spos; i < epos; i++) + l->propBuf[i] |= PE_ANCHOR; + while (spos > l->len && l->next && l->next->bpos) { + spos -= l->len; + epos -= l->len; + l = l->next; + } + while (1) { + a = anchorproc(buf, p1, p2, l->linenumber, spos); + a->hseq = hseq; + if (hseq == -2) { + reseq_anchor(buf); + hseq = a->hseq; + } + a->end.line = l->linenumber; + if (epos > l->len && l->next && l->next->bpos) { + a->end.pos = l->len; + spos = 0; + epos -= l->len; + l = l->next; + } + else { + a->end.pos = epos; + break; + } + } + return p2; +} + +void +reAnchorWord(Buffer *buf, Line *l, int spos, int epos) +{ + reAnchorPos(buf, l, &l->lineBuf[spos], &l->lineBuf[epos], _put_anchor_all); +} + +/* search regexp and register them as anchors */ +/* returns error message if any */ +static char * +reAnchorAny(Buffer *buf, char *re, + Anchor *(*anchorproc) (Buffer *, char *, char *, int, int)) +{ + Line *l; + char *p = NULL, *p1, *p2; + + if (re == NULL || *re == '\0') { + return NULL; + } + if ((re = regexCompile(re, 1)) != NULL) { + return re; + } + for (l = MarkAllPages ? buf->firstLine : buf->topLine; l != NULL && + (MarkAllPages || l->linenumber < buf->topLine->linenumber + LASTLINE); + l = l->next) { + if (p && l->bpos) + goto next_line; + p = l->lineBuf; + for (;;) { + if (regexMatch(p, &l->lineBuf[l->size] - p, p == l->lineBuf) == 1) { + matchedPosition(&p1, &p2); + p = reAnchorPos(buf, l, p1, p2, anchorproc); + } + else + break; + } + next_line: + if (MarkAllPages && l->next == NULL && buf->pagerSource && + !(buf->bufferprop & BP_CLOSE)) + getNextPage(buf, PagerMax); + } + return NULL; +} + +char * +reAnchor(Buffer *buf, char *re) +{ + return reAnchorAny(buf, re, _put_anchor_all); +} + +#ifdef USE_NNTP +char * +reAnchorNews(Buffer *buf, char *re) +{ + return reAnchorAny(buf, re, _put_anchor_news); +} + +char * +reAnchorNewsheader(Buffer *buf) +{ + Line *l; + char *p, *p1, *p2; + static char *header_mid[] = { + "Message-Id:", "References:", "In-Reply-To:", NULL + }; + static char *header_group[] = { + "Newsgroups:", NULL + }; + char **header, **q; + int i, search = FALSE; + + if (!buf || !buf->firstLine) + return NULL; + for (i = 0; i <= 1; i++) { + if (i == 0) { + regexCompile("<[!-;=?-~]+@[a-zA-Z0-9\\.\\-_]+>", 1); + header = header_mid; + } + else { + regexCompile("[a-zA-Z0-9\\.\\-_]+", 1); + header = header_group; + } + for (l = buf->firstLine; l != NULL && l->real_linenumber == 0; + l = l->next) { + if (l->bpos) + continue; + p = l->lineBuf; + if (!IS_SPACE(*p)) { + search = FALSE; + for (q = header; *q; q++) { + if (!strncasecmp(p, *q, strlen(*q))) { + search = TRUE; + p = strchr(p, ':') + 1; + break; + } + } + } + if (!search) + continue; + for (;;) { + if (regexMatch(p, &l->lineBuf[l->size] - p, p == l->lineBuf) + == 1) { + matchedPosition(&p1, &p2); + p = reAnchorPos(buf, l, p1, p2, _put_anchor_news); + } + else + break; + } + } + } + reseq_anchor(buf); + return NULL; +} +#endif /* USE_NNTP */ + +#define FIRST_MARKER_SIZE 30 +HmarkerList * +putHmarker(HmarkerList *ml, int line, int pos, int seq) +{ + if (ml == NULL) { + ml = New(HmarkerList); + ml->marks = NULL; + ml->nmark = 0; + ml->markmax = 0; + ml->prevhseq = -1; + } + if (ml->markmax == 0) { + ml->markmax = FIRST_MARKER_SIZE; + ml->marks = NewAtom_N(BufferPoint, ml->markmax); + bzero(ml->marks, sizeof(BufferPoint) * ml->markmax); + } + if (seq + 1 > ml->nmark) + ml->nmark = seq + 1; + if (ml->nmark >= ml->markmax) { + ml->markmax = ml->nmark * 2; + ml->marks = New_Reuse(BufferPoint, ml->marks, ml->markmax); + } + ml->marks[seq].line = line; + ml->marks[seq].pos = pos; + ml->marks[seq].invalid = 0; + return ml; +} + +Anchor * +closest_next_anchor(AnchorList *a, Anchor *an, int x, int y) +{ + int i; + + if (a == NULL || a->nanchor == 0) + return an; + for (i = 0; i < a->nanchor; i++) { + if (a->anchors[i].hseq < 0) + continue; + if (a->anchors[i].start.line > y || + (a->anchors[i].start.line == y && a->anchors[i].start.pos > x)) { + if (an == NULL || an->start.line > a->anchors[i].start.line || + (an->start.line == a->anchors[i].start.line && + an->start.pos > a->anchors[i].start.pos)) + an = &a->anchors[i]; + } + } + return an; +} + +Anchor * +closest_prev_anchor(AnchorList *a, Anchor *an, int x, int y) +{ + int i; + + if (a == NULL || a->nanchor == 0) + return an; + for (i = 0; i < a->nanchor; i++) { + if (a->anchors[i].hseq < 0) + continue; + if (a->anchors[i].end.line < y || + (a->anchors[i].end.line == y && a->anchors[i].end.pos <= x)) { + if (an == NULL || an->end.line < a->anchors[i].end.line || + (an->end.line == a->anchors[i].end.line && + an->end.pos < a->anchors[i].end.pos)) + an = &a->anchors[i]; + } + } + return an; +} + +void +shiftAnchorPosition(AnchorList *al, HmarkerList *hl, int line, int pos, + int shift) +{ + Anchor *a; + size_t b, e, s = 0; + int cmp; + + if (al == NULL || al->nanchor == 0) + return; + + s = al->nanchor / 2; + for (b = 0, e = al->nanchor - 1; b <= e; s = (b + e + 1) / 2) { + a = &al->anchors[s]; + cmp = onAnchor(a, line, pos); + if (cmp == 0) + break; + else if (cmp > 0) + b = s + 1; + else if (s == 0) + break; + else + e = s - 1; + } + for (; s < al->nanchor; s++) { + a = &al->anchors[s]; + if (a->start.line > line) + break; + if (a->start.pos > pos) { + a->start.pos += shift; + if (hl->marks[a->hseq].line == line) + hl->marks[a->hseq].pos = a->start.pos; + } + if (a->end.pos >= pos) + a->end.pos += shift; + } +} + +#ifdef USE_IMAGE +void +addMultirowsImg(Buffer *buf, AnchorList *al) +{ + int i, j, k, col, ecol, pos; + Image *img; + Anchor a_img, a_href, a_form, *a; + Line *l, *ls; + + if (al == NULL || al->nanchor == 0) + return; + for (i = 0; i < al->nanchor; i++) { + a_img = al->anchors[i]; + img = a_img.image; + if (a_img.hseq < 0 || !img || img->rows <= 1) + continue; + for (l = buf->firstLine; l != NULL; l = l->next) { + if (l->linenumber == img->y) + break; + } + if (!l) + continue; + if (a_img.y == a_img.start.line) + ls = l; + else { + for (ls = l; ls != NULL; + ls = (a_img.y < a_img.start.line) ? ls->next : ls->prev) { + if (ls->linenumber == a_img.start.line) + break; + } + if (!ls) + continue; + } + a = retrieveAnchor(buf->href, a_img.start.line, a_img.start.pos); + if (a) + a_href = *a; + else + a_href.url = NULL; + a = retrieveAnchor(buf->formitem, a_img.start.line, a_img.start.pos); + if (a) + a_form = *a; + else + a_form.url = NULL; + col = COLPOS(ls, a_img.start.pos); + ecol = COLPOS(ls, a_img.end.pos); + for (j = 0; l && j < img->rows; l = l->next, j++) { + if (a_img.start.line == l->linenumber) + continue; + pos = columnPos(l, col); + a = registerImg(buf, a_img.url, a_img.title, l->linenumber, pos); + a->hseq = -a_img.hseq; + a->slave = TRUE; + a->image = img; + a->end.pos = pos + ecol - col; + for (k = pos; k < a->end.pos; k++) + l->propBuf[k] |= PE_IMAGE; + if (a_href.url) { + a = registerHref(buf, a_href.url, a_href.target, + a_href.referer, a_href.title, + a_href.accesskey, l->linenumber, pos); + a->hseq = a_href.hseq; + a->slave = TRUE; + a->end.pos = pos + ecol - col; + for (k = pos; k < a->end.pos; k++) + l->propBuf[k] |= PE_ANCHOR; + } + if (a_form.url) { + buf->formitem = putAnchor(buf->formitem, a_form.url, + a_form.target, &a, NULL, NULL, '\0', + l->linenumber, pos); + a->hseq = a_form.hseq; + a->end.pos = pos + ecol - col; + } + } + img->rows = 0; + } +} +#endif + +void +addMultirowsForm(Buffer *buf, AnchorList *al) +{ + int i, j, k, col, ecol, pos; + Anchor a_form, *a; + FormItemList *fi; + Line *l, *ls; + + if (al == NULL || al->nanchor == 0) + return; + for (i = 0; i < al->nanchor; i++) { + a_form = al->anchors[i]; + al->anchors[i].rows = 1; + if (a_form.hseq < 0 || a_form.rows <= 1) + continue; + for (l = buf->firstLine; l != NULL; l = l->next) { + if (l->linenumber == a_form.y) + break; + } + if (!l) + continue; + if (a_form.y == a_form.start.line) + ls = l; + else { + for (ls = l; ls != NULL; + ls = (a_form.y < a_form.start.line) ? ls->next : ls->prev) { + if (ls->linenumber == a_form.start.line) + break; + } + if (!ls) + continue; + } + fi = (FormItemList *)a_form.url; + col = COLPOS(ls, a_form.start.pos); + ecol = COLPOS(ls, a_form.end.pos); + for (j = 0; l && j < a_form.rows; l = l->next, j++) { + pos = columnPos(l, col); + if (j == 0) { + buf->hmarklist->marks[a_form.hseq].line = l->linenumber; + buf->hmarklist->marks[a_form.hseq].pos = pos; + } + if (a_form.start.line == l->linenumber) + continue; + buf->formitem = putAnchor(buf->formitem, a_form.url, + a_form.target, &a, NULL, NULL, '\0', + l->linenumber, pos); + a->hseq = a_form.hseq; + a->y = a_form.y; + a->end.pos = pos + ecol - col; + l->lineBuf[pos - 1] = '['; + l->lineBuf[a->end.pos] = ']'; + for (k = pos; k < a->end.pos; k++) + l->propBuf[k] |= PE_FORM; + } + } +} + +char * +getAnchorText(Buffer *buf, AnchorList *al, Anchor *a) +{ + int hseq, i; + Line *l; + Str tmp = NULL; + char *p, *ep; + + if (!a || a->hseq < 0) + return NULL; + hseq = a->hseq; + l = buf->firstLine; + for (i = 0; i < al->nanchor; i++) { + a = &al->anchors[i]; + if (a->hseq != hseq) + continue; + for (; l; l = l->next) { + if (l->linenumber == a->start.line) + break; + } + if (!l) + break; + p = l->lineBuf + a->start.pos; + ep = l->lineBuf + a->end.pos; + for (; p < ep && IS_SPACE(*p); p++) ; + if (p == ep) + continue; + if (!tmp) + tmp = Strnew_size(ep - p); + else + Strcat_char(tmp, ' '); + Strcat_charp_n(tmp, p, ep - p); + } + return tmp ? tmp->ptr : NULL; +} + +Buffer * +link_list_panel(Buffer *buf) +{ + LinkList *l; + AnchorList *al; + Anchor *a; + FormItemList *fi; + int i; + char *t, *u, *p; + ParsedURL pu; + /* FIXME: gettextize? */ + Str tmp = Strnew_charp("<title>Link List\ +

Link List

\n"); + + if (buf->bufferprop & BP_INTERNAL || + (buf->linklist == NULL && buf->href == NULL && buf->img == NULL)) { + return NULL; + } + + if (buf->linklist) { + Strcat_charp(tmp, "

Links

\n
    \n"); + for (l = buf->linklist; l; l = l->next) { + if (l->url) { + parseURL2(l->url, &pu, baseURL(buf)); + p = parsedURL2Str(&pu)->ptr; + u = html_quote(p); + if (DecodeURL) + p = html_quote(url_unquote_conv(p, buf->document_charset)); + else + p = u; + } + else + u = p = ""; + if (l->type == LINK_TYPE_REL) + t = " [Rel]"; + else if (l->type == LINK_TYPE_REV) + t = " [Rev]"; + else + t = ""; + t = Sprintf("%s%s\n", l->title ? l->title : "", t)->ptr; + t = html_quote(t); + Strcat_m_charp(tmp, "
  1. ", t, "
    ", p, + "\n", NULL); + } + Strcat_charp(tmp, "
\n"); + } + + if (buf->href) { + Strcat_charp(tmp, "

Anchors

\n
    \n"); + al = buf->href; + for (i = 0; i < al->nanchor; i++) { + a = &al->anchors[i]; + if (a->hseq < 0 || a->slave) + continue; + parseURL2(a->url, &pu, baseURL(buf)); + p = parsedURL2Str(&pu)->ptr; + u = html_quote(p); + if (DecodeURL) + p = html_quote(url_unquote_conv(p, buf->document_charset)); + else + p = u; + t = getAnchorText(buf, al, a); + t = t ? html_quote(t) : ""; + Strcat_m_charp(tmp, "
  1. ", t, "
    ", p, + "\n", NULL); + } + Strcat_charp(tmp, "
\n"); + } + + if (buf->img) { + Strcat_charp(tmp, "

Images

\n
    \n"); + al = buf->img; + for (i = 0; i < al->nanchor; i++) { + a = &al->anchors[i]; + if (a->slave) + continue; + parseURL2(a->url, &pu, baseURL(buf)); + p = parsedURL2Str(&pu)->ptr; + u = html_quote(p); + if (DecodeURL) + p = html_quote(url_unquote_conv(p, buf->document_charset)); + else + p = u; + if (a->title && *a->title) + t = html_quote(a->title); + else if (DecodeURL) + t = html_quote(url_unquote_conv + (a->url, buf->document_charset)); + else + t = html_quote(a->url); + Strcat_m_charp(tmp, "
  1. ", t, "
    ", p, + "\n", NULL); + a = retrieveAnchor(buf->formitem, a->start.line, a->start.pos); + if (!a) + continue; + fi = (FormItemList *)a->url; + fi = fi->parent->item; + if (fi->parent->method == FORM_METHOD_INTERNAL && + !Strcmp_charp(fi->parent->action, "map") && fi->value) { + MapList *ml = searchMapList(buf, fi->value->ptr); + ListItem *mi; + MapArea *m; + if (!ml) + continue; + Strcat_charp(tmp, "
    \nImage map\n
      \n"); + for (mi = ml->area->first; mi != NULL; mi = mi->next) { + m = (MapArea *) mi->ptr; + if (!m) + continue; + parseURL2(m->url, &pu, baseURL(buf)); + p = parsedURL2Str(&pu)->ptr; + u = html_quote(p); + if (DecodeURL) + p = html_quote(url_unquote_conv(p, + buf-> + document_charset)); + else + p = u; + if (m->alt && *m->alt) + t = html_quote(m->alt); + else if (DecodeURL) + t = html_quote(url_unquote_conv(m->url, + buf-> + document_charset)); + else + t = html_quote(m->url); + Strcat_m_charp(tmp, "
    1. ", t, + "
      ", p, "\n", NULL); + } + Strcat_charp(tmp, "
    \n"); + } + } + Strcat_charp(tmp, "
\n"); + } + + return loadHTMLString(tmp); +} diff --git a/backend.c b/backend.c new file mode 100644 index 0000000..101e67e --- /dev/null +++ b/backend.c @@ -0,0 +1,403 @@ +/* $Id: backend.c,v 1.13 2003/09/22 21:02:16 ukai Exp $ */ +#include +#include +#include +#include "fm.h" +#include +#include "terms.h" + + +/* Prototype declaration of internal functions */ +#ifdef HAVE_READLINE +#include +#else /* ! HAVE_READLINE */ +static char *readline(char *); +#endif /* ! HAVE_READLINE */ +static TextList *split(char *); + + +/* Prototype declaration of command functions */ +static void get(TextList *); +static void post(TextList *); +static void set(TextList *); +static void show(TextList *); +static void quit(TextList *); +static void help(TextList *); + + +/* *INDENT-OFF* */ +/* Table of command functions */ +struct { + const char *name; + const char *option_string; + const char *help; + void (*func)(TextList*); +} command_table[] = { + {"get", "[-download_only] URL", "Retrieve URL.", get}, + {"post", "[-download_only] [-target TARGET] [-charset CHARSET]" + " [-enctype ENCTYPE] [-body BODY] [-boundary BOUNDARY] [-length LEN] URL", + "Retrieve URL.", post}, + {"set", "VARIABLE VALUE", "Set VALUE to VARIABLE.", set}, + {"show", "VARIABLE", "Show value of VARIABLE.", show}, + {"quit", "", "Quit program.", quit}, + {"help", "", "Display help messages.", help}, + {NULL, NULL, NULL, NULL}, +}; +/* *INDENT-ON* */ + +/* Prototype declaration of functions to manipulate configuration variables */ +static void set_column(TextList *); +static void show_column(TextList *); + + +/* *INDENT-OFF* */ +/* Table of configuration variables */ +struct { + const char *name; + void (*set_func)(TextList*); + void (*show_func)(TextList*); +} variable_table[] = { + {"column", set_column, show_column}, + {NULL, NULL, NULL}, +}; +/* *INDENT-ON* */ + +static void +print_headers(Buffer *buf, int len) +{ + TextListItem *tp; + + if (buf->document_header) { + for (tp = buf->document_header->first; tp; tp = tp->next) + printf("%s\n", tp->ptr); + } + printf("w3m-current-url: %s\n", parsedURL2Str(&buf->currentURL)->ptr); + if (buf->baseURL) + printf("w3m-base-url: %s\n", parsedURL2Str(buf->baseURL)->ptr); + printf("w3m-content-type: %s\n", buf->type); +#ifdef USE_M17N + if (buf->document_charset) + printf("w3m-content-charset: %s\n", + wc_ces_to_charset(buf->document_charset)); +#endif + if (len > 0) + printf("w3m-content-length: %d\n", len); +} + + +static void +internal_get(char *url, int flag, FormList *request) +{ + Buffer *buf; + + backend_halfdump_buf = NULL; + do_download = flag; + buf = loadGeneralFile(url, NULL, NO_REFERER, 0, request); + do_download = FALSE; + if (buf != NULL && buf != NO_BUFFER) { + if (!strcasecmp(buf->type, "text/html") && backend_halfdump_buf) { + TextLineListItem *p; + Str first, last; + int len = 0; + for (p = backend_halfdump_buf->first; p; p = p->next) { + p->ptr->line = Str_conv_to_halfdump(p->ptr->line); + len += p->ptr->line->length + 1; + } + first = Strnew_charp("
\n");
+	    last = Strnew_m_charp("
", html_quote(buf->buffername), + "\n", NULL); + print_headers(buf, len + first->length + last->length); + printf("\n"); + printf("%s", first->ptr); + for (p = backend_halfdump_buf->first; p; p = p->next) + printf("%s\n", p->ptr->line->ptr); + printf("%s", last->ptr); + } + else { + if (!strcasecmp(buf->type, "text/plain")) { + Line *lp; + int len = 0; + for (lp = buf->firstLine; lp; lp = lp->next) { + len += lp->len; + if (lp->lineBuf[lp->len - 1] != '\n') + len++; + } + print_headers(buf, len); + printf("\n"); + saveBuffer(buf, stdout, TRUE); + } + else { + print_headers(buf, 0); + } + } + } +} + + +/* Command: get */ +static void +get(TextList *argv) +{ + char *p, *url = NULL; + int flag = FALSE; + + while ((p = popText(argv))) { + if (!strcasecmp(p, "-download_only")) + flag = TRUE; + else + url = p; + } + if (url) { + internal_get(url, flag, NULL); + } +} + + +/* Command: post */ +static void +post(TextList *argv) +{ + FormList *request; + char *p, *target = NULL, *charset = NULL, + *enctype = NULL, *body = NULL, *boundary = NULL, *url = NULL; + int flag = FALSE, length = 0; + + while ((p = popText(argv))) { + if (!strcasecmp(p, "-download_only")) + flag = TRUE; + else if (!strcasecmp(p, "-target")) + target = popText(argv); + else if (!strcasecmp(p, "-charset")) + charset = popText(argv); + else if (!strcasecmp(p, "-enctype")) + enctype = popText(argv); + else if (!strcasecmp(p, "-body")) + body = popText(argv); + else if (!strcasecmp(p, "-boundary")) + boundary = popText(argv); + else if (!strcasecmp(p, "-length")) + length = atol(popText(argv)); + else + url = p; + } + if (url) { + request = + newFormList(NULL, "post", charset, enctype, target, NULL, NULL); + request->body = body; + request->boundary = boundary; + request->length = (length > 0) ? length : (body ? strlen(body) : 0); + internal_get(url, flag, request); + } +} + + +/* Command: set */ +static void +set(TextList *argv) +{ + if (argv->nitem > 1) { + int i; + for (i = 0; variable_table[i].name; i++) { + if (!strcasecmp(variable_table[i].name, argv->first->ptr)) { + popText(argv); + if (variable_table[i].set_func) + variable_table[i].set_func(argv); + break; + } + } + } +} + + +/* Command: show */ +static void +show(TextList *argv) +{ + if (argv->nitem >= 1) { + int i; + for (i = 0; variable_table[i].name; i++) { + if (!strcasecmp(variable_table[i].name, argv->first->ptr)) { + popText(argv); + if (variable_table[i].show_func) + variable_table[i].show_func(argv); + break; + } + } + } +} + + +/* Command: quit */ +static void +quit(TextList *argv) +{ +#ifdef USE_COOKIE + save_cookies(); +#endif /* USE_COOKIE */ + w3m_exit(0); +} + + +/* Command: help */ +static void +help(TextList *argv) +{ + int i; + for (i = 0; command_table[i].name; i++) + printf("%s %s\n %s\n", + command_table[i].name, + command_table[i].option_string, command_table[i].help); +} + + +/* Sub command: set COLS */ +static void +set_column(TextList *argv) +{ + if (argv->nitem == 1) { + COLS = atol(argv->first->ptr); + } +} + +/* Sub command: show COLS */ +static void +show_column(TextList *argv) +{ + fprintf(stdout, "column=%d\n", COLS); +} + + +/* Call appropriate command function based on given string */ +static void +call_command_function(char *str) +{ + int i; + TextList *argv = split(str); + if (argv->nitem > 0) { + for (i = 0; command_table[i].name; i++) { + if (!strcasecmp(command_table[i].name, argv->first->ptr)) { + popText(argv); + if (command_table[i].func) + command_table[i].func(argv); + break; + } + } + } +} + + +/* Main function */ +int +backend(void) +{ + char *str; + + w3m_dump = 0; + if (COLS == 0) + COLS = 80; +#ifdef USE_MOUSE + use_mouse = FALSE; +#endif /* USE_MOUSE */ + + if (backend_batch_commands) { + while ((str = popText(backend_batch_commands))) + call_command_function(str); + } + else { + while ((str = readline("w3m> "))) + call_command_function(str); + } + quit(NULL); + return 0; +} + + +/* Dummy function of readline(). */ +#ifndef HAVE_READLINE +static char * +readline(char *prompt) +{ + Str s; + fputs(prompt, stdout); + fflush(stdout); + s = Strfgets(stdin); + if (feof(stdin) && (strlen(s->ptr) == 0)) + return NULL; + else + return s->ptr; +} +#endif /* ! HAVE_READLINE */ + + +/* Splits a string into a list of tokens and returns that list. */ +static TextList * +split(char *p) +{ + int in_double_quote = FALSE, in_single_quote = FALSE; + Str s = Strnew(); + TextList *tp = newTextList(); + + for (; *p; p++) { + switch (*p) { + case '"': + if (in_single_quote) + Strcat_char(s, '"'); + else + in_double_quote = !in_double_quote; + break; + case '\'': + if (in_double_quote) + Strcat_char(s, '\''); + else + in_single_quote = !in_single_quote; + break; + case '\\': + if (!in_single_quote) { + /* Process escape characters. */ + p++; + switch (*p) { + case 't': + Strcat_char(s, '\t'); + break; + case 'r': + Strcat_char(s, '\r'); + break; + case 'f': + Strcat_char(s, '\f'); + break; + case 'n': + Strcat_char(s, '\n'); + break; + case '\0': + goto LAST; + default: + Strcat_char(s, *p); + } + } + else { + Strcat_char(s, *p); + } + break; + case ' ': + case '\t': + case '\r': + case '\f': + case '\n': + /* Separators are detected. */ + if (in_double_quote || in_single_quote) { + Strcat_char(s, *p); + } + else if (s->length > 0) { + pushText(tp, s->ptr); + s = Strnew(); + } + break; + default: + Strcat_char(s, *p); + } + } + LAST: + if (s->length > 0) + pushText(tp, s->ptr); + return tp; +} diff --git a/buffer.c b/buffer.c new file mode 100644 index 0000000..f258dd6 --- /dev/null +++ b/buffer.c @@ -0,0 +1,769 @@ +/* $Id: buffer.c,v 1.29 2003/09/26 17:59:51 ukai Exp $ */ +#include "fm.h" + +#ifdef USE_MOUSE +#ifdef USE_GPM +#include +#endif +#if defined(USE_GPM) || defined(USE_SYSMOUSE) +extern int do_getch(); +#define getch() do_getch() +#endif /* USE_GPM */ +#endif /* USE_MOUSE */ + +#ifdef __EMX__ +#include +#include +#endif +char *NullLine = ""; +Lineprop NullProp[] = { 0 }; + +/* + * Buffer creation + */ +Buffer * +newBuffer(int width) +{ + Buffer *n; + + n = New(Buffer); + if (n == NULL) + return NULL; + bzero((void *)n, sizeof(Buffer)); + n->width = width; + n->COLS = COLS; + n->LINES = LASTLINE; + n->currentURL.scheme = SCM_UNKNOWN; + n->baseURL = NULL; + n->baseTarget = NULL; + n->buffername = ""; + n->bufferprop = BP_NORMAL; + n->clone = New(int); + *n->clone = 1; + n->trbyte = 0; +#ifdef USE_SSL + n->ssl_certificate = NULL; +#endif +#ifdef USE_M17N + n->auto_detect = WcOption.auto_detect; +#endif + return n; +} + +/* + * Create null buffer + */ +Buffer * +nullBuffer(void) +{ + Buffer *b; + + b = newBuffer(COLS); + b->buffername = "*Null*"; + return b; +} + +/* + * clearBuffer: clear buffer content + */ +void +clearBuffer(Buffer *buf) +{ + buf->firstLine = buf->topLine = buf->currentLine = buf->lastLine = NULL; + buf->allLine = 0; +} + +/* + * discardBuffer: free buffer structure + */ + +void +discardBuffer(Buffer *buf) +{ + int i; + Buffer *b; + +#ifdef USE_IMAGE + deleteImage(buf); +#endif + clearBuffer(buf); + for (i = 0; i < MAX_LB; i++) { + b = buf->linkBuffer[i]; + if (b == NULL) + continue; + b->linkBuffer[REV_LB[i]] = NULL; + } + if (buf->savecache) + unlink(buf->savecache); + if (--(*buf->clone)) + return; + if (buf->pagerSource) + ISclose(buf->pagerSource); + if (buf->sourcefile && + (!buf->real_type || strncasecmp(buf->real_type, "image/", 6))) { + if (buf->real_scheme != SCM_LOCAL || buf->bufferprop & BP_FRAME) + unlink(buf->sourcefile); + } + if (buf->header_source) + unlink(buf->header_source); + if (buf->mailcap_source) + unlink(buf->mailcap_source); + while (buf->frameset) { + deleteFrameSet(buf->frameset); + buf->frameset = popFrameTree(&(buf->frameQ)); + } +} + +/* + * namedBuffer: Select buffer which have specified name + */ +Buffer * +namedBuffer(Buffer *first, char *name) +{ + Buffer *buf; + + if (!strcmp(first->buffername, name)) { + return first; + } + for (buf = first; buf->nextBuffer != NULL; buf = buf->nextBuffer) { + if (!strcmp(buf->nextBuffer->buffername, name)) { + return buf->nextBuffer; + } + } + return NULL; +} + +/* + * deleteBuffer: delete buffer + */ +Buffer * +deleteBuffer(Buffer *first, Buffer *delbuf) +{ + Buffer *buf, *b; + + if (first == delbuf && first->nextBuffer != NULL) { + buf = first->nextBuffer; + discardBuffer(first); + return buf; + } + if ((buf = prevBuffer(first, delbuf)) != NULL) { + b = buf->nextBuffer; + buf->nextBuffer = b->nextBuffer; + discardBuffer(b); + } + return first; +} + +/* + * replaceBuffer: replace buffer + */ +Buffer * +replaceBuffer(Buffer *first, Buffer *delbuf, Buffer *newbuf) +{ + Buffer *buf; + + if (delbuf == NULL) { + newbuf->nextBuffer = first; + return newbuf; + } + if (first == delbuf) { + newbuf->nextBuffer = delbuf->nextBuffer; + discardBuffer(delbuf); + return newbuf; + } + if (delbuf && (buf = prevBuffer(first, delbuf))) { + buf->nextBuffer = newbuf; + newbuf->nextBuffer = delbuf->nextBuffer; + discardBuffer(delbuf); + return first; + } + newbuf->nextBuffer = first; + return newbuf; +} + +Buffer * +nthBuffer(Buffer *firstbuf, int n) +{ + int i; + Buffer *buf = firstbuf; + + if (n < 0) + return firstbuf; + for (i = 0; i < n; i++) { + if (buf == NULL) + return NULL; + buf = buf->nextBuffer; + } + return buf; +} + +static void +writeBufferName(Buffer *buf, int n) +{ + Str msg; + int all; + + all = buf->allLine; + if (all == 0 && buf->lastLine != NULL) + all = buf->lastLine->linenumber; + move(n, 0); + /* FIXME: gettextize? */ + msg = Sprintf("<%s> [%d lines]", buf->buffername, all); + if (buf->filename != NULL) { + switch (buf->currentURL.scheme) { + case SCM_LOCAL: + case SCM_LOCAL_CGI: + if (strcmp(buf->currentURL.file, "-")) { + Strcat_char(msg, ' '); + Strcat_charp(msg, conv_from_system(buf->currentURL.real_file)); + } + break; + case SCM_UNKNOWN: + case SCM_MISSING: + break; + default: + Strcat_char(msg, ' '); + Strcat(msg, parsedURL2Str(&buf->currentURL)); + break; + } + } + addnstr_sup(msg->ptr, COLS - 1); +} + + +/* + * gotoLine: go to line number + */ +void +gotoLine(Buffer *buf, int n) +{ + char msg[32]; + Line *l = buf->firstLine; + + if (l == NULL) + return; + if (buf->pagerSource && !(buf->bufferprop & BP_CLOSE)) { + if (buf->lastLine->linenumber < n) + getNextPage(buf, n - buf->lastLine->linenumber); + while ((buf->lastLine->linenumber < n) && + (getNextPage(buf, 1) != NULL)) ; + } + if (l->linenumber > n) { + /* FIXME: gettextize? */ + sprintf(msg, "First line is #%ld", l->linenumber); + set_delayed_message(msg); + buf->topLine = buf->currentLine = l; + return; + } + if (buf->lastLine->linenumber < n) { + l = buf->lastLine; + /* FIXME: gettextize? */ + sprintf(msg, "Last line is #%ld", buf->lastLine->linenumber); + set_delayed_message(msg); + buf->currentLine = l; + buf->topLine = lineSkip(buf, buf->currentLine, -(buf->LINES - 1), + FALSE); + return; + } + for (; l != NULL; l = l->next) { + if (l->linenumber >= n) { + buf->currentLine = l; + if (n < buf->topLine->linenumber || + buf->topLine->linenumber + buf->LINES <= n) + buf->topLine = lineSkip(buf, l, -(buf->LINES + 1) / 2, FALSE); + break; + } + } +} + +/* + * gotoRealLine: go to real line number + */ +void +gotoRealLine(Buffer *buf, int n) +{ + char msg[32]; + Line *l = buf->firstLine; + + if (l == NULL) + return; + if (buf->pagerSource && !(buf->bufferprop & BP_CLOSE)) { + if (buf->lastLine->real_linenumber < n) + getNextPage(buf, n - buf->lastLine->real_linenumber); + while ((buf->lastLine->real_linenumber < n) && + (getNextPage(buf, 1) != NULL)) ; + } + if (l->real_linenumber > n) { + /* FIXME: gettextize? */ + sprintf(msg, "First line is #%ld", l->real_linenumber); + set_delayed_message(msg); + buf->topLine = buf->currentLine = l; + return; + } + if (buf->lastLine->real_linenumber < n) { + l = buf->lastLine; + /* FIXME: gettextize? */ + sprintf(msg, "Last line is #%ld", buf->lastLine->real_linenumber); + set_delayed_message(msg); + buf->currentLine = l; + buf->topLine = lineSkip(buf, buf->currentLine, -(buf->LINES - 1), + FALSE); + return; + } + for (; l != NULL; l = l->next) { + if (l->real_linenumber >= n) { + buf->currentLine = l; + if (n < buf->topLine->real_linenumber || + buf->topLine->real_linenumber + buf->LINES <= n) + buf->topLine = lineSkip(buf, l, -(buf->LINES + 1) / 2, FALSE); + break; + } + } +} + + +static Buffer * +listBuffer(Buffer *top, Buffer *current) +{ + int i, c = 0; + Buffer *buf = top; + + move(0, 0); +#ifdef USE_COLOR + if (useColor) { + setfcolor(basic_color); +#ifdef USE_BG_COLOR + setbcolor(bg_color); +#endif /* USE_BG_COLOR */ + } +#endif /* USE_COLOR */ + clrtobotx(); + for (i = 0; i < LASTLINE; i++) { + if (buf == current) { + c = i; + standout(); + } + writeBufferName(buf, i); + if (buf == current) { + standend(); + clrtoeolx(); + move(i, 0); + toggle_stand(); + } + else + clrtoeolx(); + if (buf->nextBuffer == NULL) { + move(i + 1, 0); + clrtobotx(); + break; + } + buf = buf->nextBuffer; + } + standout(); + /* FIXME: gettextize? */ + message("Buffer selection mode: SPC for select / D for delete buffer", 0, + 0); + standend(); + /* + * move(LASTLINE, COLS - 1); */ + move(c, 0); + refresh(); + return buf->nextBuffer; +} + + +/* + * Select buffer visually + */ +Buffer * +selectBuffer(Buffer *firstbuf, Buffer *currentbuf, char *selectchar) +{ + int i, cpoint, /* Current Buffer Number */ + spoint, /* Current Line on Screen */ + maxbuf, sclimit = LASTLINE; /* Upper limit of line * number in + * the * screen */ + Buffer *buf, *topbuf; + char c; + + i = cpoint = 0; + for (buf = firstbuf; buf != NULL; buf = buf->nextBuffer) { + if (buf == currentbuf) + cpoint = i; + i++; + } + maxbuf = i; + + if (cpoint >= sclimit) { + spoint = sclimit / 2; + topbuf = nthBuffer(firstbuf, cpoint - spoint); + } + else { + topbuf = firstbuf; + spoint = cpoint; + } + listBuffer(topbuf, currentbuf); + + for (;;) { + if ((c = getch()) == ESC_CODE) { + if ((c = getch()) == '[' || c == 'O') { + switch (c = getch()) { + case 'A': + c = 'k'; + break; + case 'B': + c = 'j'; + break; + case 'C': + c = ' '; + break; + case 'D': + c = 'B'; + break; + } + } + } +#ifdef __EMX__ + else if (!c) + switch (getch()) { + case K_UP: + c = 'k'; + break; + case K_DOWN: + c = 'j'; + break; + case K_RIGHT: + c = ' '; + break; + case K_LEFT: + c = 'B'; + } +#endif + switch (c) { + case CTRL_N: + case 'j': + if (spoint < sclimit - 1) { + if (currentbuf->nextBuffer == NULL) + continue; + writeBufferName(currentbuf, spoint); + currentbuf = currentbuf->nextBuffer; + cpoint++; + spoint++; + standout(); + writeBufferName(currentbuf, spoint); + standend(); + move(spoint, 0); + toggle_stand(); + } + else if (cpoint < maxbuf - 1) { + topbuf = currentbuf; + currentbuf = currentbuf->nextBuffer; + cpoint++; + spoint = 1; + listBuffer(topbuf, currentbuf); + } + break; + case CTRL_P: + case 'k': + if (spoint > 0) { + writeBufferName(currentbuf, spoint); + currentbuf = nthBuffer(topbuf, --spoint); + cpoint--; + standout(); + writeBufferName(currentbuf, spoint); + standend(); + move(spoint, 0); + toggle_stand(); + } + else if (cpoint > 0) { + i = cpoint - sclimit; + if (i < 0) + i = 0; + cpoint--; + spoint = cpoint - i; + currentbuf = nthBuffer(firstbuf, cpoint); + topbuf = nthBuffer(firstbuf, i); + listBuffer(topbuf, currentbuf); + } + break; + default: + *selectchar = c; + return currentbuf; + } + /* + * move(LASTLINE, COLS - 1); + */ + move(spoint, 0); + refresh(); + } +} + +/* + * Reshape HTML buffer + */ +void +reshapeBuffer(Buffer *buf) +{ + URLFile f; + Buffer sbuf; +#ifdef USE_M17N + wc_uint8 old_auto_detect = WcOption.auto_detect; +#endif + + if (!buf->need_reshape) + return; + buf->need_reshape = FALSE; + buf->width = INIT_BUFFER_WIDTH; + if (buf->sourcefile == NULL) + return; + init_stream(&f, SCM_LOCAL, NULL); + examineFile(buf->mailcap_source ? buf->mailcap_source : buf->sourcefile, + &f); + if (f.stream == NULL) + return; + copyBuffer(&sbuf, buf); + clearBuffer(buf); + while (buf->frameset) { + deleteFrameSet(buf->frameset); + buf->frameset = popFrameTree(&(buf->frameQ)); + } + + buf->href = NULL; + buf->name = NULL; + buf->img = NULL; + buf->formitem = NULL; + buf->formlist = NULL; + buf->linklist = NULL; + buf->maplist = NULL; + if (buf->hmarklist) + buf->hmarklist->nmark = 0; + if (buf->imarklist) + buf->imarklist->nmark = 0; + + if (buf->header_source) { + if (buf->currentURL.scheme != SCM_LOCAL || + buf->mailcap_source || !strcmp(buf->currentURL.file, "-")) { + URLFile h; + init_stream(&h, SCM_LOCAL, NULL); + examineFile(buf->header_source, &h); + if (h.stream) { + readHeader(&h, buf, TRUE, NULL); + UFclose(&h); + } + } + else if (buf->search_header) /* -m option */ + readHeader(&f, buf, TRUE, NULL); + } + +#ifdef USE_M17N + WcOption.auto_detect = WC_OPT_DETECT_OFF; + UseContentCharset = FALSE; +#endif + if (!strcasecmp(buf->type, "text/html")) + loadHTMLBuffer(&f, buf); + else + loadBuffer(&f, buf); + UFclose(&f); +#ifdef USE_M17N + WcOption.auto_detect = old_auto_detect; + UseContentCharset = TRUE; +#endif + + buf->height = LASTLINE + 1; + if (buf->firstLine && sbuf.firstLine) { + Line *cur = sbuf.currentLine; + int n; + + buf->pos = sbuf.pos + cur->bpos; + while (cur->bpos && cur->prev) + cur = cur->prev; + if (cur->real_linenumber > 0) + gotoRealLine(buf, cur->real_linenumber); + else + gotoLine(buf, cur->linenumber); + n = (buf->currentLine->linenumber - buf->topLine->linenumber) + - (cur->linenumber - sbuf.topLine->linenumber); + if (n) { + buf->topLine = lineSkip(buf, buf->topLine, n, FALSE); + if (cur->real_linenumber > 0) + gotoRealLine(buf, cur->real_linenumber); + else + gotoLine(buf, cur->linenumber); + } + buf->pos -= buf->currentLine->bpos; + if (FoldLine && strcasecmp(buf->type, "text/html")) + buf->currentColumn = 0; + else + buf->currentColumn = sbuf.currentColumn; + arrangeCursor(buf); + } + if (buf->check_url & CHK_URL) + chkURLBuffer(buf); +#ifdef USE_NNTP + if (buf->check_url & CHK_NMID) + chkNMIDBuffer(buf); + if (buf->real_scheme == SCM_NNTP || buf->real_scheme == SCM_NEWS) + reAnchorNewsheader(buf); +#endif + formResetBuffer(buf, sbuf.formitem); +} + +/* shallow copy */ +void +copyBuffer(Buffer *a, Buffer *b) +{ + readBufferCache(b); + bcopy((void *)b, (void *)a, sizeof(Buffer)); +} + +Buffer * +prevBuffer(Buffer *first, Buffer *buf) +{ + Buffer *b; + + for (b = first; b != NULL && b->nextBuffer != buf; b = b->nextBuffer) ; + return b; +} + +#define fwrite1(d, f) (fwrite(&d, sizeof(d), 1, f)==0) +#define fread1(d, f) (fread(&d, sizeof(d), 1, f)==0) + +int +writeBufferCache(Buffer *buf) +{ + Str tmp; + FILE *cache = NULL; + Line *l; +#ifdef USE_ANSI_COLOR + int colorflag; +#endif + + if (buf->savecache) + return -1; + + if (buf->firstLine == NULL) + goto _error1; + + tmp = tmpfname(TMPF_CACHE, NULL); + buf->savecache = tmp->ptr; + cache = fopen(buf->savecache, "w"); + if (!cache) + goto _error1; + + if (fwrite1(buf->currentLine->linenumber, cache) || + fwrite1(buf->topLine->linenumber, cache)) + goto _error; + + for (l = buf->firstLine; l; l = l->next) { + if (fwrite1(l->real_linenumber, cache) || + fwrite1(l->usrflags, cache) || + fwrite1(l->width, cache) || + fwrite1(l->len, cache) || + fwrite1(l->size, cache) || + fwrite1(l->bpos, cache) || fwrite1(l->bwidth, cache)) + goto _error; + if (l->bpos == 0) { + if (fwrite(l->lineBuf, 1, l->size, cache) < l->size || + fwrite(l->propBuf, sizeof(Lineprop), l->size, cache) < l->size) + goto _error; + } +#ifdef USE_ANSI_COLOR + colorflag = l->colorBuf ? 1 : 0; + if (fwrite1(colorflag, cache)) + goto _error; + if (colorflag) { + if (l->bpos == 0) { + if (fwrite(l->colorBuf, sizeof(Linecolor), l->size, cache) < + l->size) + goto _error; + } + } +#endif + } + + fclose(cache); + return 0; + _error: + fclose(cache); + unlink(buf->savecache); + _error1: + buf->savecache = NULL; + return -1; +} + +int +readBufferCache(Buffer *buf) +{ + FILE *cache; + Line *l = NULL, *prevl = NULL, *basel = NULL; + long lnum = 0, clnum, tlnum; +#ifdef USE_ANSI_COLOR + int colorflag; +#endif + + if (buf->savecache == NULL) + return -1; + + cache = fopen(buf->savecache, "r"); + if (cache == NULL || fread1(clnum, cache) || fread1(tlnum, cache)) { + buf->savecache = NULL; + return -1; + } + + while (!feof(cache)) { + lnum++; + prevl = l; + l = New(Line); + l->prev = prevl; + if (prevl) + prevl->next = l; + else + buf->firstLine = l; + l->linenumber = lnum; + if (lnum == clnum) + buf->currentLine = l; + if (lnum == tlnum) + buf->topLine = l; + if (fread1(l->real_linenumber, cache) || + fread1(l->usrflags, cache) || + fread1(l->width, cache) || + fread1(l->len, cache) || + fread1(l->size, cache) || + fread1(l->bpos, cache) || fread1(l->bwidth, cache)) + break; + if (l->bpos == 0) { + basel = l; + l->lineBuf = NewAtom_N(char, l->size + 1); + fread(l->lineBuf, 1, l->size, cache); + l->lineBuf[l->size] = '\0'; + l->propBuf = NewAtom_N(Lineprop, l->size); + fread(l->propBuf, sizeof(Lineprop), l->size, cache); + } + else if (basel) { + l->lineBuf = basel->lineBuf + l->bpos; + l->propBuf = basel->propBuf + l->bpos; + } + else + break; +#ifdef USE_ANSI_COLOR + if (fread1(colorflag, cache)) + break; + if (colorflag) { + if (l->bpos == 0) { + l->colorBuf = NewAtom_N(Linecolor, l->size); + fread(l->colorBuf, sizeof(Linecolor), l->size, cache); + } + else + l->colorBuf = basel->colorBuf + l->bpos; + } + else { + l->colorBuf = NULL; + } +#endif + } + buf->lastLine = prevl; + buf->lastLine->next = NULL; + fclose(cache); + unlink(buf->savecache); + buf->savecache = NULL; + return 0; +} diff --git a/charset-list b/charset-list new file mode 100644 index 0000000..1a87ac6 --- /dev/null +++ b/charset-list @@ -0,0 +1,70 @@ +US-ASCII WC_CES_US_ASCII +ISO-8859-1 WC_CES_ISO_8859_1 +ISO-8859-2 WC_CES_ISO_8859_2 +ISO-8859-3 WC_CES_ISO_8859_3 +ISO-8859-4 WC_CES_ISO_8859_4 +ISO-8859-5 WC_CES_ISO_8859_5 +ISO-8859-6 WC_CES_ISO_8859_6 +ISO-8859-7 WC_CES_ISO_8859_7 +ISO-8859-8 WC_CES_ISO_8859_8 +ISO-8859-9 WC_CES_ISO_8859_9 +ISO-8859-10 WC_CES_ISO_8859_10 +ISO-8859-11 WC_CES_ISO_8859_11 +ISO-8859-13 WC_CES_ISO_8859_13 +ISO-8859-14 WC_CES_ISO_8859_14 +ISO-8859-15 WC_CES_ISO_8859_15 +ISO-8859-16 WC_CES_ISO_8859_16 +EUC-JP WC_CES_EUC_JP +Shift_JIS WC_CES_SHIFT_JIS +Shift_JISX0213 WC_CES_SHIFT_JISX0213 +ISO-2022-JP WC_CES_ISO_2022_JP +ISO-2022-JP-2 WC_CES_ISO_2022_JP_2 +ISO-2022-JP-3 WC_CES_ISO_2022_JP_3 +EUC-CN WC_CES_EUC_CN +GBK WC_CES_GBK +GB18030 WC_CES_GB18030 +HZ-GB-2312 WC_CES_HZ_GB_2312 +ISO-2022-CN WC_CES_ISO_2022_CN +EUC-TW WC_CES_EUC_TW +Big5 WC_CES_BIG5 +HKSCS WC_CES_HKSCS +EUC-KR WC_CES_EUC_KR +UHC WC_CES_UHC +Johab WC_CES_JOHAB +ISO-2022-KR WC_CES_ISO_2022_KR +TIS-620 WC_CES_TIS_620 +TCVN-5712 WC_CES_TCVN_5712 +VISCII WC_CES_VISCII_11 +VPS WC_CES_VPS +KOI8-R WC_CES_KOI8_R +KOI8-U WC_CES_KOI8_U +NeXTSTEP WC_CES_NEXTSTEP +CP437 WC_CES_CP437 +CP737 WC_CES_CP737 +CP775 WC_CES_CP775 +CP850 WC_CES_CP850 +CP852 WC_CES_CP852 +CP855 WC_CES_CP855 +CP856 WC_CES_CP856 +CP857 WC_CES_CP857 +CP860 WC_CES_CP860 +CP861 WC_CES_CP861 +CP862 WC_CES_CP862 +CP863 WC_CES_CP863 +CP864 WC_CES_CP864 +CP865 WC_CES_CP865 +CP866 WC_CES_CP866 +CP869 WC_CES_CP869 +CP874 WC_CES_CP874 +CP1006 WC_CES_CP1006 +CP1250 WC_CES_CP1250 +CP1251 WC_CES_CP1251 +CP1252 WC_CES_CP1252 +CP1253 WC_CES_CP1253 +CP1254 WC_CES_CP1254 +CP1255 WC_CES_CP1255 +CP1256 WC_CES_CP1256 +CP1257 WC_CES_CP1257 +CP1258 WC_CES_CP1258 +UTF-8 WC_CES_UTF_8 +UTF-7 WC_CES_UTF_7 diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..51fab47 --- /dev/null +++ b/config.guess @@ -0,0 +1,1459 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + +timestamp='2004-03-12' + +# This file 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. +# +# 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 Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pegasos:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + # GNU/KFreeBSD systems have a "k" prefix to indicate we are using + # FreeBSD's kernel, but not the complete OS. + case ${LIBC} in gnu) kernel_only='k' ;; esac + echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.h.dist b/config.h.dist new file mode 100644 index 0000000..844a555 --- /dev/null +++ b/config.h.dist @@ -0,0 +1,291 @@ +/* + * Configuration for w3m + * This is sample. ./configure will generate config.h for you. + */ + +#ifndef _CONFIGURED_ +#define _CONFIGURED_ + +/* User Configuration */ + +/* + If you define DICT, you can use dictionary look-up function + in w3m. See README.dict for detail. +*/ +#define DICT + +/* + If you want to load and save URL history. + */ +#define USE_HISTORY + +/* + USE_BG_COLOR enables w3m to set background color. + */ +#define USE_BG_COLOR + +/* + * Do word fill + */ +#undef FORMAT_NICE + +/* + * Enable id attribute + */ +#define ID_EXT + +/* + * Save Current-buffer Information + */ +#undef BUFINFO + +/* + * Support EGD (Entropy Gathering Daemon) + */ +#undef USE_EGD + +/* + * Remove line trailing spaces in html buffer. + */ +#undef ENABLE_REMOVE_TRAILINGSPACES + +/* + * thin chars for menu frame + */ +#undef MENU_THIN_FRAME + +/* + * Use raw scroll + */ +#undef USE_RAW_SCROLL + +/* + */ +#undef TABLE_EXPAND +#undef TABLE_NO_COMPACT +#define NOWRAP +#define MATRIX + +/**********************************************************/ +#ifdef makefile_parameter + +BIN_DIR = /usr/local/bin +AUXBIN_DIR = /usr/local/lib/w3m +CGIBIN_DIR = /usr/local/lib/w3m/cgi-bin +HELP_DIR = /usr/local/share/w3m +MAN_DIR = /usr/local/man +MAN1_DIR = $(MAN_DIR)/man1 +MAN1_JA_DIR = $(MAN_DIR)/ja/man1 +ETC_DIR = /usr/local/etc/w3m +RC_DIR = ~/.w3m +HELP_FILE = w3mhelp-w3m_ja.html +RC_DIR = ~/.w3m/ +SYS_LIBRARIES = -lgpm -lbsd -lnsl -lncurses -L/usr/lib -L/usr/lib -L/usr/local/ssl/lib -L/usr/local/ssl/lib -lssl -lcrypto +LOCAL_LIBRARIES = +CC = gcc +MYCFLAGS = -O -I./gc/include -I/usr/local/ssl/include/openssl -I/usr/local/ssl/include +GCCFLAGS = -O -I./gc/include -I./$(srcdir)/include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS +KEYBIND_SRC = keybind.c +KEYBIND_OBJ = keybind.o +EXT= +MATHLIB=-lm +Z_CFLAGS=-I/usr/include +ZLIB=-L/usr/lib -lz +AUXBIN_TARGETS=$(INFLATE) +LIB_TARGETS=$(BOOKMARKER) $(HELPER) +IMGCFLAGS= +IMGLDFLAGS= +IMGX11CFLAGS= +IMGFBCFLAGS= +IMGOBJS= +GC_CFLAGS= +GCLIB=gc/gc.a +GCTARGET=gc/gc.a +RANLIB=ranlib +MKDIR=mkdir -p +PERL=/usr/local/bin/perl +VERSION=0.2.2 +MODEL=Linux.i686-monster-ja +INSTALL_W3MIMGDISPLAY=$(INSTALL_PROGRAM) +#else + + +#define DISPLAY_CODE 'E' +#define SYSTEM_CODE 'E' + +#define JA 0 +#define EN 1 +#define LANG JA +#define KANJI_SYMBOLS +#define USE_COLOR +#undef USE_ANSI_COLOR +#undef USE_MIGEMO +#undef USE_MARK +#define USE_MOUSE +#define USE_GPM +#undef USE_SYSMOUSE +#define USE_MENU +#define USE_COOKIE +#define USE_DIGEST_AUTH +#define USE_SSL +#undef USE_SSL_VERIFY +#undef USE_NNTP +#undef USE_GOPHER +#define USE_EXTERNAL_URI_LOADER +#undef USE_ALARM +#undef USE_IMAGE +#undef USE_W3MIMG_X11 +#undef USE_W3MIMG_FB +#undef USE_IMLIB +#undef USE_GDKPIXBUF +#undef USE_IMLIB2 +#define USE_HELP_CGI +#undef USE_XFACE + +#define DEF_EDITOR "/bin/vi" +#define DEF_MAILER "/bin/mail" +#define DEF_EXT_BROWSER "/usr/bin/netscape" + +/* fallback viewer. mailcap override these configuration */ +#define DEF_IMAGE_VIEWER "xv" +#define DEF_AUDIO_PLAYER "showaudio" + +/* for USE_MIGEMO */ +#define DEF_MIGEMO_COMMAND "migemo -t egrep /usr/share/migemo/migemo-dict" + +#define AUXBIN_DIR "/usr/local/lib/w3m" +#define CGIBIN_DIR "/usr/local/lib/w3m/cgi-bin" +#define HELP_DIR "/usr/local/lib/w3m" +#define ETC_DIR "/usr/local/etc/w3m" +#define HELP_FILE "w3mhelp.html" +#define HELP_CGI "w3mhelp" +#define W3MCONFIG "w3mconfig" +#define IMGDISPLAY "w3mimgdisplay" +#define XFACE2XPM "xface2xpm" + +#define RC_DIR "~/.w3m" +#define BOOKMARK "bookmark.html" +#define CONFIG_FILE "config" +#define KEYMAP_FILE "keymap" +#define MENU_FILE "menu" +#define COOKIE_FILE "cookie" +#define HISTORY_FILE "history" + +#define PASSWD_FILE RC_DIR "/passwd" +#define PRE_FORM_FILE RC_DIR "/pre_form" +#define USER_MAILCAP RC_DIR "/mailcap" +#define SYS_MAILCAP "/etc/mailcap" +#define USER_MIMETYPES "~/.mime.types" +#define SYS_MIMETYPES "/usr/local/lib/mime.types" +#define USER_URIMETHODMAP RC_DIR "/urimethodmap" +#define SYS_URIMETHODMAP ETC_DIR "/urimethodmap" + +#define DEF_SAVE_FILE "index.html" + +#undef USE_BINMODE_STREAM +#define HAVE_TERMIOS_H +#define HAVE_DIRENT_H +typedef long clen_t; +#undef HAVE_STRTOLL +#undef HAVE_STRTOQ +#undef HAVE_ATOLL +#undef HAVE_ATOQ +#define HAVE_STRCASECMP +#define HAVE_STRCASESTR +#define HAVE_STRCHR +#define HAVE_STRERROR +#define HAVE_SYS_ERRLIST +#define HAVE_BCOPY +#define HAVE_WAITPID +#define HAVE_WAIT3 +#define HAVE_STRFTIME +#define HAVE_GETCWD +#define HAVE_GETWD +#define HAVE_SYMLINK +#define HAVE_READLINK +#define HAVE_LSTAT +#define HAVE_SETENV +#define HAVE_PUTENV +#define HAVE_SRAND48 +#define HAVE_SRANDOM +#undef HAVE_GETPASSPHRASE +#define HAVE_CHDIR + + +#define SETJMP(env) sigsetjmp(env,1) +#define LONGJMP(env,val) siglongjmp(env,val) +#define JMP_BUF sigjmp_buf +#define HAVE_FLOAT_H +#define HAVE_SYS_SELECT_H + +typedef void MySignalHandler; +#define SIGNAL_ARG int _dummy +#define SIGNAL_ARGLIST 0 +#define SIGNAL_RETURN return +#define HAVE_SETPGRP + +/* + If you want to use IPv6, define this symbol. + */ +#undef INET6 + +/** dont edit below **/ +#ifndef HAVE_SRAND48 +#ifdef HAVE_SRANDOM +#define srand48 srandom +#define lrand48 random +#else /* HAVE_SRANDOM */ +#define USE_INCLUDED_SRAND48 +#endif /* HAVE_SRANDOM */ +#endif + +#ifndef HAVE_LSTAT +#define lstat stat +#endif + +#if defined( __CYGWIN32__ ) && !defined( __CYGWIN__ ) +#define __CYGWIN__ +#endif + +#if defined( __CYGWIN__ ) || defined( __EMX__ ) +#define SUPPORT_DOS_DRIVE_PREFIX 1 +#endif + +#if defined( __CYGWIN__ ) +#define SUPPORT_NETBIOS_SHARE 1 +#endif + +#if defined(__DJGPP__) +#define DEFAULT_TERM "dosansi" +#else +#define DEFAULT_TERM 0 /* XXX */ +#endif + +#if defined(__EMX__) /* use $extension? */ +#define GUNZIP_CMDNAME "gzip" +#define BUNZIP2_CMDNAME "bzip2" +#define INFLATE_CMDNAME "inflate.exe" +#define W3MBOOKMARK_CMDNAME "w3mbookmark.exe" +#define W3MHELPERPANEL_CMDNAME "w3mhelperpanel.exe" +#define DEV_NULL_PATH "nul" +#define DEV_TTY_PATH "con" +#define CGI_EXTENSION ".cmd" +#else +#define GUNZIP_CMDNAME "gunzip" +#define BUNZIP2_CMDNAME "bunzip2" +#define INFLATE_CMDNAME "inflate" +#define W3MBOOKMARK_CMDNAME "w3mbookmark" +#define W3MHELPERPANEL_CMDNAME "w3mhelperpanel" +#define DEV_NULL_PATH "/dev/null" +#define DEV_TTY_PATH "/dev/tty" +#define CGI_EXTENSION ".cgi" +#endif + +#define PATH_SEPARATOR ':' +#define GUNZIP_NAME "gunzip" +#define BUNZIP2_NAME "bunzip2" +#define INFLATE_NAME "inflate" + +#endif /* makefile_parameter */ +#endif /* _CONFIGURED_ */ + diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..313616c --- /dev/null +++ b/config.h.in @@ -0,0 +1,250 @@ +#ifndef CONFIG_H_SEEN +#define CONFIG_H_SEEN +/* + * Configuration for w3m + */ +#define JA 0 +#define EN 1 + +/* Name of package */ +#undef PACKAGE + +#define HELP_FILE "w3mhelp.html" +#define HELP_CGI "w3mhelp" +#define W3MCONFIG "w3mconfig" +#define IMGDISPLAY "w3mimgdisplay" +#define XFACE2XPM "xface2xpm" + +#define BOOKMARK "bookmark.html" +#define CONFIG_FILE "config" +#define KEYMAP_FILE "keymap" +#define MENU_FILE "menu" +#define MOUSE_FILE "mouse" +#define COOKIE_FILE "cookie" +#define HISTORY_FILE "history" + +#define PASSWD_FILE RC_DIR "/passwd" +#define PRE_FORM_FILE RC_DIR "/pre_form" +#define USER_MAILCAP RC_DIR "/mailcap" +#define SYS_MAILCAP CONF_DIR "/mailcap" +#define USER_MIMETYPES "~/.mime.types" +#define SYS_MIMETYPES ETC_DIR "/mime.types" +#define USER_URIMETHODMAP RC_DIR "/urimethodmap" +#define SYS_URIMETHODMAP CONF_DIR "/urimethodmap" + +#define DEF_SAVE_FILE "index.html" + +/* User Configuration */ +#define DISPLAY_CHARSET @DISPLAY_CHARSET@ +#define SYSTEM_CHARSET @SYSTEM_CHARSET@ +#define DOCUMENT_CHARSET @DOCUMENT_CHARSET@ +#undef USE_M17N +#undef USE_UNICODE +#define W3M_LANG @W3M_LANG@ +#define LANG W3M_LANG + +/* Define to 1 if translation of program messages to the user's + native language is requested. */ +#undef ENABLE_NLS + +#undef USE_COLOR +#undef USE_ANSI_COLOR +#undef USE_BG_COLOR +#undef USE_MIGEMO +#define USE_MARK +#undef USE_MOUSE +#undef USE_GPM +#undef USE_SYSMOUSE +#undef USE_MENU +#undef USE_COOKIE +#undef USE_DIGEST_AUTH +#undef USE_SSL +#undef USE_SSL_VERIFY +#undef USE_HELP_CGI +#undef USE_EXTERNAL_URI_LOADER +#undef USE_W3MMAILER +#undef USE_NNTP +#undef USE_GOPHER +#undef USE_ALARM +#undef USE_IMAGE +#undef USE_W3MIMG_X11 +#undef USE_W3MIMG_FB +#undef W3MIMGDISPLAY_SETUID +#undef USE_IMLIB +#undef USE_GDKPIXBUF +#undef USE_GTK2 +#undef USE_IMLIB2 +#undef USE_XFACE +#undef USE_DICT +#undef USE_HISTORY +#undef FORMAT_NICE +#define ID_EXT +#undef CLEAR_BUF +#undef INET6 +#undef HAVE_OLD_SS_FAMILY +#define USE_EGD +#define ENABLE_REMOVE_TRAILINGSPACES +#undef MENU_THIN_FRAME +#undef USE_RAW_SCROLL +#undef TABLE_EXPAND +#undef TABLE_NO_COMPACT +#define NOWRAP +#define MATRIX + +#define DEF_EDITOR "@DEF_EDITOR@" +#define DEF_MAILER "@DEF_MAILER@ +#define DEF_EXT_BROWSER "@DEF_EXT_BROWSER@" + +/* fallback viewer. mailcap override these configuration */ +#define DEF_IMAGE_VIEWER "display" +#define DEF_AUDIO_PLAYER "showaudio" + +/* for USE_MIGEMO */ +#define DEF_MIGEMO_COMMAND "@DEF_MIGEMO_COMMAND@" + +#undef USE_BINMODE_STREAM +#undef HAVE_TERMIOS_H +#undef HAVE_TERMIO_H +#undef HAVE_SGTTY_H +#undef HAVE_DIRENT_H +#undef HAVE_LOCALE_H +#undef HAVE_STDINT_H +#undef HAVE_INTTYPES_H +#define SIZEOF_LONG_LONG 8 +#if SIZEOF_LONG_LONG > 0 +typedef long long clen_t; +#else +typedef long clen_t; +#endif +#undef HAVE_STRTOLL +#undef HAVE_STROQ +#undef HAVE_ATOLL +#undef HAVE_ATOQ +#undef HAVE_STRCASECMP +#undef HAVE_STRCASESTR +#undef HAVE_STRCHR +#undef HAVE_STRERROR +#undef HAVE_SYS_ERRLIST +#undef HAVE_BCOPY +#undef HAVE_WAITPID +#undef HAVE_WAIT3 +#undef HAVE_STRFTIME +#undef HAVE_GETCWD +#undef HAVE_GETWD +#undef HAVE_SYMLINK +#undef HAVE_READLINK +#undef HAVE_LSTAT +#undef HAVE_SETENV +#undef HAVE_PUTENV +#undef HAVE_SRAND48 +#undef HAVE_SRANDOM +#undef HAVE_GETPASSPHRASE +#undef HAVE_CHDIR +#undef HAVE_SETPGRP +#undef HAVE_SETLOCALE +#undef HAVE_LANGINFO_CODESET + +#undef SETPGRP_VOID +#ifdef HAVE_SETPGRP +#ifdef SETPGRP_VOID +#define SETPGRP() setpgrp() +#else +#define SETPGRP() setpgrp(0,0) +#endif +#else /* no HAVE_SETPGRP; OS/2 EMX */ +#define SETPGRP() setpgid(0, 0) +#endif +#undef HAVE_FLOAT_H +#undef HAVE_SYS_SELECT_H + +#undef HAVE_SIGSETJMP + +#define RETSIGTYPE @RETSIGTYPE@ +typedef RETSIGTYPE MySignalHandler; +#define SIGNAL_ARG int _dummy /* XXX */ +#define SIGNAL_ARGLIST 0 /* XXX */ +#define SIGNAL_RETURN @SIGNAL_RETURN@ + +#ifdef HAVE_SIGSETJMP +#ifdef __MINGW32_VERSION +# define SETJMP(env) setjmp(env) +# define LONGJMP(env,val) longjmp(env, val) +# define JMP_BUF jmp_buf +#else +# define SETJMP(env) sigsetjmp(env,1) +# define LONGJMP(env,val) siglongjmp(env,val) +# define JMP_BUF sigjmp_buf +#endif /* __MINGW32_VERSION */ +#else +# define SETJMP(env) setjmp(env) +# define LONGJMP(env,val) longjmp(env) +# define JMP_BUF jmp_buf +#endif + +#ifndef HAVE_SRAND48 +#ifdef HAVE_SRANDOM +#define srand48 srandom +#define lrand48 random +#else /* HAVE_SRANDOM */ +#define USE_INCLUDED_SRAND48 +#endif /* HAVE_SRANDOM */ +#endif + +#ifndef HAVE_LSTAT +#define lstat stat +#endif + +#if defined( __CYGWIN32__ ) && !defined( __CYGWIN__ ) +#define __CYGWIN__ +#endif + +#if defined( __CYGWIN__ ) || defined( __EMX__ ) +#define SUPPORT_DOS_DRIVE_PREFIX 1 +#endif + +#if defined( __CYGWIN__ ) +#define SUPPORT_NETBIOS_SHARE 1 +#define SUPPORT_WIN9X_CONSOLE_MBCS 1 +#endif + +#if defined(__DJGPP__) +#define DEFAULT_TERM "dosansi" +#else +#define DEFAULT_TERM 0 /* XXX */ +#endif + +#if defined(__EMX__) /* use $extension? */ +#define GUNZIP_CMDNAME "gzip" +#define BUNZIP2_CMDNAME "bzip2" +#define INFLATE_CMDNAME "inflate.exe" +#define W3MBOOKMARK_CMDNAME "w3mbookmark.exe" +#define W3MHELPERPANEL_CMDNAME "w3mhelperpanel.exe" +#define DEV_NULL_PATH "nul" +#define DEV_TTY_PATH "con" +#define CGI_EXTENSION ".cmd" +#define USE_PATH_ENVVAR +#else +#define GUNZIP_CMDNAME "gunzip" +#define BUNZIP2_CMDNAME "bunzip2" +#define INFLATE_CMDNAME "inflate" +#define W3MBOOKMARK_CMDNAME "w3mbookmark" +#define W3MHELPERPANEL_CMDNAME "w3mhelperpanel" +#define DEV_NULL_PATH "/dev/null" +#define DEV_TTY_PATH "/dev/tty" +#define CGI_EXTENSION ".cgi" +#endif + +#define PATH_SEPARATOR ':' +#define GUNZIP_NAME "gunzip" +#define BUNZIP2_NAME "bunzip2" +#define INFLATE_NAME "inflate" + +#ifdef __MINGW32_VERSION +#define SIGKILL SIGTERM +#define S_IXGRP 0 +#define S_IXOTH 0 +#define S_IRWXG 0 +#define S_IRWXO 0 +#endif /* __MINGW32_VERSION */ + +#endif /* CONFIG_H_SEEN */ diff --git a/config.rpath b/config.rpath new file mode 100755 index 0000000..fa24bfc --- /dev/null +++ b/config.rpath @@ -0,0 +1,548 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2003 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# 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. +# +# 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. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + mingw* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux*) + case $CC in + icc|ecc) + wl='-Wl,' + ;; + ccc) + wl='-Wl,' + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + sco3.2v5*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris* | sysv5*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi4*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + hardcode_direct=no + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10* | hpux11*) + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + sco3.2v5*) + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +libname_spec='lib$name' +case "$host_os" in + aix3*) + ;; + aix4* | aix5*) + ;; + amigaos*) + ;; + beos*) + ;; + bsdi4*) + ;; + cygwin* | mingw* | pw32*) + shrext=.dll + ;; + darwin* | rhapsody*) + shrext=.dylib + ;; + dgux*) + ;; + freebsd1*) + ;; + freebsd*) + ;; + gnu*) + ;; + hpux9* | hpux10* | hpux11*) + case "$host_cpu" in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) + ;; + netbsd*) + ;; + newsos6) + ;; + nto-qnx) + ;; + openbsd*) + ;; + os2*) + libname_spec='$name' + shrext=.dll + ;; + osf3* | osf4* | osf5*) + ;; + sco3.2v5*) + ;; + solaris*) + ;; + sunos4*) + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + ;; + sysv4*MP*) + ;; + uts4*) + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | msp430 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | msp430-* \ + | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + mmix*) + basic_machine=mmix-knuth + os=-mmixware + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..7d1ac7f --- /dev/null +++ b/configure @@ -0,0 +1,12225 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for w3m 0.5.2. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 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 more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +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+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# 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 + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +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 +IFS=$as_save_IFS + + ;; +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_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +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 -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; 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'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + 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=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +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+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +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+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +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$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='w3m' +PACKAGE_TARNAME='w3m' +PACKAGE_VERSION='0.5.2' +PACKAGE_STRING='w3m 0.5.2' +PACKAGE_BUGREPORT='satodai@w3m.jp' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#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 +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +PACKAGE +VERSION +W3M +W3M_LANG +AWK +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CPP +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +LN_S +SET_MAKE +RANLIB +PERL +NKF +MAN +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +W3M_TARGET +W3M_LIBS +USE_M17N +USE_UNICODE +WCTARGET +WCCFLAGS +DISPLAY_CHARSET +SYSTEM_CHARSET +DOCUMENT_CHARSET +POSUBST +POLANG +MKINSTALLDIRS +USE_NLS +MSGFMT +GMSGFMT +XGETTEXT +MSGMERGE +LIBICONV +LTLIBICONV +INTLLIBS +LIBINTL +LTLIBINTL +POSUB +INTLTARGET +NLSTARGET +USE_COLOR +USE_ANSI_COLOR +USE_BG_COLOR +USE_IMAGE +USE_W3MIMG_X11 +USE_W3MIMG_FB +W3MIMGDISPLAY_SETUID +INSTALL_W3MIMGDISPLAY +USE_GDKPIXBUF +USE_GTK2 +USE_IMLIB +USE_IMLIB2 +IMGTARGETS +IMGOBJS +IMGX11CFLAGS +IMGX11LDFLAGS +IMGFBCFLAGS +IMGFBLDFLAGS +USE_XFACE +uncompface +KEYMAP_FILE +HELP_FILE +KEYBIND +USE_MENU +USE_MOUSE +USE_HISTORY +USE_ALARM +USE_COOKIE +USE_NNTP +USE_GOPHER +USE_DICT +USE_HELP_CGI +USE_EXTERNAL_URI_LOADER +USE_W3MMAILER +USE_MIGEMO +DEF_MIGEMO_COMMAND +DEF_EDITOR +DEF_MAILER +DEF_EXT_BROWSER +INET6 +HAVE_OLD_SS_FAMILY +USE_SSL +USE_SSL_VERIFY +PKG_CONFIG +SSL_CFLAGS +SSL_LIBS +USE_DIGEST_AUTH +USE_W3M +USE_SYSMOUSE +AUXBIN_TARGETS +LIBGC +GREP +EGREP +USE_BINMODE_STREAM +HAVE_SYS_ERRLIST +HAVE_SIGSETJMP +RETSIGTYPE +SIGNAL_RETURN +HELP_DIR +RC_DIR +DOCDIRS +CURRENT_VERSION +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + 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'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + 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'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + 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'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + 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'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + 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} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +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: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# 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 the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$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=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +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 <<_ACEOF +\`configure' configures w3m 0.5.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/w3m] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of w3m 0.5.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-m17n do not use m17n + --disable-unicode do not use unicode + --enable-messagel10n=LL message l10n instead of NLS + --enable-japanese=CODE support Japanese CODE=(S|E|J|U) + --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths + --disable-color disable color for vt100 terminal + --disable-ansi-color disable ansi color escape sequence + --disable-bgcolor disable to set background color + --enable-image=DEVS enable inline image handler for DEVS + DEVS may be comma separeted: x11,fb,fb+s + default: autodetected. + 'no' means disable inline image + --disable-xface disable xface support + --enable-keymap=w3m|lynx default keybind style(w3m or lynx) + --disable-menu disable popup menu + --disable-mouse disable mouse operation + --disable-history disable URL history + --disable-alarm disable alarm + --disable-cookie disable cookie + --disable-nntp disable NNTP + --enable-gopher enable GOPHER + --disable-dict disable dictionary lookup (see README.dict) + --disable-help-cgi disable help cgi + --disable-external-uri-loader disable external URI loader + --disable-w3mmailer disable w3mmailer + --disable-ipv6 disable IPv6 + --disable-sslverify verify SSL certificate + --disable-digest-auth disable digest auth + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-charset=CHARSET + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + --with-imagelib=IMAGELIBS image library + IMAGELIBS may be space separeted list of: + gtk2 gdk-pixbuf imlib imlib2 + --with-migemo=MIGEMO_COMMAND migemo command + --with-editor=EDITOR default editor (/usr/bin/vi) + --with-mailer=MAILER default mailer (/usr/bin/mail) + --with-browser=BROWSER default browser (/usr/bin/mozilla) + --with-ssl=PREFIX support https protocol + --with-termlib=LIBS terminal library + LIBS is space separated list of: + terminfo mytinfo termcap ncurses curses + --with-gc=PREFIX libgc PREFIX + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +w3m configure 0.5.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by w3m $as_me 0.5.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_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 +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# 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_must_keep_next=false +for ac_pass in 1 2 +do + 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_arg'" + ;; + 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: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + 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.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* 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 -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # 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:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { 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_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { 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:$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:$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_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 +ac_cpp='$CPP $CPPFLAGS' +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 + + +PACKAGE=w3m +VERSION=0.5.2 +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + + + + + +W3M=w3m +cat >>confdefs.h <<\_ACEOF +#define W3M w3m +_ACEOF + + + +W3M_LANG=${LC_ALL:-$LANG} +ac_config_headers="$ac_config_headers config.h" + +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +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 + + + test -n "$AWK" && break +done + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +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 +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:$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 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + 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:$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 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + 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:$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 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +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:$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 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # 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 + 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:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + 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:$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 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +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_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +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` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +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 compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +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 + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ 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' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + 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:$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'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ 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:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + 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 conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { 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:$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:$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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +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:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ 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 +{ 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 + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ 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 +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* 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; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +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 +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +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 + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +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:$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 + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + 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 to if __STDC__ is defined, since + # 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ 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 to if __STDC__ is defined, since + # 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { 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 + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +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 + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { 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 + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ 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 + 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/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +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:$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 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + 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:$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 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +for ac_prog in perl +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_path_PERL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_PERL="$PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PERL="$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 +IFS=$as_save_IFS + + ;; +esac +fi +PERL=$ac_cv_path_PERL +if test -n "$PERL"; then + { echo "$as_me:$LINENO: result: $PERL" >&5 +echo "${ECHO_T}$PERL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$PERL" && break +done +test -n "$PERL" || PERL="/usr/local/bin/perl" + +for ac_prog in nkf +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_path_NKF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $NKF in + [\\/]* | ?:[\\/]*) + ac_cv_path_NKF="$NKF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NKF="$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 +IFS=$as_save_IFS + + ;; +esac +fi +NKF=$ac_cv_path_NKF +if test -n "$NKF"; then + { echo "$as_me:$LINENO: result: $NKF" >&5 +echo "${ECHO_T}$NKF" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$NKF" && break +done +test -n "$NKF" || NKF="/usr/local/bin/nkf" + +for ac_prog in man +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_path_MAN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAN in + [\\/]* | ?:[\\/]*) + ac_cv_path_MAN="$MAN" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MAN="$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 +IFS=$as_save_IFS + + ;; +esac +fi +MAN=$ac_cv_path_MAN +if test -n "$MAN"; then + { echo "$as_me:$LINENO: result: $MAN" >&5 +echo "${ECHO_T}$MAN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$MAN" && break +done +test -n "$MAN" || MAN="/usr/bin/man" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + +AUXBIN_TARGETS= + + + +W3M_TARGET=$target +cat >>confdefs.h <<_ACEOF +#define W3M_TARGET $W3M_TARGET +_ACEOF + + + + + + + + + + + +WCTARGET=""; WCCFLAGS=""; wcinclude=""; wclib="" +{ echo "$as_me:$LINENO: checking if m17n support is enabled" >&5 +echo $ECHO_N "checking if m17n support is enabled... $ECHO_C" >&6; } +# Check whether --enable-m17n was given. +if test "${enable_m17n+set}" = set; then + enableval=$enable_m17n; +else + enable_m17n="yes" +fi + +{ echo "$as_me:$LINENO: result: $enable_m17n" >&5 +echo "${ECHO_T}$enable_m17n" >&6; } +if test x"$enable_m17n" = xno; then + w3m_lang="en" + WCTARGET="" + WCCFLAGS="" + wcinclude="" + wclib="" + display_charset='WC_CES_US_ASCII' + system_charset='WC_CES_US_ASCII' + document_charset='WC_CES_US_ASCII' +else + cat >>confdefs.h <<\_ACEOF +#define USE_M17N 1 +_ACEOF + + WCTARGET="libwc/libwc.a" + WCCFLAGS='-I$(srcdir) -I$(srcdir)/..' + wcinclude='-I$(srcdir)/libwc' + wclib="-L./libwc -lwc" + { echo "$as_me:$LINENO: checking if unicode support is enabled" >&5 +echo $ECHO_N "checking if unicode support is enabled... $ECHO_C" >&6; } + # Check whether --enable-unicode was given. +if test "${enable_unicode+set}" = set; then + enableval=$enable_unicode; +else + enable_unicode="yes" +fi + + { echo "$as_me:$LINENO: result: $enable_unicode" >&5 +echo "${ECHO_T}$enable_unicode" >&6; } + if test x"$enable_m17n" = xyes; then + charset=US-ASCII + else + charset=$enable_m17n + fi + if test x"$enable_unicode" = xyes; then + WCCFLAGS="-DUSE_UNICODE $WCCFLAGS" + if test x"$charset" = xUS-ASCII; then + charset=UTF-8 + fi + cat >>confdefs.h <<\_ACEOF +#define USE_UNICODE 1 +_ACEOF + + fi + { echo "$as_me:$LINENO: checking if message l10n" >&5 +echo $ECHO_N "checking if message l10n... $ECHO_C" >&6; } + # Check whether --enable-messagel10n was given. +if test "${enable_messagel10n+set}" = set; then + enableval=$enable_messagel10n; +else + enable_messagel10n="no" +fi + + if test x$enable_messagel10n = xyes; then + enable_messagel10n="ja"; + fi + { echo "$as_me:$LINENO: result: $enable_messagel10n" >&5 +echo "${ECHO_T}$enable_messagel10n" >&6; } + if test x$enable_messagel10n = xno; then + : + else + POSUBST="\$(top_srcdir)/posubst" + POLANG="$enable_messagel10n" + fi + { echo "$as_me:$LINENO: checking if japanese support is enabled" >&5 +echo $ECHO_N "checking if japanese support is enabled... $ECHO_C" >&6; } + # Check whether --enable-japanese was given. +if test "${enable_japanese+set}" = set; then + enableval=$enable_japanese; +else + enable_japanese="no" +fi + + { echo "$as_me:$LINENO: result: $enable_japanese" >&5 +echo "${ECHO_T}$enable_japanese" >&6; } + if test x"$enable_japanese" = xno; then + w3m_lang="en" + else + w3m_lang="ja" + case "$enable_japanese" in + E*) charset=EUC-JP;; + S*) charset=Shift_JIS;; + J*) charset=ISO-2022-JP;; + U*) charset=UTF-8;; + esac + fi + display_charset=$charset + { echo "$as_me:$LINENO: checking which charset is used for display" >&5 +echo $ECHO_N "checking which charset is used for display... $ECHO_C" >&6; } + +# Check whether --with-charset was given. +if test "${with_charset+set}" = set; then + withval=$with_charset; test x"with_charset" = xyes || display_charset="$with_charset" +fi + + { echo "$as_me:$LINENO: result: $display_charset" >&5 +echo "${ECHO_T}$display_charset" >&6; } + display_charset=`awk '$1 == "'$display_charset'" {print $2}' $srcdir/charset-list` + case "$display_charset" in + WC_CES_ISO_2022_JP*) + system_charset=WC_CES_EUC_JP + document_charset=WC_CES_EUC_JP + ;; + WC_CES_SHIFT_JIS) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_JP + ;; + WC_CES_ISO_2022_CN|WC_CES_HZ_GB_2312) + system_charset=WC_CES_EUC_CN + document_charset=WC_CES_EUC_CN + ;; + WC_CES_BIG5) + system_charset=$display_charset + # for auto-detect + document_charset=WC_CES_EUC_TW + ;; + WC_CES_ISO_2022_KR) + system_charset=WC_CES_EUC_KR + document_charset=WC_CES_EUC_KR + ;; + *) + system_charset=$display_charset + document_charset=$display_charset + ;; + esac +fi +W3M_LANGDEF=`echo $w3m_lang | tr 'a-z' 'A-Z'` +W3M_LANG=$W3M_LANGDEF +cat >>confdefs.h <<_ACEOF +#define W3M_LANG $W3M_LANG +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define WCTARGET "$WCTARGET" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define WCCFLAGS "$WCCFLAGS" +_ACEOF + +CFLAGS="$CFLAGS $wcinclude" +W3M_LIBS="$W3M_LIBS $wclib" +cat >>confdefs.h <<_ACEOF +#define DISPLAY_CHARSET $display_charset +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define SYSTEM_CHARSET $system_charset +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define DOCUMENT_CHARSET $document_charset +_ACEOF + +if test x$enable_messagel10n = xno; then + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + + { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + + + + + + +# Prepare PATH_SEPARATOR. +# 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 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; 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_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; 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_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$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 +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + + +# Prepare PATH_SEPARATOR. +# 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 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; 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_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + rm -f messages.po + + +# Prepare PATH_SEPARATOR. +# 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 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; 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_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +echo "${ECHO_T}$MSGMERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + if test "$GMSGFMT" != ":"; then + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + { echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 +echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } + GMSGFMT=":" + fi + fi + + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + rm -f messages.po + fi + + ac_config_commands="$ac_config_commands default-1" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# 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 +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${acl_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${acl_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + { echo "$as_me:$LINENO: checking for shared library run path origin" >&5 +echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; } +if test "${acl_cv_rpath+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 +echo "${ECHO_T}$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + + + + + { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 +echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_gnugettext1_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_gnugettext1_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 +echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6; } + + if test "$gt_cv_func_gnugettext1_libc" != "yes"; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { echo "$as_me:$LINENO: checking for iconv" >&5 +echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } +if test "${am_cv_func_iconv+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_func_iconv=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 +echo "${ECHO_T}$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ICONV 1 +_ACEOF + + fi + if test "$am_cv_lib_iconv" = yes; then + { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 +echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $LIBICONV" >&5 +echo "${ECHO_T}$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi + + { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 +echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; } +if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (); +int +main () +{ +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_gnugettext1_libintl=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_gnugettext1_libintl=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (); +int +main () +{ +bindtextdomain ("", ""); +return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext1_libintl=yes + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5 +echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6; } + fi + + if test "$gt_cv_func_gnugettext1_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 +_ACEOF + + else + USE_NLS=no + fi + fi + + { echo "$as_me:$LINENO: checking whether to use NLS" >&5 +echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 +echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { echo "$as_me:$LINENO: result: $gt_source" >&5 +echo "${ECHO_T}$gt_source" >&6; } + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then + { echo "$as_me:$LINENO: checking how to link with libintl" >&5 +echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $LIBINTL" >&5 +echo "${ECHO_T}$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETTEXT 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DCGETTEXT 1 +_ACEOF + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + +fi + +NLSTARGET="" +if test x"$USE_NLS" = xyes; then + NLSTARGET="po" +fi + + + + +{ echo "$as_me:$LINENO: checking if color escape sequence for kterm/pxvt is enabled" >&5 +echo $ECHO_N "checking if color escape sequence for kterm/pxvt is enabled... $ECHO_C" >&6; } +# Check whether --enable-color was given. +if test "${enable_color+set}" = set; then + enableval=$enable_color; +else + enable_color="yes" +fi + +test x"$enable_color" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_COLOR 1 +_ACEOF + +{ echo "$as_me:$LINENO: result: $enable_color" >&5 +echo "${ECHO_T}$enable_color" >&6; } + +{ echo "$as_me:$LINENO: checking if ansi color escape sequence support is enabled" >&5 +echo $ECHO_N "checking if ansi color escape sequence support is enabled... $ECHO_C" >&6; } +# Check whether --enable-ansi_color was given. +if test "${enable_ansi_color+set}" = set; then + enableval=$enable_ansi_color; +else + enable_ansi_color="$enable_color" +fi + + test x"$enable_ansi_color" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_ANSI_COLOR 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_ansi_color" >&5 +echo "${ECHO_T}$enable_ansi_color" >&6; } + +{ echo "$as_me:$LINENO: checking if background color support is enabled" >&5 +echo $ECHO_N "checking if background color support is enabled... $ECHO_C" >&6; } +# Check whether --enable-bgcolor was given. +if test "${enable_bgcolor+set}" = set; then + enableval=$enable_bgcolor; +else + enable_bgcolor="$enable_color" +fi + + test x"$enable_bgcolor" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_BG_COLOR 1 +_ACEOF + +{ echo "$as_me:$LINENO: result: $enable_bgcolor" >&5 +echo "${ECHO_T}$enable_bgcolor" >&6; } + + + + + + + INSTALL_W3MIMGDISPLAY='${INSTALL_PROGRAM}' + cat >>confdefs.h <<\_ACEOF +#define INSTALL_W3MIMGDISPLAY $INSTALL_W3MIMGDISPLAY +_ACEOF + + + + + + + + + + + + { echo "$as_me:$LINENO: checking if image is enabled" >&5 +echo $ECHO_N "checking if image is enabled... $ECHO_C" >&6; } + # Check whether --enable-image was given. +if test "${enable_image+set}" = set; then + enableval=$enable_image; +else + enable_image="yes" +fi + + { echo "$as_me:$LINENO: result: $enable_image" >&5 +echo "${ECHO_T}$enable_image" >&6; } + if test x"$enable_image" != xno; then + IMGOBJS=w3mimg.o + if test x"$enable_image" = xyes; then + enable_image=x11 + case "`uname -s`" in + Linux|linux|LINUX) + if test -c /dev/fb0; then + enable_image=x11,fb + fi;; + esac + fi + save_ifs="$IFS"; IFS=","; + for img in $enable_image; do + case $img in + x11) x11=yes;; + fb) fb=yes;; + fb+s) fb=yes + cat >>confdefs.h <<\_ACEOF +#define W3MIMGDISPLAY_SETUID 1 +_ACEOF + + INSTALL_W3MIMGDISPLAY='${INSTALL} -o root -m 4755 -s' + cat >>confdefs.h <<\_ACEOF +#define INSTALL_W3MIMGDISPLAY $INSTALL_W3MIMGDISPLAY +_ACEOF +;; + esac + done + IFS="$save_ifs" + enable_image=yes + cat >>confdefs.h <<\_ACEOF +#define USE_IMAGE 1 +_ACEOF + + { echo "$as_me:$LINENO: checking image library" >&5 +echo $ECHO_N "checking image library... $ECHO_C" >&6; } + +# Check whether --with-imagelib was given. +if test "${with_imagelib+set}" = set; then + withval=$with_imagelib; +else + with_imagelib="yes" +fi + + if test x"$with_imagelib" = xyes; then + with_imagelib="gtk2 gdk-pixbuf imlib imlib2" + fi + { echo "$as_me:$LINENO: result: $with_imagelib" >&5 +echo "${ECHO_T}$with_imagelib" >&6; } + with_imlib=no + with_imlib2=no + with_gdkpixbuf=no + with_gtk2=no + for imagelib in $with_imagelib + do + case "$imagelib" in + imlib) + with_imlib="yes" + if test x"$IMLIB_CONFIG" = x; then + IMLIB_CONFIG=imlib-config + fi;; + imlib2) + with_imlib2="yes" + if test x"$IMLIB2_CONFIG" = x; then + IMLIB2_CONFIG=imlib2-config + fi;; + gdk-pixbuf) + with_gdkpixbuf="yes" + if test x"$GDKPIXBUF_CONFIG" = x; then + GDKPIXBUF_CONFIG=gdk-pixbuf-config + fi;; + gtk2) + with_gtk2="yes" + if test x"$PKG_CONFIG" = x; then + PKG_CONFIG=pkg-config + else + PKG_CONFIG=: + fi;; + esac + done + IMGTARGETS="" + if test x"$with_gtk2" = xyes; then + version="`$PKG_CONFIG --modversion gdk-pixbuf-2.0 2>/dev/null`" + if test x"$version" != x; then + { echo "$as_me:$LINENO: checking GdkPixbuf version" >&5 +echo $ECHO_N "checking GdkPixbuf version... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $version" >&5 +echo "${ECHO_T}$version" >&6; } + set -- `echo "$version" | sed 's/[^0-9]/ /g'` + if test "$1" -ne "2" -o "$2" -lt "0" || test "$2" -eq "0" -a "$3" -lt "0"; then + { echo "$as_me:$LINENO: WARNING: GdkPixbuf is too old. Install GdkPixbuf (version >= 2.0.0)" >&5 +echo "$as_me: WARNING: GdkPixbuf is too old. Install GdkPixbuf (version >= 2.0.0)" >&2;} + have_gdkpixbuf="no"; have_gtk2="no" + else + have_gdkpixbuf="yes"; have_gtk2="yes" + fi + else + { echo "$as_me:$LINENO: WARNING: GdkPixbuf is not installed. Install GdkPixbuf (version >= 2.0.0)" >&5 +echo "$as_me: WARNING: GdkPixbuf is not installed. Install GdkPixbuf (version >= 2.0.0)" >&2;} + have_gdkpixbuf="no"; have_gtk2="no" + fi + fi + if test x"$with_gdkpixbuf" = xyes; then + if test x"$have_gdkpixbuf" != xyes; then + version="`$GDKPIXBUF_CONFIG --version 2>/dev/null`" + if test x"$version" != x; then + { echo "$as_me:$LINENO: checking GdkPixbuf version" >&5 +echo $ECHO_N "checking GdkPixbuf version... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $version" >&5 +echo "${ECHO_T}$version" >&6; } + set -- `echo "$version" | sed 's/[^0-9]/ /g'` + if test "$1" -ne "0" -o "$2" -lt "16" || test "$2" -eq "16" -a "$3" -lt "0"; then + { echo "$as_me:$LINENO: WARNING: GdkPixbuf is too old. Install GdkPixbuf (version >= 0.16.0)" >&5 +echo "$as_me: WARNING: GdkPixbuf is too old. Install GdkPixbuf (version >= 0.16.0)" >&2;} + have_gdkpixbuf="no" + else + have_gdkpixbuf="yes" + fi + else + { echo "$as_me:$LINENO: WARNING: GdkPixbuf is not installed. Install GdkPixbuf (version >= 0.16.0)" >&5 +echo "$as_me: WARNING: GdkPixbuf is not installed. Install GdkPixbuf (version >= 0.16.0)" >&2;} + have_gdkpixbuf="no" + fi + fi + fi + if test x"$with_imlib" = xyes; then + version="`$IMLIB_CONFIG --version 2>/dev/null`" + if test x"$version" != x; then + { echo "$as_me:$LINENO: checking Imlib version" >&5 +echo $ECHO_N "checking Imlib version... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $version" >&5 +echo "${ECHO_T}$version" >&6; } + set -- `echo "$version" | sed 's/[^0-9]/ /g'` + if test "$1" -ne "1" -o "$2" -lt "9" || test "$2" -eq "9" -a "$3" -lt "8"; then + { echo "$as_me:$LINENO: WARNING: Imlib is too old. Install Imlib (version >= 1.9.8)" >&5 +echo "$as_me: WARNING: Imlib is too old. Install Imlib (version >= 1.9.8)" >&2;} + have_imlib="no" + else + have_imlib="yes" + fi + else + { echo "$as_me:$LINENO: WARNING: Imlib is not installed. Install Imlib (version >= 1.9.8)" >&5 +echo "$as_me: WARNING: Imlib is not installed. Install Imlib (version >= 1.9.8)" >&2;} + have_imlib="no" + fi + fi + if test x"$with_imlib2" = xyes; then + version="`$IMLIB2_CONFIG --version 2>/dev/null`" + if test x"$version" != x; then + { echo "$as_me:$LINENO: checking Imlib2 version" >&5 +echo $ECHO_N "checking Imlib2 version... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $version" >&5 +echo "${ECHO_T}$version" >&6; } + set -- `echo "$version" | sed 's/[^0-9]/ /g'` + if test "$1" -ne "1" -o "$2" -lt "0" || test "$2" -eq "0" -a "$3" -lt "5"; then + { echo "$as_me:$LINENO: WARNING: Imlib2 is too old. Install Imlib2 (version >= 1.0.5)" >&5 +echo "$as_me: WARNING: Imlib2 is too old. Install Imlib2 (version >= 1.0.5)" >&2;} + have_imlib2="no" + else + have_imlib2="yes" + fi + else + { echo "$as_me:$LINENO: WARNING: Imlib2 is not installed. Install Imlib2 (version >= 1.0.5)" >&5 +echo "$as_me: WARNING: Imlib2 is not installed. Install Imlib2 (version >= 1.0.5)" >&2;} + have_imlib2="no" + fi + fi + if test x"$x11" = xyes; then + if test x"$have_gtk2" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define USE_GTK2 1 +_ACEOF + + IMGX11CFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + IMGX11LDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + elif test x"$have_imlib" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + cat >>confdefs.h <<\_ACEOF +#define USE_IMLIB 1 +_ACEOF + + IMGX11CFLAGS="`${IMLIB_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB_CONFIG} --libs`" + IMGTARGETS="x11" + elif test x"$have_imlib2" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGTARGETS="x11" + cat >>confdefs.h <<\_ACEOF +#define USE_IMLIB2 1 +_ACEOF + + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + { echo "$as_me:$LINENO: WARNING: unable to build w3mimgdisplay with X11 support" >&5 +echo "$as_me: WARNING: unable to build w3mimgdisplay with X11 support" >&2;} + fi + fi + if test x"$fb" = xyes; then + if test x"$have_gtk2" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_FB 1 +_ACEOF + + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define USE_GTK2 1 +_ACEOF + + IMGFBCFLAGS="`${PKG_CONFIG} --cflags gdk-pixbuf-2.0 gtk+-2.0`" + IMGFBLDFLAGS="`${PKG_CONFIG} --libs gdk-pixbuf-2.0 gtk+-2.0`" + elif test x"$have_gdkpixbuf" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_FB 1 +_ACEOF + + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + elif test x"$have_imlib2" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_FB 1 +_ACEOF + + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGTARGETS="${IMGTARGETS} fb" + cat >>confdefs.h <<\_ACEOF +#define USE_IMLIB2 1 +_ACEOF + + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGFBLDFLAGS="`${IMLIB2_CONFIG} --libs`" + else + { echo "$as_me:$LINENO: WARNING: unable to build w3mimgdisplay with FB support" >&5 +echo "$as_me: WARNING: unable to build w3mimgdisplay with FB support" >&2;} + fi + fi + cat >>confdefs.h <<\_ACEOF +#define IMGTARGETS "$IMGTARGETS" +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define IMGOBJS "$IMGOBJS" +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define IMGX11CFLAGS "$IMGX11CFLAGS" +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define IMGX11LDFLAGS "$IMGX11LDFLAGS" +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define IMGFBCFLAGS "$IMGFBCFLAGS" +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define IMGFBLDFLAGS "$IMGLDFLAGS" +_ACEOF + + fi +if test x"$enable_image" != xno; then + AUXBIN_TARGETS="$AUXBIN_TARGETS w3mimgdisplay\$(EXT)" + + { echo "$as_me:$LINENO: checking if xface is enabled" >&5 +echo $ECHO_N "checking if xface is enabled... $ECHO_C" >&6; } + # Check whether --enable-xface was given. +if test "${enable_xface+set}" = set; then + enableval=$enable_xface; +else + enable_xface="$enable_image" +fi + + test x"$enable_xface" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_XFACE 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_xface" >&5 +echo "${ECHO_T}$enable_xface" >&6; } + # Extract the first word of "uncompface", so it can be a program name with args. +set dummy uncompface; 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_uncompface+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$uncompface"; then + ac_cv_prog_uncompface="$uncompface" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_uncompface=""yes"" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_uncompface" && ac_cv_prog_uncompface=""no"" +fi +fi +uncompface=$ac_cv_prog_uncompface +if test -n "$uncompface"; then + { echo "$as_me:$LINENO: result: $uncompface" >&5 +echo "${ECHO_T}$uncompface" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test "$uncompface" = "no" && { echo "$as_me:$LINENO: WARNING: uncompface is not installed." >&5 +echo "$as_me: WARNING: uncompface is not installed." >&2;} + +fi + + + { echo "$as_me:$LINENO: checking default keymap" >&5 +echo $ECHO_N "checking default keymap... $ECHO_C" >&6; } + # Check whether --enable-keymap was given. +if test "${enable_keymap+set}" = set; then + enableval=$enable_keymap; +else + enable_keymap="w3m" +fi + + { echo "$as_me:$LINENO: result: $enable_keymap" >&5 +echo "${ECHO_T}$enable_keymap" >&6; } + case x"$enable_keymap" in + xw3m) + KEYMAP_FILE="keybind";; + xlynx) + KEYMAP_FILE="keybind_lynx";; + *) + { { echo "$as_me:$LINENO: error: keymap should be either w3m or lynx." >&5 +echo "$as_me: error: keymap should be either w3m or lynx." >&2;} + { (exit 1); exit 1; }; };; + esac + + HELP_FILE=w3mhelp-${enable_keymap}_$w3m_lang.html + cat >>confdefs.h <<_ACEOF +#define HELP_FILE "$HELP_FILE" +_ACEOF + + + cat >>confdefs.h <<_ACEOF +#define KEYBIND $enable_keymap +_ACEOF + + +{ echo "$as_me:$LINENO: checking if popup menu is enabled" >&5 +echo $ECHO_N "checking if popup menu is enabled... $ECHO_C" >&6; } +# Check whether --enable-menu was given. +if test "${enable_menu+set}" = set; then + enableval=$enable_menu; +else + enable_menu="yes" +fi + + test x"$enable_menu" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_MENU 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_menu" >&5 +echo "${ECHO_T}$enable_menu" >&6; } + +{ echo "$as_me:$LINENO: checking if mouse operation enabled" >&5 +echo $ECHO_N "checking if mouse operation enabled... $ECHO_C" >&6; } +# Check whether --enable-mouse was given. +if test "${enable_mouse+set}" = set; then + enableval=$enable_mouse; +else + enable_mouse="yes" +fi + +test x"$enable_mouse" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_MOUSE 1 +_ACEOF + +{ echo "$as_me:$LINENO: result: $enable_mouse" >&5 +echo "${ECHO_T}$enable_mouse" >&6; } + +{ echo "$as_me:$LINENO: checking if URL history is enabled" >&5 +echo $ECHO_N "checking if URL history is enabled... $ECHO_C" >&6; } +# Check whether --enable-history was given. +if test "${enable_history+set}" = set; then + enableval=$enable_history; +else + enable_history="yes" +fi + + test x"$enable_history" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_HISTORY 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_history" >&5 +echo "${ECHO_T}$enable_history" >&6; } + + { echo "$as_me:$LINENO: checking if alarm is enabled" >&5 +echo $ECHO_N "checking if alarm is enabled... $ECHO_C" >&6; } + # Check whether --enable-alarm was given. +if test "${enable_alarm+set}" = set; then + enableval=$enable_alarm; +else + enable_alarm="yes" +fi + + { echo "$as_me:$LINENO: result: $enable_alarm" >&5 +echo "${ECHO_T}$enable_alarm" >&6; } + if test x"$enable_alarm" = xyes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +int +main () +{ +int sa = SIGALRM; + void (*a) = alarm; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >>confdefs.h <<\_ACEOF +#define USE_ALARM 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +{ echo "$as_me:$LINENO: checking if cookie is enabled" >&5 +echo $ECHO_N "checking if cookie is enabled... $ECHO_C" >&6; } +# Check whether --enable-cookie was given. +if test "${enable_cookie+set}" = set; then + enableval=$enable_cookie; +else + enable_cookie="yes" +fi + +test x"$enable_cookie" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_COOKIE 1 +_ACEOF + +{ echo "$as_me:$LINENO: result: $enable_cookie" >&5 +echo "${ECHO_T}$enable_cookie" >&6; } + + { echo "$as_me:$LINENO: checking if nntp is enabled" >&5 +echo $ECHO_N "checking if nntp is enabled... $ECHO_C" >&6; } + # Check whether --enable-nntp was given. +if test "${enable_nntp+set}" = set; then + enableval=$enable_nntp; +else + enable_nntp="yes" +fi + + test x"$enable_nntp" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_NNTP 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_nntp" >&5 +echo "${ECHO_T}$enable_nntp" >&6; } + + { echo "$as_me:$LINENO: checking if gopher is enabled" >&5 +echo $ECHO_N "checking if gopher is enabled... $ECHO_C" >&6; } + # Check whether --enable-gopher was given. +if test "${enable_gopher+set}" = set; then + enableval=$enable_gopher; +else + enable_gopher="no" +fi + + test x"$enable_gopher" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_GOPHER 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_gopher" >&5 +echo "${ECHO_T}$enable_gopher" >&6; } + + +{ echo "$as_me:$LINENO: checking if dictionary lookup is enabled" >&5 +echo $ECHO_N "checking if dictionary lookup is enabled... $ECHO_C" >&6; } +# Check whether --enable-dict was given. +if test "${enable_dict+set}" = set; then + enableval=$enable_dict; +else + enable_dict="yes" +fi + + test x"$enable_dict" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_DICT 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_dict" >&5 +echo "${ECHO_T}$enable_dict" >&6; } + + { echo "$as_me:$LINENO: checking if help cgi is enabled" >&5 +echo $ECHO_N "checking if help cgi is enabled... $ECHO_C" >&6; } + # Check whether --enable-help_cgi was given. +if test "${enable_help_cgi+set}" = set; then + enableval=$enable_help_cgi; +else + enable_help_cgi="yes" +fi + + test x"$enable_help_cgi" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_HELP_CGI 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_help_cgi" >&5 +echo "${ECHO_T}$enable_help_cgi" >&6; } + + { echo "$as_me:$LINENO: checking if external URI loader is enabled" >&5 +echo $ECHO_N "checking if external URI loader is enabled... $ECHO_C" >&6; } + # Check whether --enable-external_uri_loader was given. +if test "${enable_external_uri_loader+set}" = set; then + enableval=$enable_external_uri_loader; +else + enable_external_uri_loader="yes" +fi + + test x"$enable_external_uri_loader" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_EXTERNAL_URI_LOADER 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_external_uri_loader" >&5 +echo "${ECHO_T}$enable_external_uri_loader" >&6; } + + { echo "$as_me:$LINENO: checking if w3mmail is used" >&5 +echo $ECHO_N "checking if w3mmail is used... $ECHO_C" >&6; } + # Check whether --enable-w3mmailer was given. +if test "${enable_w3mmailer+set}" = set; then + enableval=$enable_w3mmailer; +else + enable_w3mmailer="$enable_external_uri_loader" +fi + + test x"$enable_external_uri_loader" = xno && enable_w3mmailer=no + test x"$enable_w3mmailer" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_W3MMAILER 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_w3mmailer" >&5 +echo "${ECHO_T}$enable_w3mmailer" >&6; } + + + migemo_command="migemo -t egrep /usr/local/share/migemo/migemo-dict" + { echo "$as_me:$LINENO: checking if migemo is supported with" >&5 +echo $ECHO_N "checking if migemo is supported with... $ECHO_C" >&6; } + +# Check whether --with-migemo was given. +if test "${with_migemo+set}" = set; then + withval=$with_migemo; test x"$with_migemo" = xyes || migemo_command="$with_migemo" +fi + + if test "${with_migemo+set}" = set -a "$with_migemo" != "no"; then + cat >>confdefs.h <<\_ACEOF +#define USE_MIGEMO 1 +_ACEOF + + fi + { echo "$as_me:$LINENO: result: $migemo_command" >&5 +echo "${ECHO_T}$migemo_command" >&6; } + cat >>confdefs.h <<_ACEOF +#define DEF_MIGEMO_COMMAND "$migemo_command" +_ACEOF + + +w3m_editor="/usr/bin/vi" +{ echo "$as_me:$LINENO: checking which editor is used by default" >&5 +echo $ECHO_N "checking which editor is used by default... $ECHO_C" >&6; } + +# Check whether --with-editor was given. +if test "${with_editor+set}" = set; then + withval=$with_editor; w3m_editor="$with_editor" +fi + +{ echo "$as_me:$LINENO: result: $w3m_editor" >&5 +echo "${ECHO_T}$w3m_editor" >&6; } +cat >>confdefs.h <<_ACEOF +#define DEF_EDITOR "$w3m_editor" +_ACEOF + + +w3m_mailer="/usr/bin/mail" +{ echo "$as_me:$LINENO: checking which mailer is used by default" >&5 +echo $ECHO_N "checking which mailer is used by default... $ECHO_C" >&6; } + +# Check whether --with-mailer was given. +if test "${with_mailer+set}" = set; then + withval=$with_mailer; w3m_mailer="$with_mailer" +fi + +{ echo "$as_me:$LINENO: result: $w3m_mailer" >&5 +echo "${ECHO_T}$w3m_mailer" >&6; } +cat >>confdefs.h <<_ACEOF +#define DEF_MAILER "$w3m_mailer" +_ACEOF + + +w3m_browser="/usr/bin/mozilla" +{ echo "$as_me:$LINENO: checking which external browser is used by default" >&5 +echo $ECHO_N "checking which external browser is used by default... $ECHO_C" >&6; } + +# Check whether --with-browser was given. +if test "${with_browser+set}" = set; then + withval=$with_browser; w3m_browser="$with_browser" +fi + +{ echo "$as_me:$LINENO: result: $w3m_browser" >&5 +echo "${ECHO_T}$w3m_browser" >&6; } +cat >>confdefs.h <<_ACEOF +#define DEF_EXT_BROWSER "$w3m_browser" +_ACEOF + + +for lib in bsd BSD 44bsd socket nsl dld dl +do + lib=$lib + { echo "$as_me:$LINENO: checking for -l$lib" >&5 +echo $ECHO_N "checking for -l$lib... $ECHO_C" >&6; } + extlib="not found" + for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib + do + if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then + LIBS="$LIBS -l$lib" + extlib="found at $dir" + break + fi + done + { echo "$as_me:$LINENO: result: $extlib" >&5 +echo "${ECHO_T}$extlib" >&6; } +done + +{ echo "$as_me:$LINENO: checking if IPv6 support is enabled" >&5 +echo $ECHO_N "checking if IPv6 support is enabled... $ECHO_C" >&6; } +# Check whether --enable-ipv6 was given. +if test "${enable_ipv6+set}" = set; then + enableval=$enable_ipv6; +else + enable_ipv6="yes" +fi + +{ echo "$as_me:$LINENO: result: $enable_ipv6" >&5 +echo "${ECHO_T}$enable_ipv6" >&6; } + +if test x"$enable_ipv6" = xyes; then + { echo "$as_me:$LINENO: checking if IPv6 API available" >&5 +echo $ECHO_N "checking if IPv6 API available... $ECHO_C" >&6; } + + { echo "$as_me:$LINENO: checking for getaddrinfo" >&5 +echo $ECHO_N "checking for getaddrinfo... $ECHO_C" >&6; } +if test "${ac_cv_func_getaddrinfo+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define getaddrinfo to an innocuous variant, in case declares getaddrinfo. + For example, HP-UX 11i declares gettimeofday. */ +#define getaddrinfo innocuous_getaddrinfo + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char getaddrinfo (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef getaddrinfo + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getaddrinfo (); +/* 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_getaddrinfo || defined __stub___getaddrinfo +choke me +#endif + +int +main () +{ +return getaddrinfo (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_getaddrinfo=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_getaddrinfo=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_getaddrinfo" >&5 +echo "${ECHO_T}$ac_cv_func_getaddrinfo" >&6; } +if test $ac_cv_func_getaddrinfo = yes; then + enable_ipv6="yes" +else + enable_ipv6="no" +fi + + if test x"$enable_ipv6" = xno; then + { echo "$as_me:$LINENO: checking for libinet6" >&5 +echo $ECHO_N "checking for libinet6... $ECHO_C" >&6; } + for dir in /usr/local/v6/lib /usr/local/lib /usr/lib + do + if test -f $dir/libinet6.a; then + if test $dir != "/usr/lib"; then + W3M_LIBS="$W3M_LIBS -L$dir" + fi + { echo "$as_me:$LINENO: checking for getaddrinfo in -linet6" >&5 +echo $ECHO_N "checking for getaddrinfo in -linet6... $ECHO_C" >&6; } +if test "${ac_cv_lib_inet6_getaddrinfo+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-linet6 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getaddrinfo (); +int +main () +{ +return getaddrinfo (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_inet6_getaddrinfo=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_inet6_getaddrinfo=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_inet6_getaddrinfo" >&5 +echo "${ECHO_T}$ac_cv_lib_inet6_getaddrinfo" >&6; } +if test $ac_cv_lib_inet6_getaddrinfo = yes; then + enable_ipv6="yes" + use_libinet6="found"; W3M_LIBS="$W3M_LIBS -linet6"; break +else + use_libinet6="not found" +fi + + fi + done + { echo "$as_me:$LINENO: result: $use_libinet6" >&5 +echo "${ECHO_T}$use_libinet6" >&6; } + fi + if test x"$enable_ipv6" = xyes; then + + { echo "$as_me:$LINENO: checking if struct sockaddr_storage has an ss_family member" >&5 +echo $ECHO_N "checking if struct sockaddr_storage has an ss_family member... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + + struct sockaddr_storage ss; + int i = ss.ss_family; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + + struct sockaddr_storage ss; + int i = ss.__ss_family; + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + cat >>confdefs.h <<\_ACEOF +#define HAVE_OLD_SS_FAMILY 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { echo "$as_me:$LINENO: WARNING: IPv6 support is disabled" >&5 +echo "$as_me: WARNING: IPv6 support is disabled" >&2;} + enable_ipv6="no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test x"$enable_ipv6" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define INET6 1 +_ACEOF + + fi +fi + + +{ echo "$as_me:$LINENO: checking if SSL is suported" >&5 +echo $ECHO_N "checking if SSL is suported... $ECHO_C" >&6; } + +# Check whether --with-ssl was given. +if test "${with_ssl+set}" = set; then + withval=$with_ssl; +else + with_ssl="yes" +fi + +{ echo "$as_me:$LINENO: result: $with_ssl" >&5 +echo "${ECHO_T}$with_ssl" >&6; } +if test x"$with_ssl" != xno; then + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { echo "$as_me:$LINENO: checking for openssl" >&5 +echo $ECHO_N "checking for openssl... $ECHO_C" >&6; } + + if $PKG_CONFIG --exists "openssl" ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + succeeded=yes + + { echo "$as_me:$LINENO: checking SSL_CFLAGS" >&5 +echo $ECHO_N "checking SSL_CFLAGS... $ECHO_C" >&6; } + SSL_CFLAGS=`$PKG_CONFIG --cflags "openssl"` + { echo "$as_me:$LINENO: result: $SSL_CFLAGS" >&5 +echo "${ECHO_T}$SSL_CFLAGS" >&6; } + + { echo "$as_me:$LINENO: checking SSL_LIBS" >&5 +echo $ECHO_N "checking SSL_LIBS... $ECHO_C" >&6; } + SSL_LIBS=`$PKG_CONFIG --libs "openssl"` + { echo "$as_me:$LINENO: result: $SSL_LIBS" >&5 +echo "${ECHO_T}$SSL_LIBS" >&6; } + else + SSL_CFLAGS="" + SSL_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + SSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + + { echo "$as_me:$LINENO: checking for SSL library/header" >&5 +echo $ECHO_N "checking for SSL library/header... $ECHO_C" >&6; } + test x"$with_ssl" = xyes && with_ssl="/usr/openssl /usr/ssl /usr /usr/local/openssl /usr/local/ssl /usr/local" + { echo "$as_me:$LINENO: result: $with_ssl" >&5 +echo "${ECHO_T}$with_ssl" >&6; } + for dir in $with_ssl + do + if test -f "$dir/include/openssl/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include/openssl" + if test "$dir" != "/usr"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + elif test "$dir" != "/usr" -a -f "$dir/include/ssl.h"; then + SSL_CFLAGS="$SSL_CFLAGS -I$dir/include" + fi + if test "$dir" != "/usr" -a -f "$dir/lib/libssl.a"; then + SSL_LIBS="$SSL_LIBS -L$dir/lib" + fi + done + + fi + + { echo "$as_me:$LINENO: checking for SSL_new in -lssl" >&5 +echo $ECHO_N "checking for SSL_new in -lssl... $ECHO_C" >&6; } +if test "${ac_cv_lib_ssl_SSL_new+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lssl $SSL_LIBS -lcrypto $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SSL_new (); +int +main () +{ +return SSL_new (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ssl_SSL_new=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ssl_SSL_new=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_new" >&5 +echo "${ECHO_T}$ac_cv_lib_ssl_SSL_new" >&6; } +if test $ac_cv_lib_ssl_SSL_new = yes; then + w3m_ssl="found"; CFLAGS="$CFLAGS $SSL_CFLAGS" W3M_LIBS="$W3M_LIBS $SSL_LIBS -lssl -lcrypto" +else + w3m_ssl="not found" +fi + + + if test x"$w3m_ssl" = xfound; then + cat >>confdefs.h <<\_ACEOF +#define USE_SSL 1 +_ACEOF + + { echo "$as_me:$LINENO: checking if SSL certificate verify is enabled" >&5 +echo $ECHO_N "checking if SSL certificate verify is enabled... $ECHO_C" >&6; } + # Check whether --enable-sslverify was given. +if test "${enable_sslverify+set}" = set; then + enableval=$enable_sslverify; +else + enable_sslverify="yes" +fi + + test x"$enable_sslverify" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_SSL_VERIFY 1 +_ACEOF + + { echo "$as_me:$LINENO: result: $enable_sslverify" >&5 +echo "${ECHO_T}$enable_sslverify" >&6; } + fi +fi + +{ echo "$as_me:$LINENO: checking if digest auth is enabled" >&5 +echo $ECHO_N "checking if digest auth is enabled... $ECHO_C" >&6; } +# Check whether --enable-digest_auth was given. +if test "${enable_digest_auth+set}" = set; then + enableval=$enable_digest_auth; +else + enable_digest_auth="yes" +fi + +if test x"$enable_digest_auth" = xyes -a x"$w3m_ssl" = xfound; then + cat >>confdefs.h <<\_ACEOF +#define USE_DIGEST_AUTH 1 +_ACEOF + +else + enable_digest_auth="no" +fi +{ echo "$as_me:$LINENO: result: $enable_digest_auth" >&5 +echo "${ECHO_T}$enable_digest_auth" >&6; } + + +{ echo "$as_me:$LINENO: checking for sqrt" >&5 +echo $ECHO_N "checking for sqrt... $ECHO_C" >&6; } +if test "${ac_cv_func_sqrt+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define sqrt to an innocuous variant, in case declares sqrt. + For example, HP-UX 11i declares gettimeofday. */ +#define sqrt innocuous_sqrt + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char sqrt (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef sqrt + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqrt (); +/* 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_sqrt || defined __stub___sqrt +choke me +#endif + +int +main () +{ +return sqrt (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_sqrt=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_sqrt=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_sqrt" >&5 +echo "${ECHO_T}$ac_cv_func_sqrt" >&6; } +if test $ac_cv_func_sqrt = yes; then + : +else + +{ echo "$as_me:$LINENO: checking for sqrt in -lm" >&5 +echo $ECHO_N "checking for sqrt in -lm... $ECHO_C" >&6; } +if test "${ac_cv_lib_m_sqrt+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqrt (); +int +main () +{ +return sqrt (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_m_sqrt=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_m_sqrt=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_sqrt" >&5 +echo "${ECHO_T}$ac_cv_lib_m_sqrt" >&6; } +if test $ac_cv_lib_m_sqrt = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +fi + +if test x"$enable_mouse" = xyes; then + + { echo "$as_me:$LINENO: checking for Gpm_Open in -lgpm" >&5 +echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6; } +if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgpm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char Gpm_Open (); +int +main () +{ +return Gpm_Open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_gpm_Gpm_Open=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_gpm_Gpm_Open=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_gpm_Gpm_Open" >&5 +echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6; } +if test $ac_cv_lib_gpm_Gpm_Open = yes; then + cat >>confdefs.h <<\_ACEOF +#define USE_GPM 1 +_ACEOF + + W3M_LIBS="$W3M_LIBS -lgpm" +fi + + + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + MOUSE_GETINFO +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + cat >>confdefs.h <<\_ACEOF +#define USE_SYSMOUSE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + MOUSE_GETINFO +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + cat >>confdefs.h <<\_ACEOF +#define USE_SYSMOUSE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f conftest.err conftest.$ac_ext +fi + +rm -f conftest.err conftest.$ac_ext +fi + +{ echo "$as_me:$LINENO: checking terminal library" >&5 +echo $ECHO_N "checking terminal library... $ECHO_C" >&6; } + +# Check whether --with-termlib was given. +if test "${with_termlib+set}" = set; then + withval=$with_termlib; +else + with_termlib="yes" +fi + + { echo "$as_me:$LINENO: result: $with_termlib" >&5 +echo "${ECHO_T}$with_termlib" >&6; } + test x"$with_termlib" = xyes && with_termlib="terminfo mytinfo termlib termcap ncurses curses" + for lib in $with_termlib; do + as_ac_Lib=`echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for tgetent in -l$lib" >&5 +echo $ECHO_N "checking for tgetent in -l$lib... $ECHO_C" >&6; } +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$lib $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_Lib=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Lib=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +ac_res=`eval echo '${'$as_ac_Lib'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Lib'}'` = yes; then + W3M_LIBS="$W3M_LIBS -l$lib"; break +fi + + done + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_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_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#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)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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.conftest.* 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 +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 { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&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 + + +{ echo "$as_me:$LINENO: checking GC library exists" >&5 +echo $ECHO_N "checking GC library exists... $ECHO_C" >&6; } + + +# Check whether --with-gc was given. +if test "${with_gc+set}" = set; then + withval=$with_gc; test x"$with_gc" = xno && { { echo "$as_me:$LINENO: error: You can not build w3m without gc" >&5 +echo "$as_me: error: You can not build w3m without gc" >&2;} + { (exit 1); exit 1; }; } +else + with_gc="yes" +fi + + { echo "$as_me:$LINENO: result: $with_gc" >&5 +echo "${ECHO_T}$with_gc" >&6; } + test x"$with_gc" = xyes && with_gc="/usr /usr/local ${HOME}" + unset ac_cv_header_gc_h + if test "${ac_cv_header_gc_h+set}" = set; then + { echo "$as_me:$LINENO: checking for gc.h" >&5 +echo $ECHO_N "checking for gc.h... $ECHO_C" >&6; } +if test "${ac_cv_header_gc_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_gc_h" >&5 +echo "${ECHO_T}$ac_cv_header_gc_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking gc.h usability" >&5 +echo $ECHO_N "checking gc.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 gc.h presence" >&5 +echo $ECHO_N "checking gc.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: gc.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: gc.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: gc.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: gc.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: gc.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: gc.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: gc.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: gc.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: gc.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: gc.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for gc.h" >&5 +echo $ECHO_N "checking for gc.h... $ECHO_C" >&6; } +if test "${ac_cv_header_gc_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_gc_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_gc_h" >&5 +echo "${ECHO_T}$ac_cv_header_gc_h" >&6; } + +fi + + + if test x"$ac_cv_header_gc_h" = xno; then + { echo "$as_me:$LINENO: checking GC header location" >&5 +echo $ECHO_N "checking GC header location... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $with_gc" >&5 +echo "${ECHO_T}$with_gc" >&6; } + gcincludedir=no + for dir in $with_gc; do + for inc in include include/gc; do + cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I$dir/$inc" + { echo "$as_me:$LINENO: checking $dir/$inc" >&5 +echo $ECHO_N "checking $dir/$inc... $ECHO_C" >&6; } + unset ac_cv_header_gc_h + if test "${ac_cv_header_gc_h+set}" = set; then + { echo "$as_me:$LINENO: checking for gc.h" >&5 +echo $ECHO_N "checking for gc.h... $ECHO_C" >&6; } +if test "${ac_cv_header_gc_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_gc_h" >&5 +echo "${ECHO_T}$ac_cv_header_gc_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking gc.h usability" >&5 +echo $ECHO_N "checking gc.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 gc.h presence" >&5 +echo $ECHO_N "checking gc.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: gc.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: gc.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: gc.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: gc.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: gc.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: gc.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: gc.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: gc.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: gc.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: gc.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: gc.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for gc.h" >&5 +echo $ECHO_N "checking for gc.h... $ECHO_C" >&6; } +if test "${ac_cv_header_gc_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_gc_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_gc_h" >&5 +echo "${ECHO_T}$ac_cv_header_gc_h" >&6; } + +fi +if test $ac_cv_header_gc_h = yes; then + gcincludedir="$dir/$inc"; CFLAGS="$CFLAGS -I$dir/$inc"; break +fi + + + CPPFLAGS="$cppflags" + done + if test x"$gcincludedir" != xno; then + break; + fi + done + if test x"$gcincludedir" = xno; then + { { echo "$as_me:$LINENO: error: gc.h not found" >&5 +echo "$as_me: error: gc.h not found" >&2;} + { (exit 1); exit 1; }; } + fi + fi + unset ac_cv_lib_gc_GC_init + { echo "$as_me:$LINENO: checking for GC_init in -lgc" >&5 +echo $ECHO_N "checking for GC_init in -lgc... $ECHO_C" >&6; } +if test "${ac_cv_lib_gc_GC_init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char GC_init (); +int +main () +{ +return GC_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_gc_GC_init=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_gc_GC_init=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_gc_GC_init" >&5 +echo "${ECHO_T}$ac_cv_lib_gc_GC_init" >&6; } +if test $ac_cv_lib_gc_GC_init = yes; then + LIBGC="-lgc" +fi + + if test x"$ac_cv_lib_gc_GC_init" = xno; then + { echo "$as_me:$LINENO: checking GC library location" >&5 +echo $ECHO_N "checking GC library location... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $with_gc" >&5 +echo "${ECHO_T}$with_gc" >&6; } + gclibdir=no + for dir in $with_gc; do + ldflags="$LDFLAGS" + LDFLAGS="$LDFLAGS -L$dir/lib" + { echo "$as_me:$LINENO: checking $dir" >&5 +echo $ECHO_N "checking $dir... $ECHO_C" >&6; } + unset ac_cv_lib_gc_GC_init + { echo "$as_me:$LINENO: checking for GC_init in -lgc" >&5 +echo $ECHO_N "checking for GC_init in -lgc... $ECHO_C" >&6; } +if test "${ac_cv_lib_gc_GC_init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char GC_init (); +int +main () +{ +return GC_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_gc_GC_init=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_gc_GC_init=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_gc_GC_init" >&5 +echo "${ECHO_T}$ac_cv_lib_gc_GC_init" >&6; } +if test $ac_cv_lib_gc_GC_init = yes; then + gclibdir="$dir/lib"; LIBGC="-L$dir/lib -lgc"; break +fi + + LDFLAGS="$ldflags" + done + if test x"$gclibdir" = xno; then + { { echo "$as_me:$LINENO: error: libgc not found" >&5 +echo "$as_me: error: libgc not found" >&2;} + { (exit 1); exit 1; }; } + fi + fi +{ echo "$as_me:$LINENO: checking for zError in -lz" >&5 +echo $ECHO_N "checking for zError in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_zError+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char zError (); +int +main () +{ +return zError (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_zError=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_zError=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_zError" >&5 +echo "${ECHO_T}$ac_cv_lib_z_zError" >&6; } +if test $ac_cv_lib_z_zError = yes; then + AUXBIN_TARGETS="$AUXBIN_TARGETS inflate\$(EXT)" +fi + + +cat >>confdefs.h <<\_ACEOF +#define AUXBIN_TARGETS "$AUXBIN_TARGETS" +_ACEOF + + + +case "$host_os" in + *cygwin*|*os2-emx*|*mingw*) + cat >>confdefs.h <<\_ACEOF +#define USE_BINMODE_STREAM 1 +_ACEOF + + ;; +esac + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break +fi +done +if test "${ac_cv_search_opendir+set}" = set; then + : +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +{ 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#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)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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.conftest.* 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 + +{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; } +if test "${ac_cv_header_sys_wait_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_sys_wait_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_sys_wait_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SYS_WAIT_H 1 +_ACEOF + +fi + +if test "${ac_cv_header_termios_h+set}" = set; then + { echo "$as_me:$LINENO: checking for termios.h" >&5 +echo $ECHO_N "checking for termios.h... $ECHO_C" >&6; } +if test "${ac_cv_header_termios_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_termios_h" >&5 +echo "${ECHO_T}$ac_cv_header_termios_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking termios.h usability" >&5 +echo $ECHO_N "checking termios.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 termios.h presence" >&5 +echo $ECHO_N "checking termios.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: termios.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: termios.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: termios.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: termios.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: termios.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: termios.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: termios.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: termios.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: termios.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: termios.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: termios.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for termios.h" >&5 +echo $ECHO_N "checking for termios.h... $ECHO_C" >&6; } +if test "${ac_cv_header_termios_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_termios_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_termios_h" >&5 +echo "${ECHO_T}$ac_cv_header_termios_h" >&6; } + +fi +if test $ac_cv_header_termios_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_TERMIOS_H 1 +_ACEOF + +else + if test "${ac_cv_header_termio_h+set}" = set; then + { echo "$as_me:$LINENO: checking for termio.h" >&5 +echo $ECHO_N "checking for termio.h... $ECHO_C" >&6; } +if test "${ac_cv_header_termio_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_termio_h" >&5 +echo "${ECHO_T}$ac_cv_header_termio_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking termio.h usability" >&5 +echo $ECHO_N "checking termio.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 termio.h presence" >&5 +echo $ECHO_N "checking termio.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: termio.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: termio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: termio.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: termio.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: termio.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: termio.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: termio.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: termio.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: termio.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: termio.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: termio.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for termio.h" >&5 +echo $ECHO_N "checking for termio.h... $ECHO_C" >&6; } +if test "${ac_cv_header_termio_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_termio_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_termio_h" >&5 +echo "${ECHO_T}$ac_cv_header_termio_h" >&6; } + +fi +if test $ac_cv_header_termio_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_TERMIO_H 1 +_ACEOF + +else + if test "${ac_cv_header_sgtty_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sgtty.h" >&5 +echo $ECHO_N "checking for sgtty.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sgtty_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sgtty_h" >&5 +echo "${ECHO_T}$ac_cv_header_sgtty_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sgtty.h usability" >&5 +echo $ECHO_N "checking sgtty.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 sgtty.h presence" >&5 +echo $ECHO_N "checking sgtty.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: sgtty.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sgtty.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sgtty.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sgtty.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sgtty.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sgtty.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sgtty.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sgtty.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sgtty.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sgtty.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sgtty.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sgtty.h" >&5 +echo $ECHO_N "checking for sgtty.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sgtty_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sgtty_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sgtty_h" >&5 +echo "${ECHO_T}$ac_cv_header_sgtty_h" >&6; } + +fi +if test $ac_cv_header_sgtty_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_SGTTY_H 1 +_ACEOF + +fi + + +fi + + +fi + + +if test "${ac_cv_header_float_h+set}" = set; then + { echo "$as_me:$LINENO: checking for float.h" >&5 +echo $ECHO_N "checking for float.h... $ECHO_C" >&6; } +if test "${ac_cv_header_float_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_float_h" >&5 +echo "${ECHO_T}$ac_cv_header_float_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking float.h usability" >&5 +echo $ECHO_N "checking float.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 float.h presence" >&5 +echo $ECHO_N "checking float.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: float.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: float.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: float.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: float.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: float.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: float.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: float.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: float.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: float.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: float.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: float.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for float.h" >&5 +echo $ECHO_N "checking for float.h... $ECHO_C" >&6; } +if test "${ac_cv_header_float_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_float_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_float_h" >&5 +echo "${ECHO_T}$ac_cv_header_float_h" >&6; } + +fi +if test $ac_cv_header_float_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_FLOAT_H 1 +_ACEOF + +fi + + +if test "${ac_cv_header_sys_select_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sys/select.h" >&5 +echo $ECHO_N "checking for sys/select.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sys_select_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_select_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_select_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sys/select.h usability" >&5 +echo $ECHO_N "checking sys/select.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 sys/select.h presence" >&5 +echo $ECHO_N "checking sys/select.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: sys/select.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sys/select.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sys/select.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sys/select.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sys/select.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sys/select.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sys/select.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sys/select.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sys/select.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sys/select.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sys/select.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sys/select.h" >&5 +echo $ECHO_N "checking for sys/select.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sys_select_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sys_select_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_select_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_select_h" >&6; } + +fi +if test $ac_cv_header_sys_select_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_SYS_SELECT_H 1 +_ACEOF + +fi + + +if test "${ac_cv_header_locale_h+set}" = set; then + { echo "$as_me:$LINENO: checking for locale.h" >&5 +echo $ECHO_N "checking for locale.h... $ECHO_C" >&6; } +if test "${ac_cv_header_locale_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5 +echo "${ECHO_T}$ac_cv_header_locale_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking locale.h usability" >&5 +echo $ECHO_N "checking locale.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 locale.h presence" >&5 +echo $ECHO_N "checking locale.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: locale.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: locale.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: locale.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: locale.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: locale.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: locale.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: locale.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: locale.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: locale.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for locale.h" >&5 +echo $ECHO_N "checking for locale.h... $ECHO_C" >&6; } +if test "${ac_cv_header_locale_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_locale_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5 +echo "${ECHO_T}$ac_cv_header_locale_h" >&6; } + +fi +if test $ac_cv_header_locale_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_LOCALE_H 1 +_ACEOF + +fi + + +if test "${ac_cv_header_stdint_h+set}" = set; then + { echo "$as_me:$LINENO: checking for stdint.h" >&5 +echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6; } +if test "${ac_cv_header_stdint_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdint_h" >&5 +echo "${ECHO_T}$ac_cv_header_stdint_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking stdint.h usability" >&5 +echo $ECHO_N "checking stdint.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 stdint.h presence" >&5 +echo $ECHO_N "checking stdint.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: stdint.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: stdint.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: stdint.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: stdint.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: stdint.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: stdint.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: stdint.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: stdint.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: stdint.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: stdint.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: stdint.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for stdint.h" >&5 +echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6; } +if test "${ac_cv_header_stdint_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_stdint_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdint_h" >&5 +echo "${ECHO_T}$ac_cv_header_stdint_h" >&6; } + +fi +if test $ac_cv_header_stdint_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_STDINT_H 1 +_ACEOF + +fi + + +if test "${ac_cv_header_inttypes_h+set}" = set; then + { echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6; } +if test "${ac_cv_header_inttypes_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$ac_cv_header_inttypes_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking inttypes.h usability" >&5 +echo $ECHO_N "checking inttypes.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err 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 inttypes.h presence" >&5 +echo $ECHO_N "checking inttypes.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +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:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: inttypes.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: inttypes.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: inttypes.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: inttypes.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: inttypes.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: inttypes.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: inttypes.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: inttypes.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: inttypes.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: inttypes.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: inttypes.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ----------------------------- ## +## Report this to satodai@w3m.jp ## +## ----------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for inttypes.h" >&5 +echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6; } +if test "${ac_cv_header_inttypes_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_inttypes_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_inttypes_h" >&5 +echo "${ECHO_T}$ac_cv_header_inttypes_h" >&6; } + +fi +if test $ac_cv_header_inttypes_h = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_INTTYPES_H 1 +_ACEOF + +fi + + + +{ echo "$as_me:$LINENO: checking for long long" >&5 +echo $ECHO_N "checking for long long... $ECHO_C" >&6; } +if test "${ac_cv_type_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef long long ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_long_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_long_long=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 +echo "${ECHO_T}$ac_cv_type_long_long" >&6; } + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ echo "$as_me:$LINENO: checking size of long long" >&5 +echo $ECHO_N "checking size of long long... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long_long=$ac_lo;; +'') if test "$ac_cv_type_long_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_long_long=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef long long ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long_long=`cat conftest.val` +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 ) +if test "$ac_cv_type_long_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_long_long=0 + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5 +echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +_ACEOF + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for ac_func in strcasecmp strcasestr strchr memcpy strerror bcopy setpgrp chdir getcwd getwd readlink setenv putenv strtoll stroq atoll atoq symlink readlink lstat srand48 srandom getpassphrase waitpid setlocale +do +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 { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* 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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&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 + + +for ac_func in strftime +do +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 { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* 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 +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + # strftime is in -lintl on SCO UNIX. +{ echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 +echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_strftime+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strftime (); +int +main () +{ +return strftime (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_strftime=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_strftime=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6; } +if test $ac_cv_lib_intl_strftime = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_STRFTIME 1 +_ACEOF + +LIBS="-lintl $LIBS" +fi + +fi +done + +{ echo "$as_me:$LINENO: checking for wait3 that fills in rusage" >&5 +echo $ECHO_N "checking for wait3 that fills in rusage... $ECHO_C" >&6; } +if test "${ac_cv_func_wait3_rusage+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_wait3_rusage=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +#include +#include +/* HP-UX has wait3 but does not fill in rusage at all. */ +int +main () +{ + struct rusage r; + int i; + /* Use a field that we can force nonzero -- + voluntary context switches. + For systems like NeXT and OSF/1 that don't set it, + also use the system CPU time. And page faults (I/O) for Linux. */ + r.ru_nvcsw = 0; + r.ru_stime.tv_sec = 0; + r.ru_stime.tv_usec = 0; + r.ru_majflt = r.ru_minflt = 0; + switch (fork ()) + { + case 0: /* Child. */ + sleep(1); /* Give up the CPU. */ + _exit(0); + break; + case -1: /* What can we do? */ + _exit(0); + break; + default: /* Parent. */ + wait3(&i, 0, &r); + /* Avoid "text file busy" from rm on fast HP-UX machines. */ + sleep(2); + return (r.ru_nvcsw == 0 && r.ru_majflt == 0 && r.ru_minflt == 0 + && r.ru_stime.tv_sec == 0 && r.ru_stime.tv_usec == 0); + } +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_wait3_rusage=yes +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_func_wait3_rusage=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_wait3_rusage" >&5 +echo "${ECHO_T}$ac_cv_func_wait3_rusage" >&6; } +if test $ac_cv_func_wait3_rusage = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_WAIT3 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether setpgrp takes no argument" >&5 +echo $ECHO_N "checking whether setpgrp takes no argument... $ECHO_C" >&6; } +if test "${ac_cv_func_setpgrp_void+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot check setpgrp when cross compiling" >&5 +echo "$as_me: error: cannot check setpgrp when cross compiling" >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +/* If this system has a BSD-style setpgrp which takes arguments, + setpgrp(1, 1) will fail with ESRCH and return -1, in that case + exit successfully. */ + return setpgrp (1,1) != -1; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_setpgrp_void=no +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_func_setpgrp_void=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_setpgrp_void" >&5 +echo "${ECHO_T}$ac_cv_func_setpgrp_void" >&6; } +if test $ac_cv_func_setpgrp_void = yes; then + +cat >>confdefs.h <<\_ACEOF +#define SETPGRP_VOID 1 +_ACEOF + +fi + +case "$host_os" in + *cygwin*) + ;; + *) + + { echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 +echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6; } +if test "${am_cv_langinfo_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +char* cs = nl_langinfo(CODESET); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_langinfo_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + am_cv_langinfo_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 +echo "${ECHO_T}$am_cv_langinfo_codeset" >&6; } + if test $am_cv_langinfo_codeset = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LANGINFO_CODESET 1 +_ACEOF + + fi + + ;; +esac + +{ echo "$as_me:$LINENO: checking for sys_errlist" >&5 +echo $ECHO_N "checking for sys_errlist... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +extern char *sys_errlist[]; +int +main () +{ +printf(sys_errlist[0]); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + have_sys_errlist="yes"; cat >>confdefs.h <<\_ACEOF +#define HAVE_SYS_ERRLIST 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + have_sys_errlist="no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $have_sys_errlist" >&5 +echo "${ECHO_T}$have_sys_errlist" >&6; } + +{ echo "$as_me:$LINENO: checking for sigsetjmp" >&5 +echo $ECHO_N "checking for sigsetjmp... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + jmp_buf env; + if (sigsetjmp(env, 1) != 0) { exit(0); } siglongjmp(env, 1); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + have_sigsetjmp="yes"; cat >>confdefs.h <<\_ACEOF +#define HAVE_SIGSETJMP 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + have_sigsetjmp="no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $have_sigsetjmp" >&5 +echo "${ECHO_T}$have_sigsetjmp" >&6; } +{ echo "$as_me:$LINENO: checking return type of signal handlers" >&5 +echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } +if test "${ac_cv_type_signal+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +return *(signal (0, 0)) (0) == 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_signal=int +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_signal=void +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 +echo "${ECHO_T}$ac_cv_type_signal" >&6; } + +cat >>confdefs.h <<_ACEOF +#define RETSIGTYPE $ac_cv_type_signal +_ACEOF + + + + + if test x"$ac_cv_type_signal" = xvoid; then + cat >>confdefs.h <<\_ACEOF +#define SIGNAL_RETURN return +_ACEOF + + else + cat >>confdefs.h <<\_ACEOF +#define SIGNAL_RETURN return 0 +_ACEOF + + fi + + +HELP_DIR="$datadir/$PACKAGE" +cat >>confdefs.h <<\_ACEOF +#define HELP_DIR "$HELP_DIR" +_ACEOF + + +RC_DIR="~/.$PACKAGE" +cat >>confdefs.h <<\_ACEOF +#define RC_DIR "$RC_DIR" +_ACEOF + + +DOCDIRS="doc:en_English doc-jp:ja_Japanese" +cat >>confdefs.h <<_ACEOF +#define DOCDIRS "$DOCDIRS" +_ACEOF + + + + cvsver=`$AWK '\$1 ~ /Id:/ { print \$3}' $srcdir/ChangeLog` + sed -e 's/define CURRENT_VERSION "\(.*\)+cvs/define CURRENT_VERSION "\1+cvs-'$cvsver'/' $srcdir/version.c.in > version.c + CURRENT_VERSION=`sed -n 's/.*define CURRENT_VERSION *"w3m\/\(.*\)".*$/\1/p' version.c` +ac_config_files="$ac_config_files Makefile posubst po/Makefile.in scripts/Makefile scripts/dirlist.cgi scripts/w3mhelp.cgi scripts/w3mmail.cgi scripts/xface2xpm scripts/multipart/Makefile scripts/multipart/multipart.cgi scripts/w3mman/Makefile scripts/w3mman/w3mman scripts/w3mman/w3mman.1 scripts/w3mman/w3mman2html.cgi libwc/Makefile w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile w3mhelp-w3m_en.html w3mhelp-w3m_ja.html w3mhelp-lynx_en.html w3mhelp-lynx_ja.html" + +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 +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# 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 overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +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 "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +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_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# 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} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +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+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# 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 + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +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 +IFS=$as_save_IFS + + ;; +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_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +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 -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; 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'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +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$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by w3m $as_me 0.5.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +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 and configuration settings, 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 ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +w3m config.status 0.5.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +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=: +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 + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --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;; + --he | --h) + # Conflict between --help and --header + { 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 ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { 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" + ac_need_defaults=false ;; + + 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 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "posubst") CONFIG_FILES="$CONFIG_FILES posubst" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; + "scripts/dirlist.cgi") CONFIG_FILES="$CONFIG_FILES scripts/dirlist.cgi" ;; + "scripts/w3mhelp.cgi") CONFIG_FILES="$CONFIG_FILES scripts/w3mhelp.cgi" ;; + "scripts/w3mmail.cgi") CONFIG_FILES="$CONFIG_FILES scripts/w3mmail.cgi" ;; + "scripts/xface2xpm") CONFIG_FILES="$CONFIG_FILES scripts/xface2xpm" ;; + "scripts/multipart/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/multipart/Makefile" ;; + "scripts/multipart/multipart.cgi") CONFIG_FILES="$CONFIG_FILES scripts/multipart/multipart.cgi" ;; + "scripts/w3mman/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/w3mman/Makefile" ;; + "scripts/w3mman/w3mman") CONFIG_FILES="$CONFIG_FILES scripts/w3mman/w3mman" ;; + "scripts/w3mman/w3mman.1") CONFIG_FILES="$CONFIG_FILES scripts/w3mman/w3mman.1" ;; + "scripts/w3mman/w3mman2html.cgi") CONFIG_FILES="$CONFIG_FILES scripts/w3mman/w3mman2html.cgi" ;; + "libwc/Makefile") CONFIG_FILES="$CONFIG_FILES libwc/Makefile" ;; + "w3mimg/Makefile") CONFIG_FILES="$CONFIG_FILES w3mimg/Makefile" ;; + "w3mimg/fb/Makefile") CONFIG_FILES="$CONFIG_FILES w3mimg/fb/Makefile" ;; + "w3mimg/x11/Makefile") CONFIG_FILES="$CONFIG_FILES w3mimg/x11/Makefile" ;; + "w3mhelp-w3m_en.html") CONFIG_FILES="$CONFIG_FILES w3mhelp-w3m_en.html" ;; + "w3mhelp-w3m_ja.html") CONFIG_FILES="$CONFIG_FILES w3mhelp-w3m_ja.html" ;; + "w3mhelp-lynx_en.html") CONFIG_FILES="$CONFIG_FILES w3mhelp-lynx_en.html" ;; + "w3mhelp-lynx_ja.html") CONFIG_FILES="$CONFIG_FILES w3mhelp-lynx_ja.html" ;; + + *) { { 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 against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for 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 + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +W3M!$W3M$ac_delim +W3M_LANG!$W3M_LANG$ac_delim +AWK!$AWK$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +CPP!$CPP$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +LN_S!$LN_S$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +RANLIB!$RANLIB$ac_delim +PERL!$PERL$ac_delim +NKF!$NKF$ac_delim +MAN!$MAN$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +W3M_TARGET!$W3M_TARGET$ac_delim +W3M_LIBS!$W3M_LIBS$ac_delim +USE_M17N!$USE_M17N$ac_delim +USE_UNICODE!$USE_UNICODE$ac_delim +WCTARGET!$WCTARGET$ac_delim +WCCFLAGS!$WCCFLAGS$ac_delim +DISPLAY_CHARSET!$DISPLAY_CHARSET$ac_delim +SYSTEM_CHARSET!$SYSTEM_CHARSET$ac_delim +DOCUMENT_CHARSET!$DOCUMENT_CHARSET$ac_delim +POSUBST!$POSUBST$ac_delim +POLANG!$POLANG$ac_delim +MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim +USE_NLS!$USE_NLS$ac_delim +MSGFMT!$MSGFMT$ac_delim +GMSGFMT!$GMSGFMT$ac_delim +XGETTEXT!$XGETTEXT$ac_delim +MSGMERGE!$MSGMERGE$ac_delim +LIBICONV!$LIBICONV$ac_delim +LTLIBICONV!$LTLIBICONV$ac_delim +INTLLIBS!$INTLLIBS$ac_delim +LIBINTL!$LIBINTL$ac_delim +LTLIBINTL!$LTLIBINTL$ac_delim +POSUB!$POSUB$ac_delim +INTLTARGET!$INTLTARGET$ac_delim +NLSTARGET!$NLSTARGET$ac_delim +USE_COLOR!$USE_COLOR$ac_delim +USE_ANSI_COLOR!$USE_ANSI_COLOR$ac_delim +USE_BG_COLOR!$USE_BG_COLOR$ac_delim +USE_IMAGE!$USE_IMAGE$ac_delim +USE_W3MIMG_X11!$USE_W3MIMG_X11$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +USE_W3MIMG_FB!$USE_W3MIMG_FB$ac_delim +W3MIMGDISPLAY_SETUID!$W3MIMGDISPLAY_SETUID$ac_delim +INSTALL_W3MIMGDISPLAY!$INSTALL_W3MIMGDISPLAY$ac_delim +USE_GDKPIXBUF!$USE_GDKPIXBUF$ac_delim +USE_GTK2!$USE_GTK2$ac_delim +USE_IMLIB!$USE_IMLIB$ac_delim +USE_IMLIB2!$USE_IMLIB2$ac_delim +IMGTARGETS!$IMGTARGETS$ac_delim +IMGOBJS!$IMGOBJS$ac_delim +IMGX11CFLAGS!$IMGX11CFLAGS$ac_delim +IMGX11LDFLAGS!$IMGX11LDFLAGS$ac_delim +IMGFBCFLAGS!$IMGFBCFLAGS$ac_delim +IMGFBLDFLAGS!$IMGFBLDFLAGS$ac_delim +USE_XFACE!$USE_XFACE$ac_delim +uncompface!$uncompface$ac_delim +KEYMAP_FILE!$KEYMAP_FILE$ac_delim +HELP_FILE!$HELP_FILE$ac_delim +KEYBIND!$KEYBIND$ac_delim +USE_MENU!$USE_MENU$ac_delim +USE_MOUSE!$USE_MOUSE$ac_delim +USE_HISTORY!$USE_HISTORY$ac_delim +USE_ALARM!$USE_ALARM$ac_delim +USE_COOKIE!$USE_COOKIE$ac_delim +USE_NNTP!$USE_NNTP$ac_delim +USE_GOPHER!$USE_GOPHER$ac_delim +USE_DICT!$USE_DICT$ac_delim +USE_HELP_CGI!$USE_HELP_CGI$ac_delim +USE_EXTERNAL_URI_LOADER!$USE_EXTERNAL_URI_LOADER$ac_delim +USE_W3MMAILER!$USE_W3MMAILER$ac_delim +USE_MIGEMO!$USE_MIGEMO$ac_delim +DEF_MIGEMO_COMMAND!$DEF_MIGEMO_COMMAND$ac_delim +DEF_EDITOR!$DEF_EDITOR$ac_delim +DEF_MAILER!$DEF_MAILER$ac_delim +DEF_EXT_BROWSER!$DEF_EXT_BROWSER$ac_delim +INET6!$INET6$ac_delim +HAVE_OLD_SS_FAMILY!$HAVE_OLD_SS_FAMILY$ac_delim +USE_SSL!$USE_SSL$ac_delim +USE_SSL_VERIFY!$USE_SSL_VERIFY$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +SSL_CFLAGS!$SSL_CFLAGS$ac_delim +SSL_LIBS!$SSL_LIBS$ac_delim +USE_DIGEST_AUTH!$USE_DIGEST_AUTH$ac_delim +USE_W3M!$USE_W3M$ac_delim +USE_SYSMOUSE!$USE_SYSMOUSE$ac_delim +AUXBIN_TARGETS!$AUXBIN_TARGETS$ac_delim +LIBGC!$LIBGC$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +USE_BINMODE_STREAM!$USE_BINMODE_STREAM$ac_delim +HAVE_SYS_ERRLIST!$HAVE_SYS_ERRLIST$ac_delim +HAVE_SIGSETJMP!$HAVE_SIGSETJMP$ac_delim +RETSIGTYPE!$RETSIGTYPE$ac_delim +SIGNAL_RETURN!$SIGNAL_RETURN$ac_delim +HELP_DIR!$HELP_DIR$ac_delim +RC_DIR!$RC_DIR$ac_delim +DOCDIRS!$DOCDIRS$ac_delim +CURRENT_VERSION!$CURRENT_VERSION$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # 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. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$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'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$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'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;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&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #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. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + 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 + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "default-1":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_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 +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# 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_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. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +chmod +x posubst diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..83ddc34 --- /dev/null +++ b/configure.ac @@ -0,0 +1,186 @@ +dnl w3m autoconf +dnl Process this file with autoconf to produce a configure script. +AC_INIT(w3m, 0.5.2, satodai@w3m.jp) +PACKAGE=w3m +VERSION=0.5.2 +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(VERSION, "$VERSION") +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) + +AC_SUBST(W3M) +W3M=w3m +AC_DEFINE(W3M, w3m) + +AC_SUBST(W3M_LANG) +W3M_LANG=${LC_ALL:-$LANG} +dnl AM_INIT_AUTOMAKE(w3m, 0.4) +AC_CONFIG_HEADER(config.h) +dnl Checks for programs. +dnl AC_PROG_CXX +AC_PROG_AWK +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_RANLIB +AC_PATH_PROGS(PERL, perl, /usr/local/bin/perl) +AC_PATH_PROGS(NKF, nkf, /usr/local/bin/nkf) +AC_PATH_PROGS(MAN, man, /usr/bin/man) +AC_CANONICAL_HOST + +AC_EXEEXT +AC_SUBST(EXEEXT) + +AUXBIN_TARGETS= + +AC_SUBST(W3M_TARGET) +AC_SUBST(W3M_LIBS) +W3M_TARGET=$target +AC_DEFINE_UNQUOTED(W3M_TARGET, $W3M_TARGET) + +AC_W3M_M17N +if test x$enable_messagel10n = xno; then + AM_GNU_GETTEXT([external]) +fi + +NLSTARGET="" +if test x"$USE_NLS" = xyes; then + NLSTARGET="po" +fi +AC_SUBST(INTLTARGET) +AC_SUBST(NLSTARGET) + +AC_W3M_COLOR +AC_W3M_ANSI_COLOR +AC_W3M_BG_COLOR + +AC_W3M_IMAGE +if test x"$enable_image" != xno; then + AUXBIN_TARGETS="$AUXBIN_TARGETS w3mimgdisplay\$(EXT)" + AC_W3M_XFACE +fi + +AC_W3M_KEYMAP +AC_W3M_MENU +AC_W3M_MOUSE +AC_W3M_HISTORY +AC_W3M_ALARM + +AC_W3M_COOKIE +AC_W3M_NNTP +AC_W3M_GOPHER + +AC_W3M_DICT +AC_W3M_HELP_CGI +AC_W3M_EXTERNAL_URI_LOADER +AC_W3M_W3MMAILER +AC_W3M_MIGEMO +AC_W3M_EDITOR +AC_W3M_MAILER +AC_W3M_EXT_BROWSER + +dnl Checks for ext libs +for lib in bsd BSD 44bsd socket nsl dld dl +do + AC_W3M_EXTLIBS($lib) +done + +AC_W3M_IPv6 +AC_W3M_SSL_DIGEST_AUTH + +dnl Checks for libraries. +AC_CHECK_FUNC(sqrt,,[AC_CHECK_LIB(m, sqrt)]) +if test x"$enable_mouse" = xyes; then + AC_SUBST(USE_W3M) + AC_CHECK_LIB(gpm, Gpm_Open, [AC_DEFINE(USE_GPM) + W3M_LIBS="$W3M_LIBS -lgpm"]) + AC_SUBST(USE_SYSMOUSE) + AC_TRY_CPP([#include + MOUSE_GETINFO], [AC_DEFINE(USE_SYSMOUSE)], + [AC_TRY_CPP([#include + MOUSE_GETINFO], [AC_DEFINE(USE_SYSMOUSE)])]) +fi +AC_SUBST(AUXBIN_TARGETS) +AC_W3M_TERMLIB +AC_W3M_GC +AC_CHECK_LIB(z, zError, [AUXBIN_TARGETS="$AUXBIN_TARGETS inflate\$(EXT)"]) + +AC_DEFINE(AUXBIN_TARGETS, "$AUXBIN_TARGETS") + +AC_SUBST(USE_BINMODE_STREAM) +case "$host_os" in + *cygwin*|*os2-emx*|*mingw*) + AC_DEFINE(USE_BINMODE_STREAM) + ;; +esac + +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +dnl AC_CHECK_HEADERS(fcntl.h malloc.h sgtty.h strings.h sys/ioctl.h sys/time.h termio.h unistd.h setjmp.h) +AC_CHECK_HEADER(termios.h, [AC_DEFINE(HAVE_TERMIOS_H)], + [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO_H)], + [AC_CHECK_HEADER(sgtty.h, [AC_DEFINE(HAVE_SGTTY_H)])])]) +AC_CHECK_HEADER([float.h], [AC_DEFINE(HAVE_FLOAT_H)]) +AC_CHECK_HEADER([sys/select.h], [AC_DEFINE(HAVE_SYS_SELECT_H)]) +AC_CHECK_HEADER([locale.h], [AC_DEFINE(HAVE_LOCALE_H)]) +AC_CHECK_HEADER([stdint.h], [AC_DEFINE(HAVE_STDINT_H)]) +AC_CHECK_HEADER([inttypes.h], [AC_DEFINE(HAVE_INTTYPES_H)]) + +dnl Checks for typedefs, structures, and compiler characteristics. +dnl AC_C_CONST +dnl AC_C_INLINE +dnl AC_TYPE_PID_T +dnl AC_TYPE_SIZE_T +dnl AC_HEADER_TIME +dnl AC_STRUCT_TM +AC_CHECK_SIZEOF(long long, 0) + +dnl Checks for library functions. +dnl AC_FUNC_ALLOCA +dnl AC_PROG_GCC_TRADITIONAL +dnl AC_FUNC_MEMCMP +dnl AC_FUNC_MMAP +dnl AC_FUNC_SETVBUF_REVERSED +dnl AC_FUNC_VPRINTF +AC_CHECK_FUNCS(strcasecmp strcasestr strchr memcpy strerror bcopy setpgrp chdir getcwd getwd readlink setenv putenv strtoll stroq atoll atoq symlink readlink lstat srand48 srandom getpassphrase waitpid setlocale) +AC_FUNC_STRFTIME +AC_FUNC_WAIT3 +AC_FUNC_SETPGRP +case "$host_os" in + *cygwin*) + ;; + *) + AM_LANGINFO_CODESET + ;; +esac +AC_W3M_SYS_ERRLIST +AC_W3M_SIGSETJMP +AC_W3M_SIGNAL + +AC_SUBST(HELP_DIR) +HELP_DIR="$datadir/$PACKAGE" +AC_DEFINE(HELP_DIR, "$HELP_DIR") +AC_SUBST(RC_DIR) +RC_DIR="~/.$PACKAGE" +AC_DEFINE(RC_DIR, "$RC_DIR") +AC_SUBST(DOCDIRS) +DOCDIRS="doc:en_English doc-jp:ja_Japanese" +AC_DEFINE_UNQUOTED(DOCDIRS, "$DOCDIRS") + +AC_W3M_VERSION +AC_OUTPUT([Makefile posubst po/Makefile.in \ +scripts/Makefile scripts/dirlist.cgi \ +scripts/w3mhelp.cgi \ +scripts/w3mmail.cgi scripts/xface2xpm \ +scripts/multipart/Makefile scripts/multipart/multipart.cgi \ +scripts/w3mman/Makefile scripts/w3mman/w3mman scripts/w3mman/w3mman.1 \ +scripts/w3mman/w3mman2html.cgi \ +libwc/Makefile \ +w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile \ +w3mhelp-w3m_en.html w3mhelp-w3m_ja.html \ +w3mhelp-lynx_en.html w3mhelp-lynx_ja.html]) + +chmod +x posubst diff --git a/cookie.c b/cookie.c new file mode 100644 index 0000000..1b64e40 --- /dev/null +++ b/cookie.c @@ -0,0 +1,705 @@ +/* $Id: cookie.c,v 1.10 2006/12/10 10:53:22 inu Exp $ */ + +/* + * References for version 0 cookie: + * [NETACAPE] http://www.netscape.com/newsref/std/cookie_spec.html + * + * References for version 1 cookie: + * [RFC 2109] http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt + * [DRAFT 12] http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-man-mec-12.txt + */ + +#include "fm.h" +#include "html.h" + +#ifdef USE_COOKIE +#include +#include "local.h" +#include "regex.h" +#include "myctype.h" + +static int is_saved = 1; + +#define contain_no_dots(p, ep) (total_dot_number((p),(ep),1)==0) + +static int +total_dot_number(char *p, char *ep, int max_count) +{ + int count = 0; + if (!ep) + ep = p + strlen(p); + + for (; p < ep && count < max_count; p++) { + if (*p == '.') + count++; + } + return count; +} + + +static char * +domain_match(char *host, char *domain) +{ + int m0, m1; + + /* [RFC 2109] s. 2, "domain-match", case 1 + * (both are IP and identical) + */ + regexCompile("[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+", 0); + m0 = regexMatch(host, -1, 1); + m1 = regexMatch(domain, -1, 1); + if (m0 && m1) { + if (strcasecmp(host, domain) == 0) + return host; + } + else if (!m0 && !m1) { + int offset; + char *domain_p; + /* + * "." match all domains (w3m only), + * and ".local" match local domains ([DRAFT 12] s. 2) + */ + if (strcasecmp(domain, ".") == 0 || strcasecmp(domain, ".local") == 0) { + offset = strlen(host); + domain_p = &host[offset]; + if (domain[1] == '\0' || contain_no_dots(host, domain_p)) + return domain_p; + } + /* + * special case for domainName = .hostName + * see nsCookieService.cpp in Firefox. + */ + else if (domain[0] == '.' && strcasecmp(host, &domain[1]) == 0) { + return host; + } + /* [RFC 2109] s. 2, cases 2, 3 */ + else { + offset = (domain[0] != '.') ? 0 : strlen(host) - strlen(domain); + domain_p = &host[offset]; + if (offset >= 0 && strcasecmp(domain_p, domain) == 0) + return domain_p; + } + } + return NULL; +} + + +static struct portlist * +make_portlist(Str port) +{ + struct portlist *first = NULL, *pl; + char *p; + Str tmp = Strnew(); + + p = port->ptr; + while (*p) { + while (*p && !IS_DIGIT(*p)) + p++; + Strclear(tmp); + while (*p && IS_DIGIT(*p)) + Strcat_char(tmp, *(p++)); + if (tmp->length == 0) + break; + pl = New(struct portlist); + pl->port = atoi(tmp->ptr); + pl->next = first; + first = pl; + } + return first; +} + +static Str +portlist2str(struct portlist *first) +{ + struct portlist *pl; + Str tmp; + + tmp = Sprintf("%d", first->port); + for (pl = first->next; pl; pl = pl->next) + Strcat(tmp, Sprintf(", %d", pl->port)); + return tmp; +} + +static int +port_match(struct portlist *first, int port) +{ + struct portlist *pl; + + for (pl = first; pl; pl = pl->next) { + if (pl->port == port) + return 1; + } + return 0; +} + +static void +check_expired_cookies(void) +{ + struct cookie *p, *p1; + time_t now = time(NULL); + + if (!First_cookie) + return; + + if (First_cookie->expires != (time_t) - 1 && First_cookie->expires < now) { + if (!(First_cookie->flag & COO_DISCARD)) + is_saved = 0; + First_cookie = First_cookie->next; + } + + for (p = First_cookie; p && p->next; p = p1) { + p1 = p->next; + if (p1->expires != (time_t) - 1 && p1->expires < now) { + if (!(p1->flag & COO_DISCARD)) + is_saved = 0; + p->next = p1->next; + p1 = p; + } + } +} + +static Str +make_cookie(struct cookie *cookie) +{ + Str tmp = Strdup(cookie->name); + Strcat_char(tmp, '='); + Strcat(tmp, cookie->value); + return tmp; +} + +static int +match_cookie(ParsedURL *pu, struct cookie *cookie, char *domainname) +{ + if (!domainname) + return 0; + + if (!domain_match(domainname, cookie->domain->ptr)) + return 0; + if (strncmp(cookie->path->ptr, pu->file, cookie->path->length) != 0) + return 0; +#ifdef USE_SSL + if (cookie->flag & COO_SECURE && pu->scheme != SCM_HTTPS) + return 0; +#else /* not USE_SSL */ + if (cookie->flag & COO_SECURE) + return 0; +#endif /* not USE_SSL */ + if (cookie->portl && !port_match(cookie->portl, pu->port)) + return 0; + + return 1; +} + +struct cookie * +get_cookie_info(Str domain, Str path, Str name) +{ + struct cookie *p; + + for (p = First_cookie; p; p = p->next) { + if (Strcasecmp(p->domain, domain) == 0 && + Strcmp(p->path, path) == 0 && Strcasecmp(p->name, name) == 0) + return p; + } + return NULL; +} + +Str +find_cookie(ParsedURL *pu) +{ + Str tmp; + struct cookie *p, *p1, *fco = NULL; + int version = 0; + char *fq_domainname, *domainname; + + fq_domainname = FQDN(pu->host); + check_expired_cookies(); + for (p = First_cookie; p; p = p->next) { + domainname = (p->version == 0) ? fq_domainname : pu->host; + if (p->flag & COO_USE && match_cookie(pu, p, domainname)) { + for (p1 = fco; p1 && Strcasecmp(p1->name, p->name); + p1 = p1->next) ; + if (p1) + continue; + p1 = New(struct cookie); + bcopy(p, p1, sizeof(struct cookie)); + p1->next = fco; + fco = p1; + if (p1->version > version) + version = p1->version; + } + } + + if (!fco) + return NULL; + + tmp = Strnew(); + if (version > 0) + Strcat(tmp, Sprintf("$Version=\"%d\"; ", version)); + + Strcat(tmp, make_cookie(fco)); + for (p1 = fco->next; p1; p1 = p1->next) { + Strcat_charp(tmp, "; "); + Strcat(tmp, make_cookie(p1)); + if (version > 0) { + if (p1->flag & COO_PATH) + Strcat(tmp, Sprintf("; $Path=\"%s\"", p1->path->ptr)); + if (p1->flag & COO_DOMAIN) + Strcat(tmp, Sprintf("; $Domain=\"%s\"", p1->domain->ptr)); + if (p1->portl) + Strcat(tmp, + Sprintf("; $Port=\"%s\"", portlist2str(p1->portl))); + } + } + return tmp; +} + +char *special_domain[] = { + ".com", ".edu", ".gov", ".mil", ".net", ".org", ".int", NULL +}; + +int +add_cookie(ParsedURL *pu, Str name, Str value, + time_t expires, Str domain, Str path, + int flag, Str comment, int version, Str port, Str commentURL) +{ + struct cookie *p; + char *domainname = (version == 0) ? FQDN(pu->host) : pu->host; + Str odomain = domain, opath = path; + struct portlist *portlist = NULL; + int use_security = !(flag & COO_OVERRIDE); + +#define COOKIE_ERROR(err) if(!((err) & COO_OVERRIDE_OK) || use_security) return (err) + +#ifdef DEBUG + fprintf(stderr, "host: [%s, %s] %d\n", pu->host, pu->file, flag); + fprintf(stderr, "cookie: [%s=%s]\n", name->ptr, value->ptr); + fprintf(stderr, "expires: [%s]\n", asctime(gmtime(&expires))); + if (domain) + fprintf(stderr, "domain: [%s]\n", domain->ptr); + if (path) + fprintf(stderr, "path: [%s]\n", path->ptr); + fprintf(stderr, "version: [%d]\n", version); + if (port) + fprintf(stderr, "port: [%s]\n", port->ptr); +#endif /* DEBUG */ + /* [RFC 2109] s. 4.3.2 case 2; but this (no request-host) shouldn't happen */ + if (!domainname) + return COO_ENODOT; + + if (domain) { + char *dp; + /* [DRAFT 12] s. 4.2.2 (does not apply in the case that + * host name is the same as domain attribute for version 0 + * cookie) + * I think that this rule has almost the same effect as the + * tail match of [NETSCAPE]. + */ + if (domain->ptr[0] != '.' && + (version > 0 || strcasecmp(domainname, domain->ptr) != 0)) + domain = Sprintf(".%s", domain->ptr); + + if (version == 0) { + /* [NETSCAPE] rule */ + int n = total_dot_number(domain->ptr, + domain->ptr + domain->length, + 3); + if (n < 2) { + COOKIE_ERROR(COO_ESPECIAL); + } + else if (n == 2) { + char **sdomain; + int ok = 0; + for (sdomain = special_domain; !ok && *sdomain; sdomain++) { + int offset = domain->length - strlen(*sdomain); + if (offset >= 0 && + strcasecmp(*sdomain, &domain->ptr[offset]) == 0) + ok = 1; + } + if (!ok) + COOKIE_ERROR(COO_ESPECIAL); + } + } + else { + /* [DRAFT 12] s. 4.3.2 case 2 */ + if (strcasecmp(domain->ptr, ".local") != 0 && + contain_no_dots(&domain->ptr[1], &domain->ptr[domain->length])) + COOKIE_ERROR(COO_ENODOT); + } + + /* [RFC 2109] s. 4.3.2 case 3 */ + if (!(dp = domain_match(domainname, domain->ptr))) + COOKIE_ERROR(COO_EDOM); + /* [RFC 2409] s. 4.3.2 case 4 */ + /* Invariant: dp contains matched domain */ + if (version > 0 && !contain_no_dots(domainname, dp)) + COOKIE_ERROR(COO_EBADHOST); + } + if (path) { + /* [RFC 2109] s. 4.3.2 case 1 */ + if (version > 0 && strncmp(path->ptr, pu->file, path->length) != 0) + COOKIE_ERROR(COO_EPATH); + } + if (port) { + /* [DRAFT 12] s. 4.3.2 case 5 */ + portlist = make_portlist(port); + if (portlist && !port_match(portlist, pu->port)) + COOKIE_ERROR(COO_EPORT); + } + + if (!domain) + domain = Strnew_charp(domainname); + if (!path) { + path = Strnew_charp(pu->file); + while (path->length > 0 && Strlastchar(path) != '/') + Strshrink(path, 1); + if (Strlastchar(path) == '/') + Strshrink(path, 1); + } + + p = get_cookie_info(domain, path, name); + if (!p) { + p = New(struct cookie); + p->flag = 0; + if (default_use_cookie) + p->flag |= COO_USE; + p->next = First_cookie; + First_cookie = p; + } + + copyParsedURL(&p->url, pu); + p->name = name; + p->value = value; + p->expires = expires; + p->domain = domain; + p->path = path; + p->comment = comment; + p->version = version; + p->portl = portlist; + p->commentURL = commentURL; + + if (flag & COO_SECURE) + p->flag |= COO_SECURE; + else + p->flag &= ~COO_SECURE; + if (odomain) + p->flag |= COO_DOMAIN; + else + p->flag &= ~COO_DOMAIN; + if (opath) + p->flag |= COO_PATH; + else + p->flag &= ~COO_PATH; + if (flag & COO_DISCARD || p->expires == (time_t) - 1) { + p->flag |= COO_DISCARD; + } + else { + p->flag &= ~COO_DISCARD; + is_saved = 0; + } + + check_expired_cookies(); + return 0; +} + +struct cookie * +nth_cookie(int n) +{ + struct cookie *p; + int i; + for (p = First_cookie, i = 0; p; p = p->next, i++) { + if (i == n) + return p; + } + return NULL; +} + +#define str2charp(str) ((str)? (str)->ptr : "") + +void +save_cookies(void) +{ + struct cookie *p; + char *cookie_file; + FILE *fp; + + check_expired_cookies(); + + if (!First_cookie || is_saved || no_rc_dir) + return; + + cookie_file = rcFile(COOKIE_FILE); + if (!(fp = fopen(cookie_file, "w"))) + return; + + for (p = First_cookie; p; p = p->next) { + if (!(p->flag & COO_USE) || p->flag & COO_DISCARD) + continue; + fprintf(fp, "%s\t%s\t%s\t%ld\t%s\t%s\t%d\t%d\t%s\t%s\t%s\n", + parsedURL2Str(&p->url)->ptr, + p->name->ptr, p->value->ptr, p->expires, + p->domain->ptr, p->path->ptr, p->flag, + p->version, str2charp(p->comment), + (p->portl) ? portlist2str(p->portl)->ptr : "", + str2charp(p->commentURL)); + } + fclose(fp); + chmod(cookie_file, S_IRUSR | S_IWUSR); +} + +static Str +readcol(char **p) +{ + Str tmp = Strnew(); + while (**p && **p != '\n' && **p != '\r' && **p != '\t') + Strcat_char(tmp, *((*p)++)); + if (**p == '\t') + (*p)++; + return tmp; +} + +void +load_cookies(void) +{ + struct cookie *cookie, *p; + FILE *fp; + Str line; + char *str; + + if (!(fp = fopen(rcFile(COOKIE_FILE), "r"))) + return; + + if (First_cookie) { + for (p = First_cookie; p->next; p = p->next) ; + } + else { + p = NULL; + } + for (;;) { + line = Strfgets(fp); + + if (line->length == 0) + break; + str = line->ptr; + cookie = New(struct cookie); + cookie->next = NULL; + cookie->flag = 0; + cookie->version = 0; + cookie->expires = (time_t) - 1; + cookie->comment = NULL; + cookie->portl = NULL; + cookie->commentURL = NULL; + parseURL(readcol(&str)->ptr, &cookie->url, NULL); + if (!*str) + return; + cookie->name = readcol(&str); + if (!*str) + return; + cookie->value = readcol(&str); + if (!*str) + return; + cookie->expires = (time_t) atol(readcol(&str)->ptr); + if (!*str) + return; + cookie->domain = readcol(&str); + if (!*str) + return; + cookie->path = readcol(&str); + if (!*str) + return; + cookie->flag = atoi(readcol(&str)->ptr); + if (!*str) + return; + cookie->version = atoi(readcol(&str)->ptr); + if (!*str) + return; + cookie->comment = readcol(&str); + if (cookie->comment->length == 0) + cookie->comment = NULL; + if (!*str) + return; + cookie->portl = make_portlist(readcol(&str)); + if (!*str) + return; + cookie->commentURL = readcol(&str); + if (cookie->commentURL->length == 0) + cookie->commentURL = NULL; + + if (p) + p->next = cookie; + else + First_cookie = cookie; + p = cookie; + } + + fclose(fp); +} + +void +initCookie(void) +{ + load_cookies(); + check_expired_cookies(); +} + +Buffer * +cookie_list_panel(void) +{ + /* FIXME: gettextize? */ + Str src = Strnew_charp("Cookies" + "
Cookies
" + "

"); + struct cookie *p; + int i; + char *tmp, tmp2[80]; + + if (!use_cookie || !First_cookie) + return NULL; + + Strcat_charp(src, "

    "); + for (p = First_cookie, i = 0; p; p = p->next, i++) { + tmp = html_quote(parsedURL2Str(&p->url)->ptr); + if (p->expires != (time_t) - 1) { +#ifdef HAVE_STRFTIME + strftime(tmp2, 80, "%a, %d %b %Y %H:%M:%S GMT", + gmtime(&p->expires)); +#else /* not HAVE_STRFTIME */ + struct tm *gmt; + static char *dow[] = { + "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " + }; + static char *month[] = { + "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", + "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " + }; + gmt = gmtime(&p->expires); + strcpy(tmp2, dow[gmt->tm_wday]); + sprintf(&tmp2[4], "%02d ", gmt->tm_mday); + strcpy(&tmp2[7], month[gmt->tm_mon]); + if (gmt->tm_year < 1900) + sprintf(&tmp2[11], "%04d %02d:%02d:%02d GMT", + (gmt->tm_year) + 1900, gmt->tm_hour, gmt->tm_min, + gmt->tm_sec); + else + sprintf(&tmp2[11], "%04d %02d:%02d:%02d GMT", + gmt->tm_year, gmt->tm_hour, gmt->tm_min, gmt->tm_sec); +#endif /* not HAVE_STRFTIME */ + } + else + tmp2[0] = '\0'; + Strcat_charp(src, "
  1. "); + Strcat_charp(src, "

    "); + Strcat_charp(src, tmp); + Strcat_charp(src, "

    "); + + Strcat_charp(src, "
"); + if (!(p->flag & COO_SECURE)) { + Strcat_charp(src, ""); + } + if (p->comment) { + Strcat_charp(src, ""); + } + if (p->commentURL) { + Strcat_charp(src, + ""); + } + if (tmp2[0]) { + Strcat_charp(src, ""); + } + Strcat_charp(src, ""); + } + if (p->path) { + Strcat_charp(src, ""); + } + if (p->portl) { + Strcat_charp(src, ""); + } + Strcat_charp(src, "
Cookie:"); + Strcat_charp(src, html_quote(make_cookie(p)->ptr)); + Strcat_charp(src, "
Comment:"); + Strcat_charp(src, html_quote(p->comment->ptr)); + Strcat_charp(src, "
CommentURL:"); + Strcat_charp(src, "commentURL->ptr)); + Strcat_charp(src, "\">"); + Strcat_charp(src, html_quote(p->commentURL->ptr)); + Strcat_charp(src, ""); + Strcat_charp(src, "
Expires:"); + Strcat_charp(src, tmp2); + if (p->flag & COO_DISCARD) + Strcat_charp(src, " (Discard)"); + Strcat_charp(src, "
Version:"); + Strcat_charp(src, Sprintf("%d", p->version)->ptr); + Strcat_charp(src, "
"); + if (p->domain) { + Strcat_charp(src, "
Domain:"); + Strcat_charp(src, html_quote(p->domain->ptr)); + Strcat_charp(src, "
Path:"); + Strcat_charp(src, html_quote(p->path->ptr)); + Strcat_charp(src, "
Port:"); + Strcat_charp(src, html_quote(portlist2str(p->portl)->ptr)); + Strcat_charp(src, "
Secure:"); + Strcat_charp(src, (p->flag & COO_SECURE) ? "Yes" : "No"); + Strcat_charp(src, "
"); + + Strcat(src, Sprintf("
Use:" + "Yes" + "  " + "No", + i, (p->flag & COO_USE) ? " checked" : "", + i, (!(p->flag & COO_USE)) ? " checked" : "")); + Strcat_charp(src, + "

"); + } + Strcat_charp(src, ""); + return loadHTMLString(src); +} + +void +set_cookie_flag(struct parsed_tagarg *arg) +{ + int n, v; + struct cookie *p; + + while (arg) { + if (arg->arg && *arg->arg && arg->value && *arg->value) { + n = atoi(arg->arg); + v = atoi(arg->value); + if ((p = nth_cookie(n)) != NULL) { + if (v && !(p->flag & COO_USE)) + p->flag |= COO_USE; + else if (!v && p->flag & COO_USE) + p->flag &= ~COO_USE; + if (!(p->flag & COO_DISCARD)) + is_saved = 0; + } + } + arg = arg->next; + } + backBf(); +} + +int +check_cookie_accept_domain(char *domain) +{ + TextListItem *tl; + + if (domain == NULL) + return 0; + + if (Cookie_accept_domains && Cookie_accept_domains->nitem > 0) { + for (tl = Cookie_accept_domains->first; tl != NULL; tl = tl->next) { + if (domain_match(domain, tl->ptr)) + return 1; + } + } + if (Cookie_reject_domains && Cookie_reject_domains->nitem > 0) { + for (tl = Cookie_reject_domains->first; tl != NULL; tl = tl->next) { + if (domain_match(domain, tl->ptr)) + return 0; + } + } + return 1; +} +#endif /* USE_COOKIE */ diff --git a/ctrlcode.h b/ctrlcode.h new file mode 100644 index 0000000..be8a46c --- /dev/null +++ b/ctrlcode.h @@ -0,0 +1,145 @@ +/* $Id: ctrlcode.h,v 1.3 2003/09/22 21:02:17 ukai Exp $ */ +/* control characters */ + +#define CTRL_A 1 +#define CTRL_B 2 +#define CTRL_C 3 +#define CTRL_D 4 +#define CTRL_E 5 +#define CTRL_F 6 +#define CTRL_G 7 +#define CTRL_H 8 +#define CTRL_I 9 +#define CTRL_J 10 +#define CTRL_K 11 +#define CTRL_L 12 +#define CTRL_M 13 +#define CTRL_N 14 +#define CTRL_O 15 +#define CTRL_P 16 +#define CTRL_Q 17 +#define CTRL_R 18 +#define CTRL_S 19 +#define CTRL_T 20 +#define CTRL_U 21 +#define CTRL_V 22 +#define CTRL_W 23 +#define CTRL_X 24 +#define CTRL_Y 25 +#define CTRL_Z 26 +#define ESC_CODE 27 +#define DEL_CODE 127 + +/* ISO-8859-1 alphabet characters */ + +#define NBSP_CODE 160 +#define IEXCL_CODE 161 +#define CENT_CODE 162 +#define POUND_CODE 163 +#define CURREN_CODE 164 +#define YEN_CODE 165 +#define BRVBAR_CODE 166 +#define SECT_CODE 167 +#define UML_CODE 168 +#define COPY_CODE 169 +#define ORDF_CODE 170 +#define LAQUO_CODE 171 +#define NOT_CODE 172 +#define SHY_CODE 173 +#define REG_CODE 174 +#define MACR_CODE 175 +#define DEG_CODE 176 +#define PLUSMN_CODE 177 +#define SUP2_CODE 178 +#define SUP3_CODE 179 +#define ACUTE_CODE 180 +#define MICRO_CODE 181 +#define PARA_CODE 182 +#define MIDDOT_CODE 183 +#define CEDIL_CODE 184 +#define SUP1_CODE 185 +#define ORDM_CODE 186 +#define RAQUO_CODE 187 +#define FRAC14_CODE 188 +#define FRAC12_CODE 189 +#define FRAC34_CODE 190 +#define IQUEST_CODE 191 +#define AGRAVE_CODE 192 +#define AACUTE_CODE 193 +#define ACIRC_CODE 194 +#define ATILDE_CODE 195 +#define AUML_CODE 196 +#define ARING_CODE 197 +#define AELIG_CODE 198 +#define CCEDIL_CODE 199 +#define EGRAVE_CODE 200 +#define EACUTE_CODE 201 +#define ECIRC_CODE 202 +#define EUML_CODE 203 +#define IGRAVE_CODE 204 +#define IACUTE_CODE 205 +#define ICIRC_CODE 206 +#define IUML_CODE 207 +#define ETH_CODE 208 +#define NTILDE_CODE 209 +#define OGRAVE_CODE 210 +#define OACUTE_CODE 211 +#define OCIRC_CODE 212 +#define OTILDE_CODE 213 +#define OUML_CODE 214 +#define TIMES_CODE 215 +#define OSLASH_CODE 216 +#define UGRAVE_CODE 217 +#define UACUTE_CODE 218 +#define UCIRC_CODE 219 +#define UUML_CODE 220 +#define YACUTE_CODE 221 +#define THORN_CODE 222 +#define SZLIG_CODE 223 +#define aGRAVE_CODE 224 +#define aACUTE_CODE 225 +#define aCIRC_CODE 226 +#define aTILDE_CODE 227 +#define aUML_CODE 228 +#define aRING_CODE 229 +#define aELIG_CODE 230 +#define cCEDIL_CODE 231 +#define eGRAVE_CODE 232 +#define eACUTE_CODE 233 +#define eCIRC_CODE 234 +#define eUML_CODE 235 +#define iGRAVE_CODE 236 +#define iACUTE_CODE 237 +#define iCIRC_CODE 238 +#define iUML_CODE 239 +#define eth_CODE 240 +#define nTILDE_CODE 241 +#define oGRAVE_CODE 242 +#define oACUTE_CODE 243 +#define oCIRC_CODE 244 +#define oTILDE_CODE 245 +#define oUML_CODE 246 +#define DIVIDE_CODE 247 +#define oSLASH_CODE 248 +#define uGRAVE_CODE 249 +#define uACUTE_CODE 250 +#define uCIRC_CODE 251 +#define uUML_CODE 252 +#define yACUTE_CODE 253 +#define thorn_CODE 254 +#define yUML_CODE 255 + +/* internally used characters */ +#define ANSP_CODE 0x9e /* use for empty anchor */ +#define IMSP_CODE 0x9f /* blank around image */ + +#define NBSP "\xa0" +#define ANSP "\x9e" +#define IMSP "\x9f" + +#include "myctype.h" + +/* Local Variables: */ +/* c-basic-offset: 4 */ +/* tab-width: 8 */ +/* End: */ diff --git a/display.c b/display.c new file mode 100644 index 0000000..386c42f --- /dev/null +++ b/display.c @@ -0,0 +1,1583 @@ +/* $Id: display.c,v 1.70 2007/05/29 12:07:02 inu Exp $ */ +#include +#include "fm.h" + +/* *INDENT-OFF* */ +#ifdef USE_COLOR + +#define EFFECT_ANCHOR_START effect_anchor_start() +#define EFFECT_ANCHOR_END effect_anchor_end() +#define EFFECT_IMAGE_START effect_image_start() +#define EFFECT_IMAGE_END effect_image_end() +#define EFFECT_FORM_START effect_form_start() +#define EFFECT_FORM_END effect_form_end() +#define EFFECT_ACTIVE_START effect_active_start() +#define EFFECT_ACTIVE_END effect_active_end() +#define EFFECT_VISITED_START effect_visited_start() +#define EFFECT_VISITED_END effect_visited_end() +#define EFFECT_MARK_START effect_mark_start() +#define EFFECT_MARK_END effect_mark_end() + +/*- + * color: + * 0 black + * 1 red + * 2 green + * 3 yellow + * 4 blue + * 5 magenta + * 6 cyan + * 7 white + */ + +#define EFFECT_ANCHOR_START_C setfcolor(anchor_color) +#define EFFECT_IMAGE_START_C setfcolor(image_color) +#define EFFECT_FORM_START_C setfcolor(form_color) +#define EFFECT_ACTIVE_START_C (setfcolor(active_color), underline()) +#define EFFECT_VISITED_START_C setfcolor(visited_color) +#ifdef USE_BG_COLOR +#define EFFECT_MARK_START_C setbcolor(mark_color) +#else +#define EFFECT_MARK_START_C standout() +#endif + +#define EFFECT_IMAGE_END_C setfcolor(basic_color) +#define EFFECT_ANCHOR_END_C setfcolor(basic_color) +#define EFFECT_FORM_END_C setfcolor(basic_color) +#define EFFECT_ACTIVE_END_C (setfcolor(basic_color), underlineend()) +#define EFFECT_VISITED_END_C setfcolor(basic_color) +#ifdef USE_BG_COLOR +#define EFFECT_MARK_END_C setbcolor(bg_color) +#else +#define EFFECT_MARK_END_C standend() +#endif + +#define EFFECT_ANCHOR_START_M underline() +#define EFFECT_ANCHOR_END_M underlineend() +#define EFFECT_IMAGE_START_M standout() +#define EFFECT_IMAGE_END_M standend() +#define EFFECT_FORM_START_M standout() +#define EFFECT_FORM_END_M standend() +#define EFFECT_ACTIVE_START_NC underline() +#define EFFECT_ACTIVE_END_NC underlineend() +#define EFFECT_ACTIVE_START_M bold() +#define EFFECT_ACTIVE_END_M boldend() +#define EFFECT_VISITED_START_M /**/ +#define EFFECT_VISITED_END_M /**/ +#define EFFECT_MARK_START_M standout() +#define EFFECT_MARK_END_M standend() +#define define_effect(name_start,name_end,color_start,color_end,mono_start,mono_end) \ +static void name_start { if (useColor) { color_start; } else { mono_start; }}\ +static void name_end { if (useColor) { color_end; } else { mono_end; }} + +define_effect(EFFECT_ANCHOR_START, EFFECT_ANCHOR_END, EFFECT_ANCHOR_START_C, + EFFECT_ANCHOR_END_C, EFFECT_ANCHOR_START_M, EFFECT_ANCHOR_END_M) +define_effect(EFFECT_IMAGE_START, EFFECT_IMAGE_END, EFFECT_IMAGE_START_C, + EFFECT_IMAGE_END_C, EFFECT_IMAGE_START_M, EFFECT_IMAGE_END_M) +define_effect(EFFECT_FORM_START, EFFECT_FORM_END, EFFECT_FORM_START_C, + EFFECT_FORM_END_C, EFFECT_FORM_START_M, EFFECT_FORM_END_M) +define_effect(EFFECT_MARK_START, EFFECT_MARK_END, EFFECT_MARK_START_C, + EFFECT_MARK_END_C, EFFECT_MARK_START_M, EFFECT_MARK_END_M) + +/*****************/ +static void +EFFECT_ACTIVE_START +{ + if (useColor) { + if (useActiveColor) { +#ifdef __EMX__ + if(!getenv("WINDOWID")) + setfcolor(active_color); + else +#endif + { + EFFECT_ACTIVE_START_C; + } + } else { + EFFECT_ACTIVE_START_NC; + } + } else { + EFFECT_ACTIVE_START_M; + } +} + +static void +EFFECT_ACTIVE_END +{ + if (useColor) { + if (useActiveColor) { + EFFECT_ACTIVE_END_C; + } else { + EFFECT_ACTIVE_END_NC; + } + } else { + EFFECT_ACTIVE_END_M; + } +} + +static void +EFFECT_VISITED_START +{ + if (useVisitedColor) { + if (useColor) { + EFFECT_VISITED_START_C; + } else { + EFFECT_VISITED_START_M; + } + } +} + +static void +EFFECT_VISITED_END +{ + if (useVisitedColor) { + if (useColor) { + EFFECT_VISITED_END_C; + } else { + EFFECT_VISITED_END_M; + } + } +} + +#else /* not USE_COLOR */ + +#define EFFECT_ANCHOR_START underline() +#define EFFECT_ANCHOR_END underlineend() +#define EFFECT_IMAGE_START standout() +#define EFFECT_IMAGE_END standend() +#define EFFECT_FORM_START standout() +#define EFFECT_FORM_END standend() +#define EFFECT_ACTIVE_START bold() +#define EFFECT_ACTIVE_END boldend() +#define EFFECT_VISITED_START /**/ +#define EFFECT_VISITED_END /**/ +#define EFFECT_MARK_START standout() +#define EFFECT_MARK_END standend() +#endif /* not USE_COLOR */ +/* *INDENT-ON* */ + +void +fmTerm(void) +{ + if (fmInitialized) { + move(LASTLINE, 0); + clrtoeolx(); + refresh(); +#ifdef USE_IMAGE + if (activeImage) + loadImage(NULL, IMG_FLAG_STOP); +#endif +#ifdef USE_MOUSE + if (use_mouse) + mouse_end(); +#endif /* USE_MOUSE */ + reset_tty(); + fmInitialized = FALSE; + } +} + + +/* + * Initialize routine. + */ +void +fmInit(void) +{ + if (!fmInitialized) { + initscr(); + term_raw(); + term_noecho(); +#ifdef USE_IMAGE + if (displayImage) + initImage(); +#endif + } + fmInitialized = TRUE; +} + +/* + * Display some lines. + */ +static Line *cline = NULL; +static int ccolumn = -1; + +static int ulmode = 0, somode = 0, bomode = 0; +static int anch_mode = 0, emph_mode = 0, imag_mode = 0, form_mode = 0, + active_mode = 0, visited_mode = 0, mark_mode = 0, graph_mode = 0; +#ifdef USE_ANSI_COLOR +static Linecolor color_mode = 0; +#endif + +#ifdef USE_BUFINFO +static Buffer *save_current_buf = NULL; +#endif + +static char *delayed_msg = NULL; + +static void drawAnchorCursor(Buffer *buf); +#define redrawBuffer(buf) redrawNLine(buf, LASTLINE) +static void redrawNLine(Buffer *buf, int n); +static Line *redrawLine(Buffer *buf, Line *l, int i); +#ifdef USE_IMAGE +static int image_touch = 0; +static int draw_image_flag = FALSE; +static Line *redrawLineImage(Buffer *buf, Line *l, int i); +#endif +static int redrawLineRegion(Buffer *buf, Line *l, int i, int bpos, int epos); +static void do_effects(Lineprop m); +#ifdef USE_ANSI_COLOR +static void do_color(Linecolor c); +#endif + +static Str +make_lastline_link(Buffer *buf, char *title, char *url) +{ + Str s = NULL, u; +#ifdef USE_M17N + Lineprop *pr; +#endif + ParsedURL pu; + char *p; + int l = COLS - 1, i; + + if (title && *title) { + s = Strnew_m_charp("[", title, "]", NULL); + for (p = s->ptr; *p; p++) { + if (IS_CNTRL(*p) || IS_SPACE(*p)) + *p = ' '; + } + if (url) + Strcat_charp(s, " "); + l -= get_Str_strwidth(s); + if (l <= 0) + return s; + } + if (!url) + return s; + parseURL2(url, &pu, baseURL(buf)); + u = parsedURL2Str(&pu); + if (DecodeURL) + u = Strnew_charp(url_unquote_conv(u->ptr, buf->document_charset)); +#ifdef USE_M17N + u = checkType(u, &pr, NULL); +#endif + if (l <= 4 || l >= get_Str_strwidth(u)) { + if (!s) + return u; + Strcat(s, u); + return s; + } + if (!s) + s = Strnew_size(COLS); + i = (l - 2) / 2; +#ifdef USE_M17N + while (i && pr[i] & PC_WCHAR2) + i--; +#endif + Strcat_charp_n(s, u->ptr, i); + Strcat_charp(s, ".."); + i = get_Str_strwidth(u) - (COLS - 1 - get_Str_strwidth(s)); +#ifdef USE_M17N + while (i < u->length && pr[i] & PC_WCHAR2) + i++; +#endif + Strcat_charp(s, &u->ptr[i]); + return s; +} + +static Str +make_lastline_message(Buffer *buf) +{ + Str msg, s = NULL; + int sl = 0; + + if (displayLink) { +#ifdef USE_IMAGE + MapArea *a = retrieveCurrentMapArea(buf); + if (a) + s = make_lastline_link(buf, a->alt, a->url); + else +#endif + { + Anchor *a = retrieveCurrentAnchor(buf); + char *p = NULL; + if (a && a->title && *a->title) + p = a->title; + else { + Anchor *a_img = retrieveCurrentImg(buf); + if (a_img && a_img->title && *a_img->title) + p = a_img->title; + } + if (p || a) + s = make_lastline_link(buf, p, a ? a->url : NULL); + } + if (s) { + sl = get_Str_strwidth(s); + if (sl >= COLS - 3) + return s; + } + } + +#ifdef USE_MOUSE + if (use_mouse && mouse_action.lastline_str) + msg = Strnew_charp(mouse_action.lastline_str); + else +#endif /* not USE_MOUSE */ + msg = Strnew(); + if (displayLineInfo && buf->currentLine != NULL && buf->lastLine != NULL) { + int cl = buf->currentLine->real_linenumber; + int ll = buf->lastLine->real_linenumber; + int r = (int)((double)cl * 100.0 / (double)(ll ? ll : 1) + 0.5); + Strcat(msg, Sprintf("%d/%d (%d%%)", cl, ll, r)); + } + else + /* FIXME: gettextize? */ + Strcat_charp(msg, "Viewing"); +#ifdef USE_SSL + if (buf->ssl_certificate) + Strcat_charp(msg, "[SSL]"); +#endif + Strcat_charp(msg, " <"); + Strcat_charp(msg, buf->buffername); + + if (s) { + int l = COLS - 3 - sl; + if (get_Str_strwidth(msg) > l) { +#ifdef USE_M17N + char *p; + for (p = msg->ptr; *p; p += get_mclen(p)) { + l -= get_mcwidth(p); + if (l < 0) + break; + } + l = p - msg->ptr; +#endif + Strtruncate(msg, l); + } + Strcat_charp(msg, "> "); + Strcat(msg, s); + } + else { + Strcat_charp(msg, ">"); + } + return msg; +} + +void +displayBuffer(Buffer *buf, int mode) +{ + Str msg; + int ny = 0; + + if (!buf) + return; + if (buf->topLine == NULL && readBufferCache(buf) == 0) { /* clear_buffer */ + mode = B_FORCE_REDRAW; + } + + if (buf->width == 0) + buf->width = INIT_BUFFER_WIDTH; + if (buf->height == 0) + buf->height = LASTLINE + 1; + if ((buf->width != INIT_BUFFER_WIDTH && + ((buf->type && !strcmp(buf->type, "text/html")) || FoldLine)) + || buf->need_reshape) { + buf->need_reshape = TRUE; + reshapeBuffer(buf); + } + if (showLineNum) { + if (buf->lastLine && buf->lastLine->real_linenumber > 0) + buf->rootX = (int)(log(buf->lastLine->real_linenumber + 0.1) + / log(10)) + 2; + if (buf->rootX < 5) + buf->rootX = 5; + if (buf->rootX > COLS) + buf->rootX = COLS; + } + else + buf->rootX = 0; + buf->COLS = COLS - buf->rootX; + if (nTab > 1 +#ifdef USE_MOUSE + || mouse_action.menu_str +#endif + ) { + if (mode == B_FORCE_REDRAW || mode == B_REDRAW_IMAGE) + calcTabPos(); + ny = LastTab->y + 2; + if (ny > LASTLINE) + ny = LASTLINE; + } + if (buf->rootY != ny || buf->LINES != LASTLINE - ny) { + buf->rootY = ny; + buf->LINES = LASTLINE - ny; + arrangeCursor(buf); + mode = B_REDRAW_IMAGE; + } + if (mode == B_FORCE_REDRAW || mode == B_SCROLL || mode == B_REDRAW_IMAGE || + cline != buf->topLine || ccolumn != buf->currentColumn) { +#ifdef USE_RAW_SCROLL + if ( +#ifdef USE_IMAGE + !(activeImage && displayImage && draw_image_flag) && +#endif + mode == B_SCROLL && cline && buf->currentColumn == ccolumn) { + int n = buf->topLine->linenumber - cline->linenumber; + if (n > 0 && n < buf->LINES) { + move(LASTLINE, 0); + clrtoeolx(); + refresh(); + scroll(n); + } + else if (n < 0 && n > -buf->LINES) { +#if 0 /* defined(__CYGWIN__) */ + move(LASTLINE + n + 1, 0); + clrtoeolx(); + refresh(); +#endif /* defined(__CYGWIN__) */ + rscroll(-n); + } + redrawNLine(buf, n); + } + else +#endif + { +#ifdef USE_IMAGE + if (activeImage && + (mode == B_REDRAW_IMAGE || + cline != buf->topLine || ccolumn != buf->currentColumn)) { + if (draw_image_flag) + clear(); + clearImage(); + loadImage(buf, IMG_FLAG_STOP); + image_touch++; + draw_image_flag = FALSE; + } +#endif + redrawBuffer(buf); + } + cline = buf->topLine; + ccolumn = buf->currentColumn; + } + if (buf->topLine == NULL) + buf->topLine = buf->firstLine; + +#ifdef USE_IMAGE + if (buf->need_reshape) { + displayBuffer(buf, B_FORCE_REDRAW); + return; + } +#endif + + drawAnchorCursor(buf); + + msg = make_lastline_message(buf); + if (buf->firstLine == NULL) { + /* FIXME: gettextize? */ + Strcat_charp(msg, "\tNo Line"); + } + if (delayed_msg != NULL) { + disp_message(delayed_msg, FALSE); + delayed_msg = NULL; + refresh(); + } + standout(); + message(msg->ptr, buf->cursorX + buf->rootX, buf->cursorY + buf->rootY); + standend(); + term_title(conv_to_system(buf->buffername)); + refresh(); +#ifdef USE_IMAGE + if (activeImage && displayImage && buf->img) { + drawImage(); + } +#endif +#ifdef USE_BUFINFO + if (buf != save_current_buf) { + saveBufferInfo(); + save_current_buf = buf; + } +#endif +} + +static void +drawAnchorCursor0(Buffer *buf, AnchorList *al, int hseq, int prevhseq, + int tline, int eline, int active) +{ + int i, j; + Line *l; + Anchor *an; + + l = buf->topLine; + for (j = 0; j < al->nanchor; j++) { + an = &al->anchors[j]; + if (an->start.line < tline) + continue; + if (an->start.line >= eline) + return; + for (;; l = l->next) { + if (l == NULL) + return; + if (l->linenumber == an->start.line) + break; + } + if (hseq >= 0 && an->hseq == hseq) { + for (i = an->start.pos; i < an->end.pos; i++) { + if (l->propBuf[i] & (PE_IMAGE | PE_ANCHOR | PE_FORM)) { + if (active) + l->propBuf[i] |= PE_ACTIVE; + else + l->propBuf[i] &= ~PE_ACTIVE; + } + } + if (active) + redrawLineRegion(buf, l, l->linenumber - tline + buf->rootY, + an->start.pos, an->end.pos); + } + else if (prevhseq >= 0 && an->hseq == prevhseq) { + if (active) + redrawLineRegion(buf, l, l->linenumber - tline + buf->rootY, + an->start.pos, an->end.pos); + } + } +} + +static void +drawAnchorCursor(Buffer *buf) +{ + Anchor *an; + int hseq, prevhseq; + int tline, eline; + + if (!buf->firstLine || !buf->hmarklist) + return; + if (!buf->href && !buf->formitem) + return; + + an = retrieveCurrentAnchor(buf); + if (!an) + an = retrieveCurrentMap(buf); + if (an) + hseq = an->hseq; + else + hseq = -1; + tline = buf->topLine->linenumber; + eline = tline + buf->LINES; + prevhseq = buf->hmarklist->prevhseq; + + if (buf->href) { + drawAnchorCursor0(buf, buf->href, hseq, prevhseq, tline, eline, 1); + drawAnchorCursor0(buf, buf->href, hseq, -1, tline, eline, 0); + } + if (buf->formitem) { + drawAnchorCursor0(buf, buf->formitem, hseq, prevhseq, tline, eline, 1); + drawAnchorCursor0(buf, buf->formitem, hseq, -1, tline, eline, 0); + } + buf->hmarklist->prevhseq = hseq; +} + +static void +redrawNLine(Buffer *buf, int n) +{ + Line *l; + int i; + +#ifdef USE_COLOR + if (useColor) { + EFFECT_ANCHOR_END_C; +#ifdef USE_BG_COLOR + setbcolor(bg_color); +#endif /* USE_BG_COLOR */ + } +#endif /* USE_COLOR */ + if (nTab > 1 +#ifdef USE_MOUSE + || mouse_action.menu_str +#endif + ) { + TabBuffer *t; + int l; + + move(0, 0); +#ifdef USE_MOUSE + if (mouse_action.menu_str) + addstr(mouse_action.menu_str); +#endif + clrtoeolx(); + for (t = FirstTab; t; t = t->nextTab) { + move(t->y, t->x1); + if (t == CurrentTab) + bold(); + addch('['); + l = t->x2 - t->x1 - 1 - get_strwidth(t->currentBuffer->buffername); + if (l < 0) + l = 0; + if (l / 2 > 0) + addnstr_sup(" ", l / 2); + if (t == CurrentTab) + EFFECT_ACTIVE_START; + addnstr(t->currentBuffer->buffername, t->x2 - t->x1 - l); + if (t == CurrentTab) + EFFECT_ACTIVE_END; + if ((l + 1) / 2 > 0) + addnstr_sup(" ", (l + 1) / 2); + move(t->y, t->x2); + addch(']'); + if (t == CurrentTab) + boldend(); + } +#if 0 + move(0, COLS - 2); + addstr(" x"); +#endif + move(LastTab->y + 1, 0); + for (i = 0; i < COLS; i++) + addch('~'); + } + for (i = 0, l = buf->topLine; i < buf->LINES; i++, l = l->next) { + if (i >= buf->LINES - n || i < -n) + l = redrawLine(buf, l, i + buf->rootY); + if (l == NULL) + break; + } + if (n > 0) { + move(i + buf->rootY, 0); + clrtobotx(); + } + +#ifdef USE_IMAGE + if (!(activeImage && displayImage && buf->img)) + return; + move(buf->cursorY + buf->rootY, buf->cursorX + buf->rootX); + for (i = 0, l = buf->topLine; i < buf->LINES && l; i++, l = l->next) { + if (i >= buf->LINES - n || i < -n) + redrawLineImage(buf, l, i + buf->rootY); + } + getAllImage(buf); +#endif +} + +static Line * +redrawLine(Buffer *buf, Line *l, int i) +{ + int j, pos, rcol, ncol, delta = 1; + int column = buf->currentColumn; + char *p; + Lineprop *pr; +#ifdef USE_ANSI_COLOR + Linecolor *pc; +#endif +#ifdef USE_COLOR + Anchor *a; + ParsedURL url; + int k, vpos = -1; +#endif + + if (l == NULL) { + if (buf->pagerSource) { + l = getNextPage(buf, buf->LINES + buf->rootY - i); + if (l == NULL) + return NULL; + } + else + return NULL; + } + move(i, 0); + if (showLineNum) { + char tmp[16]; + if (!buf->rootX) { + if (buf->lastLine->real_linenumber > 0) + buf->rootX = (int)(log(buf->lastLine->real_linenumber + 0.1) + / log(10)) + 2; + if (buf->rootX < 5) + buf->rootX = 5; + if (buf->rootX > COLS) + buf->rootX = COLS; + buf->COLS = COLS - buf->rootX; + } + if (l->real_linenumber && !l->bpos) + sprintf(tmp, "%*ld:", buf->rootX - 1, l->real_linenumber); + else + sprintf(tmp, "%*s ", buf->rootX - 1, ""); + addstr(tmp); + } + move(i, buf->rootX); + if (l->width < 0) + l->width = COLPOS(l, l->len); + if (l->len == 0 || l->width - 1 < column) { + clrtoeolx(); + return l; + } + /* need_clrtoeol(); */ + pos = columnPos(l, column); + p = &(l->lineBuf[pos]); + pr = &(l->propBuf[pos]); +#ifdef USE_ANSI_COLOR + if (useColor && l->colorBuf) + pc = &(l->colorBuf[pos]); + else + pc = NULL; +#endif + rcol = COLPOS(l, pos); + + for (j = 0; rcol - column < buf->COLS && pos + j < l->len; j += delta) { +#ifdef USE_COLOR + if (useVisitedColor && vpos <= pos + j && !(pr[j] & PE_VISITED)) { + a = retrieveAnchor(buf->href, l->linenumber, pos + j); + if (a) { + parseURL2(a->url, &url, baseURL(buf)); + if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) { + for (k = a->start.pos; k < a->end.pos; k++) + pr[k - pos] |= PE_VISITED; + } + vpos = a->end.pos; + } + } +#endif +#ifdef USE_M17N + delta = wtf_len((wc_uchar *) & p[j]); +#endif + ncol = COLPOS(l, pos + j + delta); + if (ncol - column > buf->COLS) + break; +#ifdef USE_ANSI_COLOR + if (pc) + do_color(pc[j]); +#endif + if (rcol < column) { + for (rcol = column; rcol < ncol; rcol++) + addChar(' ', 0); + continue; + } + if (p[j] == '\t') { + for (; rcol < ncol; rcol++) + addChar(' ', 0); + } + else { +#ifdef USE_M17N + addMChar(&p[j], pr[j], delta); +#else + addChar(p[j], pr[j]); +#endif + } + rcol = ncol; + } + if (somode) { + somode = FALSE; + standend(); + } + if (ulmode) { + ulmode = FALSE; + underlineend(); + } + if (bomode) { + bomode = FALSE; + boldend(); + } + if (emph_mode) { + emph_mode = FALSE; + boldend(); + } + + if (anch_mode) { + anch_mode = FALSE; + EFFECT_ANCHOR_END; + } + if (imag_mode) { + imag_mode = FALSE; + EFFECT_IMAGE_END; + } + if (form_mode) { + form_mode = FALSE; + EFFECT_FORM_END; + } + if (visited_mode) { + visited_mode = FALSE; + EFFECT_VISITED_END; + } + if (active_mode) { + active_mode = FALSE; + EFFECT_ACTIVE_END; + } + if (mark_mode) { + mark_mode = FALSE; + EFFECT_MARK_END; + } + if (graph_mode) { + graph_mode = FALSE; + graphend(); + } +#ifdef USE_ANSI_COLOR + if (color_mode) + do_color(0); +#endif + if (rcol - column < buf->COLS) + clrtoeolx(); + return l; +} + +#ifdef USE_IMAGE +static Line * +redrawLineImage(Buffer *buf, Line *l, int i) +{ + int j, pos, rcol; + int column = buf->currentColumn; + Anchor *a; + int x, y, sx, sy, w, h; + + if (l == NULL) + return NULL; + if (l->width < 0) + l->width = COLPOS(l, l->len); + if (l->len == 0 || l->width - 1 < column) + return l; + pos = columnPos(l, column); + rcol = COLPOS(l, pos); + for (j = 0; rcol - column < buf->COLS && pos + j < l->len; j++) { + if (rcol - column < 0) { + rcol = COLPOS(l, pos + j + 1); + continue; + } + a = retrieveAnchor(buf->img, l->linenumber, pos + j); + if (a && a->image && a->image->touch < image_touch) { + Image *image = a->image; + ImageCache *cache; + + cache = image->cache = getImage(image, baseURL(buf), + buf->image_flag); + if (cache) { + if ((image->width < 0 && cache->width > 0) || + (image->height < 0 && cache->height > 0)) { + image->width = cache->width; + image->height = cache->height; + buf->need_reshape = TRUE; + } + x = (int)((rcol - column + buf->rootX) * pixel_per_char); + y = (int)(i * pixel_per_line); + sx = (int)((rcol - COLPOS(l, a->start.pos)) * pixel_per_char); + sy = (int)((l->linenumber - image->y) * pixel_per_line); + if (sx == 0 && x + image->xoffset >= 0) + x += image->xoffset; + else + sx -= image->xoffset; + if (sy == 0 && y + image->yoffset >= 0) + y += image->yoffset; + else + sy -= image->yoffset; + if (image->width > 0) + w = image->width - sx; + else + w = (int)(8 * pixel_per_char - sx); + if (image->height > 0) + h = image->height - sy; + else + h = (int)(pixel_per_line - sy); + if (w > (int)((buf->rootX + buf->COLS) * pixel_per_char - x)) + w = (int)((buf->rootX + buf->COLS) * pixel_per_char - x); + if (h > (int)(LASTLINE * pixel_per_line - y)) + h = (int)(LASTLINE * pixel_per_line - y); + addImage(cache, x, y, sx, sy, w, h); + image->touch = image_touch; + draw_image_flag = TRUE; + } + } + rcol = COLPOS(l, pos + j + 1); + } + return l; +} +#endif + +static int +redrawLineRegion(Buffer *buf, Line *l, int i, int bpos, int epos) +{ + int j, pos, rcol, ncol, delta = 1; + int column = buf->currentColumn; + char *p; + Lineprop *pr; +#ifdef USE_ANSI_COLOR + Linecolor *pc; +#endif + int bcol, ecol; +#ifdef USE_COLOR + Anchor *a; + ParsedURL url; + int k, vpos = -1; +#endif + + if (l == NULL) + return 0; + pos = columnPos(l, column); + p = &(l->lineBuf[pos]); + pr = &(l->propBuf[pos]); +#ifdef USE_ANSI_COLOR + if (useColor && l->colorBuf) + pc = &(l->colorBuf[pos]); + else + pc = NULL; +#endif + rcol = COLPOS(l, pos); + bcol = bpos - pos; + ecol = epos - pos; + + for (j = 0; rcol - column < buf->COLS && pos + j < l->len; j += delta) { +#ifdef USE_COLOR + if (useVisitedColor && vpos <= pos + j && !(pr[j] & PE_VISITED)) { + a = retrieveAnchor(buf->href, l->linenumber, pos + j); + if (a) { + parseURL2(a->url, &url, baseURL(buf)); + if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) { + for (k = a->start.pos; k < a->end.pos; k++) + pr[k - pos] |= PE_VISITED; + } + vpos = a->end.pos; + } + } +#endif +#ifdef USE_M17N + delta = wtf_len((wc_uchar *) & p[j]); +#endif + ncol = COLPOS(l, pos + j + delta); + if (ncol - column > buf->COLS) + break; +#ifdef USE_ANSI_COLOR + if (pc) + do_color(pc[j]); +#endif + if (j >= bcol && j < ecol) { + if (rcol < column) { + move(i, buf->rootX); + for (rcol = column; rcol < ncol; rcol++) + addChar(' ', 0); + continue; + } + move(i, rcol - column + buf->rootX); + if (p[j] == '\t') { + for (; rcol < ncol; rcol++) + addChar(' ', 0); + } + else +#ifdef USE_M17N + addMChar(&p[j], pr[j], delta); +#else + addChar(p[j], pr[j]); +#endif + } + rcol = ncol; + } + if (somode) { + somode = FALSE; + standend(); + } + if (ulmode) { + ulmode = FALSE; + underlineend(); + } + if (bomode) { + bomode = FALSE; + boldend(); + } + if (emph_mode) { + emph_mode = FALSE; + boldend(); + } + + if (anch_mode) { + anch_mode = FALSE; + EFFECT_ANCHOR_END; + } + if (imag_mode) { + imag_mode = FALSE; + EFFECT_IMAGE_END; + } + if (form_mode) { + form_mode = FALSE; + EFFECT_FORM_END; + } + if (visited_mode) { + visited_mode = FALSE; + EFFECT_VISITED_END; + } + if (active_mode) { + active_mode = FALSE; + EFFECT_ACTIVE_END; + } + if (mark_mode) { + mark_mode = FALSE; + EFFECT_MARK_END; + } + if (graph_mode) { + graph_mode = FALSE; + graphend(); + } +#ifdef USE_ANSI_COLOR + if (color_mode) + do_color(0); +#endif + return rcol - column; +} + +#define do_effect1(effect,modeflag,action_start,action_end) \ +if (m & effect) { \ + if (!modeflag) { \ + action_start; \ + modeflag = TRUE; \ + } \ +} + +#define do_effect2(effect,modeflag,action_start,action_end) \ +if (modeflag) { \ + action_end; \ + modeflag = FALSE; \ +} + +static void +do_effects(Lineprop m) +{ + /* effect end */ + do_effect2(PE_UNDER, ulmode, underline(), underlineend()); + do_effect2(PE_STAND, somode, standout(), standend()); + do_effect2(PE_BOLD, bomode, bold(), boldend()); + do_effect2(PE_EMPH, emph_mode, bold(), boldend()); + do_effect2(PE_ANCHOR, anch_mode, EFFECT_ANCHOR_START, EFFECT_ANCHOR_END); + do_effect2(PE_IMAGE, imag_mode, EFFECT_IMAGE_START, EFFECT_IMAGE_END); + do_effect2(PE_FORM, form_mode, EFFECT_FORM_START, EFFECT_FORM_END); + do_effect2(PE_VISITED, visited_mode, EFFECT_VISITED_START, + EFFECT_VISITED_END); + do_effect2(PE_ACTIVE, active_mode, EFFECT_ACTIVE_START, EFFECT_ACTIVE_END); + do_effect2(PE_MARK, mark_mode, EFFECT_MARK_START, EFFECT_MARK_END); + if (graph_mode) { + graphend(); + graph_mode = FALSE; + } + + /* effect start */ + do_effect1(PE_UNDER, ulmode, underline(), underlineend()); + do_effect1(PE_STAND, somode, standout(), standend()); + do_effect1(PE_BOLD, bomode, bold(), boldend()); + do_effect1(PE_EMPH, emph_mode, bold(), boldend()); + do_effect1(PE_ANCHOR, anch_mode, EFFECT_ANCHOR_START, EFFECT_ANCHOR_END); + do_effect1(PE_IMAGE, imag_mode, EFFECT_IMAGE_START, EFFECT_IMAGE_END); + do_effect1(PE_FORM, form_mode, EFFECT_FORM_START, EFFECT_FORM_END); + do_effect1(PE_VISITED, visited_mode, EFFECT_VISITED_START, + EFFECT_VISITED_END); + do_effect1(PE_ACTIVE, active_mode, EFFECT_ACTIVE_START, EFFECT_ACTIVE_END); + do_effect1(PE_MARK, mark_mode, EFFECT_MARK_START, EFFECT_MARK_END); +} + +#ifdef USE_ANSI_COLOR +static void +do_color(Linecolor c) +{ + if (c & 0x8) + setfcolor(c & 0x7); + else if (color_mode & 0x8) + setfcolor(basic_color); +#ifdef USE_BG_COLOR + if (c & 0x80) + setbcolor((c >> 4) & 0x7); + else if (color_mode & 0x80) + setbcolor(bg_color); +#endif + color_mode = c; +} +#endif + +#ifdef USE_M17N +void +addChar(char c, Lineprop mode) +{ + addMChar(&c, mode, 1); +} + +void +addMChar(char *p, Lineprop mode, size_t len) +#else +void +addChar(char c, Lineprop mode) +#endif +{ + Lineprop m = CharEffect(mode); +#ifdef USE_M17N + char c = *p; + + if (mode & PC_WCHAR2) + return; +#endif + do_effects(m); + if (mode & PC_SYMBOL) { + char **symbol; +#ifdef USE_M17N + int w = (mode & PC_KANJI) ? 2 : 1; + + c = ((char)wtf_get_code((wc_uchar *) p) & 0x7f) - SYMBOL_BASE; +#else + c -= SYMBOL_BASE; +#endif + if (graph_ok() && c < N_GRAPH_SYMBOL) { + if (!graph_mode) { + graphstart(); + graph_mode = TRUE; + } +#ifdef USE_M17N + if (w == 2 && WcOption.use_wide) + addstr(graph2_symbol[(int)c]); + else +#endif + addch(*graph_symbol[(int)c]); + } + else { +#ifdef USE_M17N + symbol = get_symbol(DisplayCharset, &w); + addstr(symbol[(int)c]); +#else + symbol = get_symbol(); + addch(*symbol[(int)c]); +#endif + } + } + else if (mode & PC_CTRL) { + switch (c) { + case '\t': + addch(c); + break; + case '\n': + addch(' '); + break; + case '\r': + break; + case DEL_CODE: + addstr("^?"); + break; + default: + addch('^'); + addch(c + '@'); + break; + } + } +#ifdef USE_M17N + else if (mode & PC_UNKNOWN) { + char buf[5]; + sprintf(buf, "[%.2X]", + (unsigned char)wtf_get_code((wc_uchar *) p) | 0x80); + addstr(buf); + } + else + addmch(p, len); +#else + else if (0x80 <= (unsigned char)c && (unsigned char)c <= NBSP_CODE) + addch(' '); + else + addch(c); +#endif +} + +static GeneralList *message_list = NULL; + +void +record_err_message(char *s) +{ + if (fmInitialized) { + if (!message_list) + message_list = newGeneralList(); + if (message_list->nitem >= LINES) + popValue(message_list); + pushValue(message_list, allocStr(s, -1)); + } +} + +/* + * List of error messages + */ +Buffer * +message_list_panel(void) +{ + Str tmp = Strnew_size(LINES * COLS); + ListItem *p; + + /* FIXME: gettextize? */ + Strcat_charp(tmp, + "List of error messages" + "

List of error messages

\n"); + if (message_list) + for (p = message_list->last; p; p = p->prev) + Strcat_m_charp(tmp, "\n", NULL); + else + Strcat_charp(tmp, "\n"); + Strcat_charp(tmp, "
", html_quote(p->ptr),
+			   "
(no message recorded)
"); + return loadHTMLString(tmp); +} + +void +message(char *s, int return_x, int return_y) +{ + if (!fmInitialized) + return; + move(LASTLINE, 0); + addnstr(s, COLS - 1); + clrtoeolx(); + move(return_y, return_x); +} + +void +disp_err_message(char *s, int redraw_current) +{ + record_err_message(s); + disp_message(s, redraw_current); +} + +void +disp_message_nsec(char *s, int redraw_current, int sec, int purge, int mouse) +{ + if (QuietMessage) + return; + if (!fmInitialized) { + fprintf(stderr, "%s\n", conv_to_system(s)); + return; + } + if (CurrentTab != NULL && Currentbuf != NULL) + message(s, Currentbuf->cursorX + Currentbuf->rootX, + Currentbuf->cursorY + Currentbuf->rootY); + else + message(s, LASTLINE, 0); + refresh(); +#ifdef USE_MOUSE + if (mouse && use_mouse) + mouse_active(); +#endif + sleep_till_anykey(sec, purge); +#ifdef USE_MOUSE + if (mouse && use_mouse) + mouse_inactive(); +#endif + if (CurrentTab != NULL && Currentbuf != NULL && redraw_current) + displayBuffer(Currentbuf, B_NORMAL); +} + +void +disp_message(char *s, int redraw_current) +{ + disp_message_nsec(s, redraw_current, 10, FALSE, TRUE); +} +#ifdef USE_MOUSE +void +disp_message_nomouse(char *s, int redraw_current) +{ + disp_message_nsec(s, redraw_current, 10, FALSE, FALSE); +} +#endif + +void +set_delayed_message(char *s) +{ + delayed_msg = allocStr(s, -1); +} + +void +cursorUp0(Buffer *buf, int n) +{ + if (buf->cursorY > 0) + cursorUpDown(buf, -1); + else { + buf->topLine = lineSkip(buf, buf->topLine, -n, FALSE); + if (buf->currentLine->prev != NULL) + buf->currentLine = buf->currentLine->prev; + arrangeLine(buf); + } +} + +void +cursorUp(Buffer *buf, int n) +{ + Line *l = buf->currentLine; + if (buf->firstLine == NULL) + return; + while (buf->currentLine->prev && buf->currentLine->bpos) + cursorUp0(buf, n); + if (buf->currentLine == buf->firstLine) { + gotoLine(buf, l->linenumber); + arrangeLine(buf); + return; + } + cursorUp0(buf, n); + while (buf->currentLine->prev && buf->currentLine->bpos && + buf->currentLine->bwidth >= buf->currentColumn + buf->visualpos) + cursorUp0(buf, n); +} + +void +cursorDown0(Buffer *buf, int n) +{ + if (buf->cursorY < buf->LINES - 1) + cursorUpDown(buf, 1); + else { + buf->topLine = lineSkip(buf, buf->topLine, n, FALSE); + if (buf->currentLine->next != NULL) + buf->currentLine = buf->currentLine->next; + arrangeLine(buf); + } +} + +void +cursorDown(Buffer *buf, int n) +{ + Line *l = buf->currentLine; + if (buf->firstLine == NULL) + return; + while (buf->currentLine->next && buf->currentLine->next->bpos) + cursorDown0(buf, n); + if (buf->currentLine == buf->lastLine) { + gotoLine(buf, l->linenumber); + arrangeLine(buf); + return; + } + cursorDown0(buf, n); + while (buf->currentLine->next && buf->currentLine->next->bpos && + buf->currentLine->bwidth + buf->currentLine->width < + buf->currentColumn + buf->visualpos) + cursorDown0(buf, n); +} + +void +cursorUpDown(Buffer *buf, int n) +{ + Line *cl = buf->currentLine; + + if (buf->firstLine == NULL) + return; + if ((buf->currentLine = currentLineSkip(buf, cl, n, FALSE)) == cl) + return; + arrangeLine(buf); +} + +void +cursorRight(Buffer *buf, int n) +{ + int i, delta = 1, cpos, vpos2; + Line *l = buf->currentLine; + Lineprop *p; + + if (buf->firstLine == NULL) + return; + if (buf->pos == l->len && !(l->next && l->next->bpos)) + return; + i = buf->pos; + p = l->propBuf; +#ifdef USE_M17N + while (i + delta < l->len && p[i + delta] & PC_WCHAR2) + delta++; +#endif + if (i + delta < l->len) { + buf->pos = i + delta; + } + else if (l->len == 0) { + buf->pos = 0; + } + else if (l->next && l->next->bpos) { + cursorDown0(buf, 1); + buf->pos = 0; + arrangeCursor(buf); + return; + } + else { + buf->pos = l->len - 1; +#ifdef USE_M17N + while (buf->pos && p[buf->pos] & PC_WCHAR2) + buf->pos--; +#endif + } + cpos = COLPOS(l, buf->pos); + buf->visualpos = l->bwidth + cpos - buf->currentColumn; + delta = 1; +#ifdef USE_M17N + while (buf->pos + delta < l->len && p[buf->pos + delta] & PC_WCHAR2) + delta++; +#endif + vpos2 = COLPOS(l, buf->pos + delta) - buf->currentColumn - 1; + if (vpos2 >= buf->COLS && n) { + columnSkip(buf, n + (vpos2 - buf->COLS) - (vpos2 - buf->COLS) % n); + buf->visualpos = l->bwidth + cpos - buf->currentColumn; + } + buf->cursorX = buf->visualpos - l->bwidth; +} + +void +cursorLeft(Buffer *buf, int n) +{ + int i, delta = 1, cpos; + Line *l = buf->currentLine; + Lineprop *p; + + if (buf->firstLine == NULL) + return; + i = buf->pos; + p = l->propBuf; +#ifdef USE_M17N + while (i - delta > 0 && p[i - delta] & PC_WCHAR2) + delta++; +#endif + if (i >= delta) + buf->pos = i - delta; + else if (l->prev && l->bpos) { + cursorUp0(buf, -1); + buf->pos = buf->currentLine->len - 1; + arrangeCursor(buf); + return; + } + else + buf->pos = 0; + cpos = COLPOS(l, buf->pos); + buf->visualpos = l->bwidth + cpos - buf->currentColumn; + if (buf->visualpos - l->bwidth < 0 && n) { + columnSkip(buf, + -n + buf->visualpos - l->bwidth - (buf->visualpos - + l->bwidth) % n); + buf->visualpos = l->bwidth + cpos - buf->currentColumn; + } + buf->cursorX = buf->visualpos - l->bwidth; +} + +void +cursorHome(Buffer *buf) +{ + buf->visualpos = 0; + buf->cursorX = buf->cursorY = 0; +} + + +/* + * Arrange line,column and cursor position according to current line and + * current position. + */ +void +arrangeCursor(Buffer *buf) +{ + int col, col2, pos; + int delta = 1; + if (buf == NULL || buf->currentLine == NULL) + return; + /* Arrange line */ + if (buf->currentLine->linenumber - buf->topLine->linenumber >= buf->LINES + || buf->currentLine->linenumber < buf->topLine->linenumber) { + /* + * buf->topLine = buf->currentLine; + */ + buf->topLine = lineSkip(buf, buf->currentLine, 0, FALSE); + } + /* Arrange column */ + while (buf->pos < 0 && buf->currentLine->prev && buf->currentLine->bpos) { + pos = buf->pos + buf->currentLine->prev->len; + cursorUp0(buf, 1); + buf->pos = pos; + } + while (buf->pos >= buf->currentLine->len && buf->currentLine->next && + buf->currentLine->next->bpos) { + pos = buf->pos - buf->currentLine->len; + cursorDown0(buf, 1); + buf->pos = pos; + } + if (buf->currentLine->len == 0 || buf->pos < 0) + buf->pos = 0; + else if (buf->pos >= buf->currentLine->len) + buf->pos = buf->currentLine->len - 1; +#ifdef USE_M17N + while (buf->pos > 0 && buf->currentLine->propBuf[buf->pos] & PC_WCHAR2) + buf->pos--; +#endif + col = COLPOS(buf->currentLine, buf->pos); +#ifdef USE_M17N + while (buf->pos + delta < buf->currentLine->len && + buf->currentLine->propBuf[buf->pos + delta] & PC_WCHAR2) + delta++; +#endif + col2 = COLPOS(buf->currentLine, buf->pos + delta); + if (col < buf->currentColumn || col2 > buf->COLS + buf->currentColumn) { + buf->currentColumn = 0; + if (col2 > buf->COLS) + columnSkip(buf, col); + } + /* Arrange cursor */ + buf->cursorY = buf->currentLine->linenumber - buf->topLine->linenumber; + buf->visualpos = buf->currentLine->bwidth + + COLPOS(buf->currentLine, buf->pos) - buf->currentColumn; + buf->cursorX = buf->visualpos - buf->currentLine->bwidth; +#ifdef DISPLAY_DEBUG + fprintf(stderr, + "arrangeCursor: column=%d, cursorX=%d, visualpos=%d, pos=%d, len=%d\n", + buf->currentColumn, buf->cursorX, buf->visualpos, buf->pos, + buf->currentLine->len); +#endif +} + +void +arrangeLine(Buffer *buf) +{ + int i, cpos; + + if (buf->firstLine == NULL) + return; + buf->cursorY = buf->currentLine->linenumber - buf->topLine->linenumber; + i = columnPos(buf->currentLine, buf->currentColumn + buf->visualpos + - buf->currentLine->bwidth); + cpos = COLPOS(buf->currentLine, i) - buf->currentColumn; + if (cpos >= 0) { + buf->cursorX = cpos; + buf->pos = i; + } + else if (buf->currentLine->len > i) { + buf->cursorX = 0; + buf->pos = i + 1; + } + else { + buf->cursorX = 0; + buf->pos = 0; + } +#ifdef DISPLAY_DEBUG + fprintf(stderr, + "arrangeLine: column=%d, cursorX=%d, visualpos=%d, pos=%d, len=%d\n", + buf->currentColumn, buf->cursorX, buf->visualpos, buf->pos, + buf->currentLine->len); +#endif +} + +void +cursorXY(Buffer *buf, int x, int y) +{ + int oldX; + + cursorUpDown(buf, y - buf->cursorY); + + if (buf->cursorX > x) { + while (buf->cursorX > x) + cursorLeft(buf, buf->COLS / 2); + } + else if (buf->cursorX < x) { + while (buf->cursorX < x) { + oldX = buf->cursorX; + + cursorRight(buf, buf->COLS / 2); + + if (oldX == buf->cursorX) + break; + } + if (buf->cursorX > x) + cursorLeft(buf, buf->COLS / 2); + } +} + +void +restorePosition(Buffer *buf, Buffer *orig) +{ + buf->topLine = lineSkip(buf, buf->firstLine, TOP_LINENUMBER(orig) - 1, + FALSE); + gotoLine(buf, CUR_LINENUMBER(orig)); + buf->pos = orig->pos; + if (buf->currentLine && orig->currentLine) + buf->pos += orig->currentLine->bpos - buf->currentLine->bpos; + buf->currentColumn = orig->currentColumn; + arrangeCursor(buf); +} + +/* Local Variables: */ +/* c-basic-offset: 4 */ +/* tab-width: 8 */ +/* End: */ diff --git a/doc-jp/FAQ.html b/doc-jp/FAQ.html new file mode 100644 index 0000000..e16a986 --- /dev/null +++ b/doc-jp/FAQ.html @@ -0,0 +1,238 @@ + + +W3M FAQ + + +

w3m¤Ë´Ø¤·¤ÆÎɤ¯Ê¹¤«¤ì¤ë(¤Ç¤¢¤í¤¦)¼ÁÌä¤È¤½¤ÎÅú¤¨

+
+°ËÆ£ ¾´Â§
+aito@fw.ipsj.or.jp +
+ +
+

°ìÈÌŪ¤Ê¤³¤È¡¤Æþ¼êÊýË¡¡¤Æ°ºî´Ä¶­

+
+
+
``w3m''¤Ï²¿¤ÈÆɤà¤Î¤Ç¤¹¤«¡© +
¡Ö¤À¤Ö¤ê¤å¡¼¤µ¤ó¤¨¤à¡×¤Þ¤¿¤Ï¡Ö¤À¤Ö¤ê¤å¡¼¤¹¤ê¡¼¤¨¤à¡×¤Ç¤¹¡¥ +``w3m''¤È½ñ¤¤¤Æ¥×¥Æ¥é¥Î¥É¥ó¤ÈÆɤó¤À¤ê¤Ï¤·¤Þ¤»¤ó¡¥ +

+

¤É¤¦¤·¤Æ``w3m''¤È¤¤¤¦Ì¾Á°¤Ê¤Î¡© +
WWW-wo-Miru(WWW¤ò¸«¤ë)¤«¤éÉÕ¤±¤Þ¤·¤¿¡¥ +

+

¤É¤¦¤¤¤¦´Ä¶­¤ÇÆ°¤¯¤Î¡© +
°ìÈÌŪ¤ÊUNIX¤ÇÆ°¤­¤Þ¤¹¡¥ºÇ¿·ÈǤޤ¿¤Ï¤½¤ì¤Ë¶á¤¤¥Ð¡¼¥¸¥ç¥ó¤ÇÆ°ºî¤¬³Îǧ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¤ +
+
+SunOS 4.1.x
+HP-UX 9.x, 10.x
+Solaris 2.5.x, 2.6, 8, 9
+Linux 2.0.*/2.2.*/2.4.*
+FreeBSD 2.2.8, 3.1, 3.2, 4.6
+NetBSD/macppc, m68k
+EWS4800 Rel.12.2 Rev.A
+Digital UNIX: v3.2D, v4.0D
+IRIX 5.3, IRIX 6.5
+OS/2 with emx
+Windows 9x/NT with Cygwin b20.1, 1.1.x, 1.3.x
+MS-DOS with DJGPP and WATT32 packet driver
+MacOS X Server
+MacOS X 10.1, 10.2
+
+¤Ê¤É¤Ç¤¹¡¥¤½¤Î¾¤Î¤â¤Î¤Ç¤â¡¤¥á¥¸¥ã¡¼¤ÊUNIX¥·¥¹¥Æ¥à¤Ê¤éÆ°¤¯¤Ç¤·¤ç¤¦¡¥ +

+version 990226 ¤«¤é¡¤OS/2 ¤ÇÆ°¤¯¤è¤¦¤Ç¤¹¡¥ +

+version 990303 ¤«¤é¡¤Windows+cygwin32 ¤ÇÆ°¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥ +

+

Windows 9x/NT ¤Ç¤ÏÆ°¤«¤Ê¤¤¤Î¡© +
Cygwin¤ò»È¤¨¤ÐÆ°¤­¤Þ¤¹¡¥ +

+

w3m¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¤É¤³¤«¤é¼ê¤ËÆþ¤ë¤Î¡© +
+http://w3m.sourceforge.net/¤Ë w3m ¤Î¥Ú¡¼¥¸ +¤¬¤¢¤ê¤Þ¤¹¡¥ +

+

ºÇ¿·ÈǤϤɤ³¤«¤é¼ê¤ËÆþ¤ë¤Î¡© +
+http://prdownloads.sourceforge.net/w3m/¤«¤é¼ê¤ËÆþ¤ê¤Þ¤¹¡¥ +

+

w3m ¤Ë´Ø¤¹¤ëML¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡© +
+³«È¯¼Ô¸þ¤±ML(w3m-dev(ÆüËܸì)¤Èw3m-dev-en(±Ñ¸ì))¤¬¤¢¤ê¤Þ¤¹¡£¾Ü¤·¤¯¤Ï +w3m ¤Î¥Ú¡¼¥¸ +¤ò¤´Í÷¤¯¤À¤µ¤¤¡£³«È¯´ØÏ¢°Ê³°¤Ç +²¿¤«¸À¤¤¤¿¤¤¤³¤È¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¤ºî¼Ô¤Ë +ľÀܥ᡼¥ë¤¹¤ë¤«¡¤¤¢¤ë¤¤¤Ï +w3m BBS¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡¥ +

+

¥Ð¥¤¥Ê¥êÇÛÉۤϤ·¤Ê¤¤¤Î¡© +
+¤¤¤¯¤Ä¤«¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤Ä¤¤¤Æ¡¤w3m¤Î¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò¤ä¤Ã¤Æ +¤¯¤À¤µ¤Ã¤Æ¤¤¤ë¥µ¥¤¥È¤¬¤¢¤ê¤Þ¤¹¡¥¾Ü¤·¤¯¤Ï + +w3m¤Î¥Ú¡¼¥¸¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡¥ + +
+ + +

¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë

+ÆäËÌäÂê¤Ê¤· :-) + + +

¥ª¥×¥·¥ç¥ó¡¤¥³¥Þ¥ó¥É¡¤»È¤¤¤«¤¿

+
+
w3m ¤ÈÆþÎϤ·¤¿¤é¡¤²¿¤âɽ¼¨¤»¤º¤Ë½ª¤ï¤Ã¤Á¤ã¤¤¤Þ¤·¤¿¡¥²¿¤¬°­¤¤¤Î¡© +
w3m ¤Ï¥Ú¡¼¥¸¥ã¤Ç¤¹¡¥¤Ç¤¹¤«¤é¡¤²¿¤â»ØÄꤷ¤Ê¤¤¤Çµ¯Æ°¤¹¤ì¤Ð +¤½¤Î¤Þ¤Þ½ªÎ»¤·¤Þ¤¹¡¥²¿¤«É½¼¨¤µ¤»¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤ +
    +
  1. °ú¿ô¤Ë¥Õ¥¡¥¤¥ë̾¤«URL¤ò½ñ¤¯¡¥ +
  2. ɸ½àÆþÎϤ˲¿¤«Æþ¤ì¤Æ¤¢¤²¤ë¡¥ +
  3. -B ¥ª¥×¥·¥ç¥ó(¥Ö¥Ã¥¯¥Þ¡¼¥¯É½¼¨)¤ò¤Ä¤±¤ë¡¥ +
  4. ´Ä¶­ÊÑ¿ô HTTP_HOME ¤« WWW_HOME ¤Ë¡¤¸«¤¿¤¤¥Ú¡¼¥¸¤ÎURL¤òÆþ¤ì¤Æ¤ª¤¯¡¥ +
+¤Î¤É¤ì¤«¤ò¤ä¤Ã¤Æ¤¯¤À¤µ¤¤¡¥ +

+

w3m¤òµ¯Æ°¤·¤¿¤é¡¤²èÌ̤¬¿¿¤Ã¹õ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡¥¤É¤¦¤·¤Æ¡© +
w3m¤ò¥«¥é¡¼É½¼¨¤ÎÀßÄê¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¤ºÇ½é¤ÏÇØ·Ê¿§¤¬Çò¤Ç +ʸ»ú¿§¤¬¹õ¤ÎÀßÄê¤Ë¤Ê¤ê¤Þ¤¹¡¥¤½¤Î¤¿¤á¡¤¤Õ¤À¤óÇطʤò¹õ¤Ë¤·¤Æ¤¤¤ë¾õÂÖ¤Ç +w3m¤òµ¯Æ°¤¹¤ë¤È¡¤»ú¤¬¸«¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡¥

+¤³¤¦¤¤¤¦¾ì¹ç¤Ï¡¤¼¡¤Î¤è¤¦¤Ë¤·¤Æ¿§¤òÀßÄꤷ¤Þ¤¹¡¥ +

    +
  • w3m -M ¤Ç w3m ¤òµ¯Æ°¤·¡¤Çò¹õ¥â¡¼¥É¤Çɽ¼¨¤¹¤ë¡¥ +
  • "o" ¥³¥Þ¥ó¥É¤Ç¥ª¥×¥·¥ç¥óÀßÄê²èÌ̤ˤ¹¤ë¡¥ +
  • ¥«¥é¡¼É½¼¨¥â¡¼¥É¤òON¤Ë¤·¡¤Å¬Åö¤Êʸ»ú¿§¤òÁª¤ó¤Ç¡¤ +[OK]¤òÁªÂò¤¹¤ë¡¥ +
+

+

¥«¥é¡¼É½¼¨¤ò¤µ¤»¤ë¤Ë¤Ï¤É¤¦¤¹¤ë¤Î¡© +
¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¡¤configure ¤Î¥ª¥×¥·¥ç¥ó¤Ë --disable-color ¤ò»ØÄꤷ¤Ê +¤±¤ì¤Ð¥«¥é¡¼É½¼¨¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ +

+

Çò¹õ¤Çɽ¼¨¤·¤¿¤¤¤ó¤À¤±¤É¡© +
ÊýË¡¤Ï3¤Ä¤¢¤ê¤Þ¤¹¡¥ +
    +
  1. ¾åµ­¤Î¼ÁÌä¤Ë 1 ¤ÈÅú¤¨¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡¥ +
  2. -M ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤¹¤ë¡¥ +
  3. "o" ¥³¥Þ¥ó¥É¤Ç¥ª¥×¥·¥ç¥óÀßÄê¥Ñ¥Í¥ë¤òµ¯Æ°¤·¡¤¥«¥é¡¼É½¼¨¤òOFF¤Ë¤¹¤ë¡¥ +
+

+

²èÌ̤ò¤Ï¤ß½Ð¤·¤¿Éôʬ¤ò¸«¤ë¤Ë¤Ï¡© +
¥«¡¼¥½¥ë¤ò²èÌ̤Îü¤Ë°ÜÆ°¤µ¤»¤ì¤Ð¡¤¤½¤ì¤Ë¹ç¤ï¤»¤Æ²èÌÌÁ´ÂΤ¬¤º¤ì¤Þ¤¹¡¥ +¤Þ¤¿¡¤">"¤È"<"¤Ç²èÌÌÁ´ÂΤò¤º¤é¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ +

+

¥«¡¼¥½¥ë°ÜÆ°¤¬¤ï¤º¤é¤ï¤·¤¤¡¥ +
TAB¤Ç¼¡¤Î¥¢¥ó¥«¡¼¤Ë°ÜÆ°¤¹¤ë¤Î¤Ç¡¤Lynx¤È»÷¤¿´¶³Ð¤Ç»È¤¨¤ë¤Ç¤·¤ç¤¦¡¥ +¤Þ¤¿¡¤C-u¤ª¤è¤ÓESC TAB¤ÇÁ°¤Î¥¢¥ó¥«¡¼¤ËÌá¤ê¤Þ¤¹¡¥ +

+

Netscape¤Ç¤ÏÀÖ¤¤Ê¸»ú¤Ë¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤¬¡¤w3m ¤Ç¤Ï¹õ¤¤¤Þ¤Þ¡¥¤Ê¤¼¡© +
w3m¤Ï¡¤<FONT COLOR="..">¤Ë¤è¤ëʸ»ú¤Î¿§»ØÄê¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡¥ +Âбþ¤ÏÉÔ²Äǽ¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¡¤Ê¸»ú¤Î¿§¤¬ÇطʤÈƱ¤¸¤Ë¤Ê¤Ã¤¿¤ê¤·¤Æ¸«¤Å¤é¤¯ +¤Ê¤ë¤Î¤¬¥ª¥Á¤Ê¤Î¤Ç¡¤¤¢¤Þ¤êÂбþ¤¹¤ëµ¤¤Ë¤Ê¤ê¤Þ¤»¤ó¡¥ +

+

¥¢¥ó¥«¡¼/²èÁü/form¤Î¿§¤òÊѤ¨¤ë¤Ë¤Ï¡© +
990309ÈǤ«¤é¡¤¥ª¥×¥·¥ç¥ó¤ÇÀڤ꤫¤¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥"o" ¥³¥Þ¥ó¥É +¤ÇÀßÄê¥Ñ¥Í¥ë¤òɽ¼¨¤µ¤»¡¤¹¥¤­¤Ê¿§¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡¥»ú¤Îɽ¼¨¿§¤¬ÇطʤÈƱ¤¸¤Ë +¤Ê¤Ã¤Æ²¿¤â¸«¤¨¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¡¤-M ¥ª¥×¥·¥ç¥ó¤ÇÇò¹õɽ¼¨¤Ë¤·¤Æ¤«¤éÀßÄê¤ò +¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡¥ +

+

´Ä¶­ÊÑ¿ô EDITOR ¤òÀßÄꤷ¤¿¤±¤É¡¤¸ú¤«¤Ê¤¤¤Î¤Ï¤Ê¤¼¡© +
"o"¥³¥Þ¥ó¥É¤Ç¥ª¥×¥·¥ç¥ó¤òɽ¼¨¤µ¤»¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥ +¥¨¥Ç¥£¥¿¤Î¹àÌܤ˲¿¤«½ñ¤¤¤Æ¤¢¤ì¤Ð¡¤¤½¤ì¤¬Í¥À褵¤ì¤Þ¤¹¡¥ +´Ä¶­ÊÑ¿ô¤ò¸ú¤«¤»¤¿¤¤¾ì¹ç¤Ï¡¤¤³¤ÎÍó¤ò¶õÇò¤Ë¤·¤Æ¥ª¥×¥·¥ç¥ó¤ò +¹¹¿·¤·¤Æ¤¯¤À¤µ¤¤¡¥ +

+

¥µ¡¼¥Á¤äURLÆþÎϤòÅÓÃæ¤Ç¤ä¤á¤ë¤Ë¤Ï¡© +
+ C-c ¤ÇÌá¤ê¤Þ¤¹¡¥ + +
+ + +

WWW¤ò»È¤¦¾ì¹ç¤Î¼ÁÌä

+
+
form¤ËÆþÎϤ¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ë¤Î¡© +
form¤ÎÉôʬ¤Ï¡¤²èÌ̾å¤ÇÀÖ(¤Þ¤¿¤Ïȿž)¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¤ +¤½¤³¤Ë¥«¡¼¥½¥ë¤ò»ý¤Ã¤Æ¤¤¤Ã¤Æ¥ê¥¿¡¼¥ó¤ò²¡¤·¤Þ¤¹¡¥¤¹¤ë¤È¡¤ +
    +
  • text ¤Î¾ì¹ç¤Ï¡¤²èÌ̺Dz¼¹Ô¤ÇÆþÎÏÂÔ¤Á¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¤Ê¸»ú¤òÆþÎϤ·¤Þ¤¹¡¥ +
  • radio, checkbox ¤Î¾ì¹ç¤Ï¡¤¤½¤Î¹àÌܤ¬Áª¤Ð¤ì¤Þ¤¹¡¥ +
  • textarea ¤Î¾ì¹ç¤Ï¡¤¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤·¤Þ¤¹¤Î¤Ç¡¤Ê¸¾Ï¤òÆþÎϤ·¤Þ¤¹¡¥ +¤³¤Î¤È¤­¡¤É¬¤ºÉ½¼¨ÍÑ´Á»ú¥³¡¼¥É¤ÈƱ¤¸´Á»ú¥³¡¼¥É¤Ç¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡¥ +
  • submit, reset ¤Î¾ì¹ç¤Ï¡¤form¤ÎÆâÍƤòÁ÷¿®/¥¯¥ê¥¢¤·¤Þ¤¹¡¥ +
+
ʸ½ñ¤Îɽ¼¨¤¬ÃÙ¤¤¤ó¤À¤±¤É¡© +
w3m¤ÏHTMLʸ½ñ¤ò2¥Ñ¥¹¤ÇÀ°·Á¤¹¤ë¤Î¤Ç¡¤Ê¸½ñÁ´ÂΤòÆɤߤ³¤Þ¤Ê¤¤¤È +ɽ¼¨¤¬¤Ç¤­¤Þ¤»¤ó¡¥Netscape¤Ê¤É¤Ïʸ½ñ¤òÆɤߤʤ¬¤éɽ¼¨¤¹¤ë¤Î¤Ç¡¤ +ɽ¼¨¤¬Â®¤¤¤è¤¦¤Ë»×¤¨¤ë¤Î¤Ç¤·¤ç¤¦¡¥ +

+

°ìÅÙÆɤó¤Àʸ½ñ¤ò2ÅÙÌܤËÆɤó¤À¤È¤­¤Ë¡¤Æɤߤ³¤ß¤¬Â®¤¯¤Ê¤é¤Ê¤¤¤ó¤À¤±¤É¡© +
¾¤Î¿¤¯¤Î¥Ö¥é¥¦¥¶¤È°ã¤¤¡¤w3m¤Ï¥­¥ã¥Ã¥·¥å¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡¥ +¤½¤Î¤¿¤á¡¤Ê¸½ñ¤òÆɤि¤Ó¤ËWWW¥µ¡¼¥Ð¤«¤éʸ½ñ¤òžÁ÷¤·¤Þ¤¹¡¥¤â¤·²Äǽ¤Ê¤é¡¤ +¥­¥ã¥Ã¥·¥å¥µ¡¼¥Ð¤òÍøÍѤ¹¤ë¤È²÷Ŭ¤Ç¤¹¡¥ÀßÄê¤Ï¥×¥í¥­¥·¤ÎÀßÄê¤ÈƱ¤¸¤Ç¤¹¡¥ +

+

¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤òľÀÜÊݸ¤¹¤ëÊýË¡¤Ï¤Ê¤¤¤Î¡© +
'a' (Lynx É÷¥­¡¼¥Ð¥¤¥ó¥É¤Î¾ì¹ç¤Ï 'd') ¤Þ¤¿¤Ï ESC RET¤Ç¥ê¥ó¥¯Àè¤Îʸ½ñ¤ò +Êݸ¤·¤Þ¤¹¡¥²èÁü¤òÊݸ¤¹¤ë¾ì¹ç¤Ï ESC I ¤Ç¤¹¡¥ +

+

¥×¥í¥­¥·¤ÎÀßÄê¤Ï¤É¤¦¤¹¤ë¤Î¡© +
´Ä¶­ÊÑ¿ô HTTP_proxy ¤òÀßÄꤹ¤ë¤«¡¤"o" ¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥óÀßÄê¥Ñ¥Í¥ë +¤ÇÀßÄꤷ¤Þ¤¹¡¥Î㤨¤Ð proxy.hogege.com ¤È¤¤¤¦¥Û¥¹¥È¤Î 8000È֥ݡ¼¥È¤ò +ÍøÍѤ¹¤ë¾ì¹ç¡¤ +

+

+    http://proxy.hogege.com:8000/
+
+

+¤ÈÀßÄꤷ¤Þ¤¹¡¥ +

+

³°Éô¥Ö¥é¥¦¥¶¤òµ¯Æ°¤¹¤ë¤È¡¤w3m¤¬¸Ç¤Þ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥ +²¿¤È¤«¤Ê¤ê¤Þ¤»¤ó¤«¡© +
"o"¥³¥Þ¥ó¥É¤ÇÀßÄê¥Ñ¥Í¥ë¤òɽ¼¨¤·¡¤³°Éô¥Ö¥é¥¦¥¶¤Î¹àÌܤˡ¤Î㤨¤Ð +

+

+    netscape %s &
+
+

+¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡¥¤³¤Î¾ì¹ç¡¤%s ¤ÎÉôʬ¤¬ URL ¤ËÃÖ¤­¤«¤ï¤Ã¤Æ¥Ö¥é¥¦¥¶¤¬µ¯Æ°¤· +¤Þ¤¹¡¥ +

+

²èÁü¤Î¥Ó¥å¡¼¥¢¤òÊѤ¨¤¿¤¤¤ó¤À¤±¤É¡¤¤É¤¦¤¹¤ë¤Î¡© +
½é´üÀßÄê¤Ç¤Ï²èÁü¤ò¸«¤ë¤Î¤Ë xv ¤ò»È¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¤¤³¤ì¤ò +Î㤨¤Ð display ¤ËÊѤ¨¤ë¾ì¹ç¤Ï¡¤~/.w3m/mailcap ¤Þ¤¿¤Ï /etc/mailcap ¤Ë¼¡¤Î¤è +¤¦¤Êµ­½Ò¤òÆþ¤ì¤Þ¤¹¡¥ +

+

+image/*; display %s
+
+

+Ʊ¤¸¤è¤¦¤Ë¡¤Â¾¤Î¥¿¥¤¥×¤Î¥Ç¡¼¥¿¤ò½èÍý¤¹¤ë¥×¥í¥°¥é¥à¤ò»ØÄꤹ¤ë¤³¤È¤â +¤Ç¤­¤Þ¤¹¡¥ +

+

+image/*;                     display %s
+application/postscript;      ghostview %s
+application/x-dvi;           xdvi %s
+
+ +
+ + +

¤½¤Î¾

+
+
ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¤É¤³¤Ë¤¢¤ë¤Î¡© +
~/.w3m ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î config ¤Ç¤¹¡¥ +¥ª¥×¥·¥ç¥óÀßÄê¥Ñ¥Í¥ë¤ÇÊѹ¹¤Ç¤­¤ë¤Èµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ÎÃͤò +¤³¤Î¥Õ¥¡¥¤¥ë¤ÇÊѹ¹¤¹¤ë¤È¡¤w3m ¤ÎµóÆ°¤òÄ´À°¤Ç¤­¤Þ¤¹¡¥ +¥ª¥×¥·¥ç¥ó¤Î̾Á°¤ÈÃͤò¶õÇò¤Ç¶èÀڤ俤â¤Î¤ò 1 ¹Ô¤Ë 1 ÁȤº¤Ä½ñ¤¤¤ÆÀßÄꤷ¤Þ¤¹¡¥ +

+

~/.w3m ¤Î²¼¤Ë w3mXXXXXX ¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬¤¿¤¯¤µ¤ó¤¢¤ë¤±¤É¡¤²¿¡© +
WWW¥µ¡¼¥Ð¤«¤é¥Õ¥¡¥¤¥ë¤òÆɤó¤Ç¤¤¤ë¤È¤­¤Ë¡¤¤½¤ì¤ò°ì»þŪ¤ËÊݸ¤¹¤ë +¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥¤¤¤ï¤æ¤ë¥­¥ã¥Ã¥·¥å¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥ +w3m ¤ò½ªÎ»¤¹¤ì¤Ð¾Ãµî¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¤w3m¤¬°Û¾ï½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï»Ä¤ë +¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥¤½¤¦¤¤¤¦¾ì¹ç¤Ï¼ê¤Ç¾Ã¤·¤Æ¤¯¤À¤µ¤¤¡¥ +

+

+ + + diff --git a/doc-jp/HISTORY b/doc-jp/HISTORY new file mode 100644 index 0000000..ce90974 --- /dev/null +++ b/doc-jp/HISTORY @@ -0,0 +1,4273 @@ +2001/3/23 ============================================================== +From: Hironori Sakamoto +Subject: [w3m-dev 01807] Re: w3m-0.2.0 +* url.c ¤¬ USE_NNTP ¤ä __EMX__ ¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤¡£ +* EWS4800 ÍѤΠpatch (´Ö¤Ë¹ç¤¤¤Þ¤»¤ó¤Ç¤·¤¿¤Í¡£ºäº¬¤µ¤ó) +* ssl_forbid_method ¤¬¤é¤ß¤Ç #define USE_SSL ¤Ç #undef USE_SSL_VERIFY + ¤Î¾ì¹ç¤Î½èÍý¡£(rc.c ¤È url.c) + # hsaka24 ¤Ç¥¢¥Ê¥¦¥ó¥¹¤»¤º¤Ë½¤Àµ¤òÆþ¤ì¤Æ¤·¤Þ¤Ã¤¿¤Î¤¬ÌäÂê¤Ç¤·¤¿¤Í¡£ + # ¤¹¤ß¤Þ¤»¤ó¡£ +* rc.c ¤Ë°ìÉô ISO-2022-JP ¤¬¤¢¤ë¤â¤Î¤ò½¤Àµ¡£ + # źÉդΠpatch ¤Ç¤¢¤¿¤ë¤«¤É¤¦¤«¡Ä +* saveBufferDelNum ¤Ç del==TRUE ¤Î»þ¡¢":" °ÊÁ°¤¬£²²óºï½ü¤µ¤ì¤ë¡£ +* main.c ¤Î URLÍúÎò¤òÊݸ¤¹¤ë°ÌÃ֤ν¤Àµ¡£ + # ¤³¤ì¤â hsaka24 ¤Ç¥¢¥Ê¥¦¥ó¥¹¤»¤º¤Ë½¤Àµ¤òÆþ¤ì¤Æ¤Þ¤·¤¿¡£ + +From: TSUCHIYA Masatoshi +Subject: [w3m-dev 01810] deflate (was: w3m-0.2.0) +0.2.0 ¤Ë¤Ï Content-encoding: deflate ¤ËÂбþ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á [w3m-dev 01684] +¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¤¬¡¢¤³¤ì¤À¤±¤Ç¤Ï http://cvs.m17n.org/~akr/diary/ +¤Ï±ÜÍ÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ + +From: Fumitoshi UKAI +Subject: [w3m-dev 01808] Re: w3m-0.2.0 +GNU/Linux ¤Ç glibc 2.2·Ï¤À¤È sin.ss_len ¤¬¤Ê¤¤¤Î¤Ç +IPv6 ¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev-en 00399] Re: w3m-0.2.0 + >> From: Dan Fandrich + >> Version 0.2.0 still contains the following bugs which I fixed two months + >> ago and sent patches for to this list, namely: + >> - core dumps on startup if given a URL requiring a needsterminal mailcap + >> handler + >> - destroys most of an existing ~/.mailcap file without warning when editing + >> - mailcap handling is still wrong as MIME type should be case insensitive + >> - private mailcap extension has an illegal name + +From: SATO Seichi +Subject: w3m¤ÎÀµµ¬É½¸½¸¡º÷¤Ë¤ª¤±¤ë¥Ð¥° +¸¡º÷ʸ»úÎó¤È¤·¤Æ $* ¤òÅϤ¹¤È Segmentation fault ¤¬ +ȯÀ¸¤¹¤ë¤è¤¦¤Ç¤¹¡£(Á´Á³Ìµ°ÕÌ£¤Êʸ»úÎó¤Ê¤ó¤Ç¤¹¤¬) + +2001/3/22 ============================================================== + +From: Hironori Sakamoto +Subject: [w3m-dev 01664] Re: Patch for anonymizer.com +HTTP(HTTPS)¤Î¾ì¹ç¤Ë URL ¤¬ +¡¡http:///: ... +¤È¤Ê¤Ã¤Æ¤¤¤ì¤Ð cleanupName() ¤ò¸Æ¤Ð¤Ê¤¤Íͤˤ·¤Æ¤ß¤Þ¤·¤¿¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01670] Re: w3m-0.1.11-pre-kokb24-test1 +Str.c ¤Î strcpy/strncpy ¤ò bcopy or memcpy ¤Ë¤¹¤ë·ï¤Ç¤¹¤¬¡¢ +bcopy ·Ï¤È memcpy ·Ï¤òÅý°ì¤¹¤ë¤Î¤Ï¸å¤Ë¤¹¤ë¤È¤·¤Æ¤â¡¢¤È¤ê¤¢¤¨¤ºÁ´¤Æ +bcopy ¤ËÃÖ¤­´¹¤¨¤¿Êý¤¬¤¤¤¤¤È»×¤¤¤Þ¤¹¡£ +¤Ä¤¤¤Ç¤Ë¡¢saveBufferDelNum ¤Ç°ìÉô '\0' ¤¬°·¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ë¥Ð¥°¤Î½¤Àµ¤Ç¤¹¡£ + +From: TSUCHIYA Masatoshi +Subject: [w3m-dev 01618] backend patch +Subject: [w3m-dev 01671] backend patch for w3m-0.1.11-pre-kokb24-test1 +w3m ¤òÂÐÏÃŪ¤Ê¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆƯ¤¯µ¡Ç½¤òÄɲ乤ë¥Ñ¥Ã¥Á¤Ç¤¹¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01673] SEGV in append_frame_info() +>w3m/0.1.11-pre-kokb23-m17n-0.8 ¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Der Angriff ¤Î¥È¥Ã¥×¥Ú¡¼¥¸ ( +>http://i.am/goebbels/)¤Ç¡¢¥Ú¡¼¥¸¤Î¾ðÊó¤ò¸«¤è¤¦¤È¡Ö=¡×¥­¡¼¤ò²¡¤·¤¿¤é¡¢ +>Segmentation Fault ¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£ +¤È¤Î»ØŦ¤¬¤¢¤ê¤Þ¤·¤¿¡£m17n ÈǤ˸¤é¤Ê¤¤¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºÂн褷¤Æ¤ª¤­¤Þ¤¹¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01674] image map +> AREA¤Çºî¤Ã¤¿¥¯¥é¥¤¥¢¥ó¥È¥µ¥¤¥É¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤Îhref¤¬"#test"¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¡¢ +> ¥¸¥ã¥ó¥×½ÐÍè¤Þ¤»¤ó¡£ +> Image map links ¤Î²èÌ̤Ǥϡ¢URL¤À¤±¤Ç¤Ê¤¯¡¢alt¤ätitle¤âɽ¼¨¤·¤¿Êý¤¬Îɤ¤¤È +> »×¤¤¤Þ¤¹¡£ +¤È¤Î»ØŦ¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç½¤Àµ/Âбþ¤·¤Æ¤ß¤Þ¤·¤¿¡£¤¿¤À¤·¡¢ +* #undef MENU_MAP ¤Î¾ì¹ç¡¢#label ¤Î¤ß¤Ç¤¢¤Ã¤Æ¤â reload ¤Ë¤Ê¤ë¡£ + Ê̤ΥХåե¡¤«¤é¤Î¸Æ¤Ó½Ð¤·¤Ê¤Î¤Ç¡¢¤³¤¦¤·¤Ê¤¤¤È¤Á¤ç¤Ã¤ÈÆñ¤·¤¤¤Ç¤¹¡£ + ¤Ê¤ª¡¢ÆâÉô¤ÇºîÀ®¤·¤¿¥Ð¥Ã¥Õ¥¡¤«¤é¤Î¸Æ¤Ó½Ð¤·¤ÏÁ´¤Æ¤½¤¦¤Ê¤ëÍͤˤ·¤Þ¤·¤¿¡£ + ¥Ð¥Ã¥Õ¥¡¤òºî¤é¤Ê¤¤ #define MENU_MAP ¤ÎÊý¤¬¤¤¤¤¤«¤È»×¤¤¤Þ¤¹¡£ +* Äɲä·¤¿Â°À­¤Ï alt ¤Î¤ß (title ¤Ã¤Æ²¿¡©) + MapList ¹½Â¤ÂΤòÊѤ¨¤¿Êý¤¬Îɤ¤¤è¤¦¤Ë¤â»×¤¤¤Þ¤·¤¿¤¬¡¢ÌÌÅݤʤΤǻߤá¤Þ¤·¤¿¡£ +¤È¤Ê¤Ã¤Æ¤Þ¤¹¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01675] goto label +GOTO ¤ä #define MENU_MAP ¤Î¾ì¹ç¤Î¥¤¥á¡¼¥¸¥Þ¥Ã¥× +¤Ç #label ¤Î¤ß¤Î URL ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë reload ¤·¤Ê¤¤Íͤˤ·¤Þ¤·¤¿¡£ +¤½¤ì¤«¤é¡¢[w3m-dev 01101] space in URL ¤ÇÄɲ䵤줿½èÍý¤ò goURL() ¤Ë°Ü¤· +¤Þ¤·¤¿¡£¤¿¤À¤·¡¢inputLineHist() ¤Ç URL ¤òÆþÎϤ¹¤ë¾ì¹ç¡¢¶õÇòʸ»ú¤Ï ^V ¤ò +»È¤ï¤Ê¤¤¤ÈÆþÎϤǤ­¤Ê¤¤¤Î¤ÇɬÍפʤ¤¤È¤â»×¤¤¤Þ¤¹¡£¤½¤¦¤¤¤¦¤³¤È¤â¤¢¤Ã¤Æ +¸å¤í¤Î¶õÇò¤Î½èÍý¤Ï³°¤·¤Þ¤·¤¿¡£ + +From: Tsutomu Okada +Subject: [w3m-dev 01676] Re: w3m-0.1.11-pre-kokb24-test1 +Subject: [w3m-dev 01678] Re: w3m-0.1.11-pre-kokb24-test1 +¿ÜÆ£¤µ¤ó¤Î [w3m-dev 01627] ¤Î¥Ñ¥Ã¥Á¤Î¤¦¤Á¡¢GC_warn ´ØÏ¢¤ÈºÙ¤«¤Ê¥½¡¼¥¹ +¤Î½¤Àµ¤ÏÅö¤Æ¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¤¤¤¤¤è¤¦¤Ë»×¤¤¤Þ¤¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01680] Re: w3m-0.1.11-pre-kokb24-test1 + >> ²¬ÅĤǤ¹¡£ + >> »ä¤Î´Ä¶­¤Ç¤Ï¡¢-pedantic ¤Ë¤è¤Ã¤Æ + >> warning: ANSI forbids assignment between function pointer and `void *' + >> warning: pointer targets in initialization differ in signedness +¤¦¡¢¤´¤á¤ó¤Ê¤µ¤¤¡£»ä¤Ç¤¹¤Í¡£Êè·ê¤ò·¡¤Ã¤Æ¤·¤Þ¤Ã¤¿... + >> warning: overflow in implicit constant conmplicit con version + >> warning: pointer targets in passing arg 2 of `Strcat_charp_n' differ in signedness + >> ¤È¤¤¤¦·Ù¹ð¤¬½Ð¤Þ¤·¤¿¤¬¡¢¤³¤ì¤é¤â½¤Àµ¤¹¤Ù¤­¤Ç¤·¤ç¤¦¤«¡© +½¤Àµ¤¹¤ë¤Ë¤³¤·¤¿¤³¤È¤Ï¤Ê¤¤¤Î¤Ç patch ¤ò½Ð¤·¤Þ¤¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01684] Re: http://cvs.m17n.org/~akr/diary/ +application/x-deflate Âбþ¡¥ + +From: Moritz Barsnick +Subject: [w3m-dev-en 00318] Information about current page +Subject: [w3m-dev-en 00320] Re: Information about current page +Subject: [w3m-dev-en 00322] Re: Information about current page +Subject: [w3m-dev-en 00323] Buglet (Was: Re: Information about current page) +Changes 'URL of the current anchor' on the info page into +'full' URL. When the cursor is on a form element, +`Method/type of current form' will be displayed. + +From: c603273@vus069.trl.telstra.com.au (Brian Keck) +Subject: [w3m-dev-en 00343] patch for proxy user:passwd on command line +Subject: [w3m-dev-en 00351] Re: patch for proxy user:passwd on command line +This patch to w3m-0.1.11-pre-kokb23 adds the lynx-like option + + -pauth username:password + +so I don't have to retype username & password every time I run w3m, +which is often. It's so simple I wonder whether it's against policy, +but it would be nice for me & some others if it was in the official +0.1.11. + +From: Hironori Sakamoto +Subject: [w3m-dev 01772] Re: visited anchor +Subject: [w3m-dev 01773] Re: visited anchor + * visited anhor color¡£ + * textlist ¥Ù¡¼¥¹¤Î history¡£hash ²½¤µ¤ì¤¿ (URL) history¡£ + * #undef KANJI_SYMBOLS ¤Î¾ì¹ç¤Î rule ¤Î¼ÂÁõ¤ÎÊѹ¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01786] Re: w3m-0.1.11-pre-hsaka24 +Subject: [w3m-dev 01787] Re: w3m-0.1.11-pre-hsaka24 + >> 1. http://www.tomoya.com/ ¤Ç¡¢ ¤Îʸ½ñ¤òɽ¼¨¤µ¤»(¥Õ¥ì¡¼¥à¤Î¼« + >> ưɽ¼¨¤¬ ON ¤Ê¤é¡¢F ¤ò²¡¤¹)¡¢MAIN ¤Î¥Õ¥ì¡¼¥à¤òɽ¼¨¤µ¤»¤è¤¦¤È¤¹¤ë¤È¡¢ + >> main.c:2082 ¤Î Sprintf ¤ÇÍî¤Á¤ë(gotoLabel ¤ò label=0x0 ¤Ç¸Æ¤Ó¤À¤·¤Æ¤¤ + >> ¤ë)¡£ +[w3m-dev 01675] ¤ÎÃ×̿Ū¤Ê¥Ð¥°¡£¤¹¤ß¤Þ¤»¤ó¡£ + >> 2. ·Ç¼¨ÈĦÁ http://133.5.222.232/keijiban/index.htm ¤òɽ¼¨¤µ¤»¤è¤¦¤È¤¹ + >> ¤ë¤È¡¢frame.c:668 ¤Î strcasecmp ¤ÇÍî¤Á¤ë +¤³¤Ã¤Á¤ÏÁ°¡¹¤«¤é¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01788] Re: w3m-0.1.11-pre-hsaka24 +w3m-0.1.11-pre-hsaka24 ¤Î¥Ð¥°½¤Àµ¤Ç¤¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01792] Re: w3m-0.1.11-pre-hsaka24 + >> Á´Á³ÊÌ·ï¤Ê¤Î¤Ç¤¹¤¬¡¢useVisitedColor ¤¬ TRUE ¤Î¤È¤­ + >> http://www.kusastro.kyoto-u.ac.jp/%7Ebaba/wais/other-system.html ¤Ë¤ª + >> ¤¤¤Æ¡¢ºÇ¸å¤Î²èÌ̤Îɽ¼¨¤¬ 1¡Á2 ÉäۤÉÂÔ¤¿¤µ¤ì¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢goLineL +retrieveAnchor() ¤¬ linear search ¤À¤Ã¤¿¤Î¤¬¸¶°ø¤Ç¤·¤¿¡£ +binary search ¤ËÊѤ¨¤Æ¤ß¤Þ¤·¤¿¡£¤É¤¦¤Ç¤·¤ç¤¦¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01793]
  • +
  • ¥¿¥°¤Î type °À­¤Ç¤¹¤¬¡¢¤½¤Î
  • ¤Ë¤Î¤ßÍ­¸ú¤Ê¤Î¤Ç¤Ï¤Ê¤¯¤Æ¡¢ +
      ¤ä
        ¤Ç¤Î»ØÄê¤ò¾å½ñ¤­¤¹¤ë(°Ê¹ß¤Î
      • ¤Ë¤âÍ­¸ú¤È¤Ê¤ë)ÍÍ +¤Ç¤¹¤Î¤Ç½¤Àµ¤·¤Þ¤·¤¿¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01801] some fixes. +frame ¤òɽ¼¨¤·¤Æ¤¤¤Æ¡¢£²½Å¤Ë½ÐÎϤµ¤ì¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ê¤Þ¤·¤¿¡£ +¤½¤Î½¤Àµ¤Ç¤¹¡£ + +Subject: IPv6 support for w3m's ftp +From: Hajimu UMEMOTO + w3m ¤Î HTTP ¤Ï IPv6 Âбþ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢»ÄÇ°¤Ê¤¬¤é FTP µ¡Ç½¤ÎÊý +¤Ï IPv6 Âбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£FTP µ¡Ç½¤ËÂФ¹¤ë IPv6 Âбþ¥Ñ¥Ã¥Á¤òºîÀ®¤·¤Þ¤· +¤¿¤Î¤Ç¡¢Èó¸ø¼°¥Ñ¥Ã¥Á¤Ë´Þ¤á¤Æ失¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡© + +2001/3/16 ================================================================== +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01711] Authorization +¡¦http://user:pass@hostname/ ¤ËÂбþ¡¥ + +From: hsaka@mth.biglobe.ne.jp +Subject: [w3m-dev 01724] buf->type when mailcap is used. +mailcap ¤ò»È¤Ã¤¿¾ì¹ç(copiousoutput, htmloutput) ¤Ë¤â¡¢ +buf->type ¤òÀßÄꤹ¤ëÍͤˤ·¤Þ¤·¤¿¡£ +'v', 'E' ¤ò»È¤¤¤¿¤¤¤Î¤È¡¢m17n ¤ÎÊý¤Ç¥Ð¥Ã¥Õ¥¡¤¬ text/html ¤À¤È¤¤¤¦ +¾ðÊó¤¬É¬Íפʲս꤬¤¢¤ë¤Î¤Ç¡£ + +From: hsaka@mth.biglobe.ne.jp (Hironori Sakamoto) +Subject: [w3m-dev 01726] anchor jump too slow by TAB-key on STDIN. +ɸ½àÆþÎϤ«¤éHTML¤òÆɤó¤Ç¤¤¤ë¾ì¹ç¡¤ +¥ê¥ó¥¯Àè¤Î URL ¤¬ÁêÂÐ path »ØÄê¤À¤Ã¤¿¤ê¤¹¤ë¤È¡¢¾ï¤Ë¡¢currentdir() ¤¬ +¸Æ¤Ð¤ì¤Æ¤¤¤ë¤¿¤á¤Ë®ÅÙ¤¬Äã²¼¤·¤Æ¤¤¤Þ¤·¤¿¡¥ +¤½¤³¤ÇΩ¤Á¾å¤²¤¿»þÅÀ¤Ç°ìÅÙ ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÀßÄꤹ¤ëÍͤˤ·¤Þ¤·¤¿¡£ +¤Ä¤¤¤Ç¤Ëɸ½àÆþÎϤ«¤é¤Î¾ì¹ç¤ÎÊÑ¤Ê URL "file:///-" ¤ò "-" ¤À¤±¤Ë¤·¤Þ¤·¤¿¡£ + +From: sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane) +Subject: [w3m-dev 01727] C-z when stdin +% cat main.c | w3m +¤·¤Æ¡¢C-z ¤·¤¿ºÝ¤Ë¥·¥§¥ë¥×¥í¥ó¥×¥È¤ËÌá¤é¤Ê¤¤·ï¤ËÂФ¹¤ë¥Ñ¥Ã¥Á +¤Ç¤¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01729] ignore_null_img_alt +ignore_null_img_alt ¤¬ OFF ¤À¤È¡¢ ¤È¤¤¤¦ ALT °À­¤¬ +̵¤¤¾ì¹ç¤Ç¤â²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç½¤Àµ¤·¤Þ¤·¤¿¡£ +¤½¤ì¤«¤é¡¢ ¤ÎÍͤʻØÄê¤Î¾ì¹ç¤Ë¡¢ +
        ¤ÇÃÖ¤­´¹¤¨¤ë¤È¡¢width °À­¤¬Ìµ»ë¤µ¤ì²þ¹Ô¤¬Æþ¤Ã¤Æ¤·¤Þ¤¦¤Î¤¬ +¤¤¤Þ¤¤¤Á¤Ê¤Î¤Ç
        ¤ÈƱÍͤνèÍý¤òÆþ¤ì¤ëÍͤˤ·¤Þ¤·¤¿¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01730] Re:
        in a table +
        ¤Î²þÎÉ¡¥ + +From: Hironori Sakamoto +Subject: [w3m-dev 01731] completion list +ºÇ²¼¹ÔÆþÎϤǤΥե¡¥¤¥ë̾¤ÎÊä´°»þ¤Ë + +----- Completion list ----- +X11R6/ compat/ include/ libdata/ local/ nfs/ ports/ share/ +bin/ games/ lib/ libexec/ mdec/ obj/ sbin/ src/ +(Load)Filename? /usr/ + +¤ÎÍͤËɽ¼¨¤µ¤»¤ë¤¿¤á¤Î patch ¤Ç¤¹¡£ + +From: Kiyokazu SUTO +Subject: [w3m-dev 01733] A patch concerning SSL +SSL¤ò»È¤¦»þ¤Ë +1. »È¤ï¤Ê¤¤¥á¥½¥Ã¥É¤ò»ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¡Össl_forbid_method¡×¤òÄɲ乤롢 +2. Àܳ³ÎΩ¤Ë¼ºÇÔ¤·¤¿¤È¤­¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡¢ + +From: Kiyokazu SUTO +Subject: [w3m-dev 01735] Re: A patch concerning SSL +Subject: [w3m-dev 01737] Re: A patch concerning SSL +1. ssl_forbid_method¤Î¡Ö¥Ç¡¼¥¿·¿¡×¤òP_STRING¤«¤éP_SSLPATH¤ËÊѤ¨¤Æ¡¢µ¯ + Æ°¸å¤Î¥ª¥×¥·¥ç¥óÀßÄê¥Ñ¥Í¥ë¤Ë¤è¤ëÊѹ¹¤Ç¤âSSLÀܳ¤Ë»È¤ï¤ì¤ë¥á¥½¥Ã¥É¤Î + ÁªÂò¤ËÈ¿±Ç¤µ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡¢ +2. ³Æ¼ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¤¢¤ëÄøÅÙ¼è¤Ã¤Æ¤ª¤¤¤Æ¸å¤Ç¸«¤ì¤ë¤è¤¦¤Ë¤·¤¿(mule + 2.3 base on emacs 19.34¤Îµ¡Ç½¤Î¥Ñ¥¯¥ê¡¢Â¾¤Îemacsen¤Ë¤¢¤ë¤«¤ÏÃΤ餺)¡¢ + +From: sakane@d4.bsd.nes.nec.co.jp (Yoshinobu Sakane) +Subject: [w3m-dev 01738] [w3m-doc] w3m document maintenance +w3mÏ¢ÍíÄ¢(http://mi.med.tohoku.ac.jp/~satodai/w3m/bbs/spool/log.html) +¤Ë¤â½ñ¤­¤Þ¤·¤¿¤¬¡¢·ü°Æ¤Ç¤¢¤Ã¤¿w3m¤Î¥É¥­¥å¥á¥ó¥ÈÀ°È÷¤ò»Ï¤á¤¿ +¤¤¤È»×¤¤¤Þ¤¹¡£ + +From: kiwamu +Subject: [w3m-dev 01739] ¥Û¥¤¡¼¥ë¥Þ¥¦¥¹Âбþ patch +w3m¤ò¥Û¥¤¡¼¥ë¥Þ¥¦¥¹Âбþ¤µ¤»¤Æ¤ß¤Þ¤·¤¿¡£ +rxvt¤Èxterm¤Ç»ÈÍѤǤ­¤Þ¤¹¡£ +kterm¤À¤È¥Û¥¤¡¼¥ë¤Î¾å²¼¤¬Æ±¤¸¥³¥ó¥È¥í¡¼¥ë¥³¡¼¥É¤òÊÖ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç +¼Â¸½ÉÔ²Äǽ¤ß¤¿¤¤¤Ç¤¹¡£ + +From: Fumitoshi UKAI +Subject: [w3m-dev 01742] w3mmee 0.1.11p16-6 segfault +w3mmee 0.1.11p16-6 ¤Ç¤¹¤¬¡¢mime.types ¤ÎÆâÍƤˤè¤Ã¤Æ¤Ï segfault ¤·¤Þ¤¹¡£ +# ¶õ¹Ô¤¬¤¢¤ë¤È¥À¥á + +From: Hironori Sakamoto +Subject: [w3m-dev 01752] SEGV in search_param() + > >> ¡¦w3m -o 1 Åù¤Ç SEGV ¤·¤Þ¤¹¡£ + > search_param() ¤Ç size_t ¤¬ unsigned ¤Î¤¿¤á i = 0 ¤Î¤È¤­ + > e = 4294967295 ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£ + +From: Hironori Sakamoto +Subject: [w3m-dev 01753] empty ¡Á ¤Ë