~peter-pearse/ubuntu/natty/unzip/prop001

« back to all changes in this revision

Viewing changes to vms/link_unz.com

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2009-05-08 20:02:40 UTC
  • mfrom: (1.1.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20090508200240-7l4gypruop5863bd
* New upstream release. Closes: #496989.
* Enabled new Unicode support. Closes: #197427. This may or may not work
  for your already created zipfiles, but it's not a bug unless they were
  created using the Unicode feature present in zip 3.0.
* Built using DATE_FORMAT=DF_YMD so that unzip -l show dates in ISO format,
  as that's the only available one which makes sense. Closes: #312886.
* Enabled new bzip2 support. Closes: #426798.
* Exit code for zipgrep should now be the right one. Closes: #441997.
* The reason why a file may not be created is now shown. Closes: #478791.
* Summary of changes in this version not being the debian/* files:
- Manpages in section 1, not 1L.
- Branding patch. UnZip by Debian. Original by Info-ZIP.
- Always #include <unistd.h>. Debian GNU/kFreeBSD needs it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
$ ! LINK_UNZ.COM
2
 
$ !
3
 
$ !     Command procedure to (re)link the VMS versions of
4
 
$ !     UnZip/ZipInfo and UnZipSFX
5
 
$ !
6
 
$ !     last updated:  13 February 2001
7
 
$ !
8
 
$ !     Command args:
9
 
$ !     - select compiler environment: "VAXC", "DECC", "GNUC"
10
 
$ !     - select installation of CLI interface version of unzip:
11
 
$ !       "VMSCLI" or "CLI"
12
 
$ !     - force installation of UNIX interface version of unzip
13
 
$ !       (override LOCAL_UNZIP environment): "NOVMSCLI" or "NOCLI"
14
 
$ !
15
 
$ !
16
 
$ on error then goto error
17
 
$ on control_y then goto error
18
 
$ OLD_VERIFY = f$verify(0)
19
 
$!
20
 
$ say := write sys$output
21
 
$!##################### Read settings from environment ########################
22
 
$!
23
 
$ if f$type(LOCAL_UNZIP).eqs.""
24
 
$ then
25
 
$       local_unzip = ""
26
 
$ else  ! Trim blanks and append comma if missing
27
 
$       local_unzip = f$edit(local_unzip, "TRIM")
28
 
$       if f$extract(f$length(local_unzip)-1, 1, local_unzip).nes."," then -
29
 
                local_unzip = local_unzip + ","
30
 
$ endif
31
 
$! Check for the presence of "VMSCLI" in local_unzip. If yes, we will define
32
 
$! the foreign command for "unzip" to use the executable containing the
33
 
$! CLI interface.
34
 
$ pos_cli = f$locate("VMSCLI",local_unzip)
35
 
$ len_local_unzip = f$length(local_unzip)
36
 
$ if pos_cli.ne.len_local_unzip
37
 
$ then
38
 
$   CLI_IS_DEFAULT = 1
39
 
$   ! Remove "VMSCLI" macro from local_unzip. The UnZip executable including
40
 
$   ! the CLI interface is now created unconditionally.
41
 
$   local_unzip = f$extract(0, pos_cli, local_unzip) + -
42
 
$               f$extract(pos_cli+7, len_local_unzip-(pos_cli+7), local_unzip)
43
 
$ else
44
 
$   CLI_IS_DEFAULT = 0
45
 
$ endif
46
 
$ delete/symbol/local pos_cli
47
 
$ delete/symbol/local len_local_unzip
48
 
$!##################### Customizing section #############################
49
 
$!
50
 
$ unzx_unx = "unzip"
51
 
$ unzx_cli = "unzip_cli"
52
 
$ unzsfx_unx = "unzipsfx"
53
 
$ unzsfx_cli = "unzipsfx_cli"
54
 
$!
55
 
$ MAY_USE_DECC = 1
56
 
$ MAY_USE_GNUC = 0
57
 
$!
58
 
$! Process command line parameters requesting optional features:
59
 
$ arg_cnt = 1
60
 
$ argloop:
61
 
$  current_arg_name = "P''arg_cnt'"
62
 
$  curr_arg = f$edit('current_arg_name',"UPCASE")
63
 
$  IF curr_arg .eqs. "" THEN GOTO argloop_out
64
 
$  IF curr_arg .eqs. "VAXC"
65
 
$  THEN MAY_USE_DECC = 0
66
 
$    MAY_USE_GNUC = 0
67
 
$  ENDIF
68
 
$  IF curr_arg .eqs. "DECC"
69
 
$  THEN MAY_USE_DECC = 1
70
 
$    MAY_USE_GNUC = 0
71
 
$  ENDIF
72
 
$  IF curr_arg .eqs. "GNUC"
73
 
$  THEN MAY_USE_DECC = 0
74
 
$    MAY_USE_GNUC = 1
75
 
$  ENDIF
76
 
$  IF (curr_arg .eqs. "VMSCLI") .or. (curr_arg .eqs. "CLI")
77
 
$  THEN
78
 
$    CLI_IS_DEFAULT = 1
79
 
$  ENDIF
80
 
$  IF (curr_arg .eqs. "NOVMSCLI") .or. (curr_arg .eqs. "NOCLI")
81
 
$  THEN
82
 
$    CLI_IS_DEFAULT = 0
83
 
$  ENDIF
84
 
$  arg_cnt = arg_cnt + 1
85
 
$ GOTO argloop
86
 
$ argloop_out:
87
 
$!
88
 
$ if CLI_IS_DEFAULT
89
 
$ then
90
 
$       UNZEXEC = unzx_cli
91
 
$ else
92
 
$       UNZEXEC = unzx_unx
93
 
$ endif
94
 
$!
95
 
$!#######################################################################
96
 
$!
97
 
$ ! Find out current disk, directory, compiler and options
98
 
$ !
99
 
$ my_name = f$env("procedure")
100
 
$ workdir = f$env("default")
101
 
$ here = f$parse(workdir,,,"device") + f$parse(workdir,,,"directory")
102
 
$ axp = f$getsyi("HW_MODEL").ge.1024
103
 
$ if axp
104
 
$ then
105
 
$       ! Alpha AXP
106
 
$       ARCH_NAME == "Alpha"
107
 
$       ARCH_PREF = "AXP_"
108
 
$       HAVE_DECC_VAX = 0
109
 
$       USE_DECC_VAX = 0
110
 
$       IF (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'OLB").eqs."")
111
 
$       THEN
112
 
$         say "Cannot find any AXP object library for UnZip."
113
 
$         say "  You must keep all binary files of the object distribution"
114
 
$         say "  in the current directory !"
115
 
$         goto error
116
 
$       ENDIF
117
 
$       if MAY_USE_GNUC
118
 
$       then say "GNU C has not yet been ported to OpenVMS AXP."
119
 
$            say "You must use DEC C to build UnZip."
120
 
$            goto error
121
 
$       endif
122
 
$       ARCH_CC_P = ARCH_PREF
123
 
$       opts = ""
124
 
$       say "Linking on AXP using DEC C"
125
 
$ else
126
 
$       ! VAX
127
 
$       ARCH_NAME == "VAX"
128
 
$       ARCH_PREF = "VAX_"
129
 
$       ! check which object libraries are present:
130
 
$       HAVE_DECC_VAX = -
131
 
                (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'DECC_OLB").nes."")
132
 
$       HAVE_VAXC_VAX = -
133
 
                (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'VAXC_OLB").nes."")
134
 
$       HAVE_GNUC_VAX = -
135
 
                (f$search("SYS$DISK:[]UNZIP.''ARCH_PREF'GNUC_OLB").nes."")
136
 
$       IF .not.HAVE_DECC_VAX .and. .not.HAVE_VAXC_VAX .and. .not.HAVE_GNUC_VAX
137
 
$       THEN
138
 
$         say "Cannot find any VAX object library for UnZip."
139
 
$         say "  You must keep all binary files of the object distribution"
140
 
$         say "  in the current directory !"
141
 
$         goto error
142
 
$       ENDIF
143
 
$       IF HAVE_DECC_VAX .AND. MAY_USE_DECC
144
 
$       THEN
145
 
$         ! We use DECC:
146
 
$         USE_DECC_VAX = 1
147
 
$         ARCH_CC_P = "''ARCH_PREF'DECC_"
148
 
$         opts = ""
149
 
$         say "Linking on VAX using DEC C"
150
 
$       ELSE
151
 
$         ! We use VAXC (or GNU C):
152
 
$         USE_DECC_VAX = 0
153
 
$         opts = ",SYS$DISK:[.VMS]VAXCSHR.OPT/OPTIONS"
154
 
$         if HAVE_GNUC_VAX .and. (.not.HAVE_VAXC_VAX .or. MAY_USE_GNUC)
155
 
$         then
156
 
$               ARCH_CC_P = "''ARCH_PREF'GNUC_"
157
 
$               opts = ",GNU_CC:[000000]GCCLIB.OLB/LIB ''opts'"
158
 
$               say "Linking on VAX using GNU C"
159
 
$         else
160
 
$               ARCH_CC_P = "''ARCH_PREF'VAXC_"
161
 
$               say "Linking on VAX using VAX C"
162
 
$         endif
163
 
$       ENDIF
164
 
$ endif
165
 
$ LFLAGS = "/notrace"
166
 
$ if (opts .nes. "") .and. (f$search("[.vms]vaxcshr.opt") .eqs. "")
167
 
$ then  create [.vms]vaxcshr.opt
168
 
$       open/append tmp [.vms]vaxcshr.opt
169
 
$       write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"
170
 
$       close tmp
171
 
$ endif
172
 
$ tmp = f$verify(1)     ! Turn echo on to see what's happening
173
 
$ !
174
 
$ link'LFLAGS'/exe='unzx_unx'.'ARCH_CC_P'exe -
175
 
        unzip.'ARCH_CC_P'olb;/incl=(unzip)/lib -
176
 
        'opts', [.VMS]unzip.opt/opt
177
 
$ !
178
 
$ link'LFLAGS'/exe='unzx_cli'.'ARCH_CC_P'exe -
179
 
        unzipcli.'ARCH_CC_P'olb;/incl=(unzip)/lib, -
180
 
        unzip.'ARCH_CC_P'olb;/lib -
181
 
        'opts', [.VMS]unzip.opt/opt
182
 
$ !
183
 
$ link'LFLAGS'/exe='unzsfx_unx'.'ARCH_CC_P'exe -
184
 
        unzipsfx.'ARCH_CC_P'olb;/lib/incl=unzip -
185
 
        'opts', [.VMS]unzipsfx.opt/opt
186
 
$ !
187
 
$ link'LFLAGS'/exe='unzsfx_cli'.'ARCH_CC_P'exe -
188
 
        unzsxcli.'ARCH_CC_P'olb;/lib/incl=unzip, -
189
 
        unzipsfx.'ARCH_CC_P'olb;/lib -
190
 
        'opts', [.VMS]unzipsfx.opt/opt
191
 
$ !
192
 
$ ! Next line:  put similar lines (full pathname for unzip.'ARCH_CC_P'exe) in
193
 
$ ! login.com.  Remember to include the leading "$" before disk name.
194
 
$ !
195
 
$ unzip   == "$''here'''UNZEXEC'.''ARCH_CC_P'exe"
196
 
$ zipinfo == "$''here'''UNZEXEC'.''ARCH_CC_P'exe ""-Z"""
197
 
$ !
198
 
$error:
199
 
$ tmp = f$verify(OLD_VERIFY)
200
 
$ exit