about summary refs log blame commit diff stats
path: root/WWW/Library/vms/libmake.com
blob: 6ef7c0777eec0e2898c481d40ca0e25173502a40 (plain) (tree)








































































































































































































































                                                                                               
$ 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