Example of rebuilding PAW on VMS systems
$! $! Build various versions of \PAW{} $! $ set noon $! $ architecture=f$edit(f$getsyi("ARCH_NAME"),"UPCASE") $! $ if architecture .eqs. "ALPHA" $ then $ cc:==cc/standard=vaxc $ link:==link/nonative $ endif $! $ ypatchy cern:['cern_level'.src.car]paw.car pawmain.for :go +USE,CZ. +USE,MAIN. +USE,P=PAW,D=0PAMAIN. +EXE. +KEEP,PAWSIZ. PARAMETER (NWPAW=500000) +PAM,T=C. +QUIT. $! $ ypatchy cern:['cern_level'.src.car]paw.car pawpp.for :go +USE,CZ. +USE,MAIN,MOTIF. +USE,P=PAW,D=0PAMAINM. +EXE. +KEEP,PAWSIZ. PARAMETER (NWPAW=500000) +PAM,T=C. +QUIT. $! $ create czdummy.for subroutine czdummy entry czopen entry czclos entry czputa entry czgeta entry czputc entry czgetc entry cztcp entry CONNECT entry GETHOSTBYNAME entry GETSERVBYNAME entry HTONS entry INET_ADDR entry RECV entry SELECT entry SEND entry SETSOCKOPT entry SHUTDOWN entry SOCKET entry multinet_get_socket_errno_addr entry socket_close entry socket_ioctl entry socket_perror end $! $ create gethostname.c /* * return the node name */ #include <descrip.h> #include <lnmdef.h> int gethostname( node, len ) char *node; int len; { $DESCRIPTOR( tabnam, "LNM$SYSTEM" ); $DESCRIPTOR( lognam, "SYS$NODE" ); int length = 0; struct { short buffer_length; short item_code; char *buffer_address; int *return_length; int item_list_end; } itmlst; /* Disabled auto initialization = { len - 1, LNM$_STRING, node, &length, 0 }; */ char *p = node; /* Manual initialization code inserted by CRL on 931206 */ itmlst.buffer_length = (len - 1); itmlst.item_code = LNM$_STRING; itmlst.buffer_address = node; itmlst.return_length = &length; itmlst.item_list_end = 0; sys$trnlnm( 0, &tabnam, &lognam, 0, &itmlst ); while( p[0] != '\\ 0' && p[0] != ':' ) p++; p[0] = '\\ 0'; return( 0 ); } $! $! Compile the main program(s) if found $! $ if f$search("PAWMAIN.FOR") .nes. "" $ then $ write sys$output "Compiling PAWMAIN..." $ fortran pawmain $ endif $! $ if f$search("PAWPP.FOR") .nes. "" $ then $ write sys$output "Compiling PAWPP..." $ fortran pawpp $ endif $! $ if f$search("GETHOSTNAME.C") .nes. "" $ then $ write sys$output "Compiling GETHOSTNAME..." $ cc gethostname $ endif $! $ if f$search("CZDUMMY.FOR") .nes. "" $ then $ write sys$output "Compiling CZDUMMY (dummy TCP/IP routines)..." $ fortran czdummy $ endif $! $! Linking of PAW/GKS version $! $! Licensed software required: GTS-GRAL GKS (installed and distributed by CERN) $! $ if architecture .eqs. "ALPHA" $ then $ write sys$output "PAW/GKS only available on VAX/VMS" $ else $ write sys$output "Link GTS-GRAL GKS version of PAW..." $ cernlib pawlib,mathlib,packlib,graflib,packlib $ link/exe=pawgks pawmain,czdummy,'LIB$ $ endif $! $! Linking of PAW/DEC-GKS $! Licensed software required: DEC-GKS from Digital $! $ write sys$output "Link DEC-GKS version of PAW..." $ cernlib pawlib,mathlib,packlib,graflib/dgks,packlib $ link/exe=pawdgks pawmain,czdummy,'LIB$ $! $! Linking of PAW/X11 $! Licensed software required: Motif 1.1 $! $ write sys$output "Link PAW/X11..." $ cernlib pawlib,mathlib,packlib,graflib/x11,packlib $ link/exe=pawx11 pawmain,gethostname,czdummy,'LIB$ $! $! Linking of PAW/X11_M $! Licensed software required: Motif 1.1, Multinet TCP/IP $! $ write sys$output "Link PAW/X11_M..." $ cernlib pawlib,mathlib,packlib,graflib/x11,packlib $ if architecture .eqs. "ALPHA" $ then $ link/exe=pawx11_m - pawmain,'LIB$',sys$input/opt multinet_socket_library/share sys$library:decc$shr/share $ else $ link/exe=pawx11_m - pawmain,'LIB$',sys$input/opt multinet_socket_library/share sys$library:vaxcrtl/share $ endif $! $! Linking of PAW/X11_U $! Licensed software required: Motif 1.1, DEC TCP/IP (UCX) $! $ write sys$output "Link PAW/X11_U..." $ cernlib pawlib,mathlib,packlib,graflib/x11,packlib $ if architecture .eqs. "ALPHA" $ then $ link/exe=pawx11_u - pawmain,'LIB$',sys$library:ucx$ipc/lib,sys$input/opt sys$library:ucx$ipc_shr/share sys$library:decc$shr/share $ else $ link/exe=pawx11_u - pawmain,'LIB$',sys$library:ucx$ipc/lib,sys$input/opt sys$library:ucx$ipc_shr/share sys$library:vaxcrtl/share $ endif $! $! Linking of PAW/X11_DECW $! Licensed software required: DECWindows $! $ write sys$output "Link PAW/X11_DECW..." $ if architecture .eqs. "ALPHA" $ then $ write sys$output "This option only available on VAX/VMS" $ else $ lib$:==CERN:['cern_level'.LIB]PAWLIB/LIB,PACKLIB/LIB,MATHLIB/LIB,- GRAFLIB/LIB,GRAFX11/LIB,PACKLIB/LIB,KERNLIB/LIB" $ link/exe=pawx11_decw - pawmain,gethostname,czdummy,'LIB$',sys$input/opt cern:[decw]decw$xlibshr/share cern:[decw]decw$dwtlibshr/share cern:[decw]decw$transport_common/share sys$library:vaxcrtl/share $ endif $! $! Linking of PAW/X11_DECW_M $! Licensed software required: DECWindows, Multinet $! $ write sys$output "Link PAW/X11_DECW_M..." $ if architecture .eqs. "ALPHA" $ then $ write sys$output "This option only available on VAX/VMS" $ else $ lib$:==CERN:['cern_level'.LIB]PAWLIB/LIB,PACKLIB/LIB,MATHLIB/LIB,- GRAFLIB/LIB,GRAFX11/LIB,PACKLIB/LIB,KERNLIB/LIB" $ link/exe=pawx11_decw_m - pawmain,'LIB$',sys$input/opt multinet_socket_library/share cern:[decw]decw$xlibshr/share cern:[decw]decw$dwtlibshr/share cern:[decw]decw$transport_common/share sys$library:vaxcrtl/share $ endif $! $! Linking of PAW++ with Multinet $! $ write sys$output "Link PAW++ with Multinet..." $ cernlib pawlib,mathlib,packlib,graflib/motif,packlib $ if architecture .eqs. "ALPHA" $ then $ link/exe=pawpp - pawpp,'LIB$',sys$input/opt multinet_socket_library/share sys$library:decc$shr/share $ else $ link/exe=pawpp - pawpp,'LIB$',sys$input/opt multinet_socket_library/share sys$library:vaxcrtl/share $ endif $! $! Linking of PAW++ with DEC TCP/IP (UCX) $! $ write sys$output "Link PAW++ with UCX..." $ cernlib pawlib,mathlib,packlib,graflib/motif,packlib $ if architecture .eqs. "ALPHA" $ then $ link/exe=pawpp_u - pawpp,'LIB$',sys$input/opt sys$library:ucx$ipc_shr/share sys$library:decc$shr/share $ else $ link/exe=pawpp_u - pawpp,'LIB$',sys$library:ucx$ipc/lib,sys$input/opt sys$library:ucx$ipc_shr/share sys$library:vaxcrtl/share $ endif $! $! $! Linking of PAW++ without Multinet $! $ write sys$output "Link PAW++ without Multinet..." $ cernlib pawlib,mathlib,packlib,graflib/motif,packlib $ if architecture .eqs. "ALPHA" $ then $ link/exe=pawpp_dnet - pawpp,czdummy,gethostname,'LIB$',sys$input/opt sys$library:decc$shr/share $ else $ link/exe=pawpp_dnet - pawpp,czdummy,gethostname,'LIB$',sys$input/opt sys$library:vaxcrtl/share $ endif