Imported Upstream version 7.44.0
[platform/upstream/curl.git] / packages / vms / gnv_link_curl.com
1 $! File: gnv_link_curl.com
2 $!
3 $! $Id$
4 $!
5 $! File to build images using gnv$libcurl.exe
6 $!
7 $! Copyright 2009, John Malmberg
8 $!
9 $! Permission to use, copy, modify, and/or distribute this software for any
10 $! purpose with or without fee is hereby granted, provided that the above
11 $! copyright notice and this permission notice appear in all copies.
12 $!
13 $! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
14 $! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
15 $! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
16 $! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17 $! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
18 $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
19 $! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 $!
21 $! 10-Jun-2009  J. Malmberg
22 $!============================================================================
23 $!
24 $! Save this so we can get back.
25 $ default_dir = f$environment("default")
26 $ define/job gnv_packages_vms 'default_dir'
27 $!
28 $ on warning then goto all_exit
29 $!
30 $! On VAX, we need to generate a Macro transfer vector.
31 $ parse_style = "TRADITIONAL"
32 $ if (f$getsyi("HW_MODEL") .lt. 1024)
33 $ then
34 $   @generate_vax_transfer.com
35 $   arch_name = "VAX"
36 $ else
37 $    arch_name = ""
38 $    arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE")
39 $    if (arch_name .eqs. "") then arch_name = "UNK"
40 $!
41 $!   Extended parsing option starts with VMS 7.3-1.
42 $!   There is no 7.4, so that simplifies the parse a bit.
43 $!
44 $    node_swvers = f$getsyi("node_swvers")
45 $    version_patch = f$extract(1, f$length(node_swvers), node_swvers)
46 $    maj_ver = f$element(0, ".", version_patch)
47 $    min_ver_patch = f$element(1, ".", version_patch)
48 $    min_ver = f$element(0, "-", min_ver_patch)
49 $    patch = f$element(1, "-", min_ver_patch)
50 $    if patch .eqs. "-" then patch = ""
51 $    parse_x = 0
52 $    if maj_ver .ges. "8"
53 $    then
54 $       parse_x = 1
55 $    else
56 $       if maj_ver .eqs. "7" .and. min_ver .ges. "3" .and. patch .nes. ""
57 $       then
58 $          parse_x = 1
59 $       endif
60 $    endif
61 $    if parse_x
62 $    then
63 $       parse_style = f$getjpi("", "parse_style_perm")
64 $    endif
65 $ endif
66 $!
67 $!
68 $! Move to where the base directories.
69 $ set def [--]
70 $!
71 $!
72 $! Build the Message file.
73 $!--------------------------
74 $ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
75 $ then
76 $   message [.packages.vms]curlmsg.msg/object=[.packages.vms]
77 $ endif
78 $ if f$search("gnv$curlmsg.exe") .eqs. ""
79 $ then
80 $   link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
81 $ endif
82 $!
83 $!
84 $! Need to build the common init module.
85 $!-------------------------------------------
86 $ cflags = "/list/show=(expan,includ)"
87 $ init_obj = "[.packages.vms]curl_crtl_init.obj"
88 $ if f$search(init_obj) .eqs. ""
89 $ then
90 $   cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
91 $ endif
92 $ purge 'init_obj'
93 $ rename 'init_obj' ;1
94 $!
95 $!
96 $! Need to build the module to test the HP OpenSSL version
97 $!--------------------------------------------------------
98 $ if arch_name .nes. "VAX"
99 $ then
100 $   rpt_obj = "[.packages.vms]report_openssl_version.obj
101 $   if f$search(rpt_obj) .eqs. ""
102 $   then
103 $       cc'cflags' 'default_dir'report_openssl_version.c/obj='rpt_obj'
104 $   endif
105 $   purge 'rpt_obj'
106 $   rename 'rpt_obj' ;1
107 $!
108 $   link/exe='default_dir'report_openssl_version.exe 'rpt_obj'
109 $   report_openssl_version := $'default_dir'report_openssl_version.exe
110 $ endif
111 $!
112 $!
113 $ base_link_opt_file = "[.packages.vms.''arch_name']gnv_libcurl_linker.opt"
114 $ share_link_opt_file = "[.packages.vms.''arch_name']gnv_ssl_libcurl_linker.opt"
115 $ if f$search(base_link_opt_file) .eqs. ""
116 $ then
117 $   base_link_opt_file = "[.packages.vms]gnv_libcurl_linker.opt"
118 $   share_link_opt_file = "[.packages.vms]gnv_ssl_libcurl_linker.opt"
119 $   if f$search(base_link_opt_file) .eqs. ""
120 $   then
121 $       write sys$output "Can not find base library option file!"
122 $       goto all_exit
123 $   endif
124 $ endif
125 $!
126 $! Create the a new option file with special fixup for HP SSL
127 $! For a shared image, we always want ZLIB and 32 bit HPSSL
128 $!
129 $ if f$search("gnv$libzshr32") .eqs. ""
130 $ then
131 $   write sys$output "VMSPORTS/GNV LIBZ Shared image not found!"
132 $   goto all_exit
133 $ endif
134 $!
135 $!
136 $! Need to check the version of the HP SSL shared image.
137 $!
138 $! VAX platform can not be checked this way, it appears symbol lookup
139 $! was disabled.  VAX has not been updated in a while.
140 $ if arch_name .eqs. "VAX"
141 $ then
142 $   hp_ssl_libcrypto32 = "sys$common:[syslib]ssl$libcrypto_shr32.exe"
143 $   hp_ssl_libssl32 = "sys$common:[syslib]ssl$libssl_shr32.exe"
144 $   if f$search(hp_ssl_libcrypto32) .nes. ""
145 $   then
146 $       use_hp_ssl = 1
147 $       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
148 $       curl_ssl_libssl32 = hp_ssl_libssl32
149 $       curl_ssl_version = "OpenSSL/0.9.6g"
150 $   else
151 $       write sys$output "HP OpenSSL Shared images not found!"
152 $       goto all_exit
153 $   endif
154 $ else
155 $!
156 $!   Minimum HP version we can use reports:
157 $!   "OpenSSL 0.9.8w 23 Apr 2012"
158 $!
159 $   use_hp_ssl = 0
160 $   hp_ssl_libcrypto32 = "sys$share:ssl$libcrypto_shr32.exe"
161 $   hp_ssl_libssl32 = "sys$share:ssl$libssl_shr32.exe"
162 $   if f$search(hp_ssl_libcrypto32) .nes. ""
163 $   then
164 $       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
165 $       curl_ssl_libssl32 = hp_ssl_libssl32
166 $       report_openssl_version 'hp_ssl_libcrypto32' hp_ssl_version
167 $   endif
168 $!
169 $   if f$type(hp_ssl_version) .eqs. "STRING"
170 $   then
171 $       curl_ssl_version = hp_ssl_version
172 $       full_version = f$element(1, " ", hp_ssl_version)
173 $       ver_maj = f$element(0, ".", full_version)
174 $       ver_min = f$element(1, ".", full_version)
175 $       ver_patch = f$element(2, ".", full_version)
176 $!      ! ver_patch is typically both a number and some letters
177 $       ver_patch_len = f$length(ver_patch)
178 $       ver_patchltr = ""
179 $ver_patch_loop:
180 $           ver_patchltr_c = f$extract(ver_patch_len - 1, 1, ver_patch)
181 $           if ver_patchltr_c .les. "9" then goto ver_patch_loop_end
182 $           ver_patchltr = ver_patchltr_c + ver_patchltr
183 $           ver_patch_len = ver_patch_len - 1
184 $           goto ver_patch_loop
185 $ver_patch_loop_end:
186 $       ver_patchnum = ver_patch - ver_patchltr
187 $       if 'ver_maj' .ge. 0
188 $       then
189 $           if 'ver_min' .ge. 9
190 $           then
191 $               if 'ver_patchnum' .ge. 8
192 $               then
193 $                   if ver_patchltr .ges. "w" then use_hp_ssl = 1
194 $               endif
195 $           endif
196 $       endif
197 $set nover
198 $       if use_hp_ssl .eq. 0
199 $       then
200 $           write sys$output -
201    " HP OpenSSL version of ""''hp_ssl_version'"" is too old for shared libcurl!"
202 $       endif
203 $   else
204 $       write sys$output "Unable to get version of HP OpenSSL"
205 $   endif
206 $!
207 $   gnv_ssl_libcrypto32 = "gnv$gnu:[lib]ssl$libcrypto_shr32.exe"
208 $   gnv_ssl_libssl32 = "gnv$gnu:[lib]ssl$libssl_shr32.exe"
209 $   if f$search(gnv_ssl_libcrypto32) .nes. ""
210 $   then
211 $       report_openssl_version 'gnv_ssl_libcrypto32' gnv_ssl_version
212 $   endif
213 $!
214 $   use_gnv_ssl = 0
215 $   if f$type(gnv_ssl_version) .eqs. "STRING"
216 $   then
217 $       gnv_full_version = f$element(1, " ", gnv_ssl_version)
218 $       gnv_ver_maj = f$element(0, ".", gnv_full_version)
219 $       gnv_ver_min = f$element(1, ".", gnv_full_version)
220 $       gnv_ver_patch = f$element(2, ".", gnv_full_version)
221 $       gnv_ver_patch_len = f$length(gnv_ver_patch)
222 $       gnv_ver_patchnum = f$extract(0, gnv_ver_patch_len - 1, gnv_ver_patch)
223 $       gnv_ver_patchltr = f$extract(gnv_ver_patch_len - 1, 1, gnv_ver_patch)
224 $       if 'gnv_ver_maj' .ge. 0
225 $       then
226 $           if 'gnv_ver_min' .ge. 9
227 $           then
228 $               if 'gnv_ver_patchnum' .ge. 8
229 $               then
230 $                   if gnv_ver_patchltr .ges. "w" then use_gnv_ssl = 1
231 $               endif
232 $           endif
233 $       endif
234 $       if use_gnv_ssl .eq. 0
235 $       then
236 $           write sys$output -
237    "GNV OpenSSL version of ""''gnv_ssl_version'" is too old for shared libcurl!"
238 $       endif
239 $!
240 $!      Prefer to break the tie with the lowest supported version
241 $!      For simplicity, if the GNV image is present, it will be used.
242 $!      Version tuple is not a simple compare.
243 $!
244 $       if use_gnv_ssl .eq. 1 then
245 $           curl_ssl_libcrypto32 = gnv_ssl_libcrypto32
246 $           curl_ssl_libssl32 = gnv_ssl_libssl32
247 $           curl_ssl_version = gnv_ssl_version
248 $           use_hp_ssl = 0
249 $       endif
250 !$!
251 $   else
252 $       write sys$output "Unable to get version of GNV OpenSSL"
253 $   endif
254 $!
255 $!  Need to write a release note section about HP OpenSSL
256 $!
257 $create 'default_dir'hp_ssl_release_info.txt
258 $deck
259 This package is built on with the OpenSSL version listed below and requires
260 the shared images from the HP OpenSSL product that is kitted with that
261 version or a compatible later version.
262
263 For Alpha and IA64 platforms, see the url below to register to get the
264 download URL.  The kit will be HP 1.4-467 or later.
265   http://h71000.www7.hp.com/openvms/products/ssl/ssl.html
266
267 For VAX, use the same registration, but remove the kit name from any of the
268 download URLs provided and put in CPQ-VAXVMS-SSL-V0101-B-1.PCSI-DCX_VAXEXE
269
270 If your system can not be upgraded to a compatible version of OpenSSL, then
271 you can extract the two shared images from the kit and place them in the
272 [vms$common.gnv.lib]directory of the volume that you are installing GNV and
273 or GNV compatible components like Curl.
274
275 If GNV is installed, you must run the GNV startup procedure before these steps
276 and before installing Curl.
277
278
279   1.  make sure that [vms$common.gnv.lib] exists by using the following
280       commands.  We want the directory to be in lowercase except on VAX.
281
282     $SET PROCESS/PARSE=extend !If not VAX.
283     $CREATE/DIR device:[vms$common.gnv.lib]/prot=w:re
284
285   2. Extract the ssl$crypto_shr32.exe and ssl$libssl_shr32.exe images.
286
287     $PRODUCT EXTRACT FILE -
288       /select=(ssl$libcrypto_shr32.exe,ssl$libssl_shr32.exe)-
289       /source=device:[dir] -
290       /options=noconfirm -
291       /destination=device:[vms$common.gnv.lib] SSL
292
293 The [vms$common.sys$startup}curl_startup.com procedure will then configure
294 libcurl to use these shared images instead of the system ones.
295
296 When you upgrade SSL on VMS to the newer version of HP SSL, then these copies
297 should be deleted.
298
299 $eod
300 $!
301 $ open/append sslr 'default_dir'hp_ssl_release_info.txt
302 $ write sslr "OpenSSL version used for building this kit: ",curl_ssl_version
303 $ write sslr ""
304 $ close sslr
305 $!
306 $!
307 $! LIBZ
308 $ libzshr_line = ""
309 $ try_shr = "gnv$libzshr32"
310 $ if f$search(try_shr) .nes. ""
311 $ then
312 $   libzshr_line = "''try_shr'/share"
313 $ else
314 $   write sys$output "''try_shr' image not found!"
315 $   goto all_exit
316 $ endif
317 $!
318 $!
319 $ gssrtlshr_line = ""
320 $ if arch_name .nes. "VAX"
321 $ then
322 $   try_shr = "sys$share:gss$rtl"
323 $   if f$search("''try_shr'.exe") .nes. ""
324 $   then
325 $       gssrtlshr_line = "''try_shr'/share"
326 $   else
327 $       write sys$output "''try_shr' image not found!"
328 $       goto all_exit
329 $   endif
330 $ endif
331 $!
332 $!
333 $!
334 $ if f$search(share_link_opt_file) .eqs. ""
335 $ then
336 $   create 'share_link_opt_file'
337 $   open/append slopt 'share_link_opt_file'
338 $   if libzshr_line .nes. "" then write slopt libzshr_line
339 $   if gssrtlshr_line .nes. "" then write slopt gssrtlshr_line
340 $   write slopt "gnv$curl_ssl_libcryptoshr32/share"
341 $   write slopt "gnv$curl_ssl_libsslshr32/share"
342 $   close slopt
343 $ endif
344 $!
345 $! DCL build puts curllib in architecture directory
346 $! GNV build uses the makefile.
347 $ libfile = "[.packages.vms.''arch_name']curllib.olb"
348 $ if f$search(libfile) .nes. ""
349 $ then
350 $   olb_file = libfile
351 $ else
352 $   ! GNV based build
353 $   libfile = "[.lib.^.libs]libcurl.a"
354 $   if f$search(libfile) .nes. ""
355 $   then
356 $       olb_file = libfile
357 $   else
358 $       write sys$output -
359   "Can not build shared image, libcurl object library not found!"
360 $       goto all_exit
361 $   endif
362 $ endif
363 $!
364 $gnv_libcurl_share = "''default_dir'gnv$libcurl.exe"
365 $!
366 $ if f$search(gnv_libcurl_share) .eqs. ""
367 $ then
368 $   if arch_name .nes. "VAX"
369 $   then
370 $       define/user gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
371 $       define/user gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
372 $       link/dsf='default_dir'gnv$libcurl.dsf/share='gnv_libcurl_share' -
373             /map='default_dir'gnv$libcurl.map -
374             gnv_packages_vms:gnv_libcurl_symbols.opt/opt,-
375             'olb_file'/lib,-
376             'share_link_opt_file'/opt
377 $   else
378 $!      VAX will not allow the logical name hack for the
379 $!      SSL libcryto library, it is pulling it in twice if I try it.
380 $       link/share='gnv_libcurl_share'/map='default_dir'gnv$libcurl.map -
381             gnv_packages_vms:gnv_libcurl_xfer.opt/opt,-
382             'olb_file'/lib,-
383             'base_link_opt_file'/opt
384 $   endif
385 $ endif
386 $!
387 $!
388 $ if f$search("[.src]curl-tool_main.o") .nes. ""
389 $ then
390 $!  From src/makefile.inc:
391 $!  # libcurl has sources that provide functions named curlx_* that aren't
392 $!  # part of the official API, but we re-use the code here to avoid
393 $!  # duplication.
394 $!
395 $!
396 $   if f$search("[.src]curl.exe") .eqs. ""
397 $   then
398 $       define/user gnv$libcurl 'gnv_libcurl_share'
399 $       link'ldebug'/exe=[.src]curl.exe/dsf=[.src]curl.dsf -
400            [.src]curl-tool_main.o, [.src]curl-tool_binmode.o, -
401            [.src]curl-tool_bname.o, [.src]curl-tool_cb_dbg.o, -
402            [.src]curl-tool_cb_hdr.o, [.src]curl-tool_cb_prg.o, -
403            [.src]curl-tool_cb_rea.o, [.src]curl-tool_cb_see.o, -
404            [.src]curl-tool_cb_wrt.o, [.src]curl-tool_cfgable.o, -
405            [.src]curl-tool_convert.o, [.src]curl-tool_dirhie.o, -
406            [.src]curl-tool_doswin.o, [.src]curl-tool_easysrc.o, -
407            [.src]curl-tool_formparse.o, [.src]curl-tool_getparam.o, -
408            [.src]curl-tool_getpass.o, [.src]curl-tool_help.o, -
409            [.src]curl-tool_helpers.o, [.src]curl-tool_homedir.o, -
410            [.src]curl-tool_hugehelp.o, [.src]curl-tool_libinfo.o, -
411            [.src]curl-tool_metalink.o, [.src]curl-tool_mfiles.o, -
412            [.src]curl-tool_msgs.o, [.src]curl-tool_operate.o, -
413            [.src]curl-tool_operhlp.o, [.src]curl-tool_panykey.o, -
414            [.src]curl-tool_paramhlp.o, [.src]curl-tool_parsecfg.o, -
415            [.src]curl-tool_setopt.o, [.src]curl-tool_sleep.o, -
416            [.src]curl-tool_urlglob.o, [.src]curl-tool_util.o, -
417            [.src]curl-tool_vms.o, [.src]curl-tool_writeenv.o, -
418            [.src]curl-tool_writeout.o, [.src]curl-tool_xattr.o, -
419            [.src]curl-strtoofft.o, [.src]curl-strdup.o, [.src]curl-rawstr.o, -
420            [.src]curl-nonblock.o, gnv_packages_vms:curlmsg.obj,-
421            sys$input:/opt
422 gnv$libcurl/share
423 gnv_packages_vms:curl_crtl_init.obj
424 $   endif
425 $ else
426 $   curl_exe = "[.src]curl.exe"
427 $   curl_dsf = "[.src]curl.dsf"
428 $   curl_main = "[.packages.vms.''arch_name']tool_main.obj"
429 $   curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
430 $   curl_lib = "[.packages.vms.''arch_name']curllib.olb"
431 $   rawstr = "rawstr"
432 $   nonblock = "nonblock"
433 $   warnless = "warnless"
434 $!
435 $!  Extended parse style requires special quoting
436 $!
437 $   if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
438 $   then
439 $       rawstr = """rawstr"""
440 $       nonblock = """nonblock"""
441 $       warnless = """warnless"""
442 $   endif
443 $   if f$search(curl_exe) .eqs. ""
444 $   then
445 $       define/user gnv$libcurl 'gnv_libcurl_share'
446 $       link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
447            'curl_main','curl_src'/lib, -
448            'curl_lib'/library/include=-
449            ('rawstr','nonblock','warnless'),-
450            gnv_packages_vms:curlmsg.obj,-
451            sys$input:/opt
452 gnv$libcurl/share
453 gnv_packages_vms:curl_crtl_init.obj
454 $   endif
455 $ endif
456 $!
457 $!
458 $!
459 $! in6addr_missing so skip building:
460 $! [.server]sws.o
461 $! [.server]sockfilt.o
462 $! [.server]tftpd.o
463 $!
464 $!
465 $ target = "10-at-a-time"
466 $ if f$search("[.docs.examples]''target'.o") .eqs. ""
467 $ then
468 $   write sys$output "examples not built"
469 $   goto all_exit
470 $ endif
471 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
472 $ then
473 $   define/user gnv$libcurl 'gnv_libcurl_share'
474 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
475     /dsf=[.docs.examples]'target'.dsf -
476     [.docs.examples]'target'.o,-
477     gnv$'target'.opt/opt,-
478     sys$input:/opt
479 gnv$libcurl/share
480 $ endif
481 $!
482 $!
483 $ target = "anyauthput"
484 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
485 $ then
486 $   define/user gnv$libcurl 'gnv_libcurl_share'
487 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
488     /dsf=[.docs.examples]'target'.dsf -
489     [.docs.examples]'target'.o,-
490     gnv$'target'.opt/opt,-
491     sys$input:/opt
492 gnv$libcurl/share
493 $ endif
494 $!
495 $!
496 $ target = "certinfo"
497 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
498 $ then
499 $   define/user gnv$libcurl 'gnv_libcurl_share'
500 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
501     /dsf=[.docs.examples]'target'.dsf -
502     [.docs.examples]'target'.o,-
503     gnv$'target'.opt/opt,-
504     sys$input:/opt
505 gnv$libcurl/share
506 $ endif
507 $!
508 $!
509 $ target = "cookie_interface"
510 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
511 $ then
512 $   define/user gnv$libcurl 'gnv_libcurl_share'
513 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
514     /dsf=[.docs.examples]'target'.dsf -
515     [.docs.examples]'target'.o,-
516     gnv$'target'.opt/opt,-
517     sys$input:/opt
518 gnv$libcurl/share
519 $ endif
520 $!
521 $!
522 $ target = "debug"
523 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
524 $ then
525 $   define/user gnv$libcurl 'gnv_libcurl_share'
526 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
527     /dsf=[.docs.examples]'target'.dsf -
528     [.docs.examples]'target'.o,-
529     gnv$'target'.opt/opt,-
530     sys$input:/opt
531 gnv$libcurl/share
532 $ endif
533 $!
534 $!
535 $ target = "fileupload"
536 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
537 $ then
538 $   define/user gnv$libcurl 'gnv_libcurl_share'
539 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
540     /dsf=[.docs.examples]'target'.dsf -
541     [.docs.examples]'target'.o,-
542     gnv$'target'.opt/opt,-
543     sys$input:/opt
544 gnv$libcurl/share
545 $ endif
546 $!
547 $!
548 $ target = "fopen"
549 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
550 $ then
551 $   define/user gnv$libcurl 'gnv_libcurl_share'
552 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
553     /dsf=[.docs.examples]'target'.dsf -
554     [.docs.examples]'target'.o,-
555     gnv$'target'.opt/opt,-
556     sys$input:/opt
557 gnv$libcurl/share
558 $ endif
559 $!
560 $!
561 $target = "ftpget"
562 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
563 $then
564 $   define/user gnv$libcurl 'gnv_libcurl_share'
565 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
566     /dsf=[.docs.examples]'target'.dsf -
567     [.docs.examples]'target'.o,-
568     gnv$'target'.opt/opt,-
569     sys$input:/opt
570 gnv$libcurl/share
571 $endif
572 $!
573 $!
574 $target = "ftpgetresp"
575 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
576 $then
577 $   define/user gnv$libcurl 'gnv_libcurl_share'
578 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
579     /dsf=[.docs.examples]'target'.dsf -
580     [.docs.examples]'target'.o,-
581     gnv$'target'.opt/opt,-
582     sys$input:/opt
583 gnv$libcurl/share
584 $endif
585 $!
586 $!
587 $target = "ftpupload"
588 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
589 $then
590 $   define/user gnv$libcurl 'gnv_libcurl_share'
591 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
592     /dsf=[.docs.examples]'target'.dsf -
593     [.docs.examples]'target'.o,-
594     gnv$'target'.opt/opt,-
595     sys$input:/opt
596 gnv$libcurl/share
597 $endif
598 $!
599 $!
600 $target = "getinfo"
601 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
602 $then
603 $   define/user gnv$libcurl 'gnv_libcurl_share'
604 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
605     /dsf=[.docs.examples]'target'.dsf -
606     [.docs.examples]'target'.o,-
607     gnv$'target'.opt/opt,-
608     sys$input:/opt
609 gnv$libcurl/share
610 $endif
611 $!
612 $!
613 $target = "getinmemory"
614 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
615 $then
616 $   define/user gnv$libcurl 'gnv_libcurl_share'
617 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
618     /dsf=[.docs.examples]'target'.dsf -
619     [.docs.examples]'target'.o,-
620     gnv$'target'.opt/opt,-
621     sys$input:/opt
622 gnv$libcurl/share
623 $endif
624 $!
625 $!
626 $target = "http-post"
627 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
628 $then
629 $   define/user gnv$libcurl 'gnv_libcurl_share'
630 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
631     /dsf=[.docs.examples]'target'.dsf -
632     [.docs.examples]'target'.o,-
633     gnv$'target'.opt/opt,-
634     sys$input:/opt
635 gnv$libcurl/share
636 $endif
637 $!
638 $!
639 $target = "httpcustomheader"
640 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
641 $then
642 $   define/user gnv$libcurl 'gnv_libcurl_share'
643 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
644     /dsf=[.docs.examples]'target'.dsf -
645     [.docs.examples]'target'.o,-
646     gnv$'target'.opt/opt,-
647     sys$input:/opt
648 gnv$libcurl/share
649 $endif
650 $!
651 $!
652 $target = "httpput"
653 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
654 $then
655 $   define/user gnv$libcurl 'gnv_libcurl_share'
656 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
657     /dsf=[.docs.examples]'target'.dsf -
658     [.docs.examples]'target'.o,-
659     gnv$'target'.opt/opt,-
660     sys$input:/opt
661 gnv$libcurl/share
662 $endif
663 $!
664 $!
665 $target = "https"
666 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
667 $then
668 $   define/user gnv$libcurl 'gnv_libcurl_share'
669 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
670     /dsf=[.docs.examples]'target'.dsf -
671     [.docs.examples]'target'.o,-
672     gnv$'target'.opt/opt,-
673     sys$input:/opt
674 gnv$libcurl/share
675 $endif
676 $!
677 $!
678 $target = "multi-app"
679 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
680 $then
681 $   define/user gnv$libcurl 'gnv_libcurl_share'
682 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
683     /dsf=[.docs.examples]'target'.dsf -
684     [.docs.examples]'target'.o,-
685     gnv$'target'.opt/opt,-
686     sys$input:/opt
687 gnv$libcurl/share
688 $endif
689 $!
690 $!
691 $target = "multi-debugcallback"
692 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
693 $then
694 $   define/user gnv$libcurl 'gnv_libcurl_share'
695 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
696     /dsf=[.docs.examples]'target'.dsf -
697     [.docs.examples]'target'.o,-
698     gnv$'target'.opt/opt,-
699     sys$input:/opt
700 gnv$libcurl/share
701 $endif
702 $!
703 $!
704 $target = "multi-double"
705 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
706 $then
707 $   define/user gnv$libcurl 'gnv_libcurl_share'
708 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
709     /dsf=[.docs.examples]'target'.dsf -
710     [.docs.examples]'target'.o,-
711     gnv$'target'.opt/opt,-
712     sys$input:/opt
713 gnv$libcurl/share
714 $endif
715 $!
716 $!
717 $target = "multi-post"
718 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
719 $then
720 $   define/user gnv$libcurl 'gnv_libcurl_share'
721 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
722     /dsf=[.docs.examples]'target'.dsf -
723     [.docs.examples]'target'.o,-
724     gnv$'target'.opt/opt,-
725     sys$input:/opt
726 gnv$libcurl/share
727 $endif
728 $!
729 $!
730 $target = "multi-single"
731 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
732 $then
733 $   define/user gnv$libcurl 'gnv_libcurl_share'
734 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
735     /dsf=[.docs.examples]'target'.dsf -
736     [.docs.examples]'target'.o,-
737     gnv$'target'.opt/opt,-
738     sys$input:/opt
739 gnv$libcurl/share
740 $endif
741 $!
742 $!
743 $target = "persistant"
744 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
745 $then
746 $   define/user gnv$libcurl 'gnv_libcurl_share'
747 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
748     /dsf=[.docs.examples]'target'.dsf -
749     [.docs.examples]'target'.o,-
750     gnv$'target'.opt/opt,-
751     sys$input:/opt
752 gnv$libcurl/share
753 $endif
754 $!
755 $!
756 $target = "post-callback"
757 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
758 $then
759 $   define/user gnv$libcurl 'gnv_libcurl_share'
760 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
761     /dsf=[.docs.examples]'target'.dsf -
762     [.docs.examples]'target'.o,-
763     gnv$'target'.opt/opt,-
764     sys$input:/opt
765 gnv$libcurl/share
766 $endif
767 $!
768 $!
769 $target = "postit2"
770 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
771 $then
772 $   define/user gnv$libcurl 'gnv_libcurl_share'
773 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
774     /dsf=[.docs.examples]'target'.dsf -
775     [.docs.examples]'target'.o,-
776     gnv$'target'.opt/opt,-
777     sys$input:/opt
778 gnv$libcurl/share
779 $endif
780 $!
781 $!
782 $target = "sendrecv"
783 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
784 $then
785 $   define/user gnv$libcurl 'gnv_libcurl_share'
786 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
787     /dsf=[.docs.examples]'target'.dsf -
788     [.docs.examples]'target'.o,-
789     gnv$'target'.opt/opt,-
790     sys$input:/opt
791 gnv$libcurl/share
792 $endif
793 $!
794 $!
795 $target = "sepheaders"
796 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
797 $then
798 $   define/user gnv$libcurl 'gnv_libcurl_share'
799 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
800     /dsf=[.docs.examples]'target'.dsf -
801     [.docs.examples]'target'.o,-
802     gnv$'target'.opt/opt,-
803     sys$input:/opt
804 gnv$libcurl/share
805 $endif
806 $!
807 $!
808 $target = "simple"
809 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
810 $then
811 $   define/user gnv$libcurl 'gnv_libcurl_share'
812 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
813     /dsf=[.docs.examples]'target'.dsf -
814     [.docs.examples]'target'.o,-
815     gnv$'target'.opt/opt,-
816     sys$input:/opt
817 gnv$libcurl/share
818 $endif
819 $!
820 $!
821 $target = "simplepost"
822 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
823 $then
824 $   define/user gnv$libcurl 'gnv_libcurl_share'
825 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
826     /dsf=[.docs.examples]'target'.dsf -
827     [.docs.examples]'target'.o,-
828     gnv$'target'.opt/opt,-
829     sys$input:/opt
830 gnv$libcurl/share
831 $endif
832 $!
833 $!
834 $target = "simplessl"
835 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
836 $then
837 $   define/user gnv$libcurl 'gnv_libcurl_share'
838 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
839     /dsf=[.docs.examples]'target'.dsf -
840     [.docs.examples]'target'.o,-
841     gnv$'target'.opt/opt,-
842     sys$input:/opt
843 gnv$libcurl/share
844 $endif
845 $!
846 $! =============== End of docs/examples =========================
847 $!
848 $!
849 $all_exit:
850 $set def 'default_dir'
851 $exit '$status'
852 $!