The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 1 | $!------------------------------------------------------------------------------ |
| 2 | $! make "PNG: The Definitive Guide" demo programs (for X) under OpenVMS |
| 3 | $! |
| 4 | $! Script created by Martin Zinser for libpng; modified by Greg Roelofs |
| 5 | $! for standalone pngbook source distribution. |
| 6 | $! |
| 7 | $! |
| 8 | $! Set locations where zlib and libpng sources live. |
| 9 | $! |
| 10 | $ zpath = "" |
| 11 | $ pngpath = "" |
| 12 | $! |
| 13 | $ if f$search("[---.zlib]zlib.h").nes."" then zpath = "[---.zlib]" |
| 14 | $ if f$search("[--]png.h").nes."" then pngpath = "[--]" |
| 15 | $! |
| 16 | $ if f$search("[-.zlib]zlib.h").nes."" then zpath = "[-.zlib]" |
| 17 | $ if f$search("[-.libpng]png.h").nes."" then pngpath = "[-.libpng]" |
| 18 | $! |
| 19 | $ if zpath .eqs. "" |
| 20 | $ then |
| 21 | $ write sys$output "zlib include not found. Exiting..." |
| 22 | $ exit 2 |
Chris Craik | ca2bf81 | 2013-07-29 15:28:30 -0700 | [diff] [blame] | 23 | $ endif |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 24 | $! |
| 25 | $ if pngpath .eqs. "" |
| 26 | $ then |
| 27 | $ write sys$output "libpng include not found. Exiting..." |
| 28 | $ exit 2 |
Chris Craik | ca2bf81 | 2013-07-29 15:28:30 -0700 | [diff] [blame] | 29 | $ endif |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 30 | $! |
| 31 | $! Look for the compiler used. |
| 32 | $! |
| 33 | $ ccopt="/include=(''zpath',''pngpath')" |
| 34 | $ if f$getsyi("HW_MODEL").ge.1024 |
| 35 | $ then |
| 36 | $ ccopt = "/prefix=all"+ccopt |
| 37 | $ comp = "__decc__=1" |
| 38 | $ if f$trnlnm("SYS").eqs."" then define sys sys$library: |
| 39 | $ else |
| 40 | $ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs."" |
| 41 | $ then |
| 42 | $ if f$trnlnm("SYS").eqs."" then define sys sys$library: |
| 43 | $ if f$search("SYS$SYSTEM:VAXC.EXE").eqs."" |
| 44 | $ then |
| 45 | $ comp = "__gcc__=1" |
| 46 | $ CC :== GCC |
| 47 | $ else |
| 48 | $ comp = "__vaxc__=1" |
| 49 | $ endif |
| 50 | $ else |
| 51 | $ if f$trnlnm("SYS").eqs."" then define sys decc$library_include: |
| 52 | $ ccopt = "/decc/prefix=all"+ccopt |
| 53 | $ comp = "__decc__=1" |
| 54 | $ endif |
| 55 | $ endif |
| 56 | $ open/write lopt lib.opt |
| 57 | $ write lopt "''pngpath'libpng.olb/lib" |
| 58 | $ write lopt "''zpath'libz.olb/lib" |
| 59 | $ close lopt |
| 60 | $ open/write xopt x11.opt |
| 61 | $ write xopt "sys$library:decw$xlibshr.exe/share" |
| 62 | $ close xopt |
| 63 | $! |
| 64 | $! Build 'em. |
| 65 | $! |
| 66 | $ write sys$output "Compiling PNG book programs ..." |
| 67 | $ CALL MAKE readpng.OBJ "cc ''CCOPT' readpng" - |
| 68 | readpng.c readpng.h |
| 69 | $ CALL MAKE readpng2.OBJ "cc ''CCOPT' readpng2" - |
| 70 | readpng2.c readpng2.h |
| 71 | $ CALL MAKE writepng.OBJ "cc ''CCOPT' writepng" - |
| 72 | writepng.c writepng.h |
| 73 | $ write sys$output "Building rpng-x..." |
| 74 | $ CALL MAKE rpng-x.OBJ "cc ''CCOPT' rpng-x" - |
| 75 | rpng-x.c readpng.h |
| 76 | $ call make rpng-x.exe - |
| 77 | "LINK rpng-x,readpng,lib.opt/opt,x11.opt/opt" - |
| 78 | rpng-x.obj readpng.obj |
| 79 | $ write sys$output "Building rpng2-x..." |
| 80 | $ CALL MAKE rpng2-x.OBJ "cc ''CCOPT' rpng2-x" - |
| 81 | rpng2-x.c readpng2.h |
| 82 | $ call make rpng2-x.exe - |
| 83 | "LINK rpng2-x,readpng2,lib.opt/opt,x11.opt/opt" - |
| 84 | rpng2-x.obj readpng2.obj |
| 85 | $ write sys$output "Building wpng..." |
| 86 | $ CALL MAKE wpng.OBJ "cc ''CCOPT' wpng" - |
| 87 | wpng.c writepng.h |
| 88 | $ call make wpng.exe - |
| 89 | "LINK wpng,writepng,lib.opt/opt" - |
| 90 | wpng.obj writepng.obj |
| 91 | $ exit |
| 92 | $! |
| 93 | $! |
| 94 | $MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES |
| 95 | $ V = 'F$Verify(0) |
| 96 | $! P1 = What we are trying to make |
| 97 | $! P2 = Command to make it |
| 98 | $! P3 - P8 What it depends on |
| 99 | $ |
| 100 | $ If F$Search(P1) .Eqs. "" Then Goto Makeit |
| 101 | $ Time = F$CvTime(F$File(P1,"RDT")) |
| 102 | $arg=3 |
| 103 | $Loop: |
| 104 | $ Argument = P'arg |
| 105 | $ If Argument .Eqs. "" Then Goto Exit |
| 106 | $ El=0 |
| 107 | $Loop2: |
| 108 | $ File = F$Element(El," ",Argument) |
| 109 | $ If File .Eqs. " " Then Goto Endl |
| 110 | $ AFile = "" |
| 111 | $Loop3: |
| 112 | $ OFile = AFile |
| 113 | $ AFile = F$Search(File) |
| 114 | $ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl |
| 115 | $ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit |
| 116 | $ Goto Loop3 |
| 117 | $NextEL: |
| 118 | $ El = El + 1 |
| 119 | $ Goto Loop2 |
| 120 | $EndL: |
| 121 | $ arg=arg+1 |
| 122 | $ If arg .Le. 8 Then Goto Loop |
| 123 | $ Goto Exit |
| 124 | $ |
| 125 | $Makeit: |
| 126 | $ VV=F$VERIFY(0) |
| 127 | $ write sys$output P2 |
| 128 | $ 'P2 |
| 129 | $ VV='F$Verify(VV) |
| 130 | $Exit: |
| 131 | $ If V Then Set Verify |
| 132 | $ENDSUBROUTINE |