lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LYNX-DEV lynx compilation


From: Andy Harper - KCL Systems manager
Subject: LYNX-DEV lynx compilation
Date: Thu, 27 Feb 1997 15:29:17 GMT

A few problems with lynx 2.7 on VMS

1.      The [.www.library.implementation]HTAABROWSE.C module uses the 'stat'
        function. Under the compile option /PREFIX=ANSI (DEC C 5.3 on VMS 6.2)
        this results in an undefined external 'stat' because the compiler is
        not prefixing stat with 'decc$'. The fix is to change the /prefix
        qualifier to /PREFIX=ALL ([.www.library.implementation]LIBMAKE.COM)

        This is a bug in DEC C I believe.

2.      The build-slang procedure does not include compilation or linkage for
        the LYCOOKIE.C module. I've enclosed the revised module below.


Finally, due to incredibly slow inter-country links (the NY router(s) appear to
be the bottleneck), I cannot retrieve the latest version of LYNX 2.7 (I have a
version dated about 10th feb). I've been trying fruitlessly for over a week
now. The HTTP server's all seem to time out far too quickly. Perhaps, in light
of the special problems with inter-country speeds, such timeouts could be
significantly increased? Is there a mirror site anywhere in or near the UK with
the latest copy?

Thanks

Andy Harper
Kings College London

$ v = 'f$verify(0)'
$!                      BUILD-SLANG.COM
$!
$!   Command file to build LYNX.EXE with SLANG instead of CURSES on VMS.
$!    Assumes you have SLANG v0.99-27 or higher, available from:
$!              ftp://space.mit.edu/pub/davis
$!   Also invokes build of the WWWLibrary if its
$!    object library does not already exist.
$!=========================================================================
$!   NOTE:  Set SLANGINC to the location of your slang.h and slcurses.h,
$!   ====   and SLANGLIB to the location of your slang.olb (can be relative
$!          to the lynx2-6.src subdirectory of this distribution):
$!
$ SLANGINC = "SLANG_ROOT:[src]"
$ SLANGLIB = "SLANG_DIR:"
$!
$!=========================================================================
$ If f$type(SLANGINC) .nes. "STRING" .or. f$type(SLANGLIB) .nes. "STRING"
$ Then
$   write sys$output ""
$   write sys$output "     READ the header of this command procedure!!!"
$   write sys$output ""
$   exit
$ EndIf
$!==========================================================================
$!
$!   26-FEB-1997        A.Harper                address@hidden
$!      Modified build-slang.com to add module LYcookie
$!   29-Mar-1996        F.Macrides              address@hidden
$!      Modified build.com to create build-slang.com
$!   29-Feb-1996        F.Macrides              address@hidden
$!      Added LYMap to the compilation and link lists.
$!   26-Jul-1995        F.Macrides              address@hidden
$!      Reorganized the option files into ones for the transport and
$!      ones for the compiler, and adding support for GNUC.
$!   14-Jun-1995        F.Macrides              address@hidden
$!      Added LYList.
$!   03-May-1995        F.Macrides              address@hidden
$!      Include /nomember for compilations with DECC.  It's not the
$!      default on AXP and the code assumes byte alignment.
$!   23-Mar-1995        F.Macrides              address@hidden
$!      Replaced references to v2.3.8 or v2.3.9 with v2.3-FM to avoid
$!      any confusion with official releases at UKans.
$!   16-Mar-1995        F.Macrides              address@hidden
$!      Updated to permit submission to BATCH.
$!   17-Feb-1995        F.Macrides              address@hidden
$!      Updated for v2.3-FM
$!   07-Dec-1994        F.Macrides              address@hidden
$!      Updated for DECC/VAX, VAXC/VAX and DECC/AXP
$!   03-OCT-1994        A.Harper                address@hidden
$!      Mods to support SOCKETSHR/NETLIB and add a /DEBUG/NOOPT option
$!   02-Jun-1994        F.Macrides              address@hidden
$!      Mods to support TCPWare (To use non-blocking connects, you need
$!      the DRIVERS_V405B.INC patch from FTP.PROCESS.COM for TCPware for
$!      OpenVMS Version 4.0-5, or a higher version of TCPWare, which will
$!      have that bug in the TCPDRIVER fixed.  Otherwise, add NO_IOCTL to
$!      the $ cc := cc/define=(...) list in [.WWW.Library.VMS]libmake.com).
$!   20-May-1994        Andy Harper             address@hidden
$!      Mods to support CMU TCP/IP
$!   13-Dec-1993        F.Macrides              address@hidden
$!      Mods for conditional compilations with VAXC versus DECC
$!   10-Dec-1993        F.Macrides              address@hidden
$!      Initial version, for Lynx v2.1
$!
$ ON CONTROL_Y THEN GOTO CLEANUP
$ ON ERROR THEN GOTO CLEANUP
$ proc = f$environment("PROCEDURE")
$ where = f$parse(proc,,,"DEVICE") + f$parse(proc,,,"DIRECTORY")
$ set default 'where'
$ write sys$output "Default directory:"
$ show default
$ write sys$output ""
$!
$ agent = 0
$ extra = ""
$ IF P1 .EQS. ""
$ THEN
$   If f$mode() .eqs. "BATCH"
$   Then
$       write sys$output "TCP/IP agent not specified!"
$       write sys$output "Defaulting to MULTINET"
$       agent = 1
$   Else
$       write sys$output "Acceptable TCP/IP agents are"
$       write sys$output " [1] MULTINET (default)"
$       write sys$output " [2] UCX"
$       write sys$output " [3] WIN_TCP"
$       write sys$output " [4] CMU_TCP"
$       write sys$output " [5] SOCKETSHR_TCP"
$       write sys$output " [6] TCPWARE"
$       read sys$command/prompt="Agent [1,2,3,4,5,6] (RETURN = [1]) " agent
$   EndIf
$ ENDIF
$ option = ""
$ if agent .eq. 1 .or. agent .eqs. "" .or. p1 .eqs. "MULTINET" then -
    option = "MULTINET"
