diff options
| -rw-r--r-- | make_vms.com | 81 |
1 files changed, 45 insertions, 36 deletions
diff --git a/make_vms.com b/make_vms.com index 059c50d..65e9d0c 100644 --- a/make_vms.com +++ b/make_vms.com | |||
| @@ -20,6 +20,8 @@ $! 0.07 20120115 Triggered by work done by Alexey Chupahin completly redesigned | |||
| 20 | $! shared image creation | 20 | $! shared image creation |
| 21 | $! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared | 21 | $! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared |
| 22 | $! image | 22 | $! image |
| 23 | $! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)). | ||
| 24 | $! "" -> automatic, preference: MMK, MMS, built-in. | ||
| 23 | $! | 25 | $! |
| 24 | $ on error then goto err_exit | 26 | $ on error then goto err_exit |
| 25 | $! | 27 | $! |
| @@ -37,12 +39,12 @@ $ s_case = False | |||
| 37 | $! | 39 | $! |
| 38 | $! Setup variables holding "config" information | 40 | $! Setup variables holding "config" information |
| 39 | $! | 41 | $! |
| 40 | $ Make = "" | 42 | $ Make = "''p1'" |
| 41 | $ name = "Zlib" | 43 | $ name = "Zlib" |
| 42 | $ version = "?.?.?" | 44 | $ version = "?.?.?" |
| 43 | $ v_string = "ZLIB_VERSION" | 45 | $ v_string = "ZLIB_VERSION" |
| 44 | $ v_file = "zlib.h" | 46 | $ v_file = "zlib.h" |
| 45 | $ ccopt = "" | 47 | $ ccopt = "/include = []" |
| 46 | $ lopts = "" | 48 | $ lopts = "" |
| 47 | $ dnsrl = "" | 49 | $ dnsrl = "" |
| 48 | $ aconf_in_file = "zconf.h.in#zconf.h_in#zconf_h.in" | 50 | $ aconf_in_file = "zconf.h.in#zconf.h_in#zconf_h.in" |
| @@ -55,17 +57,25 @@ $ vax = f$getsyi("HW_MODEL").lt.1024 | |||
| 55 | $ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096 | 57 | $ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096 |
| 56 | $ ia64 = f$getsyi("HW_MODEL").ge.4096 | 58 | $ ia64 = f$getsyi("HW_MODEL").ge.4096 |
| 57 | $! | 59 | $! |
| 58 | $ if axp .or. ia64 then set proc/parse=extended | 60 | $! 2012-03-05 SMS. |
| 59 | $ whoami = f$parse(f$enviornment("Procedure"),,,,"NO_CONCEAL") | 61 | $! Why is this needed? And if it is needed, why not simply ".not. vax"? |
| 62 | $! | ||
| 63 | $!!! if axp .or. ia64 then set proc/parse=extended | ||
| 64 | $! | ||
| 65 | $ whoami = f$parse(f$environment("Procedure"),,,,"NO_CONCEAL") | ||
| 60 | $ mydef = F$parse(whoami,,,"DEVICE") | 66 | $ mydef = F$parse(whoami,,,"DEVICE") |
| 61 | $ mydir = f$parse(whoami,,,"DIRECTORY") - "][" | 67 | $ mydir = f$parse(whoami,,,"DIRECTORY") - "][" |
| 62 | $ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type") | 68 | $ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type") |
| 63 | $! | 69 | $! |
| 64 | $! Check for MMK/MMS | 70 | $! Check for MMK/MMS |
| 65 | $! | 71 | $! |
| 66 | $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" | 72 | $ if (Make .eqs. "") |
| 67 | $ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK" | 73 | $ then |
| 68 | $! | 74 | $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" |
| 75 | $ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK" | ||
| 76 | $ else | ||
| 77 | $ Make = f$edit( Make, "trim") | ||
| 78 | $ endif | ||
| 69 | $! | 79 | $! |
| 70 | $ gosub find_version | 80 | $ gosub find_version |
| 71 | $! | 81 | $! |
| @@ -93,6 +103,10 @@ $ ccopt = "/decc" + ccopt | |||
| 93 | $ define sys decc$library_include: | 103 | $ define sys decc$library_include: |
| 94 | $ endif | 104 | $ endif |
| 95 | $ endif | 105 | $ endif |
| 106 | $! | ||
| 107 | $! 2012-03-05 SMS. | ||
| 108 | $! Why /NAMES = AS_IS? Why not simply ".not. vax"? And why not on VAX? | ||
| 109 | $! | ||
| 96 | $ if axp .or. ia64 | 110 | $ if axp .or. ia64 |
| 97 | $ then | 111 | $ then |
| 98 | $ ccopt = ccopt + "/name=as_is/opt=(inline=speed)" | 112 | $ ccopt = ccopt + "/name=as_is/opt=(inline=speed)" |
| @@ -137,15 +151,20 @@ $ gosub check_config | |||
| 137 | $ endif | 151 | $ endif |
| 138 | $ goto aconf_loop | 152 | $ goto aconf_loop |
| 139 | $ACONF_EXIT: | 153 | $ACONF_EXIT: |
| 154 | $ write aconf "" | ||
| 155 | $ write aconf "/* VMS specifics added by make_vms.com: */" | ||
| 140 | $ write aconf "#define VMS 1" | 156 | $ write aconf "#define VMS 1" |
| 141 | $ write aconf "#include <unistd.h>" | 157 | $ write aconf "#include <unistd.h>" |
| 142 | $ write aconf "#include <unixio.h>" | 158 | $ write aconf "#include <unixio.h>" |
| 143 | $ write aconf "#ifdef _LARGEFILE" | 159 | $ write aconf "#ifdef _LARGEFILE" |
| 144 | $ write aconf "#define off64_t __off64_t" | 160 | $ write aconf "# define off64_t __off64_t" |
| 145 | $ write aconf "#define fopen64 fopen" | 161 | $ write aconf "# define fopen64 fopen" |
| 146 | $ write aconf "#define fseeko64 fseeko" | 162 | $ write aconf "# define fseeko64 fseeko" |
| 147 | $ write aconf "#define lseek64 lseek" | 163 | $ write aconf "# define lseek64 lseek" |
| 148 | $ write aconf "#define ftello64 ftell" | 164 | $ write aconf "# define ftello64 ftell" |
| 165 | $ write aconf "#endif" | ||
| 166 | $ write aconf "#if !defined( __VAX) && (__CRTL_VER >= 70312000)" | ||
| 167 | $ write aconf "# define HAVE_VSNPRINTF" | ||
| 149 | $ write aconf "#endif" | 168 | $ write aconf "#endif" |
| 150 | $ close aconf_in | 169 | $ close aconf_in |
| 151 | $ close aconf | 170 | $ close aconf |
| @@ -154,8 +173,9 @@ $! Build the thing plain or with mms | |||
| 154 | $! | 173 | $! |
| 155 | $ write sys$output "Compiling Zlib sources ..." | 174 | $ write sys$output "Compiling Zlib sources ..." |
| 156 | $ if make.eqs."" | 175 | $ if make.eqs."" |
| 157 | $ then | 176 | $ then |
| 158 | $ dele example.obj;*,minigzip.obj;* | 177 | $ if (f$search( "example.obj;*") .nes. "") then delete example.obj;* |
| 178 | $ if (f$search( "minigzip.obj;*") .nes. "") then delete minigzip.obj;* | ||
| 159 | $ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" - | 179 | $ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" - |
| 160 | adler32.c zlib.h zconf.h | 180 | adler32.c zlib.h zconf.h |
| 161 | $ CALL MAKE compress.OBJ "CC ''CCOPT' compress" - | 181 | $ CALL MAKE compress.OBJ "CC ''CCOPT' compress" - |
| @@ -189,23 +209,20 @@ $ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" - | |||
| 189 | $ write sys$output "Building Zlib ..." | 209 | $ write sys$output "Building Zlib ..." |
| 190 | $ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ | 210 | $ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ |
| 191 | $ write sys$output "Building example..." | 211 | $ write sys$output "Building example..." |
| 192 | $ CALL MAKE example.OBJ "CC ''CCOPT'/include=[] [.test]example" - | 212 | $ CALL MAKE example.OBJ "CC ''CCOPT' [.test]example" - |
| 193 | [.test]example.c zlib.h zconf.h | 213 | [.test]example.c zlib.h zconf.h |
| 194 | $ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb | 214 | $ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb |
| 195 | $ if f$search("x11vms:xvmsutils.olb") .nes. "" | 215 | $ write sys$output "Building minigzip..." |
| 196 | $ then | 216 | $ CALL MAKE minigzip.OBJ "CC ''CCOPT' [.test]minigzip" - |
| 197 | $ write sys$output "Building minigzip..." | 217 | [.test]minigzip.c zlib.h zconf.h |
| 198 | $ CALL MAKE minigzip.OBJ "CC ''CCOPT'/include=[] [.test]minigzip" - | 218 | $ call make minigzip.exe - |
| 199 | [.test]minigzip.c zlib.h zconf.h | 219 | "LINK minigzip,libz.olb/lib" - |
| 200 | $ call make minigzip.exe - | 220 | minigzip.obj libz.olb |
| 201 | "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" - | 221 | $ else |
| 202 | minigzip.obj libz.olb | ||
| 203 | $ endif | ||
| 204 | $ else | ||
| 205 | $ gosub crea_mms | 222 | $ gosub crea_mms |
| 206 | $ write sys$output "Make ''name' ''version' with ''Make' " | 223 | $ write sys$output "Make ''name' ''version' with ''Make' " |
| 207 | $ 'make' | 224 | $ 'make' |
| 208 | $ endif | 225 | $ endif |
| 209 | $! | 226 | $! |
| 210 | $! Create shareable image | 227 | $! Create shareable image |
| 211 | $! | 228 | $! |
| @@ -227,7 +244,6 @@ $ERR_EXIT: | |||
| 227 | $ set message/facil/ident/sever/text | 244 | $ set message/facil/ident/sever/text |
| 228 | $ close/nolog optf | 245 | $ close/nolog optf |
| 229 | $ close/nolog topt | 246 | $ close/nolog topt |
| 230 | $ close/nolog conf_hin | ||
| 231 | $ close/nolog aconf_in | 247 | $ close/nolog aconf_in |
| 232 | $ close/nolog aconf | 248 | $ close/nolog aconf |
| 233 | $ close/nolog out | 249 | $ close/nolog out |
| @@ -418,12 +434,7 @@ OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\ | |||
| 418 | $ eod | 434 | $ eod |
| 419 | $ write out "CFLAGS=", ccopt | 435 | $ write out "CFLAGS=", ccopt |
| 420 | $ write out "LOPTS=", lopts | 436 | $ write out "LOPTS=", lopts |
| 421 | $ if f$search("x11vms:xvmsutils.olb") .nes. "" | 437 | $ write out "all : example.exe minigzip.exe libz.olb" |
| 422 | $ then | ||
| 423 | $ write out "all : example.exe minigzip.exe libz.olb" | ||
| 424 | $ else | ||
| 425 | $ write out "all : example.exe libz.olb" | ||
| 426 | $ endif | ||
| 427 | $ copy sys$input: out | 438 | $ copy sys$input: out |
| 428 | $ deck | 439 | $ deck |
| 429 | @ write sys$output " Example applications available" | 440 | @ write sys$output " Example applications available" |
| @@ -435,7 +446,7 @@ example.exe : example.obj libz.olb | |||
| 435 | link $(LOPTS) example,libz.olb/lib | 446 | link $(LOPTS) example,libz.olb/lib |
| 436 | 447 | ||
| 437 | minigzip.exe : minigzip.obj libz.olb | 448 | minigzip.exe : minigzip.obj libz.olb |
| 438 | link $(LOPTS) minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib | 449 | link $(LOPTS) minigzip,libz.olb/lib |
| 439 | 450 | ||
| 440 | clean : | 451 | clean : |
| 441 | delete *.obj;*,libz.olb;*,*.opt;*,*.exe;* | 452 | delete *.obj;*,libz.olb;*,*.opt;*,*.exe;* |
| @@ -447,7 +458,6 @@ compress.obj : compress.c zlib.h zconf.h | |||
| 447 | crc32.obj : crc32.c zutil.h zlib.h zconf.h | 458 | crc32.obj : crc32.c zutil.h zlib.h zconf.h |
| 448 | deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h | 459 | deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h |
| 449 | example.obj : [.test]example.c zlib.h zconf.h | 460 | example.obj : [.test]example.c zlib.h zconf.h |
| 450 | cc $(CFLAGS)/include=[] [.test]example.c | ||
| 451 | gzclose.obj : gzclose.c zutil.h zlib.h zconf.h | 461 | gzclose.obj : gzclose.c zutil.h zlib.h zconf.h |
| 452 | gzlib.obj : gzlib.c zutil.h zlib.h zconf.h | 462 | gzlib.obj : gzlib.c zutil.h zlib.h zconf.h |
| 453 | gzread.obj : gzread.c zutil.h zlib.h zconf.h | 463 | gzread.obj : gzread.c zutil.h zlib.h zconf.h |
| @@ -456,7 +466,6 @@ inffast.obj : inffast.c zutil.h zlib.h zconf.h inftrees.h inffast.h | |||
| 456 | inflate.obj : inflate.c zutil.h zlib.h zconf.h | 466 | inflate.obj : inflate.c zutil.h zlib.h zconf.h |
| 457 | inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h | 467 | inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h |
| 458 | minigzip.obj : [.test]minigzip.c zlib.h zconf.h | 468 | minigzip.obj : [.test]minigzip.c zlib.h zconf.h |
| 459 | cc $(CFLAGS)/include=[] [.test]minigzip.c | ||
| 460 | trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h | 469 | trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h |
| 461 | uncompr.obj : uncompr.c zlib.h zconf.h | 470 | uncompr.obj : uncompr.c zlib.h zconf.h |
| 462 | zutil.obj : zutil.c zutil.h zlib.h zconf.h | 471 | zutil.obj : zutil.c zutil.h zlib.h zconf.h |
