From 72f72d64a422d6628c4796f5c0bf2e508f134214 Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Wed, 4 May 2011 16:05:14 +0900 Subject: Adding upstream version 0.5.1 --- .cvsignore | 25 + ABOUT-NLS | 625 + Bonus/2ch.cgi | 204 + Bonus/README | 80 + Bonus/README.eng | 77 + Bonus/backslash_to_slash.cgi | 9 + Bonus/goodict.cgi | 38 + Bonus/google.cgi | 25 + Bonus/html2latex | 517 + Bonus/htmldump | 12 + Bonus/makeref | 266 + Bonus/oldconfigure.sh | 183 + Bonus/scanhist.rb | 88 + Bonus/smb.cgi | 462 + Bonus/utf8.cgi | 21 + Bonus/wrap3m | 33 + ChangeLog | 8486 ++++++++ Makefile.in | 314 + NEWS | 186 + README | 3 + Str.c | 557 + Str.h | 83 + Symbols/alt.sym | 26 + Symbols/big5.sym | 12 + Symbols/cp850.sym | 12 + Symbols/euccn.sym | 12 + Symbols/eucjp.sym | 12 + Symbols/euckr.sym | 12 + Symbols/euctw.sym | 12 + Symbols/graph.sym | 15 + Symbols/sym.pl | 11 + Symbols/utf8.sym | 12 + TODO | 139 + acinclude.m4 | 843 + aclocal.m4 | 3544 ++++ anchor.c | 865 + backend.c | 403 + buffer.c | 769 + charset-list | 70 + config.guess | 1409 ++ config.h.dist | 291 + config.h.in | 233 + config.rpath | 548 + config.sub | 1473 ++ configure | 11638 +++++++++++ configure.in | 178 + cookie.c | 698 + ctrlcode.h | 145 + display.c | 1586 ++ doc-jp/FAQ.html | 235 + doc-jp/HISTORY | 4273 ++++ doc-jp/MANUAL.html | 563 + doc-jp/README | 128 + doc-jp/README.SSL | 114 + doc-jp/README.cookie | 57 + doc-jp/README.cygwin | 184 + doc-jp/README.dict | 68 + doc-jp/README.func | 145 + doc-jp/README.img | 277 + doc-jp/README.keymap | 58 + doc-jp/README.m17n | 669 + doc-jp/README.mailcap | 47 + doc-jp/README.menu | 106 + doc-jp/README.migemo | 39 + doc-jp/README.mouse | 66 + doc-jp/README.pre_form | 35 + doc-jp/README.tab | 43 + doc-jp/STORY.html | 190 + doc-jp/keymap.default | 142 + doc-jp/keymap.lynx | 146 + doc-jp/menu.default | 35 + doc-jp/menu.submenu | 44 + doc-jp/w3m.1 | 518 + doc/FAQ.html | 287 + doc/HISTORY | 1989 ++ doc/MANUAL.html | 537 + doc/README | 121 + doc/README.cygwin | 151 + doc/README.dict | 68 + doc/README.func | 145 + doc/README.img | 211 + doc/README.m17n | 451 + doc/README.mouse | 61 + doc/README.pre_form | 45 + doc/README.tab | 45 + doc/STORY.html | 209 + doc/keymap.default | 142 + doc/keymap.lynx | 146 + doc/menu.default | 35 + doc/menu.submenu | 44 + doc/w3m.1 | 192 + entity.c | 66 + entity.h | 366 + entity.tab | 258 + etc.c | 1989 ++ file.c | 8016 ++++++++ fm.h | 1165 ++ form.c | 1055 + form.h | 99 + frame.c | 943 + frame.h | 62 + ftp.c | 760 + func.c | 630 + func.h | 25 + funcname0.awk | 13 + funcname1.awk | 10 + funcname2.awk | 10 + functable.awk | 9 + hash.c | 30 + hash.h | 141 + history.c | 223 + history.h | 30 + html.c | 341 + html.h | 376 + image.c | 572 + indep.c | 750 + indep.h | 80 + inflate.c | 83 + install-sh | 269 + islang.c | 40 + istream.c | 723 + istream.h | 155 + keybind.c | 194 + keybind_lynx.c | 145 + libwc/.cvsignore | 1 + libwc/Makefile.in | 172 + libwc/big5.c | 177 + libwc/big5.h | 31 + libwc/ccs.h | 212 + libwc/ces.c | 375 + libwc/ces.h | 201 + libwc/char_conv.c | 21 + libwc/charset.c | 492 + libwc/combining.c | 43 + libwc/conv.c | 152 + libwc/detect.c | 544 + libwc/gb18030.c | 376 + libwc/gb18030.h | 47 + libwc/gbk.c | 230 + libwc/gbk.h | 38 + libwc/hkscs.c | 208 + libwc/hkscs.h | 38 + libwc/hz.c | 161 + libwc/hz.h | 20 + libwc/iso2022.c | 1059 + libwc/iso2022.h | 127 + libwc/jis.c | 70 + libwc/jis.h | 13 + libwc/johab.c | 389 + libwc/johab.h | 63 + libwc/map/big5_ucs.map | 27829 ++++++++++++++++++++++++++ libwc/map/cns11643_ucs.map | 31201 +++++++++++++++++++++++++++++ libwc/map/cp1006_ucs.map | 120 + libwc/map/cp1250_ucs.map | 148 + libwc/map/cp1251_ucs.map | 152 + libwc/map/cp1252_ucs.map | 148 + libwc/map/cp1253_ucs.map | 136 + libwc/map/cp1254_ucs.map | 146 + libwc/map/cp1255_combining.map | 12 + libwc/map/cp1255_ucs.map | 130 + libwc/map/cp1256_combining.map | 12 + libwc/map/cp1256_ucs.map | 153 + libwc/map/cp1257_ucs.map | 141 + libwc/map/cp1258_combining.map | 12 + libwc/map/cp1258_ucs.map | 373 + libwc/map/cp437_ucs.map | 153 + libwc/map/cp737_ucs.map | 153 + libwc/map/cp775_ucs.map | 153 + libwc/map/cp850_ucs.map | 153 + libwc/map/cp852_ucs.map | 153 + libwc/map/cp855_ucs.map | 153 + libwc/map/cp856_ucs.map | 112 + libwc/map/cp857_ucs.map | 150 + libwc/map/cp860_ucs.map | 153 + libwc/map/cp861_ucs.map | 153 + libwc/map/cp862_ucs.map | 153 + libwc/map/cp863_ucs.map | 153 + libwc/map/cp864_combining.map | 12 + libwc/map/cp864_ucs.map | 147 + libwc/map/cp865_ucs.map | 153 + libwc/map/cp866_ucs.map | 153 + libwc/map/cp869_ucs.map | 144 + libwc/map/cp874_combining.map | 12 + libwc/map/cp874_ucs.map | 122 + libwc/map/gb12345_ucs.map | 16392 ++++++++++++++++ libwc/map/gb18030_ucs.map | 442 + libwc/map/gb2312_gbk.map | 12 + libwc/map/gb2312_ucs.map | 16290 ++++++++++++++++ libwc/map/gbk_ucs.map | 29504 ++++++++++++++++++++++++++++ libwc/map/hkscs_ucs.map | 7382 +++++++ libwc/map/hkscs_ucs_p2.map | 2177 +++ libwc/map/iso885910_ucs.map | 121 + libwc/map/iso885911_combining.map | 12 + libwc/map/iso885911_ucs.map | 113 + libwc/map/iso885913_ucs.map | 121 + libwc/map/iso885914_ucs.map | 121 + libwc/map/iso885915_ucs.map | 121 + libwc/map/iso885916_ucs.map | 121 + libwc/map/iso88591_ucs.map | 121 + libwc/map/iso88592_ucs.map | 121 + libwc/map/iso88593_ucs.map | 114 + libwc/map/iso88594_ucs.map | 121 + libwc/map/iso88595_ucs.map | 121 + libwc/map/iso88596_combining.map | 12 + libwc/map/iso88596_ucs.map | 76 + libwc/map/iso88597_ucs.map | 115 + libwc/map/iso88598_ucs.map | 85 + libwc/map/iso88599_ucs.map | 121 + libwc/map/jisx0201k_jisx0208.map | 20 + libwc/map/jisx0201k_ucs.map | 88 + libwc/map/jisx0208_jisx02131.map | 24 + libwc/map/jisx0208x0212x0213_ucs.map | 34506 +++++++++++++++++++++++++++++++++ libwc/map/jisx02132_sjis.map | 32 + libwc/map/jisx0213_ucs_p2.map | 625 + libwc/map/johab_ucs.map | 114 + libwc/map/koi8r_ucs.map | 153 + libwc/map/koi8u_ucs.map | 153 + libwc/map/ksx1001_ucs.map | 17069 ++++++++++++++++ libwc/map/mk_big5_txt.pl | 12 + libwc/map/mk_big5_ucs_map.pl | 85 + libwc/map/mk_cns_ucs_map.pl | 116 + libwc/map/mk_combining_map.pl | 130 + libwc/map/mk_cp1258_ucs_map.pl | 108 + libwc/map/mk_cp950_txt.pl | 10 + libwc/map/mk_gb18030_ucs_map.pl | 172 + libwc/map/mk_gb_ucs_map.pl | 92 + libwc/map/mk_gbk_ucs_map.pl | 114 + libwc/map/mk_hkscs_p2_txt.pl | 10 + libwc/map/mk_hkscs_txt.pl | 12 + libwc/map/mk_hkscs_ucs_map.pl | 82 + libwc/map/mk_hkscs_ucs_p2_map.pl | 81 + libwc/map/mk_jis_ucs_map.pl | 212 + libwc/map/mk_jisx0213_ucs_map.pl | 104 + libwc/map/mk_johab_ucs_map.pl | 82 + libwc/map/mk_ks_ucs_map.pl | 83 + libwc/map/mk_sjis_ucs_map.pl | 87 + libwc/map/mk_tis_ucs_map.pl | 71 + libwc/map/mk_ucs_map.pl | 137 + libwc/map/mk_uhc_ucs_map.pl | 93 + libwc/map/mk_viet_ucs_map.pl | 107 + libwc/map/nextstep_ucs.map | 152 + libwc/map/sjis_ext_ucs.map | 1406 ++ libwc/map/tcvn57123_tcvn5712.map | 125 + libwc/map/tcvn5712_combining.map | 12 + libwc/map/tcvn5712_ucs.map | 172 + libwc/map/ucs_combining.map | 107 + libwc/map/ucs_fullwidth.map | 20 + libwc/map/ucs_hangul.map | 14 + libwc/map/ucs_precompose.map | 996 + libwc/map/ucs_wide.map | 16 + libwc/map/uhc_ucs.map | 17807 +++++++++++++++++ libwc/map/viscii11_ucs.map | 166 + libwc/map/vps_ucs.map | 174 + libwc/priv.c | 78 + libwc/priv.h | 94 + libwc/putc.c | 56 + libwc/search.c | 72 + libwc/search.h | 11 + libwc/sjis.c | 595 + libwc/sjis.h | 40 + libwc/status.c | 175 + libwc/test.c | 38 + libwc/ucs.c | 631 + libwc/ucs.h | 55 + libwc/ucs.map | 553 + libwc/uhc.c | 206 + libwc/uhc.h | 38 + libwc/utf7.c | 368 + libwc/utf7.h | 28 + libwc/utf8.c | 346 + libwc/utf8.h | 23 + libwc/viet.c | 243 + libwc/viet.h | 17 + libwc/wc.h | 77 + libwc/wc_types.h | 117 + libwc/wtf.c | 598 + libwc/wtf.h | 80 + linein.c | 1135 ++ local.c | 415 + local.h | 45 + mailcap.c | 472 + main.c | 6597 +++++++ map.c | 665 + matrix.c | 275 + matrix.h | 69 + menu.c | 2073 ++ menu.h | 54 + mimehead.c | 367 + mkinstalldirs | 111 + mktable.c | 127 + myctype.c | 69 + myctype.h | 35 + news.c | 518 + parsetag.c | 57 + parsetag.h | 13 + parsetagx.c | 296 + parsetagx.h | 28 + po/.cvsignore | 6 + po/ChangeLog | 11 + po/LINGUAS | 2 + po/Makefile.in.in | 353 + po/Makevars | 41 + po/POTFILES.in | 9 + po/Rules-quot | 42 + po/boldquot.sed | 10 + po/en@boldquot.header | 25 + po/en@quot.header | 22 + po/insert-header.sin | 23 + po/ja.po | 767 + po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/w3m.pot | 766 + posubst.in | 53 + proto.h | 784 + rc.c | 1482 ++ regex.c | 842 + regex.h | 43 + scripts/.cvsignore | 9 + scripts/Makefile.in | 135 + scripts/bm2menu/README | 21 + scripts/bm2menu/bm2menu.pl | 58 + scripts/dirlist.cgi.in | 536 + scripts/multipart/.cvsignore | 2 + scripts/multipart/Makefile.in | 75 + scripts/multipart/README | 24 + scripts/multipart/mailcap | 1 + scripts/multipart/multipart.cgi.in | 313 + scripts/w3mhelp-funcdesc.en.pl.in | 48 + scripts/w3mhelp-funcdesc.ja.pl.in | 66 + scripts/w3mhelp-funcname.pl.in | 105 + scripts/w3mhelp.cgi.in | 323 + scripts/w3mmail.cgi.in | 403 + scripts/w3mman/.cvsignore | 5 + scripts/w3mman/Makefile.in | 96 + scripts/w3mman/README | 54 + scripts/w3mman/hlink.cgi | 97 + scripts/w3mman/w3mman.1.in | 53 + scripts/w3mman/w3mman.in | 41 + scripts/w3mman/w3mman2html.cgi.in | 274 + scripts/xface2xbm.in | 0 scripts/xface2xpm.in | 94 + scrsize.c | 77 + search.c | 307 + symbol.c | 168 + table.c | 3617 ++++ table.h | 144 + tagtable.tab | 174 + terms.c | 2169 +++ terms.h | 33 + textlist.c | 151 + textlist.h | 76 + upstream/w3m-0.3.tar.gz | Bin 1061297 -> 0 bytes url.c | 2216 +++ version.c.in | 6 + w3m-doc/README.html | 75 + w3m-doc/community.html.in | 48 + w3m-doc/configuration.html.in | 182 + w3m-doc/contain.wd | 14 + w3m-doc/copyright.html.in | 45 + w3m-doc/define.wd | 9 + w3m-doc/detail.html.in | 32 + w3m-doc/development.html.in | 77 + w3m-doc/faq.html.in | 45 + w3m-doc/function.html.in | 71 + w3m-doc/index.html.in | 113 + w3m-doc/install.html.in | 389 + w3m-doc/mkdocs | 57 + w3m-doc/operation.html.in | 50 + w3m-doc/outline.html.in | 352 + w3m-doc/prologue.html.in | 99 + w3m-doc/sample/README | 41 + w3m-doc/sample/define.wd | 4 + w3m-doc/sample/html.wd | 18 + w3m-doc/sample/keymap.cgi | 268 + w3m-doc/sample/s.wd | 8 + w3m-doc/sample/sample.html | 6 + w3m-doc/sample/sample.wd | 11 + w3m-doc/sample/w3mdoc.pl | 102 + w3m-doc/w3mdoc.pl | 102 + w3mbookmark.c | 248 + w3mhelp-lynx_en.html.in | 141 + w3mhelp-lynx_ja.html.in | 151 + w3mhelp-w3m_en.html.in | 155 + w3mhelp-w3m_ja.html.in | 156 + w3mhelperpanel.c | 229 + w3mimg/.cvsignore | 1 + w3mimg/Makefile.in | 45 + w3mimg/fb/.cvsignore | 1 + w3mimg/fb/Makefile.in | 35 + w3mimg/fb/fb.c | 663 + w3mimg/fb/fb.h | 34 + w3mimg/fb/fb_gdkpixbuf.c | 209 + w3mimg/fb/fb_img.c | 32 + w3mimg/fb/fb_img.h | 11 + w3mimg/fb/fb_imlib2.c | 126 + w3mimg/fb/fb_w3mimg.c | 202 + w3mimg/fb/readme.txt | 73 + w3mimg/w3mimg.c | 34 + w3mimg/w3mimg.h | 46 + w3mimg/x11/.cvsignore | 1 + w3mimg/x11/Makefile.in | 29 + w3mimg/x11/x11_w3mimg.c | 723 + w3mimgdisplay.c | 340 + 403 files changed, 329486 insertions(+) create mode 100644 .cvsignore create mode 100644 ABOUT-NLS create mode 100755 Bonus/2ch.cgi create mode 100644 Bonus/README create mode 100644 Bonus/README.eng create mode 100755 Bonus/backslash_to_slash.cgi create mode 100755 Bonus/goodict.cgi create mode 100755 Bonus/google.cgi create mode 100755 Bonus/html2latex create mode 100755 Bonus/htmldump create mode 100755 Bonus/makeref create mode 100755 Bonus/oldconfigure.sh create mode 100644 Bonus/scanhist.rb create mode 100755 Bonus/smb.cgi create mode 100644 Bonus/utf8.cgi create mode 100755 Bonus/wrap3m create mode 100644 ChangeLog create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 Str.c create mode 100644 Str.h create mode 100644 Symbols/alt.sym create mode 100644 Symbols/big5.sym create mode 100644 Symbols/cp850.sym create mode 100644 Symbols/euccn.sym create mode 100644 Symbols/eucjp.sym create mode 100644 Symbols/euckr.sym create mode 100644 Symbols/euctw.sym create mode 100644 Symbols/graph.sym create mode 100644 Symbols/sym.pl create mode 100644 Symbols/utf8.sym create mode 100644 TODO create mode 100644 acinclude.m4 create mode 100644 aclocal.m4 create mode 100644 anchor.c create mode 100644 backend.c create mode 100644 buffer.c create mode 100644 charset-list create mode 100755 config.guess create mode 100644 config.h.dist create mode 100644 config.h.in create mode 100755 config.rpath create mode 100755 config.sub create mode 100755 configure create mode 100644 configure.in create mode 100644 cookie.c create mode 100644 ctrlcode.h create mode 100644 display.c create mode 100644 doc-jp/FAQ.html create mode 100644 doc-jp/HISTORY create mode 100644 doc-jp/MANUAL.html create mode 100644 doc-jp/README create mode 100644 doc-jp/README.SSL create mode 100644 doc-jp/README.cookie create mode 100644 doc-jp/README.cygwin create mode 100644 doc-jp/README.dict create mode 100644 doc-jp/README.func create mode 100644 doc-jp/README.img create mode 100644 doc-jp/README.keymap create mode 100644 doc-jp/README.m17n create mode 100644 doc-jp/README.mailcap create mode 100644 doc-jp/README.menu create mode 100644 doc-jp/README.migemo create mode 100644 doc-jp/README.mouse create mode 100644 doc-jp/README.pre_form create mode 100644 doc-jp/README.tab create mode 100644 doc-jp/STORY.html create mode 100644 doc-jp/keymap.default create mode 100644 doc-jp/keymap.lynx create mode 100644 doc-jp/menu.default create mode 100644 doc-jp/menu.submenu create mode 100644 doc-jp/w3m.1 create mode 100644 doc/FAQ.html create mode 100644 doc/HISTORY create mode 100644 doc/MANUAL.html create mode 100644 doc/README create mode 100644 doc/README.cygwin create mode 100644 doc/README.dict create mode 100644 doc/README.func create mode 100644 doc/README.img create mode 100644 doc/README.m17n create mode 100644 doc/README.mouse create mode 100644 doc/README.pre_form create mode 100644 doc/README.tab create mode 100644 doc/STORY.html create mode 100644 doc/keymap.default create mode 100644 doc/keymap.lynx create mode 100644 doc/menu.default create mode 100644 doc/menu.submenu create mode 100644 doc/w3m.1 create mode 100644 entity.c create mode 100644 entity.h create mode 100644 entity.tab create mode 100644 etc.c create mode 100644 file.c create mode 100644 fm.h create mode 100644 form.c create mode 100644 form.h create mode 100644 frame.c create mode 100644 frame.h create mode 100644 ftp.c create mode 100644 func.c create mode 100644 func.h create mode 100644 funcname0.awk create mode 100644 funcname1.awk create mode 100644 funcname2.awk create mode 100644 functable.awk create mode 100644 hash.c create mode 100644 hash.h create mode 100644 history.c create mode 100644 history.h create mode 100644 html.c create mode 100644 html.h create mode 100644 image.c create mode 100644 indep.c create mode 100644 indep.h create mode 100644 inflate.c create mode 100755 install-sh create mode 100644 islang.c create mode 100644 istream.c create mode 100644 istream.h create mode 100644 keybind.c create mode 100644 keybind_lynx.c create mode 100644 libwc/.cvsignore create mode 100644 libwc/Makefile.in create mode 100644 libwc/big5.c create mode 100644 libwc/big5.h create mode 100644 libwc/ccs.h create mode 100644 libwc/ces.c create mode 100644 libwc/ces.h create mode 100644 libwc/char_conv.c create mode 100644 libwc/charset.c create mode 100644 libwc/combining.c create mode 100644 libwc/conv.c create mode 100644 libwc/detect.c create mode 100644 libwc/gb18030.c create mode 100644 libwc/gb18030.h create mode 100644 libwc/gbk.c create mode 100644 libwc/gbk.h create mode 100644 libwc/hkscs.c create mode 100644 libwc/hkscs.h create mode 100644 libwc/hz.c create mode 100644 libwc/hz.h create mode 100644 libwc/iso2022.c create mode 100644 libwc/iso2022.h create mode 100644 libwc/jis.c create mode 100644 libwc/jis.h create mode 100644 libwc/johab.c create mode 100644 libwc/johab.h create mode 100644 libwc/map/big5_ucs.map create mode 100644 libwc/map/cns11643_ucs.map create mode 100644 libwc/map/cp1006_ucs.map create mode 100644 libwc/map/cp1250_ucs.map create mode 100644 libwc/map/cp1251_ucs.map create mode 100644 libwc/map/cp1252_ucs.map create mode 100644 libwc/map/cp1253_ucs.map create mode 100644 libwc/map/cp1254_ucs.map create mode 100644 libwc/map/cp1255_combining.map create mode 100644 libwc/map/cp1255_ucs.map create mode 100644 libwc/map/cp1256_combining.map create mode 100644 libwc/map/cp1256_ucs.map create mode 100644 libwc/map/cp1257_ucs.map create mode 100644 libwc/map/cp1258_combining.map create mode 100644 libwc/map/cp1258_ucs.map create mode 100644 libwc/map/cp437_ucs.map create mode 100644 libwc/map/cp737_ucs.map create mode 100644 libwc/map/cp775_ucs.map create mode 100644 libwc/map/cp850_ucs.map create mode 100644 libwc/map/cp852_ucs.map create mode 100644 libwc/map/cp855_ucs.map create mode 100644 libwc/map/cp856_ucs.map create mode 100644 libwc/map/cp857_ucs.map create mode 100644 libwc/map/cp860_ucs.map create mode 100644 libwc/map/cp861_ucs.map create mode 100644 libwc/map/cp862_ucs.map create mode 100644 libwc/map/cp863_ucs.map create mode 100644 libwc/map/cp864_combining.map create mode 100644 libwc/map/cp864_ucs.map create mode 100644 libwc/map/cp865_ucs.map create mode 100644 libwc/map/cp866_ucs.map create mode 100644 libwc/map/cp869_ucs.map create mode 100644 libwc/map/cp874_combining.map create mode 100644 libwc/map/cp874_ucs.map create mode 100644 libwc/map/gb12345_ucs.map create mode 100644 libwc/map/gb18030_ucs.map create mode 100644 libwc/map/gb2312_gbk.map create mode 100644 libwc/map/gb2312_ucs.map create mode 100644 libwc/map/gbk_ucs.map create mode 100644 libwc/map/hkscs_ucs.map create mode 100644 libwc/map/hkscs_ucs_p2.map create mode 100644 libwc/map/iso885910_ucs.map create mode 100644 libwc/map/iso885911_combining.map create mode 100644 libwc/map/iso885911_ucs.map create mode 100644 libwc/map/iso885913_ucs.map create mode 100644 libwc/map/iso885914_ucs.map create mode 100644 libwc/map/iso885915_ucs.map create mode 100644 libwc/map/iso885916_ucs.map create mode 100644 libwc/map/iso88591_ucs.map create mode 100644 libwc/map/iso88592_ucs.map create mode 100644 libwc/map/iso88593_ucs.map create mode 100644 libwc/map/iso88594_ucs.map create mode 100644 libwc/map/iso88595_ucs.map create mode 100644 libwc/map/iso88596_combining.map create mode 100644 libwc/map/iso88596_ucs.map create mode 100644 libwc/map/iso88597_ucs.map create mode 100644 libwc/map/iso88598_ucs.map create mode 100644 libwc/map/iso88599_ucs.map create mode 100644 libwc/map/jisx0201k_jisx0208.map create mode 100644 libwc/map/jisx0201k_ucs.map create mode 100644 libwc/map/jisx0208_jisx02131.map create mode 100644 libwc/map/jisx0208x0212x0213_ucs.map create mode 100644 libwc/map/jisx02132_sjis.map create mode 100644 libwc/map/jisx0213_ucs_p2.map create mode 100644 libwc/map/johab_ucs.map create mode 100644 libwc/map/koi8r_ucs.map create mode 100644 libwc/map/koi8u_ucs.map create mode 100644 libwc/map/ksx1001_ucs.map create mode 100644 libwc/map/mk_big5_txt.pl create mode 100644 libwc/map/mk_big5_ucs_map.pl create mode 100644 libwc/map/mk_cns_ucs_map.pl create mode 100644 libwc/map/mk_combining_map.pl create mode 100644 libwc/map/mk_cp1258_ucs_map.pl create mode 100644 libwc/map/mk_cp950_txt.pl create mode 100644 libwc/map/mk_gb18030_ucs_map.pl create mode 100644 libwc/map/mk_gb_ucs_map.pl create mode 100644 libwc/map/mk_gbk_ucs_map.pl create mode 100644 libwc/map/mk_hkscs_p2_txt.pl create mode 100644 libwc/map/mk_hkscs_txt.pl create mode 100644 libwc/map/mk_hkscs_ucs_map.pl create mode 100644 libwc/map/mk_hkscs_ucs_p2_map.pl create mode 100644 libwc/map/mk_jis_ucs_map.pl create mode 100644 libwc/map/mk_jisx0213_ucs_map.pl create mode 100644 libwc/map/mk_johab_ucs_map.pl create mode 100644 libwc/map/mk_ks_ucs_map.pl create mode 100644 libwc/map/mk_sjis_ucs_map.pl create mode 100644 libwc/map/mk_tis_ucs_map.pl create mode 100644 libwc/map/mk_ucs_map.pl create mode 100644 libwc/map/mk_uhc_ucs_map.pl create mode 100644 libwc/map/mk_viet_ucs_map.pl create mode 100644 libwc/map/nextstep_ucs.map create mode 100644 libwc/map/sjis_ext_ucs.map create mode 100644 libwc/map/tcvn57123_tcvn5712.map create mode 100644 libwc/map/tcvn5712_combining.map create mode 100644 libwc/map/tcvn5712_ucs.map create mode 100644 libwc/map/ucs_combining.map create mode 100644 libwc/map/ucs_fullwidth.map create mode 100644 libwc/map/ucs_hangul.map create mode 100644 libwc/map/ucs_precompose.map create mode 100644 libwc/map/ucs_wide.map create mode 100644 libwc/map/uhc_ucs.map create mode 100644 libwc/map/viscii11_ucs.map create mode 100644 libwc/map/vps_ucs.map create mode 100644 libwc/priv.c create mode 100644 libwc/priv.h create mode 100644 libwc/putc.c create mode 100644 libwc/search.c create mode 100644 libwc/search.h create mode 100644 libwc/sjis.c create mode 100644 libwc/sjis.h create mode 100644 libwc/status.c create mode 100644 libwc/test.c create mode 100644 libwc/ucs.c create mode 100644 libwc/ucs.h create mode 100644 libwc/ucs.map create mode 100644 libwc/uhc.c create mode 100644 libwc/uhc.h create mode 100644 libwc/utf7.c create mode 100644 libwc/utf7.h create mode 100644 libwc/utf8.c create mode 100644 libwc/utf8.h create mode 100644 libwc/viet.c create mode 100644 libwc/viet.h create mode 100644 libwc/wc.h create mode 100644 libwc/wc_types.h create mode 100644 libwc/wtf.c create mode 100644 libwc/wtf.h create mode 100644 linein.c create mode 100644 local.c create mode 100644 local.h create mode 100644 mailcap.c create mode 100644 main.c create mode 100644 map.c create mode 100644 matrix.c create mode 100644 matrix.h create mode 100644 menu.c create mode 100644 menu.h create mode 100644 mimehead.c create mode 100755 mkinstalldirs create mode 100644 mktable.c create mode 100644 myctype.c create mode 100644 myctype.h create mode 100644 news.c create mode 100644 parsetag.c create mode 100644 parsetag.h create mode 100644 parsetagx.c create mode 100644 parsetagx.h create mode 100644 po/.cvsignore create mode 100644 po/ChangeLog create mode 100644 po/LINGUAS create mode 100644 po/Makefile.in.in create mode 100644 po/Makevars create mode 100644 po/POTFILES.in create mode 100644 po/Rules-quot create mode 100644 po/boldquot.sed create mode 100644 po/en@boldquot.header create mode 100644 po/en@quot.header create mode 100644 po/insert-header.sin create mode 100644 po/ja.po create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin create mode 100644 po/w3m.pot create mode 100644 posubst.in create mode 100644 proto.h create mode 100644 rc.c create mode 100644 regex.c create mode 100644 regex.h create mode 100644 scripts/.cvsignore create mode 100644 scripts/Makefile.in create mode 100644 scripts/bm2menu/README create mode 100644 scripts/bm2menu/bm2menu.pl create mode 100755 scripts/dirlist.cgi.in create mode 100644 scripts/multipart/.cvsignore create mode 100644 scripts/multipart/Makefile.in create mode 100644 scripts/multipart/README create mode 100644 scripts/multipart/mailcap create mode 100644 scripts/multipart/multipart.cgi.in create mode 100644 scripts/w3mhelp-funcdesc.en.pl.in create mode 100644 scripts/w3mhelp-funcdesc.ja.pl.in create mode 100644 scripts/w3mhelp-funcname.pl.in create mode 100644 scripts/w3mhelp.cgi.in create mode 100755 scripts/w3mmail.cgi.in create mode 100644 scripts/w3mman/.cvsignore create mode 100644 scripts/w3mman/Makefile.in create mode 100644 scripts/w3mman/README create mode 100644 scripts/w3mman/hlink.cgi create mode 100644 scripts/w3mman/w3mman.1.in create mode 100644 scripts/w3mman/w3mman.in create mode 100644 scripts/w3mman/w3mman2html.cgi.in create mode 100644 scripts/xface2xbm.in create mode 100644 scripts/xface2xpm.in create mode 100644 scrsize.c create mode 100644 search.c create mode 100644 symbol.c create mode 100644 table.c create mode 100644 table.h create mode 100644 tagtable.tab create mode 100644 terms.c create mode 100644 terms.h create mode 100644 textlist.c create mode 100644 textlist.h delete mode 100644 upstream/w3m-0.3.tar.gz create mode 100644 url.c create mode 100644 version.c.in create mode 100644 w3m-doc/README.html create mode 100644 w3m-doc/community.html.in create mode 100644 w3m-doc/configuration.html.in create mode 100644 w3m-doc/contain.wd create mode 100644 w3m-doc/copyright.html.in create mode 100644 w3m-doc/define.wd create mode 100644 w3m-doc/detail.html.in create mode 100644 w3m-doc/development.html.in create mode 100644 w3m-doc/faq.html.in create mode 100644 w3m-doc/function.html.in create mode 100644 w3m-doc/index.html.in create mode 100644 w3m-doc/install.html.in create mode 100755 w3m-doc/mkdocs create mode 100644 w3m-doc/operation.html.in create mode 100644 w3m-doc/outline.html.in create mode 100644 w3m-doc/prologue.html.in create mode 100644 w3m-doc/sample/README create mode 100644 w3m-doc/sample/define.wd create mode 100644 w3m-doc/sample/html.wd create mode 100755 w3m-doc/sample/keymap.cgi create mode 100644 w3m-doc/sample/s.wd create mode 100644 w3m-doc/sample/sample.html create mode 100644 w3m-doc/sample/sample.wd create mode 100755 w3m-doc/sample/w3mdoc.pl create mode 100755 w3m-doc/w3mdoc.pl create mode 100644 w3mbookmark.c create mode 100644 w3mhelp-lynx_en.html.in create mode 100644 w3mhelp-lynx_ja.html.in create mode 100644 w3mhelp-w3m_en.html.in create mode 100644 w3mhelp-w3m_ja.html.in create mode 100644 w3mhelperpanel.c create mode 100644 w3mimg/.cvsignore create mode 100644 w3mimg/Makefile.in create mode 100644 w3mimg/fb/.cvsignore create mode 100644 w3mimg/fb/Makefile.in create mode 100644 w3mimg/fb/fb.c create mode 100644 w3mimg/fb/fb.h create mode 100644 w3mimg/fb/fb_gdkpixbuf.c create mode 100644 w3mimg/fb/fb_img.c create mode 100644 w3mimg/fb/fb_img.h create mode 100644 w3mimg/fb/fb_imlib2.c create mode 100644 w3mimg/fb/fb_w3mimg.c create mode 100644 w3mimg/fb/readme.txt create mode 100644 w3mimg/w3mimg.c create mode 100644 w3mimg/w3mimg.h create mode 100644 w3mimg/x11/.cvsignore create mode 100644 w3mimg/x11/Makefile.in create mode 100644 w3mimg/x11/x11_w3mimg.c create mode 100644 w3mimgdisplay.c diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..8f22a68 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,25 @@ +XXMakefile +Makefile +config.cache +config.log +config.status +config.h +config.param +funcname.tab +funcname.c +funcname1.h +funcname2.h +functable.c +tagtable.c +inflate +mktable +w3m +w3mbookmark +w3mhelperpanel +w3mimgdisplay +version.c +w3mhelp-lynx_en.html +w3mhelp-lynx_ja.html +w3mhelp-w3m_en.html +w3mhelp-w3m_ja.html +posubst 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$nameF$date +
+$_ +

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


