campo-sirio/zip/unzip/vms/make_unz.com
alex f0d81ffd1c This commit was generated by cvs2svn to compensate for changes in r5402,
which included commits to RCS files with non-trunk default branches.

git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-10-20 15:51:36 +00:00

224 lines
7.4 KiB
Plaintext
Executable File

$ ! MAKE_UNZ.COM
$ !
$ ! "Makefile" for VMS versions of UnZip/ZipInfo and UnZipSFX
$ !
$ ! last revised: 1 May 1997
$ !
$ ! To define additional options, define the global symbol
$ ! LOCAL_UNZIP prior to executing MAKE_UNZ.COM:
$ !
$ ! $ LOCAL_UNZIP == "VMSCLI,RETURN_CODES,"
$ ! $ @MAKE_UNZ
$ !
$ ! The trailing "," may be omitted. Valid VMS-specific options
$ ! include VMSCLI, VMSWILD and RETURN_CODES; see the INSTALL file
$ ! for other options (e.g., CHECK_VERSIONS).
$ !
$ !
$ on error then goto error
$ on control_y then goto error
$ OLD_VERIFY = f$verify (0)
$!
$ say := write sys$output
$!##################### Customizing section #############################
$!
$ MAY_USE_DECC = 1
$ MAY_USE_GNUC = 0
$!
$! Process command line parameters requesting optional features:
$ arg_cnt = 1
$ argloop:
$ current_arg_name = "P''arg_cnt'"
$ curr_arg = f$edit('current_arg_name',"UPCASE")
$ IF curr_arg .eqs. "" THEN GOTO argloop_out
$ IF curr_arg .eqs. "VAXC"
$ THEN MAY_USE_DECC = 0
$ MAY_USE_GNUC = 0
$ ENDIF
$ IF curr_arg .eqs. "DECC"
$ THEN MAY_USE_DECC = 1
$ MAY_USE_GNUC = 0
$ ENDIF
$ IF curr_arg .eqs. "GNUC"
$ THEN MAY_USE_DECC = 0
$ MAY_USE_GNUC = 1
$ ENDIF
$ arg_cnt = arg_cnt + 1
$ GOTO argloop
$ argloop_out:
$!
$!#######################################################################
$!
$ ! Find out current disk, directory, compiler and options
$ !
$ my_name = f$env("procedure")
$ workdir = f$env("default")
$ here = f$parse(workdir,,,"device") + f$parse(workdir,,,"directory")
$ if f$type(LOCAL_UNZIP).eqs.""
$ then
$ local_unzip = ""
$ else ! Trim blanks and append comma if missing
$ local_unzip = f$edit(local_unzip, "TRIM")
$ if f$extract(f$length(local_unzip)-1, 1, local_unzip).nes."," then -
local_unzip = local_unzip + ","
$ endif
$ axp = f$getsyi("HW_MODEL").ge.1024
$ if axp
$ then
$ ! Alpha AXP
$ ARCH_NAME == "Alpha"
$ ARCH_PREF = "AXP_"
$ HAVE_DECC_VAX = 0
$ USE_DECC_VAX = 0
$ if MAY_USE_GNUC
$ then say "GNU C has not yet been ported to OpenVMS AXP."
$ say "You must use DEC C to build Zip."
$ goto error
$ endif
$ ARCH_CC_P = ARCH_PREF
$ cc = "cc/standard=vaxc/prefix=all/ansi"
$ defs = "''local_unzip'MODERN"
$ opts = ""
$ say "Compiling on AXP using DEC C"
$ else
$ ! VAX
$ ARCH_NAME == "VAX"
$ ARCH_PREF = "VAX_"
$ HAVE_DECC_VAX = (f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes."")
$ HAVE_VAXC_VAX = (f$search("SYS$SYSTEM:VAXC.EXE").nes."")
$ MAY_HAVE_GNUC = (f$trnlnm("GNU_CC").nes."")
$ IF HAVE_DECC_VAX .AND. MAY_USE_DECC
$ THEN
$! We use DECC:
$ USE_DECC_VAX = 1
$ cc = "cc/decc/standard=vaxc/prefix=all"
$ ARCH_CC_P = "''ARCH_PREF'DECC_"
$ defs = "''local_unzip'MODERN"
$ opts = ""
$ say "Compiling on VAX using DEC C"
$ ELSE
$! We use VAXC (or GNU C):
$ USE_DECC_VAX = 0
$ defs = "''local_unzip'VMS"
$ opts = ",[.VMS]VAXCSHR.OPT/OPTIONS"
$ if (.not.HAVE_VAXC_VAX .and. MAY_HAVE_GNUC) .or. (MAY_USE_GNUC)
$ then
$ ARCH_CC_P = "''ARCH_PREF'GNUC_"
$ cc = "gcc"
$ opts = ",GNU_CC:[000000]GCCLIB.OLB/LIB ''opts'"
$ say "Compiling on VAX using GNU C"
$ else
$ ARCH_CC_P = "''ARCH_PREF'VAXC_"
$ if HAVE_DECC_VAX
$ then
$ cc = "cc/vaxc"
$ else
$ cc = "cc"
$ endif
$ say "Compiling on VAX using VAX C"
$ endif
$ ENDIF
$ endif
$ def = "/define=(''defs')"
$ LFLAGS = "/notrace"
$ if (opts .nes. "") .and. (f$search("[.vms]vaxcshr.opt") .eqs. "")
$ then create [.vms]vaxcshr.opt
$ open/append tmp [.vms]vaxcshr.opt
$ write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"
$ close tmp
$ endif
$ !
$ ! Currently, the following section is not needed, as vms.c does no longer
$ ! include any of the headers from SYS$LIB_C.TLB.
$ ! The commented section is solely maintained for reference.
$ ! In case system headers from SYS$LIB_C.TLB are needed again,
$ ! just append "'c'" to the respective source file specification.
$! x = f$search("SYS$LIBRARY:SYS$LIB_C.TLB")
$! if x .nes. "" then x = "+" + x
$ !
$ tmp = f$ver(1) ! Turn echo on to see what's happening
$ !
$ cc/NOLIST'DEF' /OBJ=unzip.'ARCH_CC_P'obj unzip.c
$ cc/NOLIST'DEF' /OBJ=crc32.'ARCH_CC_P'obj crc32.c
$ cc/NOLIST'DEF' /OBJ=crctab.'ARCH_CC_P'obj crctab.c
$ cc/NOLIST'DEF' /OBJ=crypt.'ARCH_CC_P'obj crypt.c
$ cc/NOLIST'DEF' /OBJ=envargs.'ARCH_CC_P'obj envargs.c
$ cc/NOLIST'DEF' /OBJ=explode.'ARCH_CC_P'obj explode.c
$ cc/NOLIST'DEF' /OBJ=extract.'ARCH_CC_P'obj extract.c
$ cc/NOLIST'DEF' /OBJ=fileio.'ARCH_CC_P'obj fileio.c
$ cc/NOLIST'DEF' /OBJ=globals.'ARCH_CC_P'obj globals.c
$ cc/NOLIST'DEF' /OBJ=inflate.'ARCH_CC_P'obj inflate.c
$ cc/NOLIST'DEF' /OBJ=list.'ARCH_CC_P'obj list.c
$ cc/NOLIST'DEF' /OBJ=match.'ARCH_CC_P'obj match.c
$ cc/NOLIST'DEF' /OBJ=process.'ARCH_CC_P'obj process.c
$ cc/NOLIST'DEF' /OBJ=ttyio.'ARCH_CC_P'obj ttyio.c
$ cc/NOLIST'DEF' /OBJ=unreduce.'ARCH_CC_P'obj unreduce.c
$ cc/NOLIST'DEF' /OBJ=unshrink.'ARCH_CC_P'obj unshrink.c
$ cc/NOLIST'DEF' /OBJ=zipinfo.'ARCH_CC_P'obj zipinfo.c
$ cc/INCLUDE=SYS$DISK:[]'DEF' /OBJ=vms.'ARCH_CC_P'obj; [.vms]vms.c
$ !
$ if f$locate("VMSCLI",local_unzip).ne.f$length(local_unzip)
$ then
$ cc/INCLUDE=SYS$DISK:[]'DEF' /OBJ=cmdline.'ARCH_CC_P'obj; -
[.vms]cmdline.c
$ cc/INCLUDE=SYS$DISK:[]/DEF=('DEFS',SFX) -
/OBJ=cmdline_.'ARCH_CC_P'obj; -
[.vms]cmdline.c
$ set command/obj=unz_cli.'ARCH_CC_P'obj [.vms]unz_cli.cld
$ cliobjs = ",cmdline.'ARCH_CC_P'obj, unz_cli.'ARCH_CC_P'obj"
$ cliobjx = ",cmdline_.'ARCH_CC_P'obj, unz_cli.'ARCH_CC_P'obj"
$ set default [.vms]
$ edit := edit ! avoids problems with non-standard "edit" definitions
$ edit/tpu/nosection/nodisplay/command=cvthelp.tpu unzip_cli.help
$ set default [-]
$ runoff/out=unzip.hlp [.vms]unzip_cli.rnh
$ else
$ cliobjs = ""
$ cliobjx = ""
$ runoff/out=unzip.hlp [.vms]unzip_def.rnh
$ endif
$ !
$ IF F$SEARCH("unzip.''ARCH_CC_P'olb") .EQS. "" THEN -
lib/obj/create unzip.'ARCH_CC_P'olb
$ lib/obj/replace unzip.'ARCH_CC_P'olb -
unzip.'ARCH_CC_P'obj;, crc32.'ARCH_CC_P'obj;, -
crctab.'ARCH_CC_P'obj;, crypt.'ARCH_CC_P'obj;, -
envargs.'ARCH_CC_P'obj;, explode.'ARCH_CC_P'obj;, -
extract.'ARCH_CC_P'obj;, fileio.'ARCH_CC_P'obj;, -
globals.'ARCH_CC_P'obj;, inflate.'ARCH_CC_P'obj;, -
list.'ARCH_CC_P'obj;, match.'ARCH_CC_P'obj;, -
process.'ARCH_CC_P'obj;, ttyio.'ARCH_CC_P'obj;, -
unreduce.'ARCH_CC_P'obj;, unshrink.'ARCH_CC_P'obj;, -
zipinfo.'ARCH_CC_P'obj;, vms.'ARCH_CC_P'obj; 'cliobjs'
$ link'LFLAGS'/exe=unzip.'ARCH_CC_P'exe -
unzip.'ARCH_CC_P'olb;/incl=(unzip)/lib -
'opts', [.VMS]unzip.opt/opt
$ !
$ cc/DEF=('DEFS',SFX)/NOLIST /OBJ=unzipsfx.'ARCH_CC_P'obj unzip.c
$ cc/DEF=('DEFS',SFX)/NOLIST /OBJ=extract_.'ARCH_CC_P'obj extract.c
$ cc/DEF=('DEFS',SFX)/NOLIST /OBJ=process_.'ARCH_CC_P'obj process.c
$ cc/DEF=('DEFS',SFX)/INCLUDE=SYS$DISK:[] /OBJ=vms_.'ARCH_CC_P'obj; -
[.vms]vms.c
$ IF F$SEARCH("unzipsfx.''ARCH_CC_P'olb") .EQS. "" THEN -
lib/obj/create unzipsfx.'ARCH_CC_P'olb
$ lib/obj/replace unzipsfx.'ARCH_CC_P'olb -
unzipsfx.'ARCH_CC_P'obj, crc32.'ARCH_CC_P'obj, -
crctab.'ARCH_CC_P'obj, crypt.'ARCH_CC_P'obj, -
extract_.'ARCH_CC_P'obj, fileio.'ARCH_CC_P'obj, -
globals.'ARCH_CC_P'obj, inflate.'ARCH_CC_P'obj, -
match.'ARCH_CC_P'obj, process_.'ARCH_CC_P'obj, -
ttyio.'ARCH_CC_P'obj, vms_.'ARCH_CC_P'obj 'cliobjx'
$ link'LFLAGS'/exe=unzipsfx.'ARCH_CC_P'exe -
unzipsfx.'ARCH_CC_P'olb;/lib/incl=unzip -
'opts', [.VMS]unzipsfx.opt/opt
$ !
$ ! Next line: put similar lines (full pathname for unzip.'ARCH_CC_P'exe) in
$ ! login.com. Remember to include the leading "$" before disk name.
$ !
$! unzip == "$''here'unzip.'ARCH_CC_P'exe" ! command symbol for unzip
$! zipinfo == "$''here'unzip.'ARCH_CC_P'exe ""-Z""" ! command symbol for zipinfo
$ !
$error:
$ tmp = f$ver(old_verify)
$ exit