For a description of Lynx please read the README file.

        Lynx Installation guide.

        Last Updated April 1993

Step 1a. 
    All of the variables that you are likely to change are in the
    userdefs.h file.  There are a few that you must change or verified, 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.  

Step 1b.
    In the file "printers.h" change the printer structure to reflect your own
    systems printing resources.  

Step 2.  Building the World Wide Web (WWW) Library

a) get the WWW Library
    *-UNIX users Skip this step.-*
    The WWW (World Wide Web) Library is included in the WWW directory.

    VMS users get the VMS_wwwlib.tar.Z file from ftp2.cc.ukans.edu.

b) Compile the WWW Library
    NOTE:  If you are running on a UNIX system this will now be performed 
    automatically by the makefile in this directory.  If you are on a VMS
    system you will need to do this.

    VMS USERS NOTE:  The WWW Library distributed with Lynx will not currently
		     work on VMS systems.  I will provide an older version
		     of the WWW Library that will work on VMS at my FTP site
		     ftp2.cc.ukans.edu.  You will need to edit the
		     descrip.mms file in the SRC directory to reflect the
		     location of the WWW Library after you have compiled
		     it.

		     The VMS_wwwlib.tar.Z distribution will create a 
		     directory called "wwwlib".  Set default into the
		     "wwwlib" directory and read the README file.

    Change directory to WWW/Library and you will see several directories
    that each corespond to a system type.  Enter the directory of your system
    and type 'make'  This should completely build the library.
    NOTE:  To compile the VMS source use the descrip.mms file in the
           'Implementation' directory.

    (HINT: define DEFAULT_NEWS_HOST as your local nntp host if you have one
     by adding -DDEFAULT_NEWS_HOST="\"your news server\""  to 
     CFLAGS in the makefile)


Step 3. (UNIX)
    VMS users skip ahead to 'VMS step 3'

     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 I don't know what they might
    be at this point.  If you are running on a currently unsupported system 
    please contact me at "montulli@kuhub.cc.ukans.edu"  If there are
    any problems I will try to fix them almost immediately.  If it compiles
    and works completely, please send a message also.  

VMS step 3.
    Edit the descrip.mms file or in the src directory to reflect the
    location of the VMS_wwwlib.tar.Z library that you just compiled.

    If you don't have "mms" there is a build.com file in this directory
    that you need to edit.

    Almost everything works for VMS right now. (famous last words)
    If you have "mms" you should run:
    "mms/macro=(multinet=1)" or "mms/macro=(ucx=1)"
    If you just type "mms" it will revert to the multinet configuration.

    There is not support for Wollagong yet!  Anyone with Wollagong
    wish to help?  (I have included some untested mms files, try them out)

    If you do not have "mms" you will have to edit the build.com
    script in this directory.  Build.com will build the Lynx sources
    but will not build the WWWLibrary sources.  The WWWLibrary must
    be compiled before you run the build.com in this directory.

    You may also have to edit one of the .opt files
    there are currently .opt files for multinet and ucx
    they are called:  multinet.opt and ucx.opt
    They are both in the src directory.

    In the userdefs.h file there are definitions for SocketRead and 
    SocketWrite.  These should be changed to the names of the routines
    for reading and writing sockets on your system.
    Multinet and UCX are already defined.


Step 4.
    Go ahead and test it out.  You shouldn't need to install Lynx to test
    it.  There are several sample files in the samples directory, to view them
    type "./lynx samples/start"  from this directory. (on VMS you will have to 
    define lynx as a command and then type "lynx start" from the samples 
    directory). This will test the local file, WWW, and gopher functions 
    of Lynx.  Once you are satisfied that it works, go ahead and install it.

    BTW- There is alot of documentation in the samples directory.  You
 	 should look through it all if possible.

VMS Step 4. 
    try 'lynx == "$dua?:[whatever]lynx.exe"'
    define the WAIS gateway if desired:
	'define/system "WWW_wais_GATEWAY" "http://info.cern.ch:8001/"'
    then 'lynx'

Step 5. (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" and "lynx.1" to the specified directories.  Those are the
only to files necessary to run Lynx.  (lynx.1 isn't really necessary,
but it should be available)  

VMS Step 6.
    Your on your own for installation, you just need to move
    the executable to a public place and make it accessable.

Step 7.  (Optional)
    Adding Direct WAIS support.
    Get the freeWAIS distribution from sunsite.unc.edu and compile
    it.  The compile process will create some libraries, you will need
    wais.a and client.a.  Edit the Makefile in the src directory and add 
    the library locations under the DIRECT WAIS ACCESS heading.  Edit the 
    Makefile for the WWW Libarary in the WWW/Libarary/[your system] to make 
    the WAIS.c sources in the library.  If everything goes well you should 
    be able to re-compile and have direct WAIS access.

Step 8.  (Optional)
    Lynx services are greatly extended through the use of the internet
    Gopher Server.  In order to truly utilize the distributed nature of Lynx,
    and make your data available to remote systems, you will need to obtain 
    a Gopher server from the University of Minnesota.  You do not need a gopher
    server to view existing remote date, but only if you wish to make your
    own distributed data available.  Lynx has not yet been tested with the
    new Gopher+ servers, but should work.
    Gopher products can be obtained through anonymous ftp from 
    "boombox.micro.umn.edu" in the "pub/gopher" directory.  Full installation
    instructions are included with the Gopher package.  At the time of this
    writing Gopher is available for UNIX, VMS, VM, Macintosh, and MS-DOS.

    The only special thing that needs to be done to Gopher to make it fully
    compatible with Lynx, is to set the Base directory of Gopher the same
    as the base directory of the Lynx start-up file.  For instance, if you
    have a hypertext database in the directory /usr/users/hydocs with its 
    start file in the same directory, then you should set the Gopher server 
    to reference /usr/users/hydocs as root.  This will enable the automatic 
    address translation in Lynx to perform correctly.  Basically, Gopher 
    should point to the same directory as the Lynx STARTDIR, defined in the 
    userdefs.h file.  Only files on and below Gopher's base directory can 
    be accessed remotely, therefore all data that you wish Lynx to have 
    remote access to must be in the Gopher subtree, or subtrees.  You may 
    set up multiple Gopher servers on one machine on different ports.
    
Step 7. (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 send a comment.  Send me a message by mail, or call me on the phone.
    (You'll find my address and phone number at the bottom of this document.)
    Until Lynx has been ported to all the major operating systems, I expect
    there will be some compatibility problems.  For operating systems that we
    do not support at this campus, you may need to grant temporary access to a 
    similar system for testing.

Lou Montulli			Montulli@kuhub.cc.ukans.edu
Computing Services		Montulli@ukanvax.bitnet
University of Kansas
Lawrence, KS 66045		(913) 864-0436
