diff options
Diffstat (limited to 'make_vms.com')
-rw-r--r-- | make_vms.com | 99 |
1 files changed, 82 insertions, 17 deletions
diff --git a/make_vms.com b/make_vms.com index c2a1fb5..aa4e461 100644 --- a/make_vms.com +++ b/make_vms.com | |||
@@ -1,6 +1,15 @@ | |||
1 | $! make libz under VMS written by | 1 | $! make libz under VMS written by |
2 | $! Martin P.J. Zinser | 2 | $! Martin P.J. Zinser |
3 | $! <zinser@zinser.no-ip.info or zinser@sysdev.deutsche-boerse.com> | 3 | $! |
4 | $! In case of problems with the install you might contact me at | ||
5 | $! zinser@zinser.no-ip.info(preferred) or | ||
6 | $! zinser@sysdev.deutsche-boerse.com (work) | ||
7 | $! | ||
8 | $! Make procedure history for Zlib | ||
9 | $! | ||
10 | $!------------------------------------------------------------------------------ | ||
11 | $! Version history | ||
12 | $! 0.01 20060120 First version to receive a number | ||
4 | $! | 13 | $! |
5 | $ on error then goto err_exit | 14 | $ on error then goto err_exit |
6 | $! | 15 | $! |
@@ -10,7 +19,10 @@ $! | |||
10 | $ true = 1 | 19 | $ true = 1 |
11 | $ false = 0 | 20 | $ false = 0 |
12 | $ tmpnam = "temp_" + f$getjpi("","pid") | 21 | $ tmpnam = "temp_" + f$getjpi("","pid") |
13 | $ SAY = "WRITE SYS$OUTPUT" | 22 | $ its_decc = false |
23 | $ its_vaxc = false | ||
24 | $ its_gnuc = false | ||
25 | $ s_case = False | ||
14 | $! | 26 | $! |
15 | $! Setup variables holding "config" information | 27 | $! Setup variables holding "config" information |
16 | $! | 28 | $! |
@@ -21,13 +33,11 @@ $ v_string = "ZLIB_VERSION" | |||
21 | $ v_file = "zlib.h" | 33 | $ v_file = "zlib.h" |
22 | $ ccopt = "" | 34 | $ ccopt = "" |
23 | $ lopts = "" | 35 | $ lopts = "" |
36 | $ dnsrl = "" | ||
24 | $ linkonly = false | 37 | $ linkonly = false |
25 | $ optfile = name + ".opt" | 38 | $ optfile = name + ".opt" |
26 | $ its_decc = false | ||
27 | $ its_vaxc = false | ||
28 | $ its_gnuc = false | ||
29 | $ axp = f$getsyi("HW_MODEL").ge.1024 | 39 | $ axp = f$getsyi("HW_MODEL").ge.1024 |
30 | $ s_case = false | 40 | $! |
31 | $! Check for MMK/MMS | 41 | $! Check for MMK/MMS |
32 | $! | 42 | $! |
33 | $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" | 43 | $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" |
@@ -107,7 +117,7 @@ $ call make minigzip.exe - | |||
107 | $ endif | 117 | $ endif |
108 | $ else | 118 | $ else |
109 | $ gosub crea_mms | 119 | $ gosub crea_mms |
110 | $ SAY "Make ''name' ''version' with ''Make' " | 120 | $ write sys$output "Make ''name' ''version' with ''Make' " |
111 | $ 'make' | 121 | $ 'make' |
112 | $ endif | 122 | $ endif |
113 | $! | 123 | $! |
@@ -133,6 +143,7 @@ $ write sys$output "C compiler required to build ''name'" | |||
133 | $ goto err_exit | 143 | $ goto err_exit |
134 | $ERR_EXIT: | 144 | $ERR_EXIT: |
135 | $ set message/facil/ident/sever/text | 145 | $ set message/facil/ident/sever/text |
146 | $ close/nolog optf | ||
136 | $ write sys$output "Exiting..." | 147 | $ write sys$output "Exiting..." |
137 | $ exit 2 | 148 | $ exit 2 |
138 | $! | 149 | $! |
@@ -244,6 +255,9 @@ $!------------------------------------------------------------------------------ | |||
244 | $! | 255 | $! |
245 | $! Look for the compiler used | 256 | $! Look for the compiler used |
246 | $! | 257 | $! |
258 | $! Version history | ||
259 | $! 0.01 20040223 First version to receive a number | ||
260 | $! 0.02 20040229 Save/set value of decc$no_rooted_search_lists | ||
247 | $CHECK_COMPILER: | 261 | $CHECK_COMPILER: |
248 | $ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) | 262 | $ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) |
249 | $ then | 263 | $ then |
@@ -257,9 +271,20 @@ $! | |||
257 | $ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) | 271 | $ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) |
258 | $ then goto CC_ERR | 272 | $ then goto CC_ERR |
259 | $ else | 273 | $ else |
260 | $ if its_decc then write sys$output "CC compiler check ... Compaq C" | 274 | $ if its_decc |
261 | $ if its_vaxc then write sys$output "CC compiler check ... VAX C" | 275 | $ then |
262 | $ if its_gnuc then write sys$output "CC compiler check ... GNU C" | 276 | $ write sys$output "CC compiler check ... Compaq C" |
277 | $ if f$trnlnm("decc$no_rooted_search_lists") .nes. "" | ||
278 | $ then | ||
279 | $ dnrsl = f$trnlnm("decc$no_rooted_search_lists") | ||
280 | $ endif | ||
281 | $ define decc$no_rooted_search_lists 1 | ||
282 | $ else | ||
283 | $ if its_vaxc then write sys$output "CC compiler check ... VAX C" | ||
284 | $ if its_gnuc then write sys$output "CC compiler check ... GNU C" | ||
285 | $ if f$trnlnm(topt) then write topt "sys$share:vaxcrtl.exe/share" | ||
286 | $ if f$trnlnm(optf) then write optf "sys$share:vaxcrtl.exe/share" | ||
287 | $ endif | ||
263 | $ endif | 288 | $ endif |
264 | $ return | 289 | $ return |
265 | $!------------------------------------------------------------------------------ | 290 | $!------------------------------------------------------------------------------ |
@@ -382,17 +407,23 @@ $ close h_in | |||
382 | $ return | 407 | $ return |
383 | $!------------------------------------------------------------------------------ | 408 | $!------------------------------------------------------------------------------ |
384 | $! | 409 | $! |
385 | $! Analyze Object files for OpenVMS AXP to extract Procedure and Data | 410 | $! Analyze Object files for OpenVMS AXP to extract Procedure and Data |
386 | $! information to build a symbol vector for a shareable image | 411 | $! information to build a symbol vector for a shareable image |
387 | $! All the "brains" of this logic was suggested by Hartmut Becker | 412 | $! All the "brains" of this logic was suggested by Hartmut Becker |
388 | $! (Hartmut.Becker@compaq.com). All the bugs were introduced by me | 413 | $! (Hartmut.Becker@compaq.com). All the bugs were introduced by me |
389 | $! (zinser@decus.de), so if you do have problem reports please do not | 414 | $! (zinser@zinser.no-ip.info), so if you do have problem reports please do not |
390 | $! bother Hartmut/HP, but get in touch with me | 415 | $! bother Hartmut/HP, but get in touch with me |
391 | $! | 416 | $! |
392 | $ ANAL_OBJ_AXP: Subroutine | 417 | $! Version history |
418 | $! 0.01 20040406 Skip over shareable images in option file | ||
419 | $! 0.02 20041109 Fix option file for shareable images with case_sensitive=YES | ||
420 | $! 0.03 20050107 Skip over Identification labels in option file | ||
421 | $! 0.04 20060117 Add uppercase alias to code compiled with /name=as_is | ||
422 | $! | ||
423 | $ ANAL_OBJ_AXP: Subroutine | ||
393 | $ V = 'F$Verify(0) | 424 | $ V = 'F$Verify(0) |
394 | $ SAY := "WRITE_ SYS$OUTPUT" | 425 | $ SAY := "WRITE_ SYS$OUTPUT" |
395 | $ | 426 | $ |
396 | $ IF F$SEARCH("''P1'") .EQS. "" | 427 | $ IF F$SEARCH("''P1'") .EQS. "" |
397 | $ THEN | 428 | $ THEN |
398 | $ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available" | 429 | $ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available" |
@@ -409,6 +440,17 @@ $ create a.tmp | |||
409 | $ open/append atmp a.tmp | 440 | $ open/append atmp a.tmp |
410 | $ loop: | 441 | $ loop: |
411 | $ read/end=end_loop in line | 442 | $ read/end=end_loop in line |
443 | $ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line) | ||
444 | $ then | ||
445 | $ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'" | ||
446 | $ goto loop | ||
447 | $ endif | ||
448 | $ if f$locate("IDENTIFICATION=",f$edit(line,"upcase")) .lt. f$length(line) | ||
449 | $ then | ||
450 | $ write sys$output "ANAL_OBJ_AXP-i-ident: Identification ", - | ||
451 | f$element(1,"=",line) | ||
452 | $ goto loop | ||
453 | $ endif | ||
412 | $ f= f$search(line) | 454 | $ f= f$search(line) |
413 | $ if f .eqs. "" | 455 | $ if f .eqs. "" |
414 | $ then | 456 | $ then |
@@ -450,12 +492,35 @@ $ edito/edt/command=sys$input f.tmp | |||
450 | sub/symbol: "/symbol_vector=(/whole | 492 | sub/symbol: "/symbol_vector=(/whole |
451 | sub/"/=DATA)/whole | 493 | sub/"/=DATA)/whole |
452 | exit | 494 | exit |
453 | $ sort/nodupl d.tmp,f.tmp 'p2' | 495 | $ sort/nodupl d.tmp,f.tmp g.tmp |
454 | $ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;* | 496 | $ open/read raw_vector g.tmp |
497 | $ open/write case_vector 'p2' | ||
498 | $ RAWLOOP: | ||
499 | $ read/end=end_rawloop raw_vector raw_element | ||
500 | $ write case_vector raw_element | ||
501 | $ if f$locate("=PROCEDURE)",raw_element) .lt. f$length(raw_element) | ||
502 | $ then | ||
503 | $ name = f$element(1,"=",raw_element) - "(" | ||
504 | $ if f$edit(name,"UPCASE") .nes. name then - | ||
505 | write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", - | ||
506 | f$edit(name,"UPCASE"), name) | ||
507 | $ endif | ||
508 | $ if f$locate("=DATA)",raw_element) .lt. f$length(raw_element) | ||
509 | $ then | ||
510 | $ name = f$element(1,"=",raw_element) - "(" | ||
511 | $ if f$edit(name,"UPCASE") .nes. name then - | ||
512 | write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", - | ||
513 | f$edit(name,"UPCASE"), name) | ||
514 | $ endif | ||
515 | $ goto rawloop | ||
516 | $ END_RAWLOOP: | ||
517 | $ close raw_vector | ||
518 | $ close case_vector | ||
519 | $ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*,g.tmp;* | ||
455 | $ if f$search("x.tmp") .nes. "" - | 520 | $ if f$search("x.tmp") .nes. "" - |
456 | then $ delete x.tmp;* | 521 | then $ delete x.tmp;* |
457 | $! | 522 | $! |
458 | $ EXIT_AA: | 523 | $ EXIT_AA: |
459 | $ if V then set verify | 524 | $ if V then set verify |
460 | $ endsubroutine | 525 | $ endsubroutine |
461 | $!------------------------------------------------------------------------------ | 526 | $!------------------------------------------------------------------------------ |