]> sjero.net Git - wget/blob - vms/DESCRIP_SRC_CMN.MMS
Fix build when libpsl is not available
[wget] / vms / DESCRIP_SRC_CMN.MMS
1 #                                               26 September 2009.  SMS.
2 #
3 #    Wget 1.12 for VMS - MMS (or MMK) Common Source Description File.
4 #
5
6 # This description file is included by other description files.  It is
7 # not intended to be used alone.  Verify proper inclusion.
8
9 .IFDEF INCL_DESCRIP_SRC
10 .ELSE
11 $$$$ THIS DESCRIPTION FILE IS NOT INTENDED TO BE USED THIS WAY.
12 .ENDIF # INCL_DESCRIP_SRC
13
14
15 # Define MMK architecture macros when using MMS.
16
17 .IFDEF __MMK__                  # __MMK__
18 .ELSE                           # __MMK__
19 ALPHA_X_ALPHA = 1
20 IA64_X_IA64 = 1
21 VAX_X_VAX = 1
22 .IFDEF $(MMS$ARCH_NAME)_X_ALPHA     # $(MMS$ARCH_NAME)_X_ALPHA
23 __ALPHA__ = 1
24 .ENDIF                              # $(MMS$ARCH_NAME)_X_ALPHA
25 .IFDEF $(MMS$ARCH_NAME)_X_IA64      # $(MMS$ARCH_NAME)_X_IA64
26 __IA64__ = 1
27 .ENDIF                              # $(MMS$ARCH_NAME)_X_IA64
28 .IFDEF $(MMS$ARCH_NAME)_X_VAX       # $(MMS$ARCH_NAME)_X_VAX
29 __VAX__ = 1
30 .ENDIF                              # $(MMS$ARCH_NAME)_X_VAX
31 .ENDIF                          # __MMK__ [else]
32
33 # Analyze architecture-related and option macros.
34
35 .IFDEF __ALPHA__                # __ALPHA__
36 DESTM = ALPHA
37 .ELSE                           # __ALPHA__
38 .IFDEF __IA64__                     # __IA64__
39 DESTM = IA64
40 .ELSE                               # __IA64__
41 .IFDEF __VAX__                          # __VAX__
42 DESTM = VAX
43 .ELSE                                   # __VAX__
44 DESTM = UNK
45 UNK_DEST = 1
46 .ENDIF                                  # __VAX__ [else]
47 .ENDIF                              # __IA64__ [else]
48 .ENDIF                          # __ALPHA__ [else]
49
50 .IFDEF LARGE                    # LARGE
51 .IFDEF __VAX__                      # __VAX__
52 DESTL =
53 LARGE_VAX = 1
54 .ELSE                               # __VAX__
55 DESTL = L
56 .ENDIF                              # __VAX__ [else]
57 .ELSE                           # LARGE
58 DESTL =
59 .ENDIF                          # LARGE [else]
60
61 DEST = $(DESTM)$(DESTL)
62
63 # DASHD options.
64
65 .IFDEF DASHD                    # DASHD
66 CDEFS_DASHD = , "ENABLE_DEBUG"
67 .ELSE                           # DASHD
68 CDEFS_DASHD =
69 .ENDIF                          # DASHD [else]
70
71 # DBG options.
72
73 .IFDEF DBG                      # DBG
74 CFLAGS_DBG = /debug /nooptimize
75 LINKFLAGS_DBG = /debug /traceback
76 .ELSE                           # DBG
77 CFLAGS_DBG =
78 LINKFLAGS_DBG = /notraceback
79 .ENDIF                          # DBG [else]
80
81 # Large-file options.
82
83 .IFDEF LARGE                    # LARGE
84 CDEFS_LARGE = , "_LARGEFILE"
85 .ELSE                           # LARGE
86 CDEFS_LARGE =
87 .ENDIF                          # LARGE [else]
88
89 .IFDEF HPSSL                    # HPSSL
90 CDEFS_SSL = , "HAVE_SSL", "ENABLE_NTLM"
91 SSL_LINK_OPT = , [-.VMS]WGET_SSL_HP.OPT /OPTIONS
92 .IFDEF OSSL                         # OSSL
93 HPSSL_OSSL = 1
94 .ENDIF                              # OSSL
95 .ELSE                           # HPSSL
96 .IFDEF OSSL                         # OSSL
97 CDEFS_SSL = , "HAVE_LIBSSL", "ENABLE_NTLM"
98 SSL_LINK_OPT = , [-.VMS]WGET_SSL_O.OPT /OPTIONS
99 .ELSE                               # OSSL
100 CDEFS_SSL =
101 SSL_LINK_OPT =
102 .ENDIF                              # OSSL [else]
103 .ENDIF                          # HPSSL [else]
104
105 # User-specified options.
106
107 .IFDEF CDEFS_USER               # CDEFS_USER
108 CDEFS_USR = , $(CDEFS_USER)
109 .ELSE                           # CDEFS_USER
110 CDEFS_USR =
111 .ENDIF                          # CDEFS_USER [else]
112
113
114 # Specific DESCRIP_SRC.MMS defines:
115 #    CDEFS
116 #    CFLAGS_SPEC
117 #    CFLAGS_INCL
118
119 CDEFS_CMN = VMS $(CDEFS_DASHD) $(CDEFS_LARGE) $(CDEFS_SSL) $(CDEFS_USR)
120
121
122 # Absence of MMSDESCRIPTION_FILE.
123 .IFDEF MMSDESCRIPTION_FILE      # MMSDESCRIPTION_FILE
124 .ELSE                           # MMSDESCRIPTION_FILE
125 NO_MMSDESCRIPTION_FILE = 1
126 .ENDIF                          # MMSDESCRIPTION_FILE [else]
127
128
129 # Subsidiary directory names.  (Note: DEST must be defined first.)
130
131 DIR_LIB = LIB
132 DIR_LIB_DEST = [-.$(DIR_LIB).$(DEST)]
133 DIR_LIB_DEST_FILE = [-.$(DIR_LIB)]$(DEST).DIR;1
134
135 DIR_MD5 = MD5
136 DIR_MD5_DEST = [-.$(DIR_MD5).$(DEST)]
137 DIR_MD5_DEST_FILE = [-.$(DIR_MD5)]$(DEST).DIR;1
138
139 DIR_SRC = SRC
140 DIR_SRC_DEST = [-.$(DIR_SRC).$(DEST)]
141 DIR_SRC_DEST_FILE = [-.$(DIR_SRC)]$(DEST).DIR;1
142
143 DIR_VMS = VMS
144
145 # Object library names.
146
147 LIB_LIB = $(DIR_LIB_DEST)LIBLIB.OLB
148 LIB_MD5 = $(DIR_MD5_DEST)LIBMD5.OLB
149 LIB_SRC = $(DIR_SRC_DEST)LIBSRC.OLB
150
151 # DECC_VER object name.
152
153 DECC_VER_OBJ = $(DIR_SRC_DEST)DECC_VER.OBJ
154
155 # Executable names.
156
157 WGET_EXE = $(DIR_SRC_DEST)WGET.EXE
158 DECC_VER_EXE = $(DIR_SRC_DEST)DECC_VER.EXE
159
160 EXES = $(WGET_EXE) \
161        $(DECC_VER_EXE)
162
163 # Help file names.
164
165 WGET_HLB = [-.$(DIR_VMS)]WGET.HLB
166 WGET_HLP = [-.$(DIR_VMS)]WGET.HLP
167
168
169 # Complain if warranted.  Otherwise, show destination directory.
170 # Make the destination directories, if necessary.
171                                 
172 .IFDEF UNK_DEST                 # UNK_DEST
173 .FIRST
174         @ write sys$output -
175  "   Unknown system architecture."
176 .IFDEF __MMK__                      # __MMK__
177         @ write sys$output -
178  "   MMK on IA64?  Try adding ""/MACRO = __IA64__""."
179 .ELSE                               # __MMK__
180         @ write sys$output -
181  "   MMS too old?  Try adding ""/MACRO = MMS$ARCH_NAME=ALPHA"","
182         @ write sys$output -
183  "   or ""/MACRO = MMS$ARCH_NAME=IA64"", or ""/MACRO = MMS$ARCH_NAME=VAX"","
184         @ write sys$output -
185  "   as appropriate.  (Or try a newer version of MMS.)"
186 .ENDIF                              # __MMK__ [else]
187         @ write sys$output ""
188         I_WILL_DIE_NOW.  /$$$$INVALID$$$$
189 .ELSE                           # UNK_DEST
190 .IFDEF LARGE_VAX                    # LARGE_VAX
191 .FIRST
192         @ write sys$output -
193  "   Macro ""LARGE"" is invalid on VAX."
194         @ write sys$output ""
195         I_WILL_DIE_NOW.  /$$$$INVALID$$$$
196 .ELSE                               # LARGE_VAX
197 .IFDEF HPSSL_OSSL                       # HPSSL_OSSL
198 .FIRST
199         @ write sys$output -
200  "   Macro ""HPSSL"" is incompatible with macro ""OSSL""."
201         @ write sys$output ""
202         I_WILL_DIE_NOW.  /$$$$INVALID$$$$
203 .ELSE                                   # HPSSL_OSSL
204 .IFDEF NO_MMSDESCRIPTION_FILE               # NO_MMSDESCRIPTION_FILE
205 .FIRST
206         @ write sys$output -
207  "   Macro ""MMSDESCRIPTION_FILE"" is not defined as required."
208         @ write sys$output -
209  "   MMK, or MMS too old?  Try adding:"
210         @ write sys$output -
211  "   ""/MACRO = MMSDESCRIPTION_FILE=dev:[dir]description_file"","
212         @ write sys$output -
213  "   as appropriate, where ""dev:[dir]description_file"" is the full path"
214         @ write sys$output -
215  "   to the MMS/MMK description file being used (typically ""DESCRIP.MMS"")."
216         @ write sys$output ""
217         I_WILL_DIE_NOW.  /$$$$INVALID$$$$
218 .ELSE                                       # NO_MMSDESCRIPTION_FILE
219 .FIRST
220         @ show time
221         @ write sys$output "   Destination: [.$(DEST)]"
222         @ write sys$output ""
223         @ ! Define ODS2 symbols (close enough to MMS macros) according
224         @ ! to the actual "getopt.in.h" name.
225         @ if (f$search( "$(LIB_GETOPT_H_SRC_DU)") .nes. "") then -
226            ODS2DU = 1
227         @ if (f$search( "$(LIB_GETOPT_H_SRC_UD)") .nes. "") then -
228            ODS2UD = 1
229         @ if (f$type( ODS2DU) .nes. "") then -
230            write sys$output -
231             "   (Expecting ODS2 dot-under names for multi-dot file names.)"
232         @ if (f$type( ODS2UD).nes. "") then -
233            write sys$output -
234             "   (Expecting ODS2 under-dot names for multi-dot file names.)"
235         @ if ((f$type( ODS2DU) .nes. "") .or. -
236            (f$type( ODS2UD) .nes. "")) then -
237            write sys$output ""
238 .IFDEF ALL_DEST_DIRS_NEEDED                     # ALL_DEST_DIRS_NEEDED
239         @ ! Create all destination directories first.
240         if (f$search( "[-.$(DIR_LIB)]$(DEST).DIR;1") .eqs. "") then -
241          create /directory [-.$(DIR_LIB).$(DEST)]
242         if (f$search( "[-.$(DIR_MD5)]$(DEST).DIR;1") .eqs. "") then -
243          create /directory [-.$(DIR_MD5).$(DEST)]
244         if (f$search( "[-.$(DIR_SRC)]$(DEST).DIR;1") .eqs. "") then -
245          create /directory [-.$(DIR_SRC).$(DEST)]
246 .ELSE                                           # ALL_DEST_DIRS_NEEDED
247         @ ! Create this specific destination directory first.
248         if (f$search( "$(DEST).DIR;1") .eqs. "") then -
249          create /directory [.$(DEST)]
250 .ENDIF                                          # ALL_DEST_DIRS_NEEDED [else]
251 .ENDIF                                      # NO_MMSDESCRIPTION_FILE [else]
252 .ENDIF                                  # HPSSL_OSSL [else]
253 .ENDIF                              # LARGE_VAX [else]
254 .ENDIF                          # UNK_DEST [else]
255
256 # UTIME prefix quirk.
257
258 .IFDEF __ALPHA__
259 UTNP = , __UTC_UTIME
260 .ENDIF
261
262 .IFDEF __IA64__
263 UTNP = , __UTC_UTIME
264 .ENDIF
265
266 # Architecture-specific CC and LINK flags.
267
268 .IFDEF __VAX__                  # __VAX__
269 CFLAGS_ARCH = /decc
270 .ELSE                           # __VAX__
271 CFLAGS_ARCH = /float = ieee_float
272 .ENDIF                          # __VAX__ [else]
273
274 LFLAGS_ARCH =
275
276 # LIST options.
277
278 .IFDEF LIST                     # LIST
279 # Note: Before DEC C V6.0, "/show = [no]messages" will cause trouble.
280 CFLAGS_LIST = /list = $*.LIS /show = (all, nomessages)
281 LINKFLAGS_LIST = /map = $*.MAP /cross_reference /full
282 .ELSE                           # LIST
283 CFLAGS_LIST =
284 LINKFLAGS_LIST =
285 .ENDIF                          # LIST [else]
286