Metropoli BBS
VIEWER: makevms.com MODE: TEXT (ASCII)
$! make libpng under VMS
$!
$!
$! Look for the compiler used
$!
$ zlibsrc = "[-.zlib]"
$ ccopt="/include=''zlibsrc'"
$ if f$getsyi("HW_MODEL").ge.1024
$ then
$  ccopt = "/prefix=all"+ccopt
$  comp  = "__decc__=1"
$  if f$trnlnm("SYS").eqs."" then define sys sys$library:
$ else
$  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
$   then
$    if f$trnlnm("SYS").eqs."" then define sys sys$library:
$    if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
$     then
$      comp  = "__gcc__=1"
$      CC :== GCC
$     else
$      comp = "__vaxc__=1"
$     endif
$   else
$    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
$    ccopt = "/decc/prefix=all"+ccopt
$    comp  = "__decc__=1"
$  endif
$ endif
$!
$! Build the thing plain or with mms
$!
$ write sys$output "Compiling Libpng sources ..."
$ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
$  then
$   dele pngtest.obj;*
$   CALL MAKE png.OBJ "cc ''CCOPT' png" -
                png.c png.h pngconf.h   
$   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
					 pngpread.c png.h pngconf.h
$   CALL MAKE pngrcb.OBJ "cc ''CCOPT' pngrcb" -
                pngrcb.c png.h pngconf.h
$   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
                pngread.c png.h pngconf.h
$   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
					 pngpread.c png.h pngconf.h
$   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
                pngrtran.c png.h pngconf.h
$   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
                pngrutil.c png.h pngconf.h
$   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
                pngerror.c png.h pngconf.h
$   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
                pngmem.c png.h pngconf.h
$   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
                pngrio.c png.h pngconf.h
$   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
                pngwio.c png.h pngconf.h
$   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
                pngtrans.c png.h pngconf.h
$   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
                pngwrite.c png.h pngconf.h
$   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
                pngwtran.c png.h pngconf.h
$   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
                pngwutil.c png.h pngconf.h
$   write sys$output "Building Libpng ..."
$   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
$   write sys$output "Building pngtest..."
$   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
                pngtest.c png.h pngconf.h
$   call make pngtest.exe - 
                "LINK pngtest,libpng.olb/lib,''zlibsrc'libgz.olb/lib" - 
                pngtest.obj libpng.olb
$   write sys$output "Testing Libpng..."
$   run pngtest
$  else
$   mms/macro=('comp',zlibsrc='zlibsrc')
$  endif
$ write sys$output "Libpng build completed"
$ exit
$!
$!
$MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
$ V = 'F$Verify(0)
$! P1 = What we are trying to make
$! P2 = Command to make it
$! P3 - P8  What it depends on
$
$ If F$Search(P1) .Eqs. "" Then Goto Makeit
$ Time = F$CvTime(F$File(P1,"RDT"))
$arg=3
$Loop:
$       Argument = P'arg
$       If Argument .Eqs. "" Then Goto Exit
$       El=0
$Loop2:
$       File = F$Element(El," ",Argument)
$       If File .Eqs. " " Then Goto Endl
$       AFile = ""
$Loop3:
$       OFile = AFile
$       AFile = F$Search(File)
$       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
$       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
$       Goto Loop3
$NextEL:
$       El = El + 1
$       Goto Loop2
$EndL:
$ arg=arg+1
$ If arg .Le. 8 Then Goto Loop
$ Goto Exit
$
$Makeit:
$ VV=F$VERIFY(0)
$ write sys$output P2
$ 'P2
$ VV='F$Verify(VV)
$Exit:
$ If V Then Set Verify
$ENDSUBROUTINE

[ RETURN TO DIRECTORY ]