+
OF 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..c729364 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,8486 @@ +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.924 2004/04/28 18:19:22 ukai Exp $ diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..6f29477 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,314 @@ +# +# Makefile +# @configure_input@ +# +@SET_MAKE@ +SHELL=@SHELL@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +DOMAIN = $(PACKAGE) +prefix = @prefix@ +exec_prefix = @exec_prefix@ +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 = -L. -lindep @LIBINTL@ @LIBS@ +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) $(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) + +$(BOOKMARKER): w3mbookmark.o dummy.o $(ALIB) + $(CC) $(CFLAGS) -o $(BOOKMARKER) w3mbookmark.o dummy.o $(LDFLAGS) $(LIBS) + +$(HELPER): w3mhelperpanel.o dummy.o $(ALIB) + $(CC) $(CFLAGS) -o $(HELPER) w3mhelperpanel.o dummy.o $(LDFLAGS) $(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: + (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: + (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..5f01175 --- /dev/null +++ b/NEWS @@ -0,0 +1,186 @@ +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..af0b2de --- /dev/null +++ b/Str.h @@ -0,0 +1,83 @@ +/* $Id: Str.h,v 1.5 2003/01/20 15:30:19 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. + */ +#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(); +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..dfa9692 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,843 @@ +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 + AC_DEFINE(USE_SSL) + 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_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_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: + gdk-pixbuf imlib imlib2],, + + [with_imagelib="yes"]) + if test x"$with_imagelib" = xyes; then + with_imagelib="gdk-pixbuf imlib imlib2" + fi + AC_MSG_RESULT($with_imagelib) + with_imlib=no + with_imlib2=no + with_gdkpixbuf=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;; + esac + done + IMGTARGETS="" + if test x"$with_gdkpixbuf" = xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$GDKPIXBUF_CONFIG --version 2>/dev/null`], + 0, 16, 0, + [have_gdkpixbuf="yes"], + [have_gdkpixbuf="no"]) + 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_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_GDKPIXBUF) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + IMGTARGETS="x11" + elif test x"$have_imlib" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_IMLIB) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${IMLIB_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB_CONFIG} --libs`" + IMGTARGETS="x11" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_IMLIB2) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + IMGTARGETS="x11" + else + AC_MSG_WARN([unable to build w3mimgdisplay with X11 support]) + fi + fi + if test x"$fb" = xyes; then + if test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + AC_DEFINE(USE_GDKPIXBUF) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + IMGTARGETS="${IMGTARGETS} fb" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_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`" + IMGTARGETS="${IMGTARGETS} fb" + 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..4e5529c --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,3544 @@ +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_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 + AC_DEFINE(USE_SSL) + 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_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_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: + gdk-pixbuf imlib imlib2],, + + [with_imagelib="yes"]) + if test x"$with_imagelib" = xyes; then + with_imagelib="gdk-pixbuf imlib imlib2" + fi + AC_MSG_RESULT($with_imagelib) + with_imlib=no + with_imlib2=no + with_gdkpixbuf=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;; + esac + done + IMGTARGETS="" + if test x"$with_gdkpixbuf" = xyes; then + AC_W3M_CHECK_VER([GdkPixbuf], + [`$GDKPIXBUF_CONFIG --version 2>/dev/null`], + 0, 16, 0, + [have_gdkpixbuf="yes"], + [have_gdkpixbuf="no"]) + 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_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_GDKPIXBUF) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + IMGTARGETS="x11" + elif test x"$have_imlib" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_IMLIB) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${IMLIB_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB_CONFIG} --libs`" + IMGTARGETS="x11" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_X11) + AC_DEFINE(USE_IMLIB2) + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + IMGTARGETS="x11" + else + AC_MSG_WARN([unable to build w3mimgdisplay with X11 support]) + fi + fi + if test x"$fb" = xyes; then + if test x"$have_gdkpixbuf" = xyes; then + AC_DEFINE(USE_W3MIMG_FB) + AC_DEFINE(USE_GDKPIXBUF) + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + IMGTARGETS="${IMGTARGETS} fb" + elif test x"$have_imlib2" = xyes; then + AC_DEFINE(USE_W3MIMG_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`" + IMGTARGETS="${IMGTARGETS} fb" + 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..5211048 --- /dev/null +++ b/anchor.c @@ -0,0 +1,865 @@ +/* $Id: anchor.c,v 1.30 2003/09/26 17:59:51 ukai 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 (!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; + 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->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..78f6b92 --- /dev/null +++ b/config.guess @@ -0,0 +1,1409 @@ +#! /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='2003-01-10' + +# 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) ; } || + { 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 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-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 ;; + 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 ;; + *:MicroBSD:*:*) + echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + if test $UNAME_RELEASE = "V4.0"; then + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + fi + # 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. + eval $set_cc_for_build + cat <$dummy.s + .data +\$Lformat: + .byte 37,100,45,37,120,10,0 # "%d-%x\n" + + .text + .globl main + .align 4 + .ent main +main: + .frame \$30,16,\$26,0 + ldgp \$29,0(\$27) + .prologue 1 + .long 0x47e03d80 # implver \$0 + lda \$2,-1 + .long 0x47e20c21 # amask \$2,\$1 + lda \$16,\$Lformat + mov \$0,\$17 + not \$1,\$18 + jsr \$26,printf + ldgp \$29,0(\$26) + mov 0,\$16 + jsr \$26,exit + .end main +EOF + $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null + if test "$?" = 0 ; then + case `$dummy` in + 0-0) + UNAME_MACHINE="alpha" + ;; + 1-0) + UNAME_MACHINE="alphaev5" + ;; + 1-1) + UNAME_MACHINE="alphaev56" + ;; + 1-101) + UNAME_MACHINE="alphapca56" + ;; + 2-303) + UNAME_MACHINE="alphaev6" + ;; + 2-307) + UNAME_MACHINE="alphaev67" + ;; + 2-1307) + UNAME_MACHINE="alphaev68" + ;; + 3-1307) + UNAME_MACHINE="alphaev7" + ;; + esac + fi + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + 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 ;; + 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_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 ;; + 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 ;; + 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=` + echo ${UNAME_MACHINE}-unknown-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*:3*) + echo i586-pc-interix3 + 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:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + ia64: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 ;; + 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 +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: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[34]??:*: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) + 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-[DGKLNPTVW]: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 ;; +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..a9ad24b --- /dev/null +++ b/config.h.in @@ -0,0 +1,233 @@ +#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_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 SETPGRP_VOID +#ifdef SETPGRP_VOID +#define SETPGRP() setpgrp() +#else +#define SETPGRP() setpgrp(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 +# define SETJMP(env) sigsetjmp(env,1) +# define LONGJMP(env,val) siglongjmp(env,val) +# define JMP_BUF sigjmp_buf +#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 +#if LANG == JA +#define SUPPORT_WIN9X_CONSOLE_MBCS 1 +#endif +#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" + +#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* | freebsd*-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] \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k \ + | m32r | 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 \ + | 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] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | 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-* \ + | 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-* \ + | m32r-* \ + | 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-* \ + | 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]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | 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 + ;; + 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 + ;; + 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 + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + 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 + ;; + 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) + basic_machine=i686-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-*) + basic_machine=i686-`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 + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + 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 + ;; + tic4x | c4x*) + basic_machine=tic4x-unknown + os=-coff + ;; + tic54x | c54x*) + basic_machine=tic54x-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 + ;; + 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 | sh3eb | sh4eb | sh[1234]le | sh3ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | 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* | -netbsd* | -openbsd* | -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* | -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* | -microbsd*) + # 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*) + 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 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -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 + ;; + -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 + ;; + -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 + ;; + # 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 + ;; + -ptx*) + vendor=sequent + ;; + -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..a535f1e --- /dev/null +++ b/configure @@ -0,0 +1,11638 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for w3m 0.5.1. +# +# Report bugs to . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# 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` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='w3m' +PACKAGE_TARNAME='w3m' +PACKAGE_VERSION='0.5.1' +PACKAGE_STRING='w3m 0.5.1' +PACKAGE_BUGREPORT='ukai@debian.or.jp' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if 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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS 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 ac_ct_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_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_DIGEST_AUTH 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_W3M USE_SYSMOUSE AUXBIN_TARGETS EGREP USE_BINMODE_STREAM HAVE_SYS_ERRLIST HAVE_SIGSETJMP RETSIGTYPE SIGNAL_RETURN HELP_DIR RC_DIR DOCDIRS CURRENT_VERSION LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# 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. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +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 + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -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 | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$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" ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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 ;; + + -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 ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + 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 ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + 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 paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: 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 + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# 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.1 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 \`..'] + +_ACEOF + + cat <<_ACEOF +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] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --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] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_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.1:";; + 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-digest-auth disable digest auth + --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 + +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: + 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 + CPPFLAGS C/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 +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + 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 + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd "$ac_popdir" + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +w3m configure 0.5.1 +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by w3m $as_me 0.5.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +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` +hostinfo = `(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 + +} >&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_sep= +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_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf 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 -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; 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 `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + 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.1 +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$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 + + CC=$ac_ct_CC +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$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 + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # 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 + 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$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 +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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$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 + + CC=$ac_ct_CC +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` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&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[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; 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 | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +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 ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* 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 -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 non-existent 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 non-existent 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# 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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +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. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + 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 dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +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 + + RANLIB=$ac_ct_RANLIB +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 $as_executable_p "$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 + + ;; +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 $as_executable_p "$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 + + ;; +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 $as_executable_p "$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 + + ;; +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. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_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_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { 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=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_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 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +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 + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + + + + + +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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --without-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 or --disable-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 $as_executable_p "$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 + + 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 or --without-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 or --disable-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 or --without-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 or --disable-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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + am_cv_func_iconv=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 or --without-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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --without-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="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 + 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;; + esac + done + IMGTARGETS="" + if test x"$with_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 + 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_gdkpixbuf" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGX11LDFLAGS="`${GDKPIXBUF_CONFIG} --libs` -lgdk_pixbuf_xlib" + IMGTARGETS="x11" + elif test x"$have_imlib" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_X11 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define USE_IMLIB 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + 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 + + cat >>confdefs.h <<\_ACEOF +#define USE_IMLIB2 1 +_ACEOF + + IMGOBJS="$IMGOBJS x11/x11_w3mimg.o" + IMGX11CFLAGS="`${IMLIB2_CONFIG} --cflags`" + IMGX11LDFLAGS="`${IMLIB2_CONFIG} --libs`" + IMGTARGETS="x11" + 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_gdkpixbuf" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_FB 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define USE_GDKPIXBUF 1 +_ACEOF + + IMGOBJS="$IMGOBJS fb/fb_w3mimg.o fb/fb.o fb/fb_img.o" + IMGFBCFLAGS="`${GDKPIXBUF_CONFIG} --cflags`" + IMGFBLDFLAGS="`${GDKPIXBUF_CONFIG} --libs`" + IMGTARGETS="${IMGTARGETS} fb" + elif test x"$have_imlib2" = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_W3MIMG_FB 1 +_ACEOF + + 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`" + IMGTARGETS="${IMGTARGETS} fb" + 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 or --disable-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 $as_executable_p "$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 + + 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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 or --disable-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 digest auth is enabled" >&5 +echo $ECHO_N "checking if digest auth is enabled... $ECHO_C" >&6 + # Check whether --enable-digest_auth or --disable-digest_auth was given. +if test "${enable_digest_auth+set}" = set; then + enableval="$enable_digest_auth" + +else + enable_digest_auth="yes" +fi; + test x"$enable_digest_auth" = xyes && cat >>confdefs.h <<\_ACEOF +#define USE_DIGEST_AUTH 1 +_ACEOF + + echo "$as_me:$LINENO: result: $enable_digest_auth" >&5 +echo "${ECHO_T}$enable_digest_auth" >&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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --disable-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 or --without-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 or --without-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 or --without-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 or --without-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 or --disable-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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char 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 +#else +char (*f) () = getaddrinfo; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != getaddrinfo; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char getaddrinfo (); +int +main () +{ +getaddrinfo (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +rm -f 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 or --without-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 + cat >>confdefs.h <<\_ACEOF +#define USE_SSL 1 +_ACEOF + + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for 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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char SSL_new (); +int +main () +{ +SSL_new (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 + 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 or --disable-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 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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char 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 +#else +char (*f) () = sqrt; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != sqrt; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char sqrt (); +int +main () +{ +sqrt (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char Gpm_Open (); +int +main () +{ +Gpm_Open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 + +echo "$as_me:$LINENO: checking terminal library" >&5 +echo $ECHO_N "checking terminal library... $ECHO_C" >&6 + +# Check whether --with-termlib or --without-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 eval "test \"\${$as_ac_Lib+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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char tgetent (); +int +main () +{ +tgetent (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&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 egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.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 +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core 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 eval "test \"\${$as_ac_Header+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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking GC library exists" >&5 +echo $ECHO_N "checking GC library exists... $ECHO_C" >&6 + +# Check whether --with-gc or --without-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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char GC_init (); +int +main () +{ +GC_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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 + LIBS="$LIBS -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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char GC_init (); +int +main () +{ +GC_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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"; LIBS="$LIBS -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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char zError (); +int +main () +{ +zError (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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*) + 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 eval "test \"\${$as_ac_Header+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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_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 +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in dir; do + LIBS="-l$ac_lib $ac_func_search_save_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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +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 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $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 +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in x; do + LIBS="-l$ac_lib $ac_func_search_save_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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +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 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.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 +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core 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)(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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_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 ukai@debian.or.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 +int +main () +{ +if ((long long *) 0) + return 0; +if (sizeof (long long)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 + +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 "$ac_cv_type_long_long" = yes; then + # The cast to unsigned long 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. + 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 +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (long long))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f 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 +int +main () +{ +static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long_long=$ac_lo;; +'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77 +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long long), 77 +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } ;; +esac +else + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5 +echo "$as_me: error: internal error: not reached in cross-compile" >&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 +long longval () { return (long) (sizeof (long long)); } +unsigned long ulongval () { return (long) (sizeof (long long)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + exit (1); + if (((long) (sizeof (long long))) < 0) + { + long i = longval (); + if (i != ((long) (sizeof (long long)))) + exit (1); + fprintf (f, "%ld\n", i); + } + else + { + unsigned long i = ulongval (); + if (i != ((long) (sizeof (long long)))) + exit (1); + fprintf (f, "%lu\n", i); + } + exit (ferror (f) || fclose (f) != 0); + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 ) +{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77 +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long long), 77 +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +rm -f conftest.val +else + ac_cv_sizeof_long_long=0 +fi +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 eval "test \"\${$as_ac_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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +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 eval "test \"\${$as_ac_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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +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 gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strftime (); +int +main () +{ +strftime (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ + 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. */ +#include +#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); + exit (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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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. */ +#if HAVE_UNISTD_H +# include +#endif + +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. */ + exit (setpgrp (1,1) == -1 ? 0 : 1); + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 + + +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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + 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 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 +#ifdef signal +# undef signal +#endif +#ifdef __cplusplus +extern "C" void (*signal (int, void (*)(int)))(int); +#else +void (*signal ()) (); +#endif + +int +main () +{ +int i; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_signal=void +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_signal=int +fi +rm -f 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, don't put newlines in cache variables' values. +# 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. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *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 \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!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 "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + 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}' + +# 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 + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${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 Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by w3m $as_me 0.5.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +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, 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.1 +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +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 + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +# 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 +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "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" ;; + "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@W3M@,$W3M,;t t +s,@W3M_LANG@,$W3M_LANG,;t t +s,@AWK@,$AWK,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@CPP@,$CPP,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@LN_S@,$LN_S,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@PERL@,$PERL,;t t +s,@NKF@,$NKF,;t t +s,@MAN@,$MAN,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@W3M_TARGET@,$W3M_TARGET,;t t +s,@W3M_LIBS@,$W3M_LIBS,;t t +s,@USE_M17N@,$USE_M17N,;t t +s,@USE_UNICODE@,$USE_UNICODE,;t t +s,@WCTARGET@,$WCTARGET,;t t +s,@WCCFLAGS@,$WCCFLAGS,;t t +s,@DISPLAY_CHARSET@,$DISPLAY_CHARSET,;t t +s,@SYSTEM_CHARSET@,$SYSTEM_CHARSET,;t t +s,@DOCUMENT_CHARSET@,$DOCUMENT_CHARSET,;t t +s,@POSUBST@,$POSUBST,;t t +s,@POLANG@,$POLANG,;t t +s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t +s,@USE_NLS@,$USE_NLS,;t t +s,@MSGFMT@,$MSGFMT,;t t +s,@GMSGFMT@,$GMSGFMT,;t t +s,@XGETTEXT@,$XGETTEXT,;t t +s,@MSGMERGE@,$MSGMERGE,;t t +s,@LIBICONV@,$LIBICONV,;t t +s,@LTLIBICONV@,$LTLIBICONV,;t t +s,@INTLLIBS@,$INTLLIBS,;t t +s,@LIBINTL@,$LIBINTL,;t t +s,@LTLIBINTL@,$LTLIBINTL,;t t +s,@POSUB@,$POSUB,;t t +s,@INTLTARGET@,$INTLTARGET,;t t +s,@NLSTARGET@,$NLSTARGET,;t t +s,@USE_COLOR@,$USE_COLOR,;t t +s,@USE_ANSI_COLOR@,$USE_ANSI_COLOR,;t t +s,@USE_BG_COLOR@,$USE_BG_COLOR,;t t +s,@USE_IMAGE@,$USE_IMAGE,;t t +s,@USE_W3MIMG_X11@,$USE_W3MIMG_X11,;t t +s,@USE_W3MIMG_FB@,$USE_W3MIMG_FB,;t t +s,@W3MIMGDISPLAY_SETUID@,$W3MIMGDISPLAY_SETUID,;t t +s,@INSTALL_W3MIMGDISPLAY@,$INSTALL_W3MIMGDISPLAY,;t t +s,@USE_GDKPIXBUF@,$USE_GDKPIXBUF,;t t +s,@USE_IMLIB@,$USE_IMLIB,;t t +s,@USE_IMLIB2@,$USE_IMLIB2,;t t +s,@IMGTARGETS@,$IMGTARGETS,;t t +s,@IMGOBJS@,$IMGOBJS,;t t +s,@IMGX11CFLAGS@,$IMGX11CFLAGS,;t t +s,@IMGX11LDFLAGS@,$IMGX11LDFLAGS,;t t +s,@IMGFBCFLAGS@,$IMGFBCFLAGS,;t t +s,@IMGFBLDFLAGS@,$IMGFBLDFLAGS,;t t +s,@USE_XFACE@,$USE_XFACE,;t t +s,@uncompface@,$uncompface,;t t +s,@KEYMAP_FILE@,$KEYMAP_FILE,;t t +s,@HELP_FILE@,$HELP_FILE,;t t +s,@KEYBIND@,$KEYBIND,;t t +s,@USE_MENU@,$USE_MENU,;t t +s,@USE_MOUSE@,$USE_MOUSE,;t t +s,@USE_HISTORY@,$USE_HISTORY,;t t +s,@USE_ALARM@,$USE_ALARM,;t t +s,@USE_COOKIE@,$USE_COOKIE,;t t +s,@USE_DIGEST_AUTH@,$USE_DIGEST_AUTH,;t t +s,@USE_NNTP@,$USE_NNTP,;t t +s,@USE_GOPHER@,$USE_GOPHER,;t t +s,@USE_DICT@,$USE_DICT,;t t +s,@USE_HELP_CGI@,$USE_HELP_CGI,;t t +s,@USE_EXTERNAL_URI_LOADER@,$USE_EXTERNAL_URI_LOADER,;t t +s,@USE_W3MMAILER@,$USE_W3MMAILER,;t t +s,@USE_MIGEMO@,$USE_MIGEMO,;t t +s,@DEF_MIGEMO_COMMAND@,$DEF_MIGEMO_COMMAND,;t t +s,@DEF_EDITOR@,$DEF_EDITOR,;t t +s,@DEF_MAILER@,$DEF_MAILER,;t t +s,@DEF_EXT_BROWSER@,$DEF_EXT_BROWSER,;t t +s,@INET6@,$INET6,;t t +s,@HAVE_OLD_SS_FAMILY@,$HAVE_OLD_SS_FAMILY,;t t +s,@USE_SSL@,$USE_SSL,;t t +s,@USE_SSL_VERIFY@,$USE_SSL_VERIFY,;t t +s,@PKG_CONFIG@,$PKG_CONFIG,;t t +s,@SSL_CFLAGS@,$SSL_CFLAGS,;t t +s,@SSL_LIBS@,$SSL_LIBS,;t t +s,@USE_W3M@,$USE_W3M,;t t +s,@USE_SYSMOUSE@,$USE_SYSMOUSE,;t t +s,@AUXBIN_TARGETS@,$AUXBIN_TARGETS,;t t +s,@EGREP@,$EGREP,;t t +s,@USE_BINMODE_STREAM@,$USE_BINMODE_STREAM,;t t +s,@HAVE_SYS_ERRLIST@,$HAVE_SYS_ERRLIST,;t t +s,@HAVE_SIGSETJMP@,$HAVE_SIGSETJMP,;t t +s,@RETSIGTYPE@,$RETSIGTYPE,;t t +s,@SIGNAL_RETURN@,$SIGNAL_RETURN,;t t +s,@HELP_DIR@,$HELP_DIR,;t t +s,@RC_DIR@,$RC_DIR,;t t +s,@DOCDIRS@,$DOCDIRS,;t t +s,@CURRENT_VERSION@,$CURRENT_VERSION,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + default-1 ) + 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 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (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.in b/configure.in new file mode 100644 index 0000000..1001fbc --- /dev/null +++ b/configure.in @@ -0,0 +1,178 @@ +dnl w3m autoconf +dnl Process this file with autoconf to produce a configure script. +AC_INIT(w3m, 0.5.1, ukai@debian.or.jp) +PACKAGE=w3m +VERSION=0.5.1 +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_DIGEST_AUTH +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 + +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)]) +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*) + 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 +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..a273d78 --- /dev/null +++ b/cookie.c @@ -0,0 +1,698 @@ +/* $Id: cookie.c,v 1.9 2003/09/26 17:59:51 ukai 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; + } + /* [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..507f22b --- /dev/null +++ b/display.c @@ -0,0 +1,1586 @@ +/* $Id: display.c,v 1.68 2003/09/26 17:59:51 ukai Exp $ */ +#include +#include "fm.h" + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +/* *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 defined(__CYGWIN__) && LANG == JA + move(LASTLINE + n + 1, 0); + clrtoeolx(); + refresh(); +#endif /* defined(__CYGWIN__) && LANG == JA */ + 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..e40689b --- /dev/null +++ b/doc-jp/FAQ.html @@ -0,0 +1,235 @@ + + +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 の場合は,画面最下行で入力待ちになりますので,文字を入力します. +
  • 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 に変える場合は,~/.mailcap または /etc/mailcap に次のよ +うな記述を入れます. +

+

+image/*; display %s
+
+

+同じように,他のタイプのデータを処理するプログラムを指定することも +できます. +

+

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

その他

+
+
設定ファイルはどこにあるの? +
~/.w3m ディレクトリの下の config です. +

+

~/.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 の時、":" 以前が2回削除される。 +* 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 を表示していて、2重に出力されている部分がありました。 +その修正です。 + +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 〜 に