Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.7 KiB

  1. $! make libz under VMS
  2. $! written by Martin P.J. Zinser <[email protected]>
  3. $!
  4. $! Look for the compiler used
  5. $!
  6. $ ccopt = ""
  7. $ if f$getsyi("HW_MODEL").ge.1024
  8. $ then
  9. $ ccopt = "/prefix=all"+ccopt
  10. $ comp = "__decc__=1"
  11. $ if f$trnlnm("SYS").eqs."" then define sys sys$library:
  12. $ else
  13. $ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
  14. $ then
  15. $ comp = "__vaxc__=1"
  16. $ if f$trnlnm("SYS").eqs."" then define sys sys$library:
  17. $ else
  18. $ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
  19. $ ccopt = "/decc/prefix=all"+ccopt
  20. $ comp = "__decc__=1"
  21. $ endif
  22. $ endif
  23. $!
  24. $! Build the thing plain or with mms
  25. $!
  26. $ write sys$output "Compiling Zlib sources ..."
  27. $ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
  28. $ then
  29. $ dele example.obj;*,minigzip.obj;*
  30. $ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
  31. adler32.c zlib.h zconf.h
  32. $ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
  33. compress.c zlib.h zconf.h
  34. $ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
  35. crc32.c zlib.h zconf.h
  36. $ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
  37. deflate.c deflate.h zutil.h zlib.h zconf.h
  38. $ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" -
  39. gzio.c zutil.h zlib.h zconf.h
  40. $ CALL MAKE infblock.OBJ "CC ''CCOPT' infblock" -
  41. infblock.c zutil.h zlib.h zconf.h infblock.h
  42. $ CALL MAKE infcodes.OBJ "CC ''CCOPT' infcodes" -
  43. infcodes.c zutil.h zlib.h zconf.h inftrees.h
  44. $ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
  45. inffast.c zutil.h zlib.h zconf.h inffast.h
  46. $ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
  47. inflate.c zutil.h zlib.h zconf.h infblock.h
  48. $ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
  49. inftrees.c zutil.h zlib.h zconf.h inftrees.h
  50. $ CALL MAKE infutil.OBJ "CC ''CCOPT' infutil" -
  51. infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
  52. $ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
  53. trees.c deflate.h zutil.h zlib.h zconf.h
  54. $ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
  55. uncompr.c zlib.h zconf.h
  56. $ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
  57. zutil.c zutil.h zlib.h zconf.h
  58. $ write sys$output "Building Zlib ..."
  59. $ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
  60. $ write sys$output "Building example..."
  61. $ CALL MAKE example.OBJ "CC ''CCOPT' example" -
  62. example.c zlib.h zconf.h
  63. $ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
  64. $ write sys$output "Building minigzip..."
  65. $ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
  66. minigzip.c zlib.h zconf.h
  67. $ call make minigzip.exe -
  68. "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" -
  69. minigzip.obj libz.olb
  70. $ else
  71. $ mms/macro=('comp')
  72. $ endif
  73. $ write sys$output "Zlib build completed"
  74. $ exit
  75. $!
  76. $!
  77. $MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
  78. $ V = 'F$Verify(0)
  79. $! P1 = What we are trying to make
  80. $! P2 = Command to make it
  81. $! P3 - P8 What it depends on
  82. $
  83. $ If F$Search(P1) .Eqs. "" Then Goto Makeit
  84. $ Time = F$CvTime(F$File(P1,"RDT"))
  85. $arg=3
  86. $Loop:
  87. $ Argument = P'arg
  88. $ If Argument .Eqs. "" Then Goto Exit
  89. $ El=0
  90. $Loop2:
  91. $ File = F$Element(El," ",Argument)
  92. $ If File .Eqs. " " Then Goto Endl
  93. $ AFile = ""
  94. $Loop3:
  95. $ OFile = AFile
  96. $ AFile = F$Search(File)
  97. $ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
  98. $ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
  99. $ Goto Loop3
  100. $NextEL:
  101. $ El = El + 1
  102. $ Goto Loop2
  103. $EndL:
  104. $ arg=arg+1
  105. $ If arg .Le. 8 Then Goto Loop
  106. $ Goto Exit
  107. $
  108. $Makeit:
  109. $ VV=F$VERIFY(0)
  110. $ write sys$output P2
  111. $ 'P2
  112. $ VV='F$Verify(VV)
  113. $Exit:
  114. $ If V Then Set Verify
  115. $ENDSUBROUTINE