$ if agent .eq. 2 .or. p1 .eqs. "UCX" then option = "UCX"
$ if agent .eq. 3 .or. p1 .eqs. "WIN_TCP" then option = "WIN_TCP"
$ if agent .eq. 4 .or. p1 .eqs. "CMU_TCP" then option = "CMU_TCP"
$ if agent .eq. 5 .or. p1 .eqs. "SOCKETSHR_TCP" then option = "SOCKETSHR_TCP"
$ if agent .eq. 6 .or. p1 .eqs. "TCPWARE" then option = "TCPWARE"
$!
$ if option .eqs. "TCPWARE"
$ then
$    write sys$output "Building Lynx for TCPWARE with UCX emulation..."
$    extra   = ",UCX"
$ endif
$!
$ optfile = "''option'"
$!
$ if p2 .nes. ""
$   then
$      cc_opts = "/DEBUG/NOOPT"
$      link_opts = "/DEBUG"
$   else
$      cc_opts = ""
$      link_opts = ""
$ endif
$!
$ IF f$search("[.WWW.Library.Implementation]WWWLib_''option'.olb") .nes. ""
$ THEN
$   write sys$output "  WWWLib_''option'.olb already exists."
$   If f$mode() .eqs. "BATCH" 
$   Then 
$       write sys$output "  Updating WWWLib_''option'.olb"
$   Else
$       read sys$command/prompt="  Update it [default Y]? " reply
$       if reply .nes. "" .and. -
           f$extract(0,1,f$edit(reply, "TRIM, UPCASE")) .nes. "Y" then -
$          goto Compile_SRC
$   EndIf
$ ENDIF
$ v1 = f$verify(1)
$!
$!      Build the WWWLibrary
$!
$ set default [.WWW.Library.VMS]
$ v1 = 'f$verify(0)'
$ @libmake 'option' 'cc_opts'
$ v1 = f$verify(1)
$ set default [-.-.-]
$ v1 = 'f$verify(0)'
$!
$Compile_SRC:
$ v1 = f$verify(1)
$!
$!      Compile the Lynx [.SRC] modules
$!
$ set default [.SRC]
$ v1 = 'f$verify(0)'
$ IF f$trnlnm("VAXCMSG") .eqs. "DECC$MSG" .or. -
     f$trnlnm("DECC$CC_DEFAULT") .eqs. "/DECC" .or. -
     f$trnlnm("DECC$CC_DEFAULT") .eqs. "/VAXC"
$ THEN
$  compiler := "DECC"
$  if option .eqs. "UCX" then optfile = "UCXSHR"
$  if option .eqs. "TCPWARE" then optfile = "TCPWARESHR"
$  if option .eqs. "MULTINET" then -
        extra = ",_DECC_V4_SOURCE,__SOCKET_TYPEDEFS"
