1893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! make libpng under VMS
2893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
3893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
4893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! Check for MMK/MMS
5893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
6893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! This procedure accepts one parameter (contrib), which causes it to build
7893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! the programs from the contrib directory instead of libpng.
8893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
9893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ p1 = f$edit(p1,"UPCASE")
10893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ if p1 .eqs. "CONTRIB"
11893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ then
12893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   set def [.contrib.gregbook]
13893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   @makevms
14893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   set def [-.pngminus]
15893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   @makevms
16893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   set def [--]
17893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   exit
18893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ endif
19893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ Make = ""
20893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
21893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
22893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
23893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! Look for the compiler used
24893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
25893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ zlibsrc = "[-.zlib]"
26893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ ccopt="/include=''zlibsrc'"
27893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ if f$getsyi("HW_MODEL").ge.1024
28893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ then
29893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  ccopt = "/prefix=all"+ccopt
30893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  comp  = "__decc__=1"
31893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  if f$trnlnm("SYS").eqs."" then define sys sys$library:
32893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ else
33893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
34893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   then
35893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$    if f$trnlnm("SYS").eqs."" then define sys sys$library:
36893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$    if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
37893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$     then
38893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$      comp  = "__gcc__=1"
39893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$      CC :== GCC
40893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$     else
41893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$      comp = "__vaxc__=1"
42893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$     endif
43893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   else
44893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$    if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
45893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$    ccopt = "/decc/prefix=all"+ccopt
46893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$    comp  = "__decc__=1"
47893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  endif
48893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ endif
49893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
50893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! Build the thing plain or with mms/mmk
51893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
52893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ write sys$output "Compiling Libpng sources ..."
53893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ if make.eqs.""
54893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  then
55893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   dele pngtest.obj;*
56893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE png.OBJ "cc ''CCOPT' png" -
57b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
58893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
59b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
60893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
61b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
62893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
63b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
64893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
65b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
66893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
67b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
69b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
70893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
71b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
73b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
75b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
77b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
79b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
81b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
82893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
83b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
84893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
85b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari	pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
86893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   write sys$output "Building Libpng ..."
87893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
88893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   write sys$output "Building pngtest..."
89893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
90b50c217251b086440efcdb273c22f86a06c80cbaChris Craik	pngtest.c png.h pngconf.h pnglibconf.h
91893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   call make pngtest.exe -
92893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
93893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngtest.obj libpng.olb
94893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   write sys$output "Testing Libpng..."
95893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   run pngtest
96893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  else
97893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
98893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$   'make'/macro=('comp',zlibsrc='zlibsrc')
99893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$  endif
100893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ write sys$output "Libpng build completed"
101893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ exit
102893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
103893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$!
104893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$MAKE: SUBROUTINE   !SUBROUTINE TO CHECK DEPENDENCIES
105893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ V = 'F$Verify(0)
106893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! P1 = What we are trying to make
107893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! P2 = Command to make it
108893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$! P3 - P8  What it depends on
109893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$
110893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ If F$Search(P1) .Eqs. "" Then Goto Makeit
111893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ Time = F$CvTime(F$File(P1,"RDT"))
112893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$arg=3
113893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$Loop:
114893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       Argument = P'arg
115893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       If Argument .Eqs. "" Then Goto Exit
116893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       El=0
117893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$Loop2:
118893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       File = F$Element(El," ",Argument)
119893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       If File .Eqs. " " Then Goto Endl
120893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       AFile = ""
121893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$Loop3:
122893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       OFile = AFile
123893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       AFile = F$Search(File)
124893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
125893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
126893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       Goto Loop3
127893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$NextEL:
128893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       El = El + 1
129893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$       Goto Loop2
130893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$EndL:
131893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ arg=arg+1
132893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ If arg .Le. 8 Then Goto Loop
133893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ Goto Exit
134893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$
135893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$Makeit:
136893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ VV=F$VERIFY(0)
137893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ write sys$output P2
138893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ 'P2
139893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ VV='F$Verify(VV)
140893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$Exit:
141893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ If V Then Set Verify
142893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project$ENDSUBROUTINE
143