all repos — mgba @ aa8f77c18f33515af4b90b1dd9ab20c66846bf49

mGBA Game Boy Advance Emulator

src/third-party/libpng/scripts/makevms.com (view raw)

  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"
 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" -
 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
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