233 lines
8.2 KiB
Text
233 lines
8.2 KiB
Text
$ v0 = 0
|
|
$ v = f$verify(v0)
|
|
$! $LynxId: libmake.com,v 1.15 2011/05/23 23:58:48 tom Exp $
|
|
$! LIBMAKE.COM
|
|
$!
|
|
$! Command file to build the WWWLibrary on VMS systems.
|
|
$!
|
|
$! 11-Jul-2010 Ch. Gartmann
|
|
$! add support for "MULTINETUCX"
|
|
$! 01-Jul-2007 T.Dickey
|
|
$! add support for "TCPIP" (TCPIP Services)
|
|
$! 23-Oct-2004 T.Dickey
|
|
$! cleanup, remove duplication, etc.
|
|
$! 08-Oct-1997 F.Macrides macrides@sci.wfeb.edu
|
|
$! Added comments and minor tweaks for convenient addition of
|
|
$! compiler definitions and compiler and linker options.
|
|
$! 26-Jul-1995 F.Macrides macrides@sci.wfeb.edu
|
|
$! Adding support for GNUC.
|
|
$! 03-May-1995 F.Macrides macrides@sci.wfeb.edu
|
|
$! Include /nomember for compilations with DECC. It's not the
|
|
$! default on AXP and the code assumes byte alignment.
|
|
$! 07-Dec-1994 F.Macrides macrides@sci.wfeb.edu
|
|
$! Updated for DECC/VAX, VAXC/VAX and DECC/AXP
|
|
$! 03-NOV-1994 A.Harper A.Harper@kcl.ac.uk
|
|
$! Mods to support SOCKETSHR/NETLIB and add a /DEBUG/NOOPT option
|
|
$! 02-Jun-1994 F.Macrides macrides@sci.wfeb.edu
|
|
$! 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 /define=(...) list.)
|
|
$! 20-May-1994 Andy Harper A.Harper@bay.cc.kcl.ac.uk
|
|
$! Added support for the CMU TCP/IP transport
|
|
$! 13-Dec-1993 F.Macrides macrides@sci.wfeb.edu
|
|
$! Mods for conditional compilations with VAXC versus DECC
|
|
$! 10-Dec-1993 F.Macrides macrides@sci.wfeb.edu
|
|
$! Initial version, for WWWLibrary v2.14 with Lynx v2.1
|
|
$!
|
|
$ ON CONTROL_Y THEN GOTO CLEANUP
|
|
$ ON ERROR THEN GOTO CLEANUP
|
|
$!
|
|
$! Compiler definitions can be added here as a comma separated
|
|
$! list with a lead comma, e.g., ",HAVE_FOO_H,DO_BLAH". They
|
|
$! will apply only to the libwww-FM modules. - FM
|
|
$!
|
|
$ extra_defs = ",ACCESS_AUTH"
|
|
$!
|
|
$! Include-paths can be added here as a comma separated
|
|
$! list with a lead comma, e.g., ",foo".
|
|
$!
|
|
$ extra_incs = ""
|
|
$!
|
|
$ extra_libs = ""
|
|
$!
|
|
$! If no TCP/IP agent is specified (as the first argument),
|
|
$! prompt for a number from the list. Note that the agent
|
|
$! must be the first argument if the debugger mode is to be
|
|
$! set via a second argument (see below). - FM
|
|
$!
|
|
$ agent = 0
|
|
$ IF P1 .EQS. ""
|
|
$ THEN
|
|
$ 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"
|
|
$ write sys$output " [7] DECNET"
|
|
$ write sys$output " [8] TCPIP"
|
|
$ write sys$output " [9] Multinet UCX emulation"
|
|
$ read sys$command/prompt="Agent [1,2,3,4,5,6,7,8,9] (RETURN = [1]) " agent
|
|
$ ENDIF
|
|
$ if agent .eq. 1 .or. agent .eqs. "" .or. p1 .eqs. "MULTINET" then -
|
|
transport = "MULTINET"
|
|
$ if agent .eq. 2 .or. p1 .eqs. "UCX" then transport = "UCX"
|
|
$ if agent .eq. 3 .or. p1 .eqs. "WIN_TCP" then transport = "WIN_TCP"
|
|
$ if agent .eq. 4 .or. p1 .eqs. "CMU_TCP" then transport = "CMU_TCP"
|
|
$ if agent .eq. 5 .or. p1 .eqs. "SOCKETSHR_TCP" then transport = "SOCKETSHR_TCP"
|
|
$ if agent .eq. 6 .or. p1 .eqs. "TCPWARE" then transport = "TCPWARE"
|
|
$ if agent .eq. 7 .or. p1 .eqs. "DECNET" then transport = "DECNET"
|
|
$ if agent .eq. 8 .or. p1 .eqs. "TCPIP" then transport = "TCPIP"
|
|
$ IF agent .EQ. 9 .OR. P1 .EQS. "MULTINETUCX"
|
|
$ THEN
|
|
$ transport = "UCX"
|
|
$ extra_defs = extra_defs + ",MUCX"
|
|
$ ENDIF
|
|
$!
|
|
$ if transport .eqs. "SOCKETSHR_TCP" then extra_defs = extra_defs + ",_DECC_V4_SOURCE"
|
|
$ if transport .eqs. "TCPIP" then extra_defs = extra_defs + ",TCPIP_SERVICES"
|
|
$ if transport .eqs. "TCPWARE" then extra_defs = extra_defs + ",UCX"
|
|
$!
|
|
$ if option .eqs. "TCPIP"
|
|
$ then
|
|
$ if f$trnlnm("TCPIP$IPC_SHR") .eqs. "" then define TCPIP$IPC_SHR SYS$LIBRARY:TCPIP$IPC_SHR
|
|
$ endif
|
|
$!
|
|
$ if P2 .nes. ""
|
|
$ then
|
|
$ count_parm = 0
|
|
$ parse_p2:
|
|
$ value_parm = f$element('count_parm, ",", "''p2'")
|
|
$ if value_parm .nes. ","
|
|
$ then
|
|
$ if value_parm .eqs. "BZLIB"
|
|
$ then
|
|
$ write sys$output "** adding BZlib to build."
|
|
$ extra_defs = extra_defs + ",USE_BZLIB"
|
|
$ extra_incs = extra_incs + "," + BZLIB_INC
|
|
$ extra_libs = extra_libs + "," + BZLIB_LIB + "libbz2/LIB"
|
|
$ endif
|
|
$ if value_parm .eqs. "SLANG"
|
|
$ then
|
|
$ write sys$output "** adding SLang to build."
|
|
$ extra_defs = extra_defs + ",USE_SLANG"
|
|
$ extra_incs = extra_incs + "," + SLANG_INC
|
|
$ extra_libs = extra_libs + "," + SLANG_LIB + "slang.olb/lib"
|
|
$ endif
|
|
$ if value_parm .eqs. "SSL"
|
|
$ then
|
|
$ write sys$output "** adding SSL to build."
|
|
$ IF F$TYPE( ssl_lib ) .EQS. "" THEN ssl_lib = F$TRNLNM("SSLLIB")
|
|
$ IF F$TYPE( ssl_inc ) .EQS. "" THEN ssl_inc = F$TRNLNM("SSLINCLUDE")
|
|
$ extra_defs = extra_defs + ",USE_SSL,USE_OPENSSL_INCL"
|
|
$ extra_libs = extra_libs + "," + SSL_LIB + "libssl/LIB," + SSL_LIB + "libcrypto/LIB"
|
|
$!
|
|
$! The "#include <openssl/ssl.h>" requires a logical variable "openssl".
|
|
$!
|
|
$ define/nolog openssl 'SSL_INC
|
|
$ endif
|
|
$ if value_parm .eqs. "ZLIB"
|
|
$ then
|
|
$ write sys$output "** adding Zlib to build."
|
|
$ extra_defs = extra_defs + ",USE_ZLIB"
|
|
$ extra_incs = extra_incs + "," + ZLIB_INC
|
|
$ extra_libs = extra_libs + "," + ZLIB_LIB + "libz/LIB"
|
|
$ endif
|
|
$ count_parm = count_parm + 1
|
|
$ goto parse_p2
|
|
$ endif
|
|
$ endif
|
|
$!
|
|
$! Compiler options can be specified here. If there was
|
|
$! a second argument (with any value), then debugger mode
|
|
$! with no optimization will be specified as well. - FM
|
|
$!
|
|
$ cc_opts = ""
|
|
$ if p3 .nes. "" then cc_opts = cc_opts + "/DEBUG/NOOPT"
|
|
$!
|
|
$ all_defs = transport + extra_defs
|
|
$ all_incs = "[-.Implementation],[---.src],[---.src.chrtrans],[---]" + extra_incs
|
|
$!
|
|
$ IF f$getsyi("ARCH_NAME") .eqs. "Alpha" .or. -
|
|
f$getsyi("ARCH_NAME") .eqs. "IA64" .or. -
|
|
f$trnlnm("VAXCMSG") .eqs. "DECC$MSG" .or. -
|
|
f$trnlnm("DECC$CC_DEFAULT") .eqs. "/DECC" .or. -
|
|
f$trnlnm("DECC$CC_DEFAULT") .eqs. "/VAXC"
|
|
$ THEN
|
|
$! DECC:
|
|
$ If transport .eqs. "UCX" .or. transport .eqs. "TCPWARE"
|
|
$ Then
|
|
$ cc := cc/decc/prefix=all /nomember 'cc_opts'-
|
|
/warning=(disable=implicitfunc)-
|
|
/DEFINE=('all_defs) -
|
|
/INCLUDE=('all_incs)
|
|
$ Else
|
|
$ if transport .eqs. "MULTINET" then -
|
|
extra_defs = extra_defs + ",_DECC_V4_SOURCE,__SOCKET_TYPEDEFS"
|
|
$ cc := cc/decc/prefix=all /nomember 'cc_opts'-
|
|
/warning=(disable=implicitfunc)-
|
|
/DEFINE=('all_defs) -
|
|
/INCLUDE=('all_incs)
|
|
$ EndIf
|
|
$ ELSE
|
|
$ IF f$search("gnu_cc:[000000]gcclib.olb") .nes. ""
|
|
$ THEN
|
|
$! GNUC:
|
|
$ cc := gcc/DEFINE=('all_defs) 'cc_opts' /INCLUDE=('all_incs)
|
|
$ ELSE
|
|
$! VAXC:
|
|
$ cc := cc/DEFINE=('all_defs) 'cc_opts' /INCLUDE=('all_incs)
|
|
$ ENDIF
|
|
$ ENDIF
|
|
$ v1 = f$verify(1)
|
|
$ show sym cc
|
|
$ cc [-.Implementation]HTString.c
|
|
$ cc [-.Implementation]HTParse.c
|
|
$ cc [-.Implementation]HTAccess.c
|
|
$ cc [-.Implementation]HTTP.c
|
|
$ cc [-.Implementation]HTFile.c
|
|
$ cc [-.Implementation]HTBTree.c
|
|
$ cc [-.Implementation]HTFTP.c
|
|
$ cc [-.Implementation]HTTCP.c
|
|
$ cc [-.Implementation]SGML.c
|
|
$ cc [-.Implementation]HTMLDTD.c
|
|
$ cc [-.Implementation]HTChunk.c
|
|
$ cc [-.Implementation]HTPlain.c
|
|
$ cc [-.Implementation]HTMLGen.c
|
|
$ cc [-.Implementation]HTAtom.c
|
|
$ cc [-.Implementation]HTAnchor.c
|
|
$ cc [-.Implementation]HTStyle.c
|
|
$ cc [-.Implementation]HTList.c
|
|
$ cc [-.Implementation]HTRules.c
|
|
$ cc [-.Implementation]HTFormat.c
|
|
$ cc [-.Implementation]HTMIME.c
|
|
$ cc [-.Implementation]HTNews.c
|
|
$ cc [-.Implementation]HTGopher.c
|
|
$ cc [-.Implementation]HTTelnet.c
|
|
$ cc [-.Implementation]HTFinger.c
|
|
$ cc [-.Implementation]HTWSRC.c
|
|
$ cc [-.Implementation]HTAAUtil.c
|
|
$ cc [-.Implementation]HTAABrow.c
|
|
$ cc [-.Implementation]HTGroup.c
|
|
$ cc [-.Implementation]HTAAProt.c
|
|
$ cc [-.Implementation]HTAssoc.c
|
|
$ cc [-.Implementation]HTLex.c
|
|
$ cc [-.Implementation]HTUU.c
|
|
$ cc [-.Implementation]HTVMSUtils.c
|
|
$ cc [-.Implementation]HTWAIS.c
|
|
$ cc [-.Implementation]HTVMS_WaisUI.c
|
|
$ cc [-.Implementation]HTVMS_WaisProt.c
|
|
$!
|
|
$ result = "[-.Implementation]WWWLib_''transport'.olb"
|
|
$ If f$search("''result'") .eqs. "" Then -
|
|
LIBRARY/Create 'result
|
|
$ LIBRARY/Replace 'result *.obj
|
|
$ Delete/nolog/noconf *.obj;*
|
|
$!
|
|
$ v1 = f$verify(v0)
|
|
$ CLEANUP:
|
|
$ v1 = f$verify(v)
|
|
$exit
|