next up previous contents index
Next: Relinking PAW on Up: Rebuilding components of Previous: Rebuilding components of

Rebuilding PAW on VMS systems

       

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


Janne Saarela
Wed Mar 29 15:50:22 METDST 1995