[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.
;
- LYNX-DEV lynx compilation,
Andy Harper - KCL Systems manager <=