blob: f6c326103c25fe7ebd400c5e15a794bd7a12fa52 [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001$! make libpng under VMS
2$!
3$!
4$! Check for MMK/MMS
5$!
6$! This procedure accepts one parameter (contrib), which causes it to build
7$! the programs from the contrib directory instead of libpng.
8$!
9$ p1 = f$edit(p1,"UPCASE")
10$ if p1 .eqs. "CONTRIB"
11$ then
12$ set def [.contrib.gregbook]
13$ @makevms
14$ set def [-.pngminus]
15$ @makevms
16$ set def [--]
17$ exit
18$ endif
19$ Make = ""
20$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
21$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
22$!
23$! Look for the compiler used
24$!
25$ zlibsrc = "[-.zlib]"
26$ ccopt="/include=''zlibsrc'"
27$ if f$getsyi("HW_MODEL").ge.1024
28$ then
29$ ccopt = "/prefix=all"+ccopt
30$ comp = "__decc__=1"
31$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
32$ else
33$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
34$ then
35$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
36$ if f$search("SYS$SYSTEM:VAXC.EXE").eqs.""
37$ then
38$ comp = "__gcc__=1"
39$ CC :== GCC
40$ else
41$ comp = "__vaxc__=1"
42$ endif
43$ else
44$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
45$ ccopt = "/decc/prefix=all"+ccopt
46$ comp = "__decc__=1"
47$ endif
48$ endif
49$!
50$! Build the thing plain or with mms/mmk
51$!
52$ write sys$output "Compiling Libpng sources ..."
53$ if make.eqs.""
54$ then
55$ dele pngtest.obj;*
56$ CALL MAKE png.OBJ "cc ''CCOPT' png" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053057 png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080058$ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053059 pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080060$ CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053061 pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080062$ CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053063 pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080064$ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053065 pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080066$ CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053067 pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080068$ CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053069 pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080070$ CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053071 pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080072$ CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053073 pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080074$ CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053075 pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080076$ CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053077 pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080078$ CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053079 pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080080$ CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053081 pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080082$ CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053083 pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080084$ CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
Sireesh Tripurarib478e662014-05-09 15:15:10 +053085 pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080086$ write sys$output "Building Libpng ..."
87$ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
88$ write sys$output "Building pngtest..."
89$ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
Chris Craikb50c2172013-07-29 15:28:30 -070090 pngtest.c png.h pngconf.h pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080091$ call make pngtest.exe -
92 "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
93 pngtest.obj libpng.olb
94$ write sys$output "Testing Libpng..."
95$ run pngtest
96$ else
97$ if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
98$ 'make'/macro=('comp',zlibsrc='zlibsrc')
99$ endif
100$ write sys$output "Libpng build completed"
101$ exit
102$!
103$!
104$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
105$ V = 'F$Verify(0)
106$! P1 = What we are trying to make
107$! P2 = Command to make it
108$! P3 - P8 What it depends on
109$
110$ If F$Search(P1) .Eqs. "" Then Goto Makeit
111$ Time = F$CvTime(F$File(P1,"RDT"))
112$arg=3
113$Loop:
114$ Argument = P'arg
115$ If Argument .Eqs. "" Then Goto Exit
116$ El=0
117$Loop2:
118$ File = F$Element(El," ",Argument)
119$ If File .Eqs. " " Then Goto Endl
120$ AFile = ""
121$Loop3:
122$ OFile = AFile
123$ AFile = F$Search(File)
124$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
125$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
126$ Goto Loop3
127$NextEL:
128$ El = El + 1
129$ Goto Loop2
130$EndL:
131$ arg=arg+1
132$ If arg .Le. 8 Then Goto Loop
133$ Goto Exit
134$
135$Makeit:
136$ VV=F$VERIFY(0)
137$ write sys$output P2
138$ 'P2
139$ VV='F$Verify(VV)
140$Exit:
141$ If V Then Set Verify
142$ENDSUBROUTINE