diff options
Diffstat (limited to 'vms/find_bzip2_lib.com')
-rw-r--r-- | vms/find_bzip2_lib.com | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/vms/find_bzip2_lib.com b/vms/find_bzip2_lib.com new file mode 100644 index 0000000..21ebf7b --- /dev/null +++ b/vms/find_bzip2_lib.com @@ -0,0 +1,71 @@ +$! 28 December 2006. SMS. +$! +$! Info-ZIP VMS accessory procedure. +$! +$! Find the BZIP2 object library under P1, starting in the [.'P2'] +$! destination directory. (We assume, initially, that the BZIP2 +$! directory has a destination directory structure like ours.) +$! +$! Set the P4 logical name to the directory where it was found. +$! P5 and P6 may be used for qualifiers on the DEFINE command. +$! +$ bz_orig = p1 +$ dest = p2 +$ libbz2 = p3 +$! +$! Remove any trailing colon, to allow logical name translation. +$! +$ bz_dev_dir = "" +$ bz_base = bz_orig +$ if (f$extract( (f$length( bz_base)- 1), 1, bz_base) .eqs. ":") +$ then +$ bz_base = bz_base- ":" +$ endif +$! +$ bz_base_eqv = f$trnlnm( bz_base) +$ if (bz_base_eqv .nes. "") +$ then +$ bz_orig = bz_base_eqv +$ bz_base = bz_base_eqv +$ endif +$ bz_base = bz_base- "]" +$! +$! Candidate 1 = the actual analogue destination directory. +$! +$ bz_dev_dir_cand = bz_base+ "."+ dest+ "]" +$ lib_cand = bz_dev_dir_cand+ libbz2 +$ if (f$search( lib_cand) .nes. "") +$ then +$ bz_dev_dir = bz_dev_dir_cand +$ else +$! +$! Candidate 2 = the actual analogue destination directory + "L". +$! +$ bz_dev_dir_cand = bz_base+ "."+ dest+ "L]" +$ lib_cand = bz_dev_dir_cand+ libbz2 +$ if (f$search( lib_cand) .nes. "") +$ then +$ bz_dev_dir = bz_dev_dir_cand +$ else +$! +$! Candidate 3 = the actual user-specified directory. +$! +$ bz_dev_dir_cand = bz_orig +$ lib_cand = bz_dev_dir_cand+ libbz2 +$ if (f$search( lib_cand) .nes. "") +$ then +$ bz_dev_dir = bz_dev_dir_cand +$ endif +$ endif +$ endif +$! +$ if (bz_dev_dir .nes. "") +$ then +$ if (p4 .eqs. "") +$ then +$ write sys$output bz_dev_dir +$ else +$ define 'p5' 'p4' 'bz_dev_dir' 'p6' +$ endif +$ endif +$! |