$  v1 = f$verify(1)
$! DECC:
$  cc := cc/decc/prefix=all /nomember 'cc_opts'-
           /DEFINE=(DEBUG,ACCESS_AUTH,'option''extra',USE_SLANG,__VMS_CURSES)-
           /INCLUDE=([-],[-.WWW.Library.Implementation],'SLANGINC') 
$  v1 = 'f$verify(0)'
$ ELSE
$  if option .eqs. "UCX" then optfile = "UCXOLB"
$  if option .eqs. "TCPWARE" then optfile = "TCPWAREOLB"
$  IF f$search("gnu_cc:[000000]gcclib.olb") .nes. ""
$  THEN
$   compiler := "GNUC"
$   v1 = f$verify(1)
$! GNUC:
$   cc := gcc/DEFINE=(DEBUG,ACCESS_AUTH,'option''extra',USE_SLANG) 'cc_opts'-
             /INCLUDE=([-],[-.WWW.Library.Implementation],'SLANGINC') 
$   v1 = 'f$verify(0)'
$  ELSE
$   compiler := "VAXC"
$   v1 = f$verify(1)
$! VAXC:
$   cc := cc/DEFINE=(DEBUG,ACCESS_AUTH,'option''extra',USE_SLANG) 'cc_opts'-
            /INCLUDE=([-],[-.WWW.Library.Implementation],'SLANGINC')
$   v1 = 'f$verify(0)'
$  ENDIF
$ ENDIF
$ v1 = f$verify(1)
$!
$ cc DefaultStyle
$ cc GridText
$ cc HTAlert
$ cc HTFWriter
$ cc HTInit
$ cc HTML
$ cc LYBookmark
$ cc LYCgi
$ cc LYCharSets
$ cc LYCharUtils
$ cc LYClean
$ cc LYcookie
$ cc LYCurses
$ cc LYDownload
$ cc LYEdit
$ cc LYEditmap
$ cc LYexit
$ cc LYForms
$ cc LYGetFile
$ cc LYHistory
$ cc LYJump
$ cc LYKeymap
$ cc LYLeaks
$ cc LYList
$ cc LYMail
$ cc LYMain
$ cc LYMainLoop
$ cc LYMap
$ cc LYNews
$ cc LYOptions
$ cc LYPrint
$ cc LYrcFile
$ cc LYReadCFG
$ cc LYSearch
$ cc LYShowInfo
$ cc LYStrings
$ cc LYTraversal
$ cc LYUpload
$ cc LYUtils
$!
$!      Link the objects and libaries.
$!
$ link/exe=lynx.exe 'link_opts' -
DefaultStyle.obj, -
GridText.obj, -
HTAlert.obj, -
HTFWriter.obj, -
HTInit.obj, -
HTML.obj, -
LYBookmark.obj, -
LYCgi.obj, -
LYCharSets.obj, -
LYCharUtils.obj, -
LYClean.obj, -
LYcookie.obj, -
LYCurses.obj, -
LYDownload.obj, -
LYEdit.obj, -
LYEditmap.obj, -
LYexit.obj, -
LYForms.obj, -
LYGetFile.obj, -
LYHistory.obj, -
LYJump.obj, -
LYKeymap.obj, -
LYLeaks.obj, -
LYList.obj, -
LYMail.obj, -
LYMain.obj, -
LYMainLoop.obj, -
LYMap.obj, -
LYNews.obj, -
LYOptions.obj, -
LYPrint.obj, -
LYrcFile.obj, -
LYReadCFG.obj, -
LYSearch.obj, -
LYShowInfo.obj, -
LYStrings.obj, -
LYTraversal.obj, -
LYUpload.obj, -
LYUtils.obj, -
[-.WWW.Library.Implementation]WWWLib_'option'.olb/library, -
'SLANGLIB'slang.olb/lib, -
sys$disk:[]'optfile'.opt/opt, sys$disk:[]'compiler'.opt/opt
$!
$!      Copy the executable to the top directory and restore the default.
$!
$ copy lynx.exe [-]
$ set def [-]
$!
$ v1 = 'f$verify(0)'
$!
$!  Issue message on how to include LYNX.HLP in the system HELP library
$!
$ write sys$output ""
$ write sys$output "  To install or update lynx.hlp in the system HELP library,"
$ write sys$output "  use:"
$ write sys$output "        library/replace sys$help:helplib.hlb lynx.hlp"
$ write sys$output ""
$!
$ CLEANUP:
$    v1 = 'f$verify(0)'
$    write sys$output "Default directory:"
$    show default
$    v1 = f$verify(v)
$ exit

;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]