671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!------------------------------------------------------------------------------
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$! make Contrib programs of libpng under OpenVMS
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$! Look for the compiler used
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ zlibsrc = "[---.zlib]"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ ccopt="/include=(''zlibsrc',[--])"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$getsyi("HW_MODEL").ge.1024
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ then
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ ccopt = "/prefix=all"+ccopt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ comp = "__decc__=1"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ else
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ then
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ then
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ comp = "__gcc__=1"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ CC :== GCC
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ else
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ comp = "__vaxc__=1"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ endif
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ else
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ ccopt = "/decc/prefix=all"+ccopt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ comp = "__decc__=1"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ endif
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ endif
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ open/write lopt lib.opt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write lopt "[--]libpng.olb/lib"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write lopt "''zlibsrc'libz.olb/lib"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ close lopt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ open/write xopt x11.opt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write xopt "sys$library:decw$xlibshr.exe/share"
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ close xopt
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write sys$output "Compiling PNG contrib programs ..."
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write sys$output "Building pnm2png..."
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ CALL MAKE pnm2png.OBJ "cc ''CCOPT' pnm2png" -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync pnm2png.c
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ call make pnm2png.exe -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync "LINK pnm2png,lib.opt/opt" -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync pnm2png.obj
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write sys$output "Building png2pnm..."
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ CALL MAKE png2pnm.OBJ "cc ''CCOPT' png2pnm" -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync png2pnm.c
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ call make png2pnm.exe -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync "LINK png2pnm,lib.opt/opt" -
671242f350d172e106580348e24bab66b0d7e6a5vboxsync png2pnm.obj
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ exit
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$!
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ V = 'F$Verify(0)
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$! P1 = What we are trying to make
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$! P2 = Command to make it
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$! P3 - P8 What it depends on
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If F$Search(P1) .Eqs. "" Then Goto Makeit
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ Time = F$CvTime(F$File(P1,"RDT"))
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$arg=3
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$Loop:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ Argument = P'arg
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If Argument .Eqs. "" Then Goto Exit
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ El=0
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$Loop2:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ File = F$Element(El," ",Argument)
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If File .Eqs. " " Then Goto Endl
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ AFile = ""
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$Loop3:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ OFile = AFile
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ AFile = F$Search(File)
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ Goto Loop3
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$NextEL:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ El = El + 1
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ Goto Loop2
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$EndL:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ arg=arg+1
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If arg .Le. 8 Then Goto Loop
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ Goto Exit
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$Makeit:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ VV=F$VERIFY(0)
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ write sys$output P2
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ 'P2
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ VV='F$Verify(VV)
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$Exit:
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ If V Then Set Verify
671242f350d172e106580348e24bab66b0d7e6a5vboxsync$ENDSUBROUTINE