sync with TL rev. 36644 (trunk)
[luatex.git] / source / libs / libpng / libpng-1.6.17 / scripts / makevms.com
blobf6c326103c25fe7ebd400c5e15a794bd7a12fa52
1 $! 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"
23 $! Look for the compiler used
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
50 $! Build the thing plain or with mms/mmk
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" -
57         png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
58 $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
59         pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
60 $   CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
61         pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
62 $   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
63         pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
64 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
65         pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
66 $   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
67         pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68 $   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
69         pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
70 $   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
71         pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72 $   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
73         pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74 $   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
75         pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76 $   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
77         pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78 $   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
79         pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80 $   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
81         pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
82 $   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
83         pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
84 $   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
85         pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
86 $   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" -
90         pngtest.c png.h pngconf.h pnglibconf.h
91 $   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
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
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
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