diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CHANGES | 1001 | ||||
-rw-r--r-- | docs/CHANGES.chartrans | 204 | ||||
-rw-r--r-- | docs/INSTALLATION.old | 399 | ||||
-rw-r--r-- | docs/Makefile.old | 1106 | ||||
-rw-r--r-- | docs/README.chartrans | 197 |
5 files changed, 2907 insertions, 0 deletions
diff --git a/docs/CHANGES b/docs/CHANGES new file mode 100644 index 00000000..bd648e06 --- /dev/null +++ b/docs/CHANGES @@ -0,0 +1,1001 @@ +--- Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997) --- +======================================================================= +1997-04-04 +* Fixed typos in LYHistory.c, LYMail.c and LYMain.c which caused + failures of flag setting in the distributed code. - TD +1997-03-31 +* Added a missing check for whether the fragment token is NULL in + LYConvertToURL() of LYUtils.c. Without the check, the for-Unix code + could crash if a local file spec was entered as a startfile or goto + with escaped characters. - KW +* Mod in HTML.c to retain "[INLINE]" as the default ALT string if an + IMG element has an ISMAP attribute but is not in Anchor content such + that it could not in fact function as a server-side image map. - FM +1997-03-28 +* In mainloop(), after the call to HText_pageDisplay() following a change + of the document view, ensure that curdoc.link does not remain set to -1 + if there are any links on the screen. This would otherwise happen if + a document is pushed to the history stack while there are no links, and + later popped (and refreshed) after one or more links have been created. + This change prevents segmentation faults which occurred after creation + of a new file in a previously empty directory via the DIRED menu. The + access to invalid memory only occurred if the screen showing the empty + directory did not have a parent dir reference link (which is always the + case if NO_PARENT_DIR_REFERENCE was specified at compilation time). - KW +1997-03-27 +* Fixed a typo and added comments for the code in LYMainLoop.c which + decides whether to load the URLs for homepage and/or startfile into + the goto buffer at startup. The typo in the distributed code caused + the startfile URL always to be added to the goto buffer, even if + it had POST content such that it could be resent inappropriately + as a GET request via the goto buffer. - FM +* Added a bsdi-slang target to the Makefile. - LE +1997-03-26 +* Modified the HTStream structure and associated code in src/HTFWriter.c + so that we save and use the relevant content of the associated + HTPresentation structure as two HTFormat elements rather than via a + pointer to the HTPresentation structure itself, because the latter + structure might not be valid under some circumstances when + HTFWriter_free() is called. The distributed code might indirectly + result in segmentation faults during downloading on linux and some + other flavors of Unix (though they don't occur for most flavors, or + on VMS). - KW +1997-03-21 +* Mods in LYPrint.c to use ".txt" as the output file extension for + all rendered text/html files regardless of their original extension. + The distributed code was doing this only for ones with an extension + of ".html". The original extension still is retained if the file + is being output as source. - FM +* Added protection against passing a NULL pointer for path_url to + render_item() from dired_options() in LYLocal.c. - GN +1997-03-20 +* Tweaked the protection against URLs directed to port 19 or port 25 so + that it can't be circumvented via lead zeros in the port numbers. - FM +* Changed the compilation default so as not to send From MIME headers to + http or https servers. The default can still be changed via lynx.cfg. + Replaced the -nofrom disabling switch to a -from switch for toggling + the compilation or configuration default. Sending the From header + has become widely regarded as an invasion of privacy risk, particularly + in conjunction with cookie support. - FM +* Corrected a typo in the lynx.cfg comments concerning TRUSTED_LYNXCGI + rules. - KW +1997-03-17 +* Mods of LYNews.c and LYMail.c to prepend a "-- " separator before + appending the LYNX_SIG_FILE signature file to news and email + messages. - FM +* Made the installation mode 755 in the top-level Makefile. The + distributed code used 555, and some install commands were unable + to do the strip. - LWV +1997-03-14 +* Corrected typos and expanded the comments concerning lynxcgi symbols + in userdefs.h and lynx.cfg. - FM +* Modified SGML.c, LYCharSets.c and LYCharUtils.c to handle the numeric + character reference ™ as the named entity ™ and use "(TM)" + as the ASCII substitution if the current character set does not have the + trademark character. The distributed code was substituting ®. - FM +* Include time.h via tcp.h for SVR4 systems. The tcp.h header does include + sys/time.h for Unix systems, but this apparently doesn't get struct tm + and extern char * ctime() declared for SVR4. - FM +1997-03-13 +* Added protection in LYGetFile.c against connections to the port 25 + ESMTP service. - FM +1997-03-11 +* Added protection in LYGetFile.c against denial of service attacks via + the port 19 CHARGEN service. The distributed code left Lynx or proxies + vulnerable to such attacks via direct or redirection URLs. - FM +1997-03-10 +* Fixed error in the handling of numeric character references with values + greater than 255 in SGML.c. The distributed code was breaking after + substitutions instead of falling through to reset the string chunk and + recycle the terminator if not a semi-colon. - FM +1997-03-08 +* Fixed error in the switch positioning of checks for XLOADIMAGE_COMMAND + and wais_proxy in LYReadCFG.c. The distributed code had them reversed + under case 'W' versus case 'X'. - PDS +* Expanded the copyright and licensing statements in the -version + output. - FM +1997-03-04 +* Corrected the offset computation in textsearch() of LYSearch.c so that + WHEREIS searches repeated on a page with no links seek the target + starting at the line immediately following the last displayed. The + distributed code was setting a greater offset. - JS +1997-03-02 +* Don't entify post content for the showinfo display, now that we are + making it an XMP block in that display to handle all of the supported + enctypes. - FM +1997-02-28 +* Changed all references to "image/*" to just "image" in the userdefs.h + and lynx.cfg comments about XLOADIMAGE_COMMAND. The "/*" within the + userdefs.h comments was generating warnings from some compilers. - FM +* Added a snake-slang target to the Makefile, and added -DUNIX to the + LYFLAGS for the snake3 and snake3-slang targets (HP-UX apparently does + not define "unix" itself with the -Ae switch, and thus needs to have + that definition forced via -DUNIX). - HL +1997-02-26 +* Close both descriptors of the pipe() for the NSL_FORK enabled code + in HTTCP.c. The distributed code was closing only one of them on + completed gethostbyname() calls, and neither on 'z'aps. - FM +* Changed the HREF for the "Lynx FAQ" link in the online 'h'elp to + its new URL (http://www.slcc.edu/lynx/faq.html). - FM +1997-02-25 +* More reverse engineering to cope with Netscape's bogus cookie header + parsing. The parser must not require an '=' between the expires + attribute name and value, because Set-Cookie headers are being + transmitted without it (e.g., by http://law.agps.gov.au). So Lynx + now treats that as another special case. - FM +* Cope with invalid use of expires attributes in Version 1 cookies. + An -06 State Management draft recommends that for "backward + compatibility", and has been severely criticized in the HTTP-WG, + but it would be foolish not to assume Netscape will do that. See the + expanded comments in LYSetCookie() of LYCookie.c for more information. + Note that "expires" thus cannot be used as a Version 1 cookie name, but + a provider would be foolish to use that, anyway. Note also that the + possibility of using different header names for Version 1 versus + Version 0 (a.k.a., "Netscape") cookies is being discussed in the + HTTP-WG, which might have been better to do in the first place, but + the -05 draft has been approved as RFC 2109: + http://info.internet.isi.edu/in-notes/rfc/files/rfc2109.txt + so it would be a while before that were done, if ever. - FM +1997-02-22 +* Fixed a memory management glitch which could cause a crash if the + MIME type of a reply to a FORM submission with METHOD=POST caused a + download offer to be invoked. - FM +* Don't simplify ftp URLs by trimming trailing slashes if the URL is + being proxied. The Netscape proxy server for some unknown reason + can return redirection for ftp URLs with the slash appended, and + trimming it can result in a redirection loop. Based on a posted + patch from KW. - FM +* Fixed two typos in the checks for HTPassHighCtrlRaw in LYExpandString() + of LYCharUtils.c. - KW +* Fixed typo in the equality check on line 1553 in HTGopher.c. - AM +1997-02-19 +* Reset the host string after an '@', if present, when trimming default + ":port" fields in the new code aimed at compliance with the Masinter + and Fielding URL drafts, expected to replace RFCs 1738 and 1808. The + distributed code neglected to do that, and was ending up on a ":password" + field, if present, instead of on the ":port" field, causing the username + to be treated as the host name. - FM +* Expand the default port trimming so as to include all of the registered + URL schemes which support a port field in the v2.7 release. - FM +* Correctly uncache the current directory listing when invoking an 'u'pload, + so that it will be updated to include the uploaded file if placed in the + current directory. The released code attempted to do this in a manner + which prevented a pop, so that the directory listing couldn't be restored + on return from the uploader menu. - FM +* Recognize a bookmark file used as the startfile, whether it resides in the + home directory or in a subdirectory off home. The released code failed if + the file was in home, and not in a subdirectory, unless the -book switch + was used instead of a startfile entry or WWW_HOME variable. - FM +======================================================================= +--- Start of v2.7 bug fixes --- +======================================================================= +--- Release of Lynx2-6FM as Lynx v2.7 (February 15, 1997) --- +======================================================================= +1997-02-15 +* Release of Lynx2-6FM as Lynx v2.7. - FM +* Included -Ae when compiling the Implementation modules for the snake3 + target. - FM +1997-02-14 +* Mods to issue an alert about a BASE tag not having an absolute URL only + once per document. - FM +* Added code for appending LYNX_SIG_FILE to email messages as well as to + news posts or followups, and updated the Users Guide accordingly. - FM +* Updated build-slang.com. - FM +1997-02-12 +* Fixed some problems in the code for using a hookless Lynx image with + snew_proxy, snewspost_proxy, and snewsreply_proxy set to + "nntp://host:port/" so that it uses Tom Zerucha's (tz@execpc.com) + daemon which handles the SSL communications on behalf of the Lynx + image. Also polished up all of the news gateway code, and added + comments for the benefit of new developers. - FM +* Added an ECGOTO command mapped by default to 'G', complementary to the + GOTO command (default 'g'), to edit the current document's URL and then + go to it. Using case-sensitive letters with different command definitions + ensures that both will appear with their brief explanations in the 'k'eymap + listing. For ECGOTO, Control-G, failure to modify the URL, or complete + deletion of it, all act as a cancel. If the current document has POST + content associated with it, a warning will be issued before offering the + URL to edit. The POST content is retained if the modification merely + involves a change in fragment for the URL. Otherwise, the modified URL + (if it has an http scheme) will be submitted with method GET and no POST + content. If the ECGOTO command is not cancelled, or not simply a fragment + change, the modified URL will be added to the 'g'oto buffer, and can be + re-accessed, to edit further, via the GOTO command. See the updated online + 'h'elp for more information. - FM +1997-02-10 +* Amplified the comments concerning deletion of prototypes for MultiNet + socket library functions as they get added to MultiNet's own headers + in newer versions of it's socket library. - FM +* Added a missing fclose() in post_article() of HTNews.c, and added code + to delete the temporary file there, so it's gone as soon as we're done + with it. - FM +02-09-97 +* Enhanced the Set-Cookie header parser to handle values that contain + spaces but were not enclosed in double-quotes, and to use such + quoting or not when sending Cookie headers, depending on whether + this was done in the Set-Cookie header. Also added anti-crash + checks should the parser's efforts to handle both historical (a.k.a. + original Netscape) cookies and Version 1 cookies go awry (does deal + successfully now with all the cookies which had been reported as + problematic). - FM +* Mods of the screen handling in LYNews.c for cleaning up any screen + trash created by the external editor. - FM +* Tracked down an uninitialized pointer in LYNews.c that probably was + behind reports of crashes when posting to newsgroups. - FM +* Plugged a memory leak in LYMainLoop.c. - TJC +* Added posting ability to the news gateway, in lieu of the previous, + variably reliable, use of a spawned news client for posting. The + news, nntp, and snews URLs now all return links for posting new + messages or followups (replies) to the server from which a newsgroup + listing or news article was retrieved, unless the server indicates + that it does not accept posts from the site at which Lynx is running. + See the updated INSTALLATION, userdefs.h, and lynx.cfg files, the + "USENET News posting" section of the Users Guide, and "Supported URLs" + page of the online 'h'elp for more information. +* Fixed typo for e-dieresis in the KOI8-R charset. - AJF +* Replaced an inappropriate _user_message() call in HTConfirmCookie() + of HTAlert.c with a _statusline() call. The original code could + cause crashes with some cookie values. - FM +02-06-97 +* Added support for both hex escaped and unescaped white characters + in lynxexec and lynxprog URLs. Normally, Lynx strips out any white + characters that are not hex escaped in attribute values that are + to be resolved as URLs, on the assumption that they were derived + from wrapping in the markup. Any serial white characters in + lynxexec and lynxprog URLs are condensed to one space (' '), and + any lead or trailing white characters are trimmed. Note that we + still require hex escaping of spaces in mailto URLs, e.g, + HREF="mailto:lynx-dev@sig.net%20(I%20found%20a%20bug.)". - FM +* Removed the 'e' switch from tar commands in LYLocal.c for greater + portability across all supported Unix flavors. - FM +* Expanded the information in the PROBLEMS file on how to deal with + DECC and MultiNet header incompatibilites for different combinations + of the VMS compiler and socket library versions. - FM +* Added TRACE message of the edit command created for the system() + call in LYEdit.c. - LWV +* Fixed a typo in the userdefs.h comments. - NHE +02-04-97 +* Mod in LYMainLoop.c to bypass mailing "not found" messages when + MAIL_SYSTEM_ERROR_LOGGING was set TRUE (which it should NOT be, + indescriminately) if the document's owner is the lynx-dev list. - FM +* Added crash protection checks for the actual presence of anchors + in all HText structure anchor scans in GridText.c, based on a crash + report and suggested fix for one of them from Jonathan Sergent + (sergent@hillres55-129.cc.purdue.edu). - FM +* Eliminated the typecast for ttytype (apparently varies across flavors, + and each flavor should know it's own typing; we'll see) in LYCurses.c, + and moved VMS system definitions with non-ANSI conformant tokens to a + separate header for VMS (LYVMSdef.h). - BL +* Made the description of HISTORY in the 'k'eymap page more clear that + it invokes a list of the "suspended" documents currently held in the + history stack. - DC +* Typo fixes in the help files and lynx.cfg. - LWV +02-03-97 +* Today's distribution is a pre-release of v2.7. The projected official + release date is 02-15-97. All header, help and documentation files, + and the top directory name, have been updated for v2.7. - FM +* Made xli, which is freeware, the default XLOADIMAGE_COMMAND for Unix + in userdefs.h (still xv on VMS, since its port is freeware), and + expanded the "self-documentation" to indicate where to get this + freeware. Added XLOADIMAGE_COMMAND as a configuration symbol in + lynx.cfg, so that the compilation default can be overridden on + systems which have and prefer xv (all users can override the default + mappings for image helper apps via their mailcap files) - FM +* Added a -base command line switch which can be used with -source or + -mime_header to prepend the request URL as a comment, and a BASE tag + (which may or may not be the same as the request URL, depending on + HTTP/1.1 headers) for text/html documents, equivalent to the prepend + kludge for 'd'ownloads (see 09-20-96 mods). - FM +* Added a check for an "ORGANIZATION" environment variable for inclusion + as a news post header on Unix (all system logicals intended for news + post headers automatically are included on VMS), and a sleep() before + restoring curses mode after the post, to allow reading of any error + messages from the news software. - FM +* Fixed bug which yielded a "[LINK]" instead of "[INLINE]" pseduo-ALT + for ALT-less IMG tags used as the content for NAME-ed Anchors without + an HREF. - FM +* Portability tweaks for the mini inews utility. - FM +* Fixed an old and irrelevant typo in HTWriter.c. - JS +01-29-97 +* Added more REL tokens that are acceptible for banner links. - FM +* Ifdef'ed the standard foo_PATH definitions for FreeBSD at the bottom of + userdefs.h, based on a patch from AAC, and assuming they also apply for + NetBSD, BSDI, and Linux (we'll see 8-). - FM +* Added make freebsd-slang target. - AAC +01-28-97 +* Mods of LYSetCookie() to ensure setting of 443 as the default port for + https URLs, and force the secure flag on for https URLs whether or not + the Set-Cookie header had a secure parameter (too many Version 0 + cookies don't, when they should). - FM +* Removed -ltermcap from make for all ncurses targets. - FM +* Tweaks of make for FreeBSD. - AAC +* Use SLtt_get_screen_size() instead of the apparently less portable + code for slang in size_change() of LYUtils.c. - JED +01-27-97 +* Made ALT a synonym for VALUE in INPUTs with TYPE="image" to cooperate + with well-intentioned (though misinformed) providers who use ALT instead + of VALUE for the benefit of text clients or GUIs with image handling + turned off. - FM +* Modified the code for submission of form content with TYPE="image" NAME-ed + INPUTs that have a VALUE (or ALT) to "fake" a 0,0 coordinate pair, as when + a VALUE (or ALT) is absent, instead of sending a single name=value pair. + Requests that using a name=value pair in such cases to indicate that the + submission was from a text client or GUI with image handling turned off + be included in the HTML specifications keep falling on deaf ears, so we + may as well "fake" something closer to what the CGI scripts are expecting, + and hope that the script interprets 0,0 as an indicator that the user did + not see the image and make a conscious choice within it. +* Added code to offer a link for the SRC of the image in INPUTs with + TYPE="image", distinct from the submit button, when clickable images + is on. - FM +* Updated the "HTML Forms" section of the Users Guide. - FM +* Fixed a typo in the parsing of Cache-Control MIME headers and META + directives. - FM +01-25-97 +* Updated lynx_help_main.html, about_lynx.html and about_lynx-dev.html. - FM +* Mods to indicate a toolbar by a '#' preceding its first link when the + toolbar is being displayed, and to indicate the availability of a toolbar + by a '#' in the top, left-hand corner of the screen when the toolbar is + not being displayed. Added explanation of this in the online 'h'elp. - FM +* Indicate the 'allow' setting (always, never, or via prompt) for each + domain in the Cookie Jar Page. - AK +* Don't delete cookie-less domains silently during garbage collections if + they have their 'allow' set to always or never. - AK & FM +* Added ability to change the 'allow' settings for domains via the Cookie + Jar Page. - FM +* Added basic protection against "denial of service attacks" by limiting + a domain to 50 cookies, the total number of stored cookies to 500, and + the maximum processed size of a cookie to 4096 bytes. - FM +* SGML escape any ampersands or angle brackets in the cookie names, values, + parameters, and comments when creating the HTML stream for the Cookie + Jar Page, and only include entries for comments if they were present in + the servers' Set-Cookie headers. - FM +* Updated the online 'h'elp for cookies. - FM +* Removed -DNO_KEYPAD from all ncurses targets in the Makefile. - FM +01-23-97 +* Added a "Lynx State Management (Me want cookie!)" section to the Lynx + Users Guide, and a cross-linked cookie_help.html file for the Cookie + Jar Page. - FM +* Added prompting for whether to show the body of a 401 status reply or + simply return to the current document when an activated link requires + authentication via a username and password, and the user has none for + that realm, or forgot them. - FM +01-22-97 +* Added handling of expires attribute values in Version 0 (a.k.a. Netscape) + Set-Cookie MIME headers or META tags, and added "Maximum Gobble Date" + entries in the Cookie Jar Page which indicate the maximum intended age + for each cookie based on the Version 0 expires or Version 1 max-age + attribute values. - FM +* Added an LYmktime() function in LYUtils.c which accepts strings in the + format "Day, dd-Mon-yy hh:mm:ss GMT" or "Day, dd Mon yyyy hh:mm:ss GMT", + parses and converts them to time_t format (seconds since 00:00:00 Jan 1 + 1970), and returns the time_t value, or zero if the date is in the + past. It is used for handling Expires headers or attribute values. - FM +* Added parsing of Cache-Control and Expires MIME headers and META tags + sufficient to determine whether the no_cache element should be set in + the document's structures. - FM +* Eliminated the "; $Path=foo; $Domain=blah" attr=value pairs when sending + Version 0 (a.k.a. Netscape) cookies in request headers, because too may + CGI scripts in the real world have brain-dead parsers and fail when they + are included. - FM +* Added handling of Set-Cookie directives in META tags. - AK +01-20-97 +* Added confirmation prompts for deletions from the Cookie Jar, expanded + the garbage collecting for expired cookies, debugged and implemented the + code for security checks based on lead and embedded dots in domain values + and host prefixes as described in Section 4.3.2 of the -05 State Management + draft, added requirement for https URLs (direct, or via proxy) to include + cookies which have the secure flag set in request headers, and extensively + annotated the cookie support code for ease of further development. - FM +* Added ability to set SHOW_CURSOR in lynx.cfg, to override the compilation + setting in userdefs.h, and made the -show_cursor command line switch a + toggle for the compilation or configuration default. - FM +01-18-97 +* Bug fixes and memory leak plugs for the cookie support. Added ability + to delete individual cookies or entire domains via the Cookie Jar Page + (Ctrl-K). The domains and cookies are displayed as DL/DT/DD blocks, + with links for each domain and cookies name. The deletions are done + by activating those links, which can be numbered, so it should be OK + for blind users. - FM +* Tweaks of the news/nntp/snews gateway. - FM +* Tweaks of paragraphing if ADDRESS, BANNER, BLOCKQUOTE, BQ, FN, MARQUEE + or NOTE blocks are nested (note that nesting does not yield progressive + indentations of these blocks). - FM +01-16-97 +* Added "first pass" cookie support based on patches from Andrew Kuchling + (amk@magnet.com). Still needs work (see comments at top of LYCookie.c). + A SET_COOKIE symbol in userdefs.h and lynx.cfg determines whether cookie + support will be on or off by default, and the default can be toggled + via a -cookies command line switch. When on, Set-Cookie headers invoke + confirmations with possible replies of 'Y'es or 'N'o for that cookie, + 'A'lways, to accept all cookies from that domain, or ne'V'er to never + accept cookies from that domain. The Cookie Jar can be examined via + the COOKIE_JAR keystroke command, mapped by default to Ctrl-K. The + Cookie Jar, and any 'A'lways or ne'V'er settings, do not presently + outlast the Lynx session. - FM +01-14-97 +* Added use of DEFAULT_INDEX_FILE or the URL from an -index=URL command + line switch as the the HREF for a banner LINK with REL="Index" and no + HREF of its own (see the 01-01-97 mods and the HTML Banners section of + the Lynx Users Guide). - FM +01-13-97 +* Tweaks of the news gateway. - FM +* Added "Negotiate: trans" header for GET and HEAD requests. Shouldn't + be necessary to get 300 instead of 406 replies when nothing matches + the Accept and Accept-foo request headers, but some HTTP/1.1 servers + apparently want it when the UA declares itself as HTTP/1.0, as Lynx + still does. - FM +01-12-97 +* More updates of the online 'h'elp files. - FM +* Simplified the code for checking whether a startfile is a bookmark file + entered as a URL instead of invoked via the -book switch. The previous + code was tripping up some versions of the osf and linux compilers. - FM +01-10-97 +* Replaced the realloc() in split_line() of GridText.c with a calloc(), + memcpy(), FREE() sequence for all systems, not just AIX and ultrix, + based on analysis of memory wastage by Hans Reiser + (dl9rdz@cip.e-technik.uni-erlangen.de). - FM +* Tweaks of the body= handling in mailto URLs. - FM +* Tweaks of the ftp gateway. - FM +* Restored inheritence when resolving versus a base with the same scheme, + because the RFC1808 and Fielding Draft behavior of not doing so yields + too many failures in the real world (sigh...). - FM +01-09-97 +* Ugh! The distribution zip still had the Nov 4, 1996 HTTCP.c instead of + the one I modified on Christmas. No wonder people were still reporting + the wrong messaging with -DNSL_FORK. The right HTTCP.c is in there + now. - FM +* Mods to resolve the HREFs for LINKs with REV="made" or REV="owner" + versus the base (a many, many year old bug finally caught 8-). - FM +* Added HTAlert messages about BASE HREF vaules, Location header values, + and Refresh URL values that were not received as absolute URLs. We + still resolve them versus the RequestURI, since that's invariably + what is intended, and thus the optimum "error recovery" strategy. - FM +* Added handling of cc= and body= fields in ?searchpart strings of mailto + URLs. They are described in draft-hoffman-mailto-url-00.txt recently + posted to the URI-WG list. This draft ignores the objections which have + been filed about changing the semantics of mailto and breaking clients + which are fully conformant with the mailto specs in RFC1738, instead of + using a new scheme name (e.g., smtp:) for URLs with mail headers, and it + extends the ill-advised use of '&' as puctuation in URLs instead of + honoring the previous IETF effort to seek it's replacement by ';' as the + URL name=value separator and, in effect, treating them as parameters + without need to worry about confusions with entities when the URLs are + attribute values in text/html. However, the chairman of the URI-WG is + a co-author of this draft, so, sigh... As far as this Lynx code is + concerned, the mods are more "error recovery" to cope with the sad things + which have afflicted the Web during the past 2-3 years, and use of a + ?searchpart in mailto URLs is still DISadvised. Lynx uses only subject=, + cc=, and body= fields from a ?searchpart, using it's own "safe" rules for + other mail headers, and ignoring ones other than those three in the + ?searchpart as "unsafe". The cc= values in a ?searchpart are added to + the primary address as a comma-separated list for the mail agent, and + Lynx's own Cc: is that entered, optionally, by the user. Any body= field + is passed to the external editor, if one has been defined, for review and + possible modification. Otherwise, it is scrolled for review. The mailing + can be cancelled at any time (via Ctrl-G), and via a statusline prompt + after everything has been reviewed, if the user judges the body and/or + addresses to be unsafe or inappropriate. - FM +* Moved information and prompt strings in LYMail.c to installer-modifiable + symbols in LYMessages_en.h. - FM +01-07-97 +* Eliminated forced exits for keyboard input buffer overruns on VMS. + There's no perfect way to deal with it, but Lynx should recover + gracefully most of the time now, and do nothing bad if ungraceful. - FM +* Added handling of Content-Base and Content-Location MIME headers when + 'd'ownloading, 'p'rinting, or mailing HTML source. For this, as + for rendered HTML streams (see 01-06-97 mods) the base is determined + according to HTTP/1.1 rules: If a Content-Base header was received, + that's the base. Otherwise, if a Content-Location header was received + and it's an absolute URL, that's the base. Otherwise, the URL used + to retrieve the document is the base. When actually rendering, any + BASE tag in the document overrides the base derived from headers. + When 'd'ownloading, or outputting HTML source for a 'p'rint option, + an X-URL comment with the URL used to retrieve the document and a + BASE tag with the header or URL-derived base are inserted at the top + of the document. These should be moved down into the actual HEAD + section to make the HTML fully legal, but will work as is if the + output is used in conjunction with automatic invocation of Lynx or + Netscape as a text/html helper application. When mailing with an + SMTP-conformant mailer, the actual URL used to retrieve the document + is indicated via an X-URL header, and for HTML source, a Content-Base + and a Content-Location header are included, set to what was actually + received by Lynx via MIME headers, or to the retrieval URL. - FM +01-06-97 +* More updates of the online 'h'elp. The Visited Links Page ('V'), + multi-bookmark file support, REL/REV and META enhancements, and new + switches are now all fully documented in the 'h'elp. - FM +* Added handling of Content-Base and Content-Location MIME headers for + rendered HTML streams (still using the document's URL in the 'd'ownload + and 'p'rint (and mailing) BASE prepending kludge). - FM +* Added code to avoid getting tripped up by double-quoted header values + in HTMIME.c. We still need more sophisticated parsing of possibly + compound HTTP/1.1 headers, but we don't yet use any of those. - FM +* Tweak of the efficiency mods for command line parsing in LYMain.c. - FM +* Simplified some code in LYMainLoop.c that was tripping up the AIX32 + compiler. - FM +01-04-97 +* More updates of the online 'h'elp. - FM +* Added DIRED_MENU support for .tgz files as for .tar.gz files. - FM +01-03-97 +* Made the command line parsing in LYMain.c more efficient. - FM +* Added -nopause switch for setting InfoSecs, MessageSecs, and AlertSecs + to zero. Can be used to eliminate forced statusline pauses during + traversals. - FM +* Mods to allow absolute zero quality values for Accept headers, so that + in mailcap files users can do things like map image/* to a helper app + but exclude particular image subtypes which the app can't handle by + assigning q=0 for that subtype. HTTP/1.1 still specifies 4 significant + figures for quality values, so if the value is non-zero, Lynx still + forces a minimum of q=0.001. - FM +* Typo fixes in lynx.cfg. - LWV +01-02-97 +* Updates of the online 'h'elp files. - FM +* Made the parsing of lynx.cfg in LYReadCFG.c more efficient. - FM +01-01-97 -- Happy New Year! +* More partial/relative HREF resolving enhancements. Everything is now + handled as recommended in Larry Masinter's -03 revision of Roy Fielding's + -02 URL ID, except file and ftp URLs (which Lynx handles as described + in the online 'h'elp ). Note, though, that Lynx handles known schemes + on a scheme-by-scheme basis, and for schemes that involve substitutions + of "/" for a NULL/zero-length path, Lynx inserts the "/" at the resolving + stage, so those slashes are present where the Fielding test suite doesn't + indicate them, but the actual requests sent to servers (or bad URL message + if it's a scheme that requires a host field and doesn't have a default) + will be the same. Note, also, that Lynx sends only the path<?searchpart> + ("absolute path") in it's direct http requests and indicates the host of + the URL in the Host: header, i.e., sends the absolute URL only to proxies. + Note, as well, that Lynx treats a zero-length attribute value for an HREF, + SRC, etc. as a reference to the currently displayed document, but still + uses the base (which might not be the current document's address) as the + default for FORMs without an ACTION specified, or ISINDEX tags without + an HREF or ACTION specified. - FM +* Expanded REL/REV handling. All of the REL values in the (expired) Maloney + and Quin draft-ietf-relrev-00.txt ID which make sense for banner links in + Lynx have been added. For REL="Help" without an HREF in the LINK, Lynx + uses its helpfile URL. For REL="Home" without an HREF in the LINK, it + uses the configuration startfile or WWW_HOME URL (i.e., not a startfile + specified on the command line), or the command line homepage, if it was + specified. - FM +* Added handling of fragments in conjunction with URL expansion guessing for + startfile, homepage and 'g'oto strings. Note that any '#' that is not a + fragment delimiter should be hex escaped (%23), and ideally all reserved + or unsafe characters will be hex escaped in the user-entered string, though + you can get away with not using the hex codes for most others, depending on + their positions in the string. Also note that on VMS if you include the + version for local files it must precede the fragment (e.g., foo.html;3#frag) + as for parameters. - FM +12-26-96 +* Mods of HREF resolving to be more consistent with the latest IETF draft + (http://www.ics.uci.edu/pub/ietf/uri/draft-fielding-url-syntax-02.txt). + Most importantly, lone fragments (HREF="#fragment") are resolved versus + the current document's URL, and no longer versus the BASE, if present. + There are a few things in the draft which are at odds with what virtually + all currently deployed browsers do, and so I stuck with the "deployed" + behavior. Try the tests in http://www.ics.uci.edu/~fielding/url/ to + see where Lynx still differs from the draft. - FM +* Tweaks of 'z'ap handling. - FM +12-24-96 +* Tweaks of DIRED_SUPPORT and make for osf. - FM +12-23-96 +* Added code to check if the startfile has BOOKMARK_TITLE as its title, + and if so, and it's in the bookmark file list, add the bookmark element + and reload to have it treated as if it were invoked with -book. - FM +12-21-96 +* Added code for the DIRED_MENU command ('f' and 'F' by default) to invoke + CSwing on VMS if CSWING_PATH is defined, as explained in userdefs.h and + lynx.cfg . - FM +12-20-96 +* More improvements in the fatal error and memory exhaustion handling, and + plugging of memory leaks. - FM +* Changed "newline" to "Newline" in LYMainLoop.c to deal with another + reported, ill-advised, macro in the AIX 4.2 curses.h. - FM +* More tweaks of lynx.cfg. - FM +12-19-96 +* Improvements in the messaging and cleanups for aborts on fatal errors + and exits on memory exhaustion. - FM +* Worked v2.1 of lpansi.c into the distribution. - FM +* Modified lynx.cfg to reflect the compilation defaults consistently, and + changed the compilation default for SUBSTITUTE_UNDERSCORES to FALSE. - FM +* Changed the "lines" element to "Lines" in the HText structure and the + "tab" structure name to "Tab" to cope with some unwise employee reportedly + using all lower case "lines" and "tab" strings as macros in the AIX 4.2 + curses.h. - FM +12-17-96 +* Restored use of the -l format in the parent links of local Unix directory + listings if LONG_LIST is defined, without the v2.6 bug of creating strange, + trailing relative or escaped strings. As far as I can tell from exercizing + them, the DIRED_SUPPORT and LONG_LIST handling are now fully debugged + (famous last words... 8-). - FM +12-16-96 +* Don't reiterate parent links in local directory listings. They are + offered only in the top, up to parent link if NO_PARENT_DIR_REFERENCE + is not defined. - FM +* Moved more HTML.c functions to LYCharUtils.c. - FM +* Tweak of META handling, which was causing crashes (due to freeing an + anchor structure prematurely in the 12-13-96 mods for moving HTML.c + code to LYCharUtils.c). - FM +* Block Unix relative path strings in lynxexec and lynxprog URLs. - DT +12-14-96 +* Added a COLLAPSE_BR_TAGS compilation and configuration symbol for + determinining whether Lynx collapses serial BR tags. Note that the + valid way to create extra blank lines in HTML is with PRE blocks that + contain only newlines. - FM +* Fixed a longstanding glitch in the alignment handling which could + cause a Paragraph's ALIGN value to cross embebbed blocks, rather than + restoring the appropriate alignment for the outer division or block + on close of the embedded block. - FM +* Modified HR handling so that it inserts the same before and after + spacing regardless of whether P end and/or start tags are present + before and/or after the HR. - FM +* Don't insert the bookmark file description and filepath if multiple + bookmark file support has been turned off, and this is the default + bookmark file (but they will still be inserted if it's not the default, + e.g., if it's another bookmark file viewed before the support was + turned off, and retrieved as a previous document). - FM +12-13-96 +* Added parsing of Content-Disposition in META tags and setting the + suggested file name if file; filename=name.suffix is in the value + of the Content attribute and we don't already have that via a server + header. - FM +* Incorporated almost all globals related to stream parsing and page + display in HTML.c and GridText.c into the HTML object structure and + HText structure to make the parsing and display functions more nearly + re-entrant, and moved several functions from HTML.c to LYCharUtils.c + to reduce the size of HTML.c. - FM +* Added -cckr to the libwww Makefile compiler options for SGI. - Carl + Buxbaum (crb@world.std.com) +* Fixed typo in LYMainLoop.c that affected the 'd'ownload command when + DIRED_SUPPORT is enabled. - FM +12-10-96 +* Implemented Safe header handling and prompting about resubmissions of + forms with method POST along the lines described in the 24-Nov-96 IETF + ID: http://gewis.win.tue.nl/~koen/draft-holtman-http-safe-01.txt + Lynx prompts for confirmation whenever it detects that a resubmission + would occur, unless the previous reply included "Safe: yes". Prompts + always will occur if the -resubmit_post toggle is on (since resubmission + always would occur; not advised). If not toggled on, resubmissions + would occur when no_cache is set or the previous reply has been dumped + from the cache. When using the PREV_DOC command or History Page, if + confirmation is not obtained, Lynx will skip to the yet earlier document, + or cancel, as appropriate. - FM +* Added parsing of the Safe header in HTMIME.c, and added a safe element + to the anchor and document structures. Will be FALSE unless a Safe + header is received that specifies "YES" or "TRUE" (case-insensitive, + only "YES" is in the specs), and applies only to replies from form + submissions with the POST method. - FM +* Cleanup of code in HTAccess.c. May correct problem of crashes for + ISINDEX searches on some systems, though I couldn't reproduce that + problem here. - FM +12-09-96 +* Added an HTSetPresentation() for image/x-xbitmap in HTInit.c when DISPLAY + is set. - FM +* Added an LYOutOfMemory boolean that is set by the outofmem() macro, and + code in the Unix FatalProblem() and VMS exit handler for reporting the + memory exhaustion instead of the misleading "bug" message when they are + invoked due to memory exhaustion. May not be reported reliably for + linux, because for some reason I don't understand, the SIGBUS trapping + is ifdef'ed out for linux in LYMain.c. - FM +* Fixed typo in the new LYAddVisitedLink() in LYHistory.c of yesterday's + mods. - KW +12-08-96 +* Added a VLINKS command, mapped by default to upper case 'V', and code + for creating a list of all links 'V'isited during the current Lynx session + in order of recency (most recent highest in the list). Lower case 'v' is + still mapped to VIEW_BOOKMARKS. The VLINKS listing is complementary to + the History Page listing, and formatted similarly. It excludes POST + replies, and bookmark, menu and list files (use the History Page or + direct keystroke commands for those). It includes any links that were + downloaded, or passed to a helper app (except mailto and newsreply or + newsfollowup links, since those require activation in the original + document for proper inclusion of it in the email message or news + post). You can print the Visited Links Page, or 'd'ownload it via + the History Page. - FM +* Added reporting of the Charset parameter, if present in a server reply + header, META tag, or by virtue of a suffix map, to the showinfo ('=') + display. - FM +12-07-96 +* Added 'p'rint menu support for the History Page. - FM +* Added a content_length element to the anchor structure and use that, + if a Content-Length header has been received, to indicate the total + bytes in the statusline when receiving the stream. - FM +* Include HTTP_ACCEPT_LANGUAGE in the lynxcgi environment. - David Trueman + (david@cs.dal.ca). +12-06-96 +* Many more cleanups and commenting of the code for the benefit of new + developers. - FM +* Tweaks of URL parsing and path simplifications. Added simplification + of the file://localhost paths from startup and 'g'oto guesses. - FM +* More anti-crash protections for bad HTML in SELECT blocks. - FM +* Usability enhancement for DIRED's 'F' menu: list number and names of + (some of) the tagged items, and provide a way to untag all items. - KW +* Force screen refresh after a DIRED system command has failed. - KW +* Modified HTFile.c to handle relative and "Up to parent" links more + effectively. - KW +* Added KEYGEN to the DTD (but no code to do anything with it yet). - FM +12-05-96 +* Fixed typo in the for-Unix section of LYAddPathToHome() that was added + yesterday in LYUtils.c. - James Troup (J.J.Troup@comp.brad.ac.uk) +12-04-96 +* Numerous cleanups and commenting of the LYfoo.c and LYfoo.h modules, + for the benefit of new Lynx developers. - FM +* More security-related enhancements and polishing up of the multiple + bookmark file support. - FM +* Increased the sizes of MAXHIST and MAXLINKS, added statusline messages + should they ever be exceeded (not likely now 8-), and code for freeing + all excess pointers on each page draw instead of letting them grow and + freeing them on exit (should help for memory-limited systems 8-). - FM +* Tweaks of DIRED_SUPPORT. - KW +12-02-96 +* Show nntp server status messages in group listings when not 221 (normal + reply to HEAD request), so the user will know that the articles are + not available from the server, rather than a bug in Lynx. - FM +* Tweaks of BASE resolving. - FM +* Added "trick" to send hostname guesses to stdout when the startfile or + homepage are not URLs, as we send to the statusline for 'g'oto guesses + (but don't use stdout if we are not interactive and the desired output + is going to stdout). If the DNS lookup stalls, one thus can Control-C + out, instead of wondering why Lynx is taking so long to start up. - FM +* Cleaned up the read_rc() and save_rc() functions in LYrcFile.c. - FM +* Eliminated all printw() calls to avoid problems with non-ASCII and/or + multibyte/CJK characters. - FM +* Numerous additional bug fixes and enhancements of the multiple bookmark + file support. - FM +* Got rid of the ADVANCED_MULTI_BOOKMARKS symbol now that the choice can + be made in the 'o'ptions menu and saved in the .lynxrc file. - FM +11-30-96 +* Added the ability to set the advanced mode for multiple bookmarks from + the options menu and save the defaults in the .lynxrc file - HL +* Various typo corrections including one which kept LYMainLoop.c from + compiling under Unix when DIRED_SUPPORT was defined. - HL +11-29-96 +* Numerous additional refinements and enhancements of the multiple bookmark + support. Added support for REFRESH and PREV_DOC in the options and bookmark + menus, and NEXT_PAGE, PREV_PAGE, and ACTIVATE in the bookmark menus or + prompts. Expanded the anchor and document structures to keep track of + different bookmark files in conjunction with VIEW_BOOKMARK, ADD_BOOKMARK, + and DEL_BOOKMARK commands, to restore the proper bookmark files on reloads + (overt, or because the cache was dumped for subsequent documents accessed + via bookmark links), and in conjunction with security-related restrictions. + Multiple bookmark support can be regulated via MULTI_BOOKMARK_SUPPORT, + BLOCK_MULTI_BOOKMARKS and ADVANCED_MULTI_BOOKMARKS symbols in userdefs.h + (or as SITE_DEFS in the Makefile) and lynx.cfg. The multiple bookmark + support can be blocked via a -restrictions=multibook command line switch, + which is also set for -anonymous and -validate. Prompting or display of + the bookmark file selection menu occurs only if bookmark files in addition + to the startup default have been defined (via the B)ookmark command in the + 'o'ptions menu, if mu(L)ti bookmarks has been turned on; the setting and + definitions can be saved in the .lynxrc file). Plugged memory leaks in + the previous implementation of multiple bookmark support. Added code for + inserting the current description and filepath for each bookmark file + dynamically during rendering. - FM +* Another tweak of attribute order in HTMLDTD.c. - KW +11-28-96 +* Tweaked multiple bookmark support to fix an error which was causing a + crash on some systems and incorrect behavior on others - HL +* Tweaked editing of multiple bookmark filenames to correct shifting of + screen between multiple pages - HL +11-26-96 +* Added support for setting the rendering of SELECT OPTIONs as popup menus + versus radio button lists via the 'o'ptions menu, and saving the default + in the RC file. Changed NO_SELECT_POPUPS to USE_SELECT_POPUPS in lynx.cfg + and userdefs.h. The -popup switch still overrides everything. - FM +* Added multiple bookmark support along the lines of the patch from Filip M. + Gieszczykiewicz (filipg@paranoia.com), plus numerous enhancements of the + 'o'ptions menu and bookmark handling. - FM +* Tweaks of attribute orders in HTMLDTD.h and HTMLDTD.c. - KW +11-25-96 +* Updated the "Lynx Enhanced Pages" links to the new "Lynx links" + (http://www.crl.com/~subir/lynx.html) throughout the help, docs, + and code. - FM +11-24-96 +* Modified the ENCTYPE="multipart/form-data" handling to indicate the + Content-Type with charset parameter, when known, within each part + rather than in the main Content-Type header. - FM +* Corrected typo in HTNews.c. - FM +* Added support for setting the suggested filename in 'd'ownload and + 'p'rint options based on the Content-Disposition header if it included + the string file; filename=name.suffix in its value. Can be used by + CGI scripts to set the suggested filename for saves to disk, downloads + or mailings of the script's reply body, so it won't be the last symbolic + element in the path field of the form's ACTION (which is normally the + the script, itself, or a PATH_INFO element, and thus misleading). - FM +* Tweaks of change_sug_filename() in LYUtils.c for better handling of + gzipped files on VMS. - FM +11-23-96 +* Added reporting of the Server, Date and Last-Modified headers, if present + in server replies, to the showinfo ('=') display. - FM +* Added the ability to store the NO_SELECT_POPUPS in the .lynxrc, but the + .lynxrc must be edited manually until the options handling is converted + to a form-like interface that accommodates more options. For now, select + 'O'ptions and write out the options with '>' to create a block in .lynxrc + with an explanation of the switch. The switch is "select_popups" and + can have the values of "on", "off", or nothing. If nothing, the default + set in userdefs.h or lynx.cfg will persist. Otherwise, "on" will set use + of popups and "off" will set use of radio buttons as the default. The + startup default always can be toggled via the -popup switch. - HL & FM +* Corrected a couple of typos in the help files. - HL +11-22-96 +* Added support for WHEREIS ('/') and 'n'ext searches within SELECT popups. + The buffering for 'n'ext is separate from that in the main loop (i.e., + for non-form field document searches), but all previously entered search + strings are still combined into a circular buffer and can be accessed via + the up-arrow or down-arrow keys at the prompt for a search string. The + searches within popup menus do not yield highlighting of the search string, + but simply positioning of the cursor on successive options which contain + the search string. - FM +* Added support for all of the navigation commands within SELECT popup + windows, including HOME, END, UP_TWO, DOWN_TWO, UP_HALF and DOWN_HALF, + in addition to the single line and paging navigation commands. - FM +* Added support for the REFRESH command within SELECT popup windows. - FM +* Tweak of hookless snews handling. - FM +11-21-96 +* Added handling of forms with ENCTYPE="multipart/form-data". Note that + we still don't support INPUTs with TYPE="file" or TYPE="range", and + thus still set the DISABLED attribute for all fields in the form if + either of those two TYPEs are present in it. - FM +* Tweak of -mime_header handling. - FM +* Typo fixes of comments in HTML.c. - Albert S Woodhull + (aswNS@hamp.hampshire.edu) +11-20-96 +* Added a NO_SELECT_POPUPS compilation (userdefs.h) and configuration + (lynx.cfg) definition, normally set FALSE. If set TRUE, single-choice + SELECT blocks (i.e., ones without the MULTIPLE attribute) will be handled + as a list of radio buttons instead of via a popup window. Also added a + -popup command line switch for toggling the compilation or configuration + setting. - FM +11-18-96 +* Tweak of LYFindEndOfComment() in LYCharUtils.c. - Brian Borowski + (brianb@braille.uwo.ca) +11-17-96 +* Added links to the lynx-dev hypertext archive at FLORA in the online + 'h'elp. - FM +* Tweaks of my_spawn() in LYLocal.c. - KW +11-16-96 +* Added support for use of the 'd'ownload command on TYPE="submit" and + TYPE="image" submit buttons. You still must use the History Page for + TYPE="text" INPUT fields that also act as submit buttons by virtue of + being the only non-hidden field, because the 'd'ownload command key + could be a text entry into the field, and thus must be treated as + such. - FM +11-15-96 +* Mods of HTFormat.c and HTTP.c for better handling of unexpected server + disconnects. - FM +11-13-96 +* Wind down the element stack on EOF if any unclosed tags were received. - FM +* Fixed typos in the HTMLDTD.c BODYTEXT definitions. - FM +11-10-96 +* More tweaks of hook-less snews handling. - FM +* Changed the default STARTFILE to http://lynx.browser.org/ and the default + HELPFILE to the v2.6 set at NYU in userdefs.h and lynx.cfg. - FM +* New function HTUnEscapeSome() in HTParse.c for unescaping selected + characters in a string.. - KW +* Numerous changes to make DIRED_SUPPORT work as intended, to use the + library's HTList functions and macros for managing the list of tagged + file URLs, and to keep track of proper levels of URL escaping so that + unusual filenames which contain #% etc. are handled properly. Can now + edit, move, etc. Abc%25252525def.html, #xy#~, etc. - KW +11-09-96 +* Treat 301 or 302 redirection of a POST as 303 when the Lynx process is + non-interactive, rather than rejecting the redirection, since 303 is + still most likely what the CGI script actually intends (will still + prompt if the process is interactive). - FM +* Added parsing and trace mode reporting of Content-Disposition headers + in HTMIME.c (should be used, someday, to set the suggested file name + for disk saves and downloads based on any filename=foo.blah field). - FM +* Further mods of HTNews.c to facilitate use of Lynx without SSL-hooks + in conjunction with an SSL-capable daemon/proxy for snews URLs that + returns NNTP streams for Lynx itself to convert into HTML, instead + of already converted streams as from a standard proxy. - TZ & FM +11-08-96 +* Changed information returned by "-version" in LYMain.c to point to + lynx.browser.org and added a date to the copyright info. - HL +11-07-96 +* Mods of HTNews.c to facilitate use of Lynx without SSL-hooks in + conjunction with an SSL-capable daemon/proxy for snews URLs. - TZ +11-05-96 +* Typo fixes in HTMIME.c. - KW +* Tweak of NSL_FORK mods. - FM +11-04-96 +* Tweaks of host parsing when a password and/or username is present + in override_proxy() of HTAccess.c. - FM +* Tweaks of the UNDERSCORES and STARS macro setup and useage to avoid + possible crashes for FORMs with long values. - FM +* Worked in Tom Zerucha's (tz@execpc.com) code for fork-based name + server lookups that can be 'z'apped. May not yet be portable to + all flavors of Unix. Add -DNSL_FORK to your SITE_LYDEFS to try + it. - FM +11-02-96 +* Fixed typo in HTAlert.h. - FM +* Cleaned up HTTCP.c code, simplified some of its spaghetti + ifdef'ing, and worked in mods to bypass connection confirmations + when Lynx is SOCKSified and the socks_flag is set. - FM +* Added recognition and acceptance of text/x-sgml and text/sgml + MIME types (all that I've encountered thus far work fine with + Lynx, though it doesn't yet interpret marked sections). - FM +* Added socket function prototypes for MultiNet in tcp.h. - FM +* Mods to facilitate application of the SSL patches (after some + corrections in the patches to keep HTLoadHTTP re-entrant, make + CONNECT work as intended again, and eliminate memory leaks in + the SSLeay adaption) - FM +* Adding info about -DNO_TTYTYPE in top level Makefile. - FM +* Use clrtoeol() in LYOptions.c to ensure that no terminals which use + reverse video for standout() will have trailing reverse fields on + edits of option vaules. - DK +* Offer user@host instead of WebMaster@host for the 'c'omment command + if the path for the URL begins with a tilde and there is no + LINK REV="made" present. - FM +* Tweaks of inews Makefile and clientlib.c. - Christopher R. Maden + (crm@ebt.com) +* Check nhist before attempting a DIRED_SUPPORT directory listing in + LYShowInfo.c. - KW +10-21-96 +* Offer WebMaster@host for the 'c'omment command if no LINK REV="made" + was present in a text/html document, and save a known owner URL when + toggling to source ('\') so that the 'c'omment command can still be + used with that owner's (mailto or homepage) URL, but the source can + be included in the comment, as would be desireable (instead of a bad + rendering) when sending a comment about bad HTML in the document. - FM +10-20-96 +* Added code for traversing the pseudo-documents created for client-side + image MAPs. See the updated CRAWL.announce for more information. - FM +10-19-96 +* Added definitions in LYCurses.h relating curses function calls to slang + functions or emulations for compatibility with new versions of slang, + based on patch from John E. Davis (davis@space.mit.edu). - FM +* Added unescaping of the full address fields in mailto URLs or ACTIONs, + and improved the reliability of the parsing of the subject header from + the ?searchpart Netscapism when present. - FM +* Give user option to use 303-like coversion of POST to GET in confirmation + requests for redirection of POSTs, base on patches from Drazen Kacar + (dave@fly.cc.fer.hr). - FM +* Tweaks of POST content submissions in HTTP.c, based on patch from + KW. - FM +* Fixed EOF checks in HTAAFile.c, HTGroup.c and HTPasswd.c, and improved + host address parsing in HTTCP.c, based on patches from Larry Schwimmer + (schwim@cyclone.stanford.edu) and Klaus Weide (kweide@tezcat.com). - FM +* Added targets for umaxv and umaxv-slang for Encore's UMAXV - Thanh Ma + (tma@encore.com) +10-16-96 +* Send the rendering of decompressed files to stdout with -dump, don't + spawn a viewer under any circumstances if -dump was used instead of + -source for Content-Types that are not text/html, and remove the + temporary decompressed files before exiting with -dump or -source. - FM +* Properly handle TYPE="radio" versus TYPE="checkbox" INPUTs with NULL + or zero-length VALUEs. - FM +* Added a continuation line token for the netbsd-ncurses target - HL +* Fixed a typo in HTMIME.c in the trace output - HL +* Block predictable buffer overrun in GridText.c if a page has more + than MAXLINKS links in it. - FM +10-01-96 +* Add a Mime-Version header to the other headers in LYPrint.c so that the + 09-20-96 mods for mailing source do what they were intended to do. :) - + Hamish MacEwan (macewanh@diatp.dia.govt.nz) +09-20-96 +* Add a BASE tag to the tops of HTML source files, a la Netscape, when + mailing or downloading, and don't worry, for now, if that creates + technically invalid HTML (since Lynx copes with it as of the 09-15-96 + mods 8-). - FM +* Include Content-Type, Content-Location and Content-Base headers when + mailing HTML source on Unix. - FM +* Use .txt versus .html suffixes when submitting rendered versus HTML source + temporary files to VMS MAIL, so that transports such as PMDF will indicate + the appropriate Content-Type. - FM +09-17-96 +* Handle illegally positioned BASE tags. - FM +* Tweak of Q nesting level checks. - Pawel Wiecek + (coven@i17linuxb.ists.pwr.wroc.pl) +* Fixed typo in HTMIME.c for parsing of Pragma header. - Wilson Cheung + (wcheung@netcom.com) +* Added parsing of Set-Cookie header in HTMIME.c (see IETF ID + http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-mgmt-03.txt + for info on how to implement it's use). - FM +* Fixed typo in LYMainLoop.c for display of error message when up arrow is + pressed at the top of a document. - Hiram Lester, Jr. (hwlester@pobox.com) +09-16-96 +* Use standard ls -l parsing of LIST output for Windows_NT ftp servers in + Lynx v2.6 as in v2.5. - FM + +--- Rename of Lynx2-5FM and release as Lynx2-6 (02-Sep-1996) --- + (see CHANGES2-6, CHANGES2-5, CHANGES2-4 and CHANGES2-3) +============================================================================== diff --git a/docs/CHANGES.chartrans b/docs/CHANGES.chartrans new file mode 100644 index 00000000..d7bd8d7d --- /dev/null +++ b/docs/CHANGES.chartrans @@ -0,0 +1,204 @@ +$Id: CHANGES.chartrans,v 1.1 1997/09/07 17:04:10 tom Exp $ +$ProjectHeader: Lynx 2.7.1ac-0.89 Mon, 27 Oct 1997 12:05:04 -0700 kweide $ + +1997-09-06 + Lynx 2.7.1ac-0.61 + Several new translation tables have been added or modified recently, + associated code changes. +1997-07-25 + Lynx 2.7.1ac-0.42 +* Map charsets of the form "ibmNNN<...>" to "cpNNN<...>" in UCdomap.c + if not already recognized. Also recognize "windows-1252". +1997-07-17 + Lynx 2.7.1ac-0.35 +* Since 1997-06-29 the chartrans code (with minor changes; most relating + to functions in LYStrings.c) is part of Foteos Macrides's "fotemods" + to Lynx 2.7.1. This code ("developmet code") has been compared against + fotemods. Some functions renamed to FM's names. +* Now also include FM's recognition of &xnnnn; character references. + In general more detailed change info can be found in CHANGES.new. +1997-05-15 + Lynx 2.7.1wb+ct-0.26 +* Mods in LYMainLoop.c to not force a cache refresh on a proxy any more + when INLINE_TOGGLE, IMAGE_TOGGLE, RAW_TOGGLE are used. On the other + hand, do force a proxy cache refresh after one of the variables relevant + for content negotiation `language' or `pref_charset' has been changed + from the Options screen, if the current document is from a http, https, or + lynxcgi resource. +* Set HTTP_ACCEPT_CHARSET environment variable for the child process in + LYCgi.c if pref_charset is not NULL. +* Write a META tag with the current display character sets to + the files generated for Bookmarks, List, Info, History, and Visited Links + pages, so title strings contained in those files will (hopefully) not + get erroneously translated again. Use new function add_META_charset_to_fd() + in LUCharUtils for this purpose. +* makeuctb now sets RawUni to UCT_ENC_8BIT if not otherwise set + and if there are char values above 127. +* Change in HTuncache_current_document() to prevent caching of + UCStages info which should be discarded. Still allow caching for this + in the node_anchor for source display, so that a META tag in the parsed + HTML can influence the display after using the SOURCE '\' key. - KW +* Changed display_title() in GridText.c to not rely on sprintf() to get + the number of blanks right. There were problems with C1 characters. +* Added new lynx.cfg symbols ASSUME_CHARSET, + ASSUME_LOCAL_CHARSET, and ASSUME_UNREC_CHARSET. They are only + recognized if compiled with -DEXP_CHARTRANS. They correspond to the + command line options -assume_charset, -assume_local_charset, and + -assume_unrec_charset. + The default for ASSUME_CHARSET is iso-8859-1 (corresponding to display + character set "ISO Latin 1"). If no ASSUME_LOCAL_CHARSET is set, + the explicit or default value for ASSUME_CHARSET will also be used for + local files. ASSUME_UNREC_CHARSET has no default. See added text + in lynx.cfg. +* Changes in LYCharSets.c to HTMLSetCharacterHandling() and + HTMLSetUseDefaultRawMode() to support (hopefully) more consistent + and user-friendly handling of raw mode and its default. + +1997-05-03 + Lynx 2.7.1wb+ct-0.20 + Now always check for LYlowest_eightbit[current_char_set] + near the top of HText_appendCharacter(), to prevent writing C1 control + chars to the terminal if they are not valid as displayabable characters + according to the selected "display character set" Option. + All this should be handled earlier in processing, and this check may + disappear again for testing, but somebody asked for it... + Slightly updated some doc files. + +1997-04-12 + Lynx 2.7.1wb+ct-0.11 + Added TRACE output to UCAuto.c + Changes in LYMail.c and LYPrint.c to send Content-Transfer-Encoding + header and/or charset parameter in mail + +1997-04-08 + Lynx 2.7.1wb+ct-0.3 + New translation tables def7_uni and koi8r_uni. Use them. + Table def7 is based on RFC1345 and mnemonic,ds from ftp://dkuug.dk/i18n/ + and previous Lynx replacements in LYCharSets.c and some IPA FAQ + convention and stuff for Ethiopic and KOI8-R. It maps many of + the accented Latin characters to their unaccented counterparts. + Make def7_uni default table and associate it with us-ascii and + "7 bit approximations". + Lots of new entities from Hynek Med finally integrated. + Those include ascii characters and characters common between + Latin1 and Latin2. Let's see what happens. + Added mappings for some "smart quote" characters to several + translation tables. + Make makeuctb slightly more flexible (accept Unicode range for + mapping to single code point). + Also changes for Đ, ETH;, and ð in LYCharSets.c. + These are basically just data changes; code still hasn't progressed + much, so for example translation of ALT strings (from anything but + iso-8859-1) still doesn't work. + +1997-03-20 + Lynx 2.7ac-0.20 + merged with FM's 27bugfixes up to 1997-03-20 + +1997-03-20 + Lynx 2.7ac-0.9 + merged with FM's 27bugfixes up to 1997-03-17; adapted part of + FM's change re trademark character to the present chartrans code, + as follows: +* Modified SGML.c to handle the numeric character reference ™ as + the named entity ™ also in the non-chartrans case. The + trademark character (given by ™ or ™) will be shown as + "(TM)" as the ASCII substitution unless the current display character + has a code point for the trademark character or unless overridden by a + chartrans translation table. The code of 1997-02-25 prevented showing + the trademark sign as "(R)" but did not work in all non-chartrans + cases. - KW + +1997-03-12 + Lynx 2.7ac-0.6 + some doc changes, make compilation in src/chrtrans less verbose, + no more *.h_old backup copies. + +1997-03-12 + Lynx 2.7ac-0.5 + patch from Tom Dickey for refinement of SVr4 (ncurses) color support + +1997-03-11 + Lynx 2.7ac-0.4 + New patches from Wayne for Win32/DOS applied. + +1997-03-11 + Lynx 2.7ac-0.3 + today's 27bugfixes also merged in. + +1997-03-11 + Lynx 2.7ac-0.2 +* Merged code from Thomas E. Dickey and Jim Spath for auto configuration + and simple (SLang-like) curses color, which was based on 2.7wb+ct-0.4, + with 27bugfixes up to 1997-03-10. + +1997-03-03 + Lynx 2.7wb+ct-0.4 +* (chartrans) Minor cleanups (makeuctb.c, chrtrans/Makefile, HTPlain.c) + to enable successful compilation on Win32. + Also changes and new files from Wayne to fix FTP and enable Mail for Win32, + and to compile chartrans code. + +1997-03-03 + Lynx 2.7ct-0.8 + Lynx 2.7 chartrans + 27bugfixes up to 1997-03-02 + +1997-02-28 + Lynx 2.7ct-0.7 + Lynx 2.7 chartrans + 27bugfixes up to 1997-02-28 + small correction in SGML.c (set_chartrans_handling) + +1997-02-27 + Lynx 2.7ct-0.6 + Lynx 2.7 chartrans + 27bugfixes up to 1997-02-26 + +1997-02-26 + Lynx 2.7ct-0.5 + minor tweaks for packaging + +1997-02-26 + Lynx 2.7ct-0.4 + Ok, now really remove local configuration changes (for distribution)... + +1997-02-25 + Lynx 2.7ct-0.3 + merged with Fote's 27bugfixes up to 1997-02-25 + +1997-02-25 + Lynx 2.7ct-0.2 + Removed some local changes from userdefs.h and Makefile. + Mapping of U+fffd (replacement) to 0x00 removed from the used + iso0x table files. + +1997-02-25 + Lynx 2.7ct-0.1 + Update to work with official Lynx 2.7 distribution. + Add showing of effective charset in LYShowInfo.c even if not explicitly + given. + No showing of (TM) as (R) any more - mostly changes in LYCharUtils.c + (but these are independent of the chartrans stuff, translation routines + in LYCharUtils.c still not chartrans-ified). + Prefer HTTP-EQUIV over NAME in META tags. + Start managing changes with PRCS - the Project Revision Control System. + +1996-12-01 + lynx-patch-2.6ct-0.2.pch + Update to work with 11-30-96 Composite Patch. + Two new translation tables: cp852, windows-1250. + Compiling without -DEXP_CHARTRANS now also works... but one still has to + manually remove (comment out) first line of src/Makefile for that. + Minor changes to README files, this file. + +1996-11-29 + add-to-cp-2.6ct-0.1a.zip - install over Lynx2.6 + 11-28-96 CP. + Full files no diffs. + add-to-offi-2.6ct-0.1a.zip - install over Lynx2.6 to get 11-28-96 CP + + chartrans. Full files, no diffs. + + lynx-patch-2.6ct-0.1a.pch + Update to work with 11-28-96 Composite Patch. + +1996-11-28 + lynx-newfiles-2.6ct-0.1.{zip,tar.gz}, lynx-patch-2.6ct-0.1.pch + First packaged and announced. Works with 11-24-96 Composite Patch + from Hiram Lester. diff --git a/docs/INSTALLATION.old b/docs/INSTALLATION.old new file mode 100644 index 00000000..a73294e3 --- /dev/null +++ b/docs/INSTALLATION.old @@ -0,0 +1,399 @@ +For a description of Lynx please read the README file. + + Lynx Installation guide. + + Last Updated February 1997 + +UNIX & VMS Step 1a. + Most of the variables that you are likely to change are in the + userdefs.h file. There are a few that you must change or verify, + and a few more that you will probably want to change. The variables + that must be changed are marked as such in the userdefs.h file. + Just edit it and the changes should be straight forward. You also + should check LYMessages_en.h for tailoring the Lynx statusline + prompts, messages and warnings to requirements of your site. + + NOTE: Many of the variables in userdefs.h are now configurable in + the lynx.cfg file. Please read the lynx.cfg file as well. + Also see the example mime.types, mailcap and jumps files + in the samples subdirectory. + +UNIX & VMS Step 1b. (optional) + Set up local printers and downloaders + in the lynx.cfg file. (see lynx.cfg for details) + +UNIX & VMS Step 1c. (optional) + If your system requires the PASV FTP code instead of + the standard PORT FTP code (e.g., to deal with a + firewall) then edit WWW/Library/Implementation/HTFTP.c + and comment out line 43 like so: + /* #define LISTEN /* @@@@ Test LJM */ + On Unix you can define NOPORT in the top Makefile instead + of changing HTFTP.c + +UNIX Extra Step: !! CONFIGURATION !! + There now is a configure script which takes care of system-dependent + setting automatically. See the file README.configure for more details. + You may want to run "./configure --help" first to see what flags are + available. + + Run configure, eg "./configure", and + wait while it figures out what software is on your + computer, what type of computer and operating system + you have, etc, and then finally uses makefile.in + to produce the makefile that will get used when + you finally (later on) say "make". + + The rest of this file has not yet been updated for installation with + the configure script. The information in README.configure is newer + and should be consulted. In particular UNIX Steps 1f and 2 below should + not be necessary on most systems after "./configure" has been run + (running "make" is of course still required, but it does not reqire + specifying a system type). Other points mostly still apply. If you + need or want to make manual change in addition to the auto configuration, + note that "makefile" is now used instead of "Makefile". + +UNIX Step 1d. (WAIS support is built into Lynx for VMS, skip to step 1e) + Adding Direct WAIS support. + Get the freeWAIS distribution from: + ftp://ftp.cnidr.org/pub/NIDR.tools/freewais + and compile it. The compile process will create some libraries, you will + need wais.a and client.a. Edit the Makefile in the top level directory + and add the library locations under the DIRECT WAIS ACCESS heading. + Edit the Makefile for the WWW Library in the + WWW/Library/Implementation/CommonMakefile to make the WAIS.c sources + in the library. If everything goes well you should + be able to make and have direct WAIS access. + +UNIX & VMS Step 1e. + Adding NEWS support. + To set your site's NTTP server as the default host for news reading + and posting via Lynx, set the environment variable NNTPSERVER so that + it points to its Internet address (see Step 5). + + For news posting ability to be enabled in Lynx, in userdefs.h (and + optionally in lynx.cfg) the NEWS_POSTING symbol must be defined to + TRUE. Also define LYNX_SIG_FILE in usersdefs.h or lynx.cfg so that + it points to users' signature files for appending to posted messages. + For the Organization: header in news postings, Lynx checks for an + ORGANIZATION or NEWS_ORGANIZATION environment variable. On Unix, + Lynx also checks for an /etc/organization file. + +UNIX Step 1f. (Sun systems) + Sun resolv library. + On Sun systems you may need to define RESOLVLIB in the top Makefile + to enable access to remote hosts. See the comments in the Makefile + and PROBLEMS file for more information. + +VMS Step 1f. + Downloading binary files. + Lynx must handle all IO as streams, and on VMS, output files are always + created with Stream_LF format via the C RTL's fopen(). The file headers + indicate Implied Carriage Control, even when the transfer was in binary + mode, which can confuse downloading software and cause corruption of + the file contents. To deal with this, you should define the symbol + USE_FIXED_RECORDS as TRUE in userdefs.h and/or lynx.cfg. This will + instruct Lynx to correct the header information to indicate FIXED 512 + records, with No Implied Carriage Control. If Lynx fails to do the + conversion (because the file wasn't mapped to a binary MIME type) you can + execute FIXED512.COM externally to correct the header information. The + command file uses Joe Meadow's FILE utility, or the SET FILE/ATTRIBUTES + command on current versions of VMS, to modify the headers. See the + comments in FIXED512.COM, userdefs.h and lynx.cfg for more information. + + +UNIX Step 2. + VMS users skip to 'VMS step 2' + + Check the top level Makefile for any site-specific definitions + you require or desire. Then, you should be ready to compile! + + If you type "make" with no arguments you will see a list of + supported systems. If your system type IS listed you just + need to type "make SYSTEM_TYPE". For instance, if you are + running under IBM's RS/6000 AIX 3.2 you would just type + "make aix32". If you were running Ultrix you would type + "make ultrix". + + If you are on a SUN workstation and do not have 'gcc' you + may change 'gcc' to '/usr/5bin/cc' in the Makefile + + If you are on a system that is not listed in the makefile it may be + more difficult. The first thing you should try is just "make generic", + this will compile with the "fancy_curses" option, and will give a much + nicer screen display. If it doesn't compile or if the screen display + looks strange (real strange), try compiling with the "low_curses" option. + Edit the Makefile and remove the '-DFANCY_CURSES' definition under the + 'generic:' entry. There may be some compatibility problems on some + systems, but we don't know what they might be at this point. If you + are running on a currently unsupported system please contact us via + the lynx-dev email list (see RELEASE_STATEMENT). If there are any + problems we will try to fix them as soon as possible. + +VMS step 2. + Lynx uses the VMS port of gzip for uncompressing streams which have + Content-Encoding headers indicated compression with gzip or the + Unix compress. If you do not have gzip installed on your system + you can get it from ftp://ftp.wku.edu/ in the fileserv directory. + The command Lynx uses to uncompress on VMS is "gzip -d". + + If you are using the SOCKETSHR library, read SOCKETSHR.announce and + make sure you have defined SOCKETSHR and SOCKETSHR_LIBRARY as explained + therein. + + A "build.com" and "build-slang.com" script for building Lynx with curses + or slang is in the top level directory. All you have to do is type + "@build" or "@build-slang" and answer its prompt for your system's TCP-IP + software. Current choices are: + MULTINET (default) + UCX + WIN_TCP + CMU_TCP + SOCKETSHR_TCP + TCPWARE + It will autosense whether you have VAXC, DECC or GNUC on VAX or AXP + and build appropriately. If a WWWLib already exists for that TCP-IP + software, it will prompt you for whether you want to rebuild it. If + you want to build a WWWLib separately, you can type "@libmake.com" + with your default directory set to [.WWW.Library.vms] instead doing + it via "build.com" in the top directory. You may need to modify + "build-slang.com", as described in its header, so that it can find + slang.olb on your system. If you have both DECC and VAXC, it will + use DECC to benefit from the newer and more efficient memory management + functions. + + (optional compilation method) + If you have and want to use MMS, read the header of descrip.mms + in the top directory and be sure you include the appropriate macro + definitions when you invoke it: + $ MMS /Macro = (MULTINET=1) for VAXC - MultiNet + $ MMS /Macro = (WIN_TCP=1) for VAXC - Wollongong TCP/IP + $ MMS /Macro = (UCX=1) for VAXC - UCX + $ MMS /Macro = (CMU_TCP=1) for VAXC - OpenCMU TCP/IP + $ MMS /Macro = (SOCKETSHR_TCP=1) for VAXC - SOCKETSHR/NETLIB + $ MMS /Macro = (TCPWARE=1) for VAXC - TCPWare TCP/IP + + $ MMS /Macro = (MULTINET=1, DEC_C=1) for DECC - MultiNet + $ MMS /Macro = (WIN_TCP=1, DEC_C=1) for DECC - Wollongong TCP/IP + $ MMS /Macro = (UCX=1, DEC_C=1) for DECC - UCX + $ MMS /Macro = (CMU_TCP=1, DEC_C=1) for DECC - OpenCMU TCP/IP + $ MMS /Macro = (SOCKETSHR_TCP=1,DEC_C=1) for DECC - SOCKETSHR/NETLIB + $ MMS /Macro = (TCPWARE=1, DEC_C=1) for DECC - TCPWare TCP/IP + + $ MMS /Macro = (MULTINET=1, GNU_C=1) for GNUC - MultiNet + $ MMS /Macro = (WIN_TCP=1, GNU_C=1) for GNUC - Wollongong TCP/IP + $ MMS /Macro = (UCX=1, GNU_C=1) for GNUC - UCX + $ MMS /Macro = (CMU_TCP=1, GNU_C=1) for GNUC - OpenCMU TCP/IP + $ MMS /Macro = (SOCKETSHR_TCP=1,GNU_C=1) for GNUC - SOCKETSHR/NETLIB + $ MMS /Macro = (TCPWARE=1, GNU_C=1) for GNUC - TCPWare TCP/IP + + If you just type "MMS" it will default to the MULTINET and VAXC + configuration. MMS will build the WWW library and Lynx sources, + and link the executable. However, not all of the header dependencies + are specified. If you are not a developer, and need a clean build, + you should use build.com instead of the MMS utility. + + If you want SOCKS support on VMS, you must add SOCKS as a compilation + definition, and the SOCKS library to the link command. However, instead + of SOCKSifying Lynx for use behind a firewall, you are better off if you + build Lynx normally, and set up Lynx to use a proxy server (see below). + You instead can SOCKSify the proxy server, and it will handle all clients, + not just Lynx. + + +UNIX Step 3. + Go ahead and test it out with the about_lynx/about_lynx.html file. + You shouldn't need to install Lynx to test it. + Once you are satisfied that it works, go ahead and install it. + + VERY IMPORTANT!!!!! + If you are setting up an anonymous account with Lynx you + are strongly advised to use the -anonymous command line + option. If you do not use this option, users may be able + to gain access to all readable files on your machine. + ALSO NOTE that many implementations of telnetd allow passing + of environment variables, which might be used by unscrupulous + people to modify the environment in anonymous accounts. When + making Lynx and Web access publicly available via anonymous + accounts intended to run Lynx captively, be sure the wrapper + uses the -cfg switch and specifies the startfile, rather than + relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables. + +VMS Step 3. + Go ahead and test it out with the [.about_lynx]about_lynx.html file. + You shouldn't need to install Lynx to test it. + Once you are satisfied that it works, go ahead and install it. + + VERY IMPORTANT!!!!! + If you are setting up an anonymous account with Lynx you + are strongly advised to use the -anonymous command line + option. If you do not use this option, users will be able + to gain access to all readable files on your machine. + ALSO NOTE that some implementations of telnet allow passing + of environment variables, which might be used by unscrupulous + people to modify the environment in anonymous accounts. When + making Lynx and Web access publicly available via anonymous + accounts intended to run Lynx captively, be sure the wrapper + uses the -cfg switch and specifies the startfile, rather than + relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables. + + +UNIX Step 4. (Installation) + Lynx is very easy to install, if you want Lynx installed anywhere + besides "/usr/local/bin", with the man files in "/usr/man/man1", you + need to edit the Makefile and change the "exec" and "doc" defines. + Otherwise just "su" to root and type "make install" and make will + copy "lynx", "lynx.cfg" and "lynx.1" to the specified directories. + Those are the only two files necessary to run Lynx. + lynx.1 isn't really necessary, but it should be available. + lynx.cfg isn't absolutely necessary either but is the only way + to configure printers and downloaders (and uploaders if DIRED_SUPPORT + is implemented), so it is highly recommended. + Also check out the mailcaps, mime.types and jumps file samples in the + samples directory. + +VMS Step 4. + You need to have the executable in a public place, make it accessible, + define it as a foreign command, and copy lynx.cfg to "Lynx_Dir". Look + at lynx.com in the samples directory as a model for installing Lynx. + Also check out the mailcaps, mime.types and jumps file samples in the + samples directory. To include lynx.hlp in the system HELP library, + use the command: + + $ library/replace sys$help:helplib.hlb lynx.hlp + + +UNIX and VMS Step 5. + Lynx uses some environment variables to regulate it's behavior. + + The variable "NNTPSERVER" is used to specify the host which will + be used as the default for news URLs. + + UNIX + setenv NNTPSERVER "news.server.dom" + + VMS + define/system NNTPSERVER "news.server.dom" + + + The environment variables "ORGANIZATION" or "NEWS_ORGANIZATION", if set, + will be used for the Organization: header in news postings. + + + The environment variable "LYNX_CFG", if set, will override the default + location and name of the global configuration file (lynx.cfg) that was + defined via the constant "LYNX_CFG_FILE" in userdefs.h. See userdefs.h + for more information. + + + The environment variable "LYNX_TEMP_SPACE", if set, will override the + default path prefix for temporary files that was defined via the constant + "TEMP_SPACE" in userdefs.h. See userdefs.h for more information. + + + The environment variable "LYNX_SAVE_SPACE", if set, will override the + default path prefix for files saved to disk that was defined via the + constant "SAVE_SPACE" in lynx.cfg. See lynx.cfg for more information. + + + The variable "WWW_HOME", if set, will override the default startup + URL specified in any of the configuration files. + + + Lynx still supports use of gateway servers, with the servers specified + via the variables "WWW_access_GATEWAY", where "access" is lower case + and can be "http", "ftp", "gopher" or "wais". Most of the gateway + servers have been discontinued, but "http://www.w3.org:8001" is + available for wais searches (note that you do not include a terminal + '/' for gateways, but do for proxies; see below). + + + Lynx version 2.2 and beyond supports the use of proxy servers that can + act as firewall gateways and caching servers. They are preferable to + the older gateway servers. Each protocol used by Lynx can be mapped + separately using PROTOCOL_proxy environment variables of the form: + + UNIX + setenv http_proxy "http://some.server.dom:port/" + setenv https_proxy "http://some.server.dom:port/" + setenv ftp_proxy "http://some.server.dom:port/" + setenv gopher_proxy "http://some.server.dom:port/" + setenv news_proxy "http://some.server.dom:port/" + setenv newspost_proxy "http://some.server.dom:port/" + setenv newsreply_proxy "http://some.server.dom:port/" + setenv snews_proxy "http://some.server.dom:port/" + setenv snewspost_proxy "http://some.server.dom:port/" + setenv snewsreply_proxy "http://some.server.dom:port/" + setenv nntp_proxy "http://some.server.dom:port/" + setenv wais_proxy "http://some.server.dom:port/" + setenv finger_proxy "http://some.server.dom:port/" + setenv cso_proxy "http://some.server.dom:port/" + + VMS + define "http_proxy" "http://some.server.dom:port/" + define "https_proxy" "http://some.server.dom:port/" + define "ftp_proxy" "http://some.server.dom:port/" + define "gopher_proxy" "http://some.server.dom:port/" + define "news_proxy" "http://some.server.dom:port/" + define "newspost_proxy" "http://some.server.dom:port/" + define "newsreply_proxy" "http://some.server.dom:port/" + define "snews_proxy" "http://some.server.dom:port/" + define "snewspost_proxy" "http://some.server.dom:port/" + define "snewsreply_proxy" "http://some.server.dom:port/" + define "nntp_proxy" "http://some.server.dom:port/" + define "wais_proxy" "http://some.server.dom:port/" + define "finger_proxy" "http://some.server.dom:port/" + define "cso_proxy" "http://some.server.dom:port/" + (Encase *BOTH* strings in double-quotes to maintain + lower case for the PROTOCOL_proxy variable and for + the http access type; include /system if you want + proxying for all clients on your system.) + + If you wish to override the use of a proxy server for specific hosts or + entire domains you may use the "no_proxy" environment variable. Here is + an example use of "no_proxy": + + UNIX + setenv no_proxy "host.domain.dom, domain1.dom, domain2" + + VMS + define "no_proxy" "host.domain.dom, domain1.dom, domain2" + + You can include a port number in the no_proxy list to override use + of a proxy server for the host accessed via that port, but not via + other ports. For example, if you use "host.domain.dom:119" and/or + "host.domain.dom:210", then news (port 119) URLs and/or any wais + (port 210) searches on that host would be excluded, but http, ftp, + and gopher services (if normally proxied) would still be included, + as would any news or wais services on other hosts. + + If you wish to override the use of a proxy server completely (i.e., + globally override any existing proxy variables), set the value of + "no_proxy" to "*". + + Note that Lynx treats file URLs on the local host as requests for + direct access to the file, and does not attempt ftp if that fails. + It treats both ftp URLs and file URLs on remote hosts as ftp URLs, + and does not attempt direct file access for either. If ftp URLs are + being proxied, file URLs on a remote host will be converted to ftp + URLs before submission by Lynx to the proxy server, so no special + procedure for inducing the proxy server to handle them is required. + Other WWW clients may require that the http server's configuration + file have "Map file:* ftp:*" in it to perform that conversion. + + The proxy and no_proxy variables also can be set at run time via + lynx.cfg. + + Copies of the Lynx online help are included in the lynx_help + subdirectory tree and should be made accessible in response to + the Lynx 'h'elp command by defining HELPFILE in userdefs.h and/or + lynx.cfg to an appropriate file://localhost/path URL. + + +UNIX & VMS Step 6. (Hopefully Optional) + If something doesn't work, or you can't get it to compile at all, or + you can't figure out what one of the defines means, or if you just + want to make a comment, send an email message to the Lynx-Dev mailing + list (see the README file about subscribing to Lynx-Dev). Until Lynx + has been ported to all the world's operating systems, we expect there + will be some compatibility problems, but we'll do our best to help you. diff --git a/docs/Makefile.old b/docs/Makefile.old new file mode 100644 index 00000000..7d44f84c --- /dev/null +++ b/docs/Makefile.old @@ -0,0 +1,1106 @@ +##makefile for lynx + +SHELL = /bin/sh + +##uncomment the next line if your make fails to set $(MAKE) +#MAKE= make + +##this is the name of the directory the lynx source code is in. +##(e.g. lynx2-7-1, not the full path) +lynxdir= lynx2-7-1 + +##this is the filename for .zip, .tar and .tar.Z archives. +lynxname= lynx2-7-1 + +##change the next line if you want lynx installed somewhere +##besides /usr/local/bin +exec= /usr/local/bin + +##change the next line if you want the lynx man file installed somewhere +##besides /usr/local/man/man1 +doc= /usr/local/man/man1 + +##change the next line if you want the lynx.cfg file installed somewhere +##besides /usr/local/lib +cfg= /usr/local/lib + +installbin= install -c -s -m 755 +installdoc= install -c -m 444 + +##set the relative location of the WWW library Implementation directory, +##from this directory +##do not set this to be an absolute path!!! +WWWINC= WWW/Library/Implementation + +# !!!!!!!!!!! SUN resolv LIBRARY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# To include resolv in the LIBS="" list for SUN 3, 4 or Solaris OS, +# point RESOLVLIB to that library. You need this if you get the message +# "Alert!: Unable to connect to remote host" whenever you try to +# access a host other than localhost and have made Lynx without it. +# See the PROBLEMS file for more information. +#RESOLVLIB= -lresolv + +# !!!!!!!!!!! Alternate socket functions for SOCKS !!!!!!!!!!!!!!!!!! +# To make a SOCKSified lynx, include -DSOCKS in your SITE_LYDEFS and +# SITE_DEFS, below, and point SOCKSLIB to your SOCKS library. Note +# that you may have problems accessing FTP servers. Also, instead of +# SOCKSifying lynx for use behind a firewall, you are better off if +# you make it normally, and set it up to use a proxy server. You can +# SOCKSify the proxy server, and it will handle all clients, not just +# Lynx (see the INSTALLATION file in this distribution). If your SOCKS +# server was compiled to use the short version of Rbind, also include +# -DSHORTENED_RBIND in your SITE_LYDEFS and SITE_DEFS. If you do +# SOCKSify lynx, you can turn off SOCKS proxy usage via a -nosocks +# command line switch. +#SOCKSLIB= /usr/local/lib/libsocks.a + +# !!!!!!!!!!!!! DIRECT WAIS ACCESS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# If you are adding direct wais access you must fill in the +# location of wais.a, client.a and the standard math library, libm.a. +# You can pick up the most current freeWAIS sources from +# ftp://ftp.cnidr.org/pub/NIDR.tools/freewais +# If you are using freeWAIS-0.202 or older, include -DDECLARE_WAIS_LOGFILES +# in your SITE_DEFS. +# Plese put an ABSOLUTE address here if you want it to work! +#WAISLIB= ../../freeWAIS-0.202/bin/client.a ../../freeWAIS-0.202/bin/wais.a /usr/lib/libm.a + +# !!!!!!!!!!!!! SLANG Support (For color version of Lynx). !!!!!!!!!!!!!!!! +# The slang library is an alternative to curses, developed by John E. Davis +# (davis@space.mit.edu). Version 0.99-27 or higher is available from +# ftp://space.mit.edu/pub/davis +# It provides color support for Lynx. If you wish to try it and are not +# on a supported system (see list, below), include -DUSE_SLANG in your +# SITE_DEFS and define the locations of the slang library (libslang.a) +# and headers (slang.h and slcurses.h) here. They may be left commented +# out if the library and headers are in their canonical locations (usr/lib, +# and usr/include). +#SLANGINC = -I../../slang/src# location of slang.h and slcurses.h +#SLANGLIB = -L../../slang/src/$(ARCH)objs# location of libslang.a +#SLANGRRLIB = -R../../slang/src/$(ARCH)objs# for solaris + +# !!!!!!!!!!! Support for Character Styles !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# Comment out the following lines if you do *not* want to activate +# Rob Partington's Character Style color support code (which may currently +# only work with ncurses, not other curses or the slang library). +# Or modify and experiment... -kw +# RP_LYDEFS = -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH +# RP_DEFS = -DUSE_COLOR_STYLE -DUSE_HASH + +# !!!!!!!!!!! Lynx Local Directory Listing Formats !!!!!!!!!!!!!!!!!!!!!!!!!!! +# Lynx supports "ls -l" format for local directory listings on Unix if the +# LONG_LIST compilation symbol is defined, and includes links to the parent +# directory if the compilation symbol NO_PARENT_DIR_REFERENCE is not defined. +# If "ls -l" format is enabled here, the listing format can be modifed via a +# LIST_FORMAT symbol in userdefs.h and/or lynx.cfg. Otherwise, only file and +# directory names will be included in the listings. +# +# If you are not including DirEd Support (see below) and wish to disable +# "ls -l" emulation in local directory listings, prepend "#" to this line: +DIR_LONG_LIST = -DLONG_LIST +# +# To disable "Up to" parent links in local directory listings, +# remove "#" from this line: +#DIR_PARENT = -DNO_PARENT_DIR_REFERENCE + +# !!!!!!!!!!! Lynx DirEd Support !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# Lynx now supports directory editing (DirEd) for local directories. +# This allows users to do things like view, copy, & remove files using +# a tabular display of the directory & single-keystroke commands instead +# of using the command line. From inside Lynx, the keystroke sequence +# "g.<enter>" switches Lynx to DirEd mode on the current directory. +# If you're building a Lynx that is to be used as a kind of restricted +# shell for users who do not have access to the command line & should +# not have access to equivalent capabilities, you need to disable DirEd +# here. You can also disable some DirEd functions while allowing others. +# +# DirEd functions are disabled by inserting or removing "#" signs at +# the beginnings of lines that contain variable assignments here. +# All DirEd functions that were enabled on compilation can be disabled +# or modified at run time via DIRED_MENU symbols in lynx.cfg. +# +# To disable DirEd completely, prepend "#" to this line: +DIRED_SUPPORT = -DDIRED_SUPPORT +#(If you have disabled DirEd completely, you can ignore all the +#other DirEd stuff here.) +# +# To prevent DirEd from extracting files from an archive file, +# remove "#" from this line: +#DIRED_ARCHIVE = -DARCHIVE_ONLY +# +# To prevent DirEd from using the tar program, prepend "#" to this line: +DIRED_TAR = -DOK_TAR +# +# To prevent DirEd from using zip & unzip, prepend "#" to this line: +DIRED_ZIP = -DOK_ZIP +# +# To prevent DirEd from using gzip & gunzip, prepend "#" to this line: +DIRED_GZIP = -DOK_GZIP +# +# To prevent DirEd from using uudecode, prepend "#" to this line: +DIRED_UUDECODE = -DOK_UUDECODE +# +# Lynx users can customize their keymaps by creating private versions +# of lynx.cfg & modifying them, overriding the default keymap. +# To prevent DirEd keymap overriding, prepend "#" to this line: +DIRED_OVERRIDE = -DOK_OVERRIDE +# +# To prevent DirEd from changing the permissions on directories or files +# (i.e. from doing what the Unix chmod command or the DOS attrib command +# does), prepend "#" to this line: +DIRED_PERMIT = -DOK_PERMIT +# +# If you do not comment out the DIRED_PERMIT line, but want to restrict +# changes of the eXecute permission to directories (i.e., not allow it to +# be changed for files), remove "#" from this line (if you don't remove it, +# you can still block changes of the eXecute permission for files but not +# directories via the "change_exec_perms" command line restriction): +#DIRED_NOXPERMS = -DNO_CHANGE_EXECUTE_PERMS + +# !!!!!!!!!!! NOTE: NetBSD and FreeBSD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# On NetBSD 1.1 and earlier, as well as FreeBSD 2.0.5 and earlier, +# the system make program uses different syntax for including files +# than the GNU make program. If you get the following error -- +# * "Makefile", line 27: Need an operator * +# you have several choices to run GNU make: +# +# * Install GNU make as `/usr/bin/make', after moving /usr/bin/make +# to /usr/bin/old-make +# +# * Install GNU make in a different directory which is earlier in +# your search path. +# +# * Install GNU make as gmake, and change occurrences of `make' to +# `gmake' in any Makefile used by your install. You won't need to +# change all of the Makefiles, just the top-level one, and the one +# in WWW/Library/???bsd + +# !!!!!!!!!!! Lynx Wishful Thinking !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# If you are on one of the supported systems (see all: list below) +# you should not have to modify anything from here down (but check +# it out for your system, anyway)! +# If you are not, then you should edit the generic: entry below. +# +# If you need ncurses, the latest version can always be found in +# ftp://ftp.clark.net/pub/dickey/ncurses/ +# or ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses/ +# (you may need -DHAVE_NCURSES_H in addition to -DNCURSES for old +# versions of ncurses; see below). +# +# Also be sure to check out the compilation symbols in userdefs.h +# before building Lynx! + +all: + @echo + @echo "Please run make with one of the following arguments" + @echo "aix4 -- for RS/6000 running AIX 4.n and some 3.2" + @echo "aix32 -- for RS/6000 running AIX 3.2" + @echo "aix31 -- for RS/6000 running AIX 3.1 with curses bug" + @echo "apollo -- apollo systems (untested)" + @echo "bsdi -- BSD Interactive" + @echo "bsdi-ncurses -- BSD/OS(v2.0 or later) using ncurses(v1.9.4 or later) package." + @echo "bsdi-slang -- BSD/OS(v2.0 or later) using the slang package." + @echo "clix -- for Intergraph CLIX" + @echo "convex -- for Convex C-series" + @echo "convex-ncurses -- for Convex C-series with ncurses package" + @echo "dgux -- for DGUX " + @echo "freebsd -- for FreeBSD" + @echo "freebsd-ncurses -- for FreeBSD using ncurses package" + @echo "freebsd-slang -- for FreeBSD with color slang package" + @echo "generic -- for generic UNIX" + @echo "isc -- for Interactive Machines (untested)" + @echo "linux -- for PC linux" + @echo "linux-ncurses -- for PC linux using ncurses package" + @echo "linux-slang -- for linux with color slang package" + @echo "mips -- for MIPS, svr3/bsd flavour (untested)" + @echo "netbsd -- for NetBSD" + @echo "netbsd-ncurses -- for NetBSD using ncurses package" + @echo "news -- for SONY NEWS-OS 4.2.1R" + @echo "news-ncurses -- for SONY NEWS-OS 4.2.1R using ncurses package" + @echo "news-slang -- for SONY NEWS-OS 4.2.1R with color slang package" + @echo "next -- for NeXT OS" + @echo "next-ncurses -- for NeXT OS using ncurses package" + @echo "osf -- for Alpha OSF/1" + @echo "osf-slang -- for Alpha OSF/1 with color slang package" + @echo "ptx -- for Sequent's DYNIX/ptx, version 4, (current version)" + @echo "ptx-slang -- for Sequent's DYNIX/ptx, version 4, with color slang package" + @echo "ptx -- for Sequent's DYNIX/ptx, current version" + @echo "ptx2 -- for Sequent's DYNIX/ptx, version 2" + @echo "riscos -- Control Data Unix machine running EP/IX" + @echo "sco -- for SCO machines" + @echo "sco5 -- for SCO OpenServer Release 5 machines" + @echo "sgi -- for SGI machines" + @echo "sun3 -- for SUN 3 OS with System V curses" + @echo "sun4 -- for SUN 4 OS with System V curses" + @echo "sun4-ncurses -- for SUN 4 OS using ncurses package" + @echo "sun4-pure -- for SUN 4 OS with PURIFY and System V curses" + @echo "sun4-slang -- for SUN 4 OS with color slang package" + @echo "svr4 -- for SVR4" + @echo "snake -- for HP-UX lt 9.01 (gcc)" + @echo "snake-slang -- for HP-UX lt 9.01 (gcc) with color slang" + @echo "snake2 -- for HP-UX gte 9.01 (gcc)" + @echo "snake2-slang -- for HP-UX gte 9.01 (gcc) with color slang" + @echo "snake3 -- for HP-UX (purchased compiler)" + @echo "snake3-slang -- for HP-UX (purchased compiler) with color slang" + @echo "solaris2 -- for solaris 2.x" + @echo "solaris2cc -- for Solaris 2.x using Sun's unbundled C compiler" + @echo "solaris2-slang -- for Solaris 2 and color slang package" + @echo "solaris2-slangcc -- for Solaris 2 slang using Sun's unbundled C compiler" + @echo "ultrix -- for DEC Ultrix" + @echo "decstation -- for DEC Ultrix (same as ultrix)" + @echo "ultrix-slang -- for DEC Ultrix and color slang package" + @echo "decstation-slang -- for DEC Ultrix and color slang (same as ultrix-slang)" + @echo "umaxv -- for Encore's UMAXV (SVR3.x) " + @echo "umaxv-slang -- for Encore's UMAXV and color slang package" + @echo "unixware -- for Novell's Unixware" + @echo "univell -- for Novell's Unixware" + @echo "unixware-slang -- for Unixware and color slang package" + @echo "univell-slang -- for Unixware and color slang package" + @echo "clean -- removes all '.o' and 'core' files" + @echo "tar -- runs clean, removes executable, and tars the whole directory" + @echo "compress -- runs tar, then compresses the result" + @echo "zip -- runs clean, removes executable, and zips the whole directory" + @echo + +# Map some extra commands to existing ones +unix: generic +decstation: ultrix +decstation-slang: ultrix-slang +univell: unixware +univell-slang: unixware-slang + +DIR_LYDEFS = $(DIRED_SUPPORT) $(DIR_LONG_LIST) $(DIR_PARENT) + +DIR_DEFS = $(DIRED_SUPPORT) $(DIRED_ARCHIVE) $(DIRED_TAR) $(DIRED_ZIP) $(DIRED_GZIP) $(DIRED_UUDECODE) $(DIRED_OVERRIDE) $(DIRED_PERMIT) $(DIRED_NOXPERMS) + +# If you apply patches which require linking to site-specific libraries, +# uncomment the following and point SITE_LIBS to those libraries. +#SITE_LIBS= # Your libraries here (remove the "#") + +# Set SITE_LYDEFS to one or more of the defines for the WWW Library: +SITE_LYDEFS = $(DIR_LYDEFS) $(RP_LYDEFS) -DEXP_CHARTRANS # Your defines here + +# Set SITE_DEFS to one or more of the defines for lynx below: +SITE_DEFS = $(DIR_DEFS) $(RP_DEFS) -DEXP_CHARTRANS -DNSL_FORK -DLYNXCGI_LINKS -DUSE_EXTERNALS # Your defines here + +# if you are compiling on a previously unsupported system, modify +# this generic entry!! +# +# defines include: +# -DNO_CUSERID if you don't have cuserid() +# -DNO_UTMP if you don't have utmp capibilities +# -Dvfork=fork if you don't have vfork() +# -DMMDF if you use MMDF instead of sendmail +# -DFANCY_CURSES enables fancy curses (bold, underline, reverse) +# -DCOLOR_CURSES enables color in SVr4 curses & clones such as ncurses +# -DNCURSES for ncurses support (also indicate the LIBS path) +# -DHAVE_NCURSES_H seek ncurses.h instead of ncurses/curses.h in LYCurses.h +# -DNO_KEYPAD if you don't have keypad() and related defines +# -DNO_SIZECHANGE Disables window sizechange code +# -DNO_CPU_LIMIT Disables Max CPU timeout (includes CLOCKS_PER_SECOND) +# -DNO_PUTENV Define if you don't have a putenv call. +# -DNO_CBREAK if you don't have cbreak() (use crmode() instead) +# -DUNDERLINE_LINKS Define if you want links underlined instead of bold. +# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx. +# -DHP_TERMINAL For DIM workaround to REVERSE problems on HP terminals. +# -DLOCALE For LOCALE support for international characters. +# -DSOCKS For making a SOCKSified lynx. +# -DSHORTENED_RBIND For a SOCKSified lynx with the short version of Rbind. +# -DNO_UNISTD_H if you don't have <unistd.h> +# -DNOPORT if you must use PASV instead of PORT for FTP +# -DNO_TTYTYPE if your system lacks a ttytype variable +# -DNSL_FORK For fork-based name server lookups that can be 'z'apped. +# -DEXP_CHARTRANS enable chartrans support w/ new charsets, UTF8 mode etc. +# (needed in SITE_DEFS *and* SITE_LYDEFS !) +# -DEXP_CHARTRANS_AUTOSWITCH also let lynx switch term mode(Linux console only) +# -DSLANG_MBCS_HACK prevent cutoff lines when using UTF8 console (slang only) +# -DUSE_ZLIB To use some functions from zlib library if you have it. +# +# if you are linking to freeWAIS-0.202 or older, you should define this +# in MCFLAGS (SITE_DEFS) +# +# -DDECLARE_WAIS_LOGFILES +# +# if you have the reverse clear screen problem of some SUN4 systems you +# should define this in MCFLAGS (SITE_DEFS) +# +# -DREVERSE_CLEAR_SCREEN_PROBLEM +# +# if you have an SVR4 system with the "type any key" problem, try defining +# this in LYFLAGS (SITE_LYDEFS) and MCFLAGS (SITE_DEFS) +# +# -DSVR4_BSDSELECT +# +# Old Data General systems may need this in their SITE_LYDEFS +# for their inet_addr(host) calls. +# +# -DDGUX_OLD +# +# if you would like logging of client requests via syslog(), you should +# define this in MCFLAGS (SITE_DEFS) +# +# -DSYSLOG_REQUESTED_URLS +# +# if you would like to enable code to detect memory leaks define this in both +# LYFLAGS (SITE_LYDEFS) and MCFLAGS (SITE_DEFS) +# +# -DLY_FIND_LEAKS +# +# for installation of local execution links, please see the file userdefs.h + +#generic machines with original Berkeley curses +generic: + @echo "You must first compile the WWW library in WWW/Library" + cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +# Contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil). +# Note that some of the online help files in this distribution need +# to be edited and renamed to conform with the Intergraph CLIX 14 +# character file name limit. +clix: + cd WWW/Library/clix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX -DUSG \ + -DCLIX -DNO_UTMP \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lmalloc -lcurses -ltermcap -lbsd -lc_s \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/clix/libwww.a" + +# Tested on C3 series under ConvexOS 10.1, CC V5.0; +# Should work on other C-series +convex: + cd WWW/Library/convex; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O \ + -D__STDC__ \ + -DNO_PUTENV -DNO_CBREAK -DNO_KEYPAD -DUSE_DIRENT -DUNIX \ + -DSTDC_HEADERS -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/convex/libwww.a" + +convex-ncurses: + cd WWW/Library/convex; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O \ + -I/usr/local/include \ + -DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \ + -D__STDC__ \ + -DNO_PUTENV -DNO_CBREAK -DUSE_DIRENT -DUNIX \ + -DSTDC_HEADERS -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/local/lib -lncurses \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/convex/libwww.a" + +# You may need to remove -DUTMPX_FOR_UTMP for some versions of DGUX. +dgux: + cd WWW/Library/unix; $(MAKE) LYFLAGS="-DDGUX $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -I../$(WWWINC) -DDGUX -DUTMPX_FOR_UTMP $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -lsocket -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +mips: + cd WWW/Library/mips; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-systype svr3 -O \ + -DFANCY_CURSES -DUNIX -I/svr3/usr/include/bsd \ + -I../$(WWWINC) -DNO_UTMP $(SITE_DEFS)" \ + LIBS="-lcurses -lnsl -lbsd \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/mips/libwww.a" + +# FreeBSD doesn't have or need ranlib. (ignore the error message about that :) +freebsd: + cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \ + -I../$(WWWINC) $(SITE_DEFS)"\ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/freebsd/libwww.a" + +# FreeBSD doesn't have or need ranlib. (ignore the error message about that :) +freebsd-ncurses: + cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all MCFLAGS="$(CFLAGS) -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \ + -DHAVE_NCURSES_H -DUNIX -DNO_TTYTYPE -DNO_CUSERID -DLOCALE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lncurses -lmytinfo \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/freebsd/libwww.a" + +# FreeBSD doesn't have or need ranlib. (ignore the error message about that :) +freebsd-slang: + cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all MCFLAGS="$(CFLAGS) -DUSE_SLANG -DUNIX \ + -DNO_TTYTYPE -DNO_CUSERID -DLOCALE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/freebsd/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -ltermcap -lm" \ + SLANGINC="$(SLANGINC)" + +# NetBSD doesn't have or need ranlib. (ignore the error message about that :) +netbsd: + cd WWW/Library/netbsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/netbsd/libwww.a" + +# NetBSD doesn't have or need ranlib. (ignore the error message about that :) +netbsd-ncurses: + cd WWW/Library/netbsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \ + -DUNIX -DNO_CUSERID -I../$(WWWINC) $(SITE_DEFS) \ + -I/usr/include/ncurses" \ + LIBS="-lncurses -lcompat \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/netbsd/libwww.a" + +# Tested on DN 3500 & 4500's running Domain O/S 10.4 BSD +# -Acpu,mathchip may have to be changed on other machines - see man cpuhep +apollo: + cd WWW/Library/apollo_m68k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \ + -D_BUILTINS -W0,-opt,4 -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/apollo_m68k/libwww.a $(MYWWWLIB)" + +riscos: + cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -DNO_GETCWD -DNO_PUTENV -Dremove=unlink \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +# Lynx will not compile with the "free" cc compiler supplied +# with HP-UX. You must use a purchased cc compiler to compile Lynx. +snake: + cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" + +snake-slang: + cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX \ + -DUSE_SLANG -DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)" + +snake2: + cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="-D_INCLUDE_HPUX_SOURCE \ + -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \ + -D_INCLUDE_XOPEN_SOURCE $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -DSNAKE -I../$(WWWINC) -D_INCLUDE_HPUX_SOURCE \ + -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \ + -D_INCLUDE_XOPEN_SOURCE $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" + +snake2-slang: + cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="-D_INCLUDE_HPUX_SOURCE \ + -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \ + -D_INCLUDE_XOPEN_SOURCE $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX \ + -DUSE_SLANG -DSNAKE -I../$(WWWINC) -D_INCLUDE_HPUX_SOURCE \ + -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \ + -D_INCLUDE_XOPEN_SOURCE $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)" + +# Lynx will compile with the purchased cc compiler added to HP-UX. +# contributed by Andy Finkenstadt (genie@panix.com) +# Note that initial releases of HP/UX 10.10 have a broken select() in +# libcurses.a and will malfunction with Lynx. See the PROBLEMS file. +snake3: + cd WWW/Library/snake; $(MAKE) CC="cc" LYFLAGS="-Ae -DUNIX \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Ae -DFANCY_CURSES -DUNIX \ + -DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" + +snake3-slang: + cd WWW/Library/snake; $(MAKE) CC="cc" LYFLAGS="-Ae -DUNIX \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Ae -DUSE_SLANG -DUNIX \ + -DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/snake/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)" + +svr4: + cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DSVR4_BSDSELECT $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DSVR4_BSDSELECT \ + -DTRUE=1 -DFALSE=0 $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" + +# SEQUENT doesn't have or need ranlib. (ignore the error message about that :) +ptx: + cd WWW/Library/ptx; $(MAKE) $(MFLAGS) LYFLAGS="-DNO_BCOPY \ + -DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)" + cd src; $(MAKE) $(MFLAGS) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 \ + -DFANCY_CURSES -DNO_FILIO_H -DUTMPX_FOR_UTMP -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -linet -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/ptx/libwww.a" + +# SEQUENT doesn't have or need ranlib. (ignore the error message about that :) +ptx-slang: + cd WWW/Library/ptx; $(MAKE) $(MFLAGS) LYFLAGS="-DNO_BCOPY \ + -DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)" + cd src; $(MAKE) $(MFLAGS) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 \ + -DUSE_SLANG -DNO_FILIO_H -DUTMPX_FOR_UTMP -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -linet -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/ptx/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)" + +# SEQUENT doesn't have or need ranlib. (ignore the error message about that :) +ptx2: + cd WWW/Library/ptx; $(MAKE) LYFLAGS="-DPTX2 -DNO_BCOPY -DNOPORT \ + -DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DPTX2 -DFANCY_CURSES -DUNIX \ + -DNO_FILIO_H -DUTMPX_FOR_UTMP -DSVR4 \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -linet -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/ptx/libwww.a" + +# Contributed by Thanh Ma (tma@encore.com). +umaxv: + cd WWW/Library/umaxv-m88k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -D_SYSV3 -DHAVE_TERMIOS -DUSE_DIRENT -DNO_UTMP \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/umaxv-m88k/libwww.a" + +# Contributed by Thanh Ma (tma@encore.com). +umaxv-slang: + cd WWW/Library/umaxv-m88k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUSE_SLANG -DUNIX \ + -D_SYSV3 -DHAVE_TERMIOS -DUSE_DIRENT -DNO_UTMP \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/umaxv-m88k/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +unixware: + cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DNO_BCOPY -DUNIXWARE \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DTRUE=1 -DFALSE=0 \ + -DNO_BCOPY -DUNIXWARE $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" + +unixware-slang: + cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DNO_BCOPY -DUNIXWARE \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DUSE_SLANG \ + -DCURS_PERFORMANCE \ + -I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DTRUE=1 -DFALSE=0 \ + -DNO_BCOPY -DUNIXWARE $(SITE_DEFS)" \ + LIBS="-lsocket -lnsl \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +# SCO doesn't have or need ranlib. (ignore the error message about that :) +# can build lynx with its native rcc compiler. (if you replace "gcc" +# with "rcc" for CC= :) +# has a const/volatile bug in its native cc compiler. (don't use it ;) +sco: + cd WWW/Library/sco; $(MAKE) CC="gcc" LYFLAGS="-DNO_FILIO_H -DUNIX \ + -DSCO $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -s -DNO_FILIO_H -DUNIX -DSCO \ + -DFANCY_CURSES -DMMDF -DNO_UTMP -DNO_SIZECHANGE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket -ltermcap -lmalloc \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sco/libwww.a" + +sco5: + cd WWW/Library/sco; $(MAKE) CC="cc -belf" LYFLAGS="-DNO_FILIO_H \ + -DUNIX -DSCO $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc -belf" MCFLAGS="-O -s -DNO_FILIO_H -DUNIX \ + -DSCO -DFANCY_CURSES -DMMDF -DUTMPX_FOR_UTMP \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lsocket \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sco/libwww.a" + +bsdi: + cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile \ + LYFLAGS="-DBSDI $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DNO_CUSERID -DUNIX \ + -DNO_FILIO_H \ + -I../$(WWWINC) -DNO_UTMP -DSVR4 -DNO_KEYPAD $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" + +#IMPORTANT: To compile you need ncurses package (version 1.9.4 or later) +# installed on your system. You can download ncurses package from +# ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses +bsdi-ncurses: + cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile CC="gcc" \ + LYFLAGS="-DBSDI $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DNO_CUSERID -DUNIX -DCOLOR_CURSES -DNCURSES \ + -DFANCY_CURSES -DBSDI -DSVR4 \ + -I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lncurses \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" + +bsdi-slang: + cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile \ + LYFLAGS="-DBSDI $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DNO_CUSERID -DUNIX \ + -DNO_FILIO_H -DUSE_SLANG \ + -I../$(WWWINC) -DNO_UTMP -DSVR4 -DNO_KEYPAD $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/svr4/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +# Solaris2 doesn't have or need ranlib. (ignore the error message about that :) +# (Solaris 2.5 and later actually have a ranlib program - but it does +# nothing and is only there to make Makefiles like this one happy) +solaris2: + cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="-DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DCOLOR_CURSES -DFANCY_CURSES -DUNIX -DSVR4 \ + -DSOLARIS2 -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \ + -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" + +solaris2-ncurses: + cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="$(SITE_LYDEFS) -g" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-g -DFANCY_CURSES \ + -DNCURSES -DUNIX -DSVR4 -DSOLARIS2 \ + -DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" \ + STYLE=LYStyle + +solaris2-ncurses-develop: + cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS) -g -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-g -DFANCY_CURSES \ + -DUSE_COLOR_STYLE \ + -DUSE_HASH" \ + -DNCURSES -DUNIX -DSVR4 -DSOLARIS2 \ + -DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" \ + STYLE=LYStyle + +solaris2-ncurses-NHE: + cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O4 -s -DUSE_COLOR_STYLE -DFANCY_CURSES \ + -DNCURSES -DUNIX -DSVR4 -DSOLARIS2 -DCURS_PERFORMANCE \ + -DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \ + -lresolv" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" \ + STYLE=NCStyle + +# Solaris 2 using Sun's unbundled C compiler +# define RESOLVLIB (above) for the "LIBS" entry if needed +# Solaris2 doesn't have or need ranlib. (ignore the error message about that :) +solaris2cc: + cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="-DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DCOLOR_CURSES -DFANCY_CURSES -DUNIX -DSVR4 \ + -DSOLARIS2 -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \ + -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +# Solaris2 doesn't have or need ranlib. (ignore the error message about that :) +solaris2-slang: + cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="-DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DSVR4 -DSOLARIS2 \ + -DUSE_SLANG -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \ + -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" \ + SLANGLIB="$(SLANGLIB) $(SLANGRRLIB) -lslang -lm" \ + SLANGINC="$(SLANGINC)" + +# Solaris 2 slang using Sun's unbundled C compiler +# define RESOLVLIB (above) for the "LIBS" entry if needed +# Solaris2 doesn't have or need ranlib. (ignore the error message about that :) +solaris2-slangcc: + cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="-DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 -DSOLARIS2 \ + -DUSE_SLANG -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \ + -DLOCALE -DHAVE_TERMIOS_H \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/solaris2/libwww.a" \ + SLANGLIB="$(SLANGLIB) $(SLANGRRLIB) -lslang -lm" \ + SLANGINC="$(SLANGINC)" + +osf: + cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \ + -DFANCY_CURSES -DNO_TTYTYPE $(ADDFLAGS) \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/osf/libwww.a" + +osf-slang: + cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \ + -DUSE_SLANG -DNO_TTYTYPE $(ADDFLAGS) \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/osf/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +# for some reason loc_t isn't defined when compiling for debug on my system. +# needed for NLchar.h +dbg: + cd WWW/Library/osf; $(MAKE) CC="gcc" LYFLAGS="-DDIRED_SUPPORT \ + -DLY_FIND_LEAKS" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -Wall $(ADDFLAGS) \ + -DFANCY_CURSES -DLY_FIND_LEAKS \ + -Dloc_t=_LC_locale_t -D_locp=__lc_locale\ + -DDIRED_SUPPORT -DOK_TAR -DOK_GZIP -DOK_OVERRIDE \ + -DUNIX -I../$(WWWINC) -DEXEC_LINKS \ + -DALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/osf/libwww.a" + +sgi: +# SGI doesn't have or need ranlib. (ignore the error message about that :) + cd WWW/Library/sgi; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -cckr -DFANCY_CURSES \ + -DNO_CUSERID -DUNIX -DSGI -Dvfork=fork \ + -I../$(WWWINC) -DNO_UTMP $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -DSYSV -DPERFORMANCE \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sgi/libwww.a" + +##linux +# Add -DDECL_SYS_ERRLIST to the LYFLAGS if sys_errlist and sys_nerr +# are not declared in your system headers. +linux: + cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX \ + -DNO_KEYPAD -DNO_TTYTYPE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +linux-ncurses: + cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \ + -DFANCY_CURSES -DCOLOR_CURSES -DNO_TTYTYPE \ + -I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lncurses -lgpm \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +linux-slang: + cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX -DUSE_SLANG \ + -DNO_KEYPAD -DNO_TTYTYPE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +develop: + cd WWW/Library/unix; $(MAKE) LYFLAGS="-DLINUX $(SITE_LYDEFS) -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH" + cd src; $(MAKE) all CC="gcc" \ + MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \ + -DFANCY_CURSES -DNO_KEYPAD -DNO_TTYTYPE -DUSE_COLOR_STYLE \ + -I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS) -DUSE_HASH" \ + LIBS="-lncurses $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" \ + STYLE=LYStyle + +linux-style: + cd WWW/Library/unix; $(MAKE) LYFLAGS="-DLINUX $(SITE_LYDEFS) -I../../../src -DUSE_HASH -DUSE_COLOR_STYLE" + cd src; $(MAKE) all CC="gcc" \ + MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \ + -DFANCY_CURSES -DNO_KEYPAD -DNO_TTYTYPE -DUSE_COLOR_STYLE \ + -I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS) -DUSE_HASH" \ + LIBS="-lncurses $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/unix/libwww.a" \ + STYLE=LYStyle + +##Various AIX environments +aix: + @echo "Run make again and use \"make aix4\" or \"make aix32\"" + +# For AIX 4.n, and AIX 3.2.5 with POWER2 architectures, L2 caches, +# and APAR#IX58890 +aix4: + cd WWW/Library/rs6000; $(MAKE) LYFLAGS="-D_BSD=44 \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX -DAIX4 \ + -D_BSD=44 -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lbsd \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/rs6000/libwww.a" + +aix32: + cd WWW/Library/rs6000; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lbsd \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/rs6000/libwww.a" + +aix31: + cd WWW/Library/rs6000; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -lbsd \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/rs6000/libwww.a" + +##ultrix - DEC Ultrix +ultrix: + cd WWW/Library/decstation; $(MAKE) LYFLAGS="-G 7 $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 600 -G 7 \ + -DFANCY_CURSES -DUNIX -DULTRIX -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcursesX -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/decstation/libwww.a" + +ultrix-slang: + cd WWW/Library/decstation; $(MAKE) LYFLAGS="-G 7 $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 600 -G 7 \ + -DUSE_SLANG -DUNIX -DULTRIX -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcursesX -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/decstation/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +##Various SunOS environments +sun: + @echo "Run make again and use \"make sun3\" or \"make sun4\"" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +sun3: + cd WWW/Library/sun3; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" CC="gcc" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DFANCY_CURSES \ + -I../$(WWWINC) -DSUN -DLOCALE -I/usr/5include $(SITE_DEFS)"\ + LIBS="-lcurses -ltermcap -L/usr/5lib \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sun3/libwww.a" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +sun4: + cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(CCFLAGS) \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="$(CCFLAGS) -O -DUNIX -DSUN \ + -DSUN4 -DFANCY_CURSES -DLOCALE \ + -I../$(WWWINC) -I/usr/5include \ + $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -L/usr/5lib \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sun4/libwww.a" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +sun4-ncurses: + cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" \ + MCFLAGS="-O -DUNIX -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \ + -I/usr/local/include -I../$(WWWINC) -DSUN -DSUN4 \ + -DLOCALE $(SITE_DEFS)" \ + LIBS="-L/usr/local/lib -lncurses \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sun4/libwww.a" + +# use the holiest of holiest --- PURIFY +# define RESOLVLIB (above) for the "LIBS" entry if needed +sun4-pure: + cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="purify -cache-dir=/home/purify-cache \ + -always-use-cache-dir=yes -optimize-save-o7=no gcc" \ + MCFLAGS="-O -DUNIX -DFANCY_CURSES \ + -I../$(WWWINC) -DSUN -DSUN4 -DLOCALE -I/usr/5include \ + $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -L/usr/5lib \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sun4/libwww.a" + +# define RESOLVLIB (above) for the "LIBS" entry if needed +sun4-slang: + cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(CCFLAGS) \ + $(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DSUN -DSUN4 \ + -DUSE_SLANG -DLOCALE \ + -I../$(WWWINC) -I/usr/5include \ + $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -L/usr/5lib \ + $(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/sun4/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)" + +# news - SONY NEWS-OS 4.2.1R +news: + @echo "You must first compile the WWW library in WWW/Library" + cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX -DNO_KEYPAD \ + -DNO_CUSERID -DLOCALE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-ljcurses -ltermcap $(WAISLIB) $(SOCKSLIB)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +news-ncurses: + @echo "You must first compile the WWW library in WWW/Library" + cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX \ + -DNO_CUSERID -DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lncurses $(WAISLIB) $(SOCKSLIB)" \ + WWWLIB="../WWW/Library/unix/libwww.a" + +news-slang: + @echo "You must first compile the WWW library in WWW/Library" + cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX -DNO_KEYPAD \ + -DNO_CUSERID -DUSE_SLANG -DLOCALE \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="$(WAISLIB) $(SOCKSLIB)" \ + WWWLIB="../WWW/Library/unix/libwww.a" \ + SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)" + +# next - Nextstep +next: + cd WWW/Library/next; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNEXT -DNO_UNISTD_H \ + -DNO_CUSERID -DNO_GETCWD -DNO_PUTENV -DNO_KEYPAD \ + -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/next/libwww.a" + +next-ncurses: + cd WWW/Library/next; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNEXT -DNO_UNISTD_H \ + -DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \ + -DNO_CUSERID -DNO_GETCWD -DNO_PUTENV \ + -I/usr/local/include -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-L/usr/local/lib -lncurses \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/next/libwww.a" + +# isc - Interactive Unix for i386 and i486 machines +# According to Robert Salter (salter1@mster.nsbf.nasa.gov), +# cc should be used instead of gcc. +# According to Walter Skorski (walt@clyde.jmp.tju.edu), +# -DPOSIX_JC is necessary, else LYBookmark.c never finds out +# what a mode_t is. +isc: + cd WWW/Library/isc; $(MAKE) CC="cc" LYFLAGS="$(SITE_LYDEFS)" + cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DISC -DFANCY_CURSES -DUNIX \ + -DNO_UTMP -Dvfork=fork -DPOSIX_JC -I../$(WWWINC) $(SITE_DEFS)" \ + LIBS="-lcurses -ltermcap -linet -lnsl_s -lcposix \ + $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \ + WWWLIB="../WWW/Library/isc/libwww.a" + +##Miscellaneous actions +clean: + rm -f WWW/Library/*/*.[aob] + rm -f WWW/Library/*/.created + cd src; $(MAKE) clean + rm -f *.b src/lynx core Lynx.leaks + +distclean: clean + -rm -f WWW/Library/*/*~ + -rm -f WWW/Library/*/*.bak + -rm -rf WWW/Library/*/obsolete + -rm -rf src/obsolete + -cd src; $(MAKE) clean + -cd src/chrtrans; $(MAKE) distclean + -rm -f Lynx.prj *~ *.bak *.sav .*_aux + rm lynx + +tar: clean + rm -f lynx + $(MAKE) save + +turnover: clean + $(MAKE) save + +zipcompress: compress zip + echo "done!" + +zip: clean + rm -f src/lynx + rm -f lynx + rm -f src/a.out + rm -f ../$(lynxname).zip + cd ..; rm -f $(lynxname).zip; zip -r $(lynxname).zip $(lynxdir) + +save: + cd ..; rm -f $(lynxname).tar; tar -cf - $(lynxdir) > $(lynxname).tar + +compress: tar + cd ..; rm -f $(lynxname).tar.Z; compress -f -v $(lynxname).tar + +install: + -mv -f $(exec)/lynx $(exec)/lynx.old + -mv -f $(cfg)/lynx.cfg $(cfg)/lynx.oldcfg + $(installbin) lynx $(exec)/lynx + $(installdoc) lynx.man $(doc)/lynx.1 + $(installdoc) lynx.cfg $(cfg)/lynx.cfg diff --git a/docs/README.chartrans b/docs/README.chartrans new file mode 100644 index 00000000..0c0ebd9c --- /dev/null +++ b/docs/README.chartrans @@ -0,0 +1,197 @@ +Lynx CHARTRANS + + Features (in addition to those which Lynx already has): + +- Can (attempt to) translate from any document charset to any display + character set, *IF* the document charset is known by a translation + table (compiled in at installation). + + - Old method for specifying translations of Latin1 characters and + SGML entities still supported. (IBMPC-charsets.announce is still + relevant.) + + - New method to define character sets: used for input charset as well + as display character set, translation tables compiled in from + separate files (one per charset). + + - Unicode (UTF8) support: can (attempt to) decode and translate UTF8 to + display character set, or pass through UTF to display (if terminal + or console understands UTF8). [raw display of UTF only tested with Slang + so far, does not always position everything correctly on screen] + + - Support for CHARSET attribute on A tag [but not yet on LINK], as in + HTML i18n RFC 2070. A link can suggest the target's charset in this way. + + - EXPERIMENTAL, currently enabled only for Linux console: + can (attempt to) automatically switch terminal mode and load new + code pages on change of display character set. + + - some minor changes: sometimes invalid characters are displayed in a hex + notation Uxxxx (helps debugging, but I also regard it as at least not + worse than showing the wrong char without warning). + +Additions/changes to user interface: + + - many new Display Character Sets are available on O)ptions screen. + (also can now use arrow keys, HOME, END etc. for cycling through the list). + + - new command line flags: + -assume_charset=... assume this as charset for documents that don't + specify a charset parameter in HTTP headers + -assume_unknown_charset=... in case a charset parameter is not recognized + -assume_local_charset=... assume this as charset of local file: docs + also available as ASSUME_CHARSET etc. in lynx.cfg + + - The "Raw" toggle (from -raw flag, '@' key, or Options screen) + o should work as before for CJK charsets, + o otherwise toggles the assumption "Default remote charset is same + as Display Character Set" on or off. + Toggling of the assumed charset is between Display Character Set and + the specified ASSUME_CHARSET or, if they are the same, between the + specified ASSUME_CHARSET and ISO-8859-1. + o The default for raw mode now depends on the Display Character Set as + well as on the specified ASSUME_CHARSET value. + (Try the "Transparent" Display Character Set for more "rawness".) + +Requirements: same as for Lynx in general :) + +The chartrans code is now merged with Wayne Buttle's changes for +32-bit MS Windows and DOS/DJGPP, with Thomas Dickey's and Jim Spath's +emerging auto-configure mechanism, and with BUGFIXES from Foteos +Macrides. See the accompanying file CHANGES.few for the current +status. + + +A WARNING BEFORE YOU PROCEDE: + +This is experimental. It works already nicely for me, but I have only +tested it on Linux, compiled with Slang. In some cases undisplayable bytes +may get sent to the terminal which are then interpreted as control chars. +Other usual warnings about alpha software apply... + + +HOW TO GET SOURCES: + +The location of files mentioned below is currently at + <URL: http://sol.slcc.edu/lynx/klaus/merged/all/> +but it is probably easier to get a full package of the development code +from + <URL: http://sol.slcc.edu/lynx/current/> +(different formats there, check it out.) +Check both locations to find the newest version. + +There are three alternatives: +( Replace the * in the followin filenames with the appropriate subversion ) + +(1.) + Provided as a full Lynx distribution (for now..) - in zip format. + This contains the complete Lynx source package. + + Just get lynx-2.7.1ac-*.zip. + +(2.) + Provided as add-on over the Lynx 2.7.1 distribution, i.e. all files that + are new or have changed - in zip format. + (a) Get the official Lynx 2.7.1 distribution - see list of download sites at + <URL: http://www.crl.com/~subir/lynx/sources.html>. + (b) Get add-to-offi-2.7.1ac-*.zip. + (c) Unpack the official 2.7.1 package, then unzip add-to-offi-2.7.1ac-*.zip + over that directory tree. + +(3.) + Provided in two files (for minimal download time) to install over the + Lynx 2.7.1 distribution - needs gunzip, tar, and patch. + (a) Get the official Lynx 2.7.1 distribution - see list of download sites at + <URL: http://www.crl.com/~subir/lynx/sources.html>. + (b) Get lynx-newfiles-2.7.1ac-*.tar.gz. + (c) Get lynx-patch-2.7.1ac-*.pch.gz. + (d) Unpack the official 2.7.1 package, then unpack + lynx-newfiles-2.7.1ac-*.tar.gz over that directory tree. + (d) Apply patches from lynx-patch-2.7.1ac-*.pch. + + +HOW TO INSTALL: + +(4) before compiling: + + Check top level makefile or Makefile and userdefs.h as usual. + + NOTE that there is a new "#define" in userdefs.h for MAX_CHARSETS + near the end (in "Section 3."). + + NOTE that in the top-level Makefile, the -DEXP_CHARTRANS must be + in *both* SITE_DEFS *and* SITE_LYDEFS. + +(5) Building Lynx: + + If you are compiling for VMS you have to figure out for yourself + how to modify the procedure, sorry. + + What's supposed to happen (in addition to the usual things when + building Lynx): in the new subdirectory src/chrtrans, make should + first compile the auxiliary program `makeuctb', then invoke that + program to create xxxxx_yyy.h files from the provided xxxxx.yyy + translation table files. (See README.* files in src/chrtrans for + more info.) + + If all goes well, just invoking make from the top-level Lynx dir + as usual should do everything automatically. If not, the makefiles + may need some tweaking... or: + +(6) Some things to look at if compilation fails: + + In src/chrtrans/UCkd.h there is a typedef for an unsigned 16bit + numeric type which may need to be changed for your system. + See comment near top there. + + For recompiling Lynx, `make clean' should not be necessary if only + files in src/chrtrans have been changed. On the other hand + may not propagate to the src/chrtrans directory (depending how things + are going with auto-config), you may have to cd to that directory + and `make clean' there to really clean up there. + +(7) To customize (add/change translation tables etc.): + + See README.* files in src/chrtrans. + Make the necessary changes there, then recompile. + (A general `make clean' should not be necessary, but make sure + the ...uni.h file in src/chrtrans gets regenerated.) + + Note that definition of new character entities (if e.g. you want + Lynx to recognize Ž) are not covered by these table files, + they have to be listed in HTMLDTD.c. + + _If you are on a Linux system_ and using Lynx on the console (i.e. + not xterm, not a dialup *into* the Linux box), you can compile + with -DEXP_CHARTRANS_AUTOSWITCH. This is very useful for testing + the various Display Character Sets, Lynx will try to automatically + chage the console state. You need to have the Linux kbd package + installed, with a working `setfont' command executable by the user, + and the right font files - check the source in src/UCAuto.c for + the files used and/or to change them! + NOTE that with this enabled, + - Lynx currently will not clean up the console state at exit, + it will probably left like the last Display Character Set you used. + - Loading a font is global across _all_ virtual text consoles, so + using Lynx (compiled with this flag) may change the appearance of + text on other consoles (if that text contains characters + beyond ASCII). + +(8) Some suggested Web pages for testing: + + <URL: http://www.tezcat.com/~kweide/lynx-chartrans/test/> + + <URL: http://www.isoc.org:8080/>, + especially + <URL: http://www.isoc.org:8080/liste_ml.htm>. + + <URL: http://www.accentsoft.com/un/un-all.htm> + +(9) Please report bugs, unexpected behavior, etc. + to <lynx-dev@sig.net> or <kweide@tezcat.com>. + + Suggestions for improvement would be welcome, as well as + contributed translation tables (for stuff that is not available + at ftp://dkuug.dk or ftp://unicode.org). + +KW 1996-05-03 |