Imported Upstream version 7.40.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_len = f$length(ver_patch)
177 $       ver_patchnum = f$extract(0, ver_patch_len - 1, ver_patch)
178 $       ver_patchltr = f$extract(ver_patch_len - 1, 1, ver_patch)
179 $       if 'ver_maj' .ge. 0
180 $       then
181 $           if 'ver_min' .ge. 9
182 $           then
183 $               if 'ver_patchnum' .ge. 8
184 $               then
185 $                   if ver_patchltr .ges. "w" then use_hp_ssl = 1
186 $               endif
187 $           endif
188 $       endif
189 $       if use_hp_ssl .eq. 0
190 $       then
191 $           write sys$output -
192    " HP OpenSSL version of ""''hp_ssl_version'"" is too old for shared libcurl!"
193 $       endif
194 $   else
195 $       write sys$output "Unable to get version of HP OpenSSL"
196 $   endif
197 $!
198 $   gnv_ssl_libcrypto32 = "gnv$gnu:[lib]ssl$libcrypto_shr32.exe"
199 $   gnv_ssl_libssl32 = "gnv$gnu:[lib]ssl$libssl_shr32.exe"
200 $   if f$search(gnv_ssl_libcrypto32) .nes. ""
201 $   then
202 $       report_openssl_version 'gnv_ssl_libcrypto32' gnv_ssl_version
203 $   endif
204 $!
205 $   use_gnv_ssl = 0
206 $   if f$type(gnv_ssl_version) .eqs. "STRING"
207 $   then
208 $       gnv_full_version = f$element(1, " ", gnv_ssl_version)
209 $       gnv_ver_maj = f$element(0, ".", gnv_full_version)
210 $       gnv_ver_min = f$element(1, ".", gnv_full_version)
211 $       gnv_ver_patch = f$element(2, ".", gnv_full_version)
212 $       gnv_ver_patch_len = f$length(gnv_ver_patch)
213 $       gnv_ver_patchnum = f$extract(0, gnv_ver_patch_len - 1, gnv_ver_patch)
214 $       gnv_ver_patchltr = f$extract(gnv_ver_patch_len - 1, 1, gnv_ver_patch)
215 $       if 'gnv_ver_maj' .ge. 0
216 $       then
217 $           if 'gnv_ver_min' .ge. 9
218 $           then
219 $               if 'gnv_ver_patchnum' .ge. 8
220 $               then
221 $                   if gnv_ver_patchltr .ges. "w" then use_gnv_ssl = 1
222 $               endif
223 $           endif
224 $       endif
225 $       if use_gnv_ssl .eq. 0
226 $       then
227 $           write sys$output -
228    "GNV OpenSSL version of ""''gnv_ssl_version'" is too old for shared libcurl!"
229 $       endif
230 $!
231 $!      Prefer to break the tie with the lowest supported version
232 $!      For simplicity, if the GNV image is present, it will be used.
233 $!      Version tuple is not a simple compare.
234 $!
235 $       if use_gnv_ssl .eq. 1 then
236 $           curl_ssl_libcrypto32 = gnv_ssl_libcrypto32
237 $           curl_ssl_libssl32 = gnv_ssl_libssl32
238 $           curl_ssl_version = gnv_ssl_version
239 $           use_hp_ssl = 0
240 $       endif
241 !$!
242 $   else
243 $       write sys$output "Unable to get version of GNV OpenSSL"
244 $   endif
245 $!
246 $!  Need to write a release note section about HP OpenSSL
247 $!
248 $create 'default_dir'hp_ssl_release_info.txt
249 $deck
250 This package is built on with the OpenSSL version listed below and requires
251 the shared images from the HP OpenSSL product that is kitted with that
252 version or a compatible later version.
253
254 For Alpha and IA64 platforms, see the url below to register to get the
255 download URL.  The kit will be HP 1.4-467 or later.
256   http://h71000.www7.hp.com/openvms/products/ssl/ssl.html
257
258 For VAX, use the same registration, but remove the kit name from any of the
259 download URLs provided and put in CPQ-VAXVMS-SSL-V0101-B-1.PCSI-DCX_VAXEXE
260
261 If your system can not be upgraded to a compatible version of OpenSSL, then
262 you can extract the two shared images from the kit and place them in the
263 [vms$common.gnv.lib]directory of the volume that you are installing GNV and
264 or GNV compatible components like Curl.
265
266 If GNV is installed, you must run the GNV startup procedure before these steps
267 and before installing Curl.
268
269
270   1.  make sure that [vms$common.gnv.lib] exists by using the following
271       commands.  We want the directory to be in lowercase except on VAX.
272
273     $SET PROCESS/PARSE=extend !If not VAX.
274     $CREATE/DIR device:[vms$common.gnv.lib]/prot=w:re
275
276   2. Extract the ssl$crypto_shr32.exe and ssl$libssl_shr32.exe images.
277
278     $PRODUCT EXTRACT FILE -
279       /select=(ssl$libcrypto_shr32.exe,ssl$libssl_shr32.exe)-
280       /source=device:[dir] -
281       /options=noconfirm -
282       /destination=device:[vms$common.gnv.lib] SSL
283
284 The [vms$common.sys$startup}curl_startup.com procedure will then configure
285 libcurl to use these shared images instead of the system ones.
286
287 When you upgrade SSL on VMS to the newer version of HP SSL, then these copies
288 should be deleted.
289
290 $eod
291 $!
292 $ open/append sslr 'default_dir'hp_ssl_release_info.txt
293 $ write sslr "OpenSSL version used for building this kit: ",curl_ssl_version
294 $ write sslr ""
295 $ close sslr
296 $!
297 $!
298 $! LIBZ
299 $ libzshr_line = ""
300 $ try_shr = "gnv$libzshr32"
301 $ if f$search(try_shr) .nes. ""
302 $ then
303 $   libzshr_line = "''try_shr'/share"
304 $ else
305 $   write sys$output "''try_shr' image not found!"
306 $   goto all_exit
307 $ endif
308 $!
309 $!
310 $ gssrtlshr_line = ""
311 $ if arch_name .nes. "VAX"
312 $ then
313 $   try_shr = "sys$share:gss$rtl"
314 $   if f$search("''try_shr'.exe") .nes. ""
315 $   then
316 $       gssrtlshr_line = "''try_shr'/share"
317 $   else
318 $       write sys$output "''try_shr' image not found!"
319 $       goto all_exit
320 $   endif
321 $ endif
322 $!
323 $!
324 $!
325 $ if f$search(share_link_opt_file) .eqs. ""
326 $ then
327 $   create 'share_link_opt_file'
328 $   open/append slopt 'share_link_opt_file'
329 $   if libzshr_line .nes. "" then write slopt libzshr_line
330 $   if gssrtlshr_line .nes. "" then write slopt gssrtlshr_line
331 $   write slopt "gnv$curl_ssl_libcryptoshr32/share"
332 $   write slopt "gnv$curl_ssl_libsslshr32/share"
333 $   close slopt
334 $ endif
335 $!
336 $! DCL build puts curllib in architecture directory
337 $! GNV build uses the makefile.
338 $ libfile = "[.packages.vms.''arch_name']curllib.olb"
339 $ if f$search(libfile) .nes. ""
340 $ then
341 $   olb_file = libfile
342 $ else
343 $   ! GNV based build
344 $   libfile = "[.lib.^.libs]libcurl.a"
345 $   if f$search(libfile) .nes. ""
346 $   then
347 $       olb_file = libfile
348 $   else
349 $       write sys$output -
350   "Can not build shared image, libcurl object library not found!"
351 $       goto all_exit
352 $   endif
353 $ endif
354 $!
355 $gnv_libcurl_share = "''default_dir'gnv$libcurl.exe"
356 $!
357 $ if f$search(gnv_libcurl_share) .eqs. ""
358 $ then
359 $   if arch_name .nes. "VAX"
360 $   then
361 $       define/user gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
362 $       define/user gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
363 $       link/dsf='default_dir'gnv$libcurl.dsf/share='gnv_libcurl_share' -
364             /map='default_dir'gnv$libcurl.map -
365             gnv_packages_vms:gnv_libcurl_symbols.opt/opt,-
366             'olb_file'/lib,-
367             'share_link_opt_file'/opt
368 $   else
369 $!      VAX will not allow the logical name hack for the
370 $!      SSL libcryto library, it is pulling it in twice if I try it.
371 $       link/share='gnv_libcurl_share'/map='default_dir'gnv$libcurl.map -
372             gnv_packages_vms:gnv_libcurl_xfer.opt/opt,-
373             'olb_file'/lib,-
374             'base_link_opt_file'/opt
375 $   endif
376 $ endif
377 $!
378 $!
379 $ if f$search("[.src]curl-tool_main.o") .nes. ""
380 $ then
381 $!  From src/makefile.inc:
382 $!  # libcurl has sources that provide functions named curlx_* that aren't
383 $!  # part of the official API, but we re-use the code here to avoid
384 $!  # duplication.
385 $!
386 $!
387 $   if f$search("[.src]curl.exe") .eqs. ""
388 $   then
389 $       define/user gnv$libcurl 'gnv_libcurl_share'
390 $       link'ldebug'/exe=[.src]curl.exe/dsf=[.src]curl.dsf -
391            [.src]curl-tool_main.o, [.src]curl-tool_binmode.o, -
392            [.src]curl-tool_bname.o, [.src]curl-tool_cb_dbg.o, -
393            [.src]curl-tool_cb_hdr.o, [.src]curl-tool_cb_prg.o, -
394            [.src]curl-tool_cb_rea.o, [.src]curl-tool_cb_see.o, -
395            [.src]curl-tool_cb_wrt.o, [.src]curl-tool_cfgable.o, -
396            [.src]curl-tool_convert.o, [.src]curl-tool_dirhie.o, -
397            [.src]curl-tool_doswin.o, [.src]curl-tool_easysrc.o, -
398            [.src]curl-tool_formparse.o, [.src]curl-tool_getparam.o, -
399            [.src]curl-tool_getpass.o, [.src]curl-tool_help.o, -
400            [.src]curl-tool_helpers.o, [.src]curl-tool_homedir.o, -
401            [.src]curl-tool_hugehelp.o, [.src]curl-tool_libinfo.o, -
402            [.src]curl-tool_metalink.o, [.src]curl-tool_mfiles.o, -
403            [.src]curl-tool_msgs.o, [.src]curl-tool_operate.o, -
404            [.src]curl-tool_operhlp.o, [.src]curl-tool_panykey.o, -
405            [.src]curl-tool_paramhlp.o, [.src]curl-tool_parsecfg.o, -
406            [.src]curl-tool_setopt.o, [.src]curl-tool_sleep.o, -
407            [.src]curl-tool_urlglob.o, [.src]curl-tool_util.o, -
408            [.src]curl-tool_vms.o, [.src]curl-tool_writeenv.o, -
409            [.src]curl-tool_writeout.o, [.src]curl-tool_xattr.o, -
410            [.src]curl-strtoofft.o, [.src]curl-strdup.o, [.src]curl-rawstr.o, -
411            [.src]curl-nonblock.o, gnv_packages_vms:curlmsg.obj,-
412            sys$input:/opt
413 gnv$libcurl/share
414 gnv_packages_vms:curl_crtl_init.obj
415 $   endif
416 $ else
417 $   curl_exe = "[.src]curl.exe"
418 $   curl_dsf = "[.src]curl.dsf"
419 $   curl_main = "[.packages.vms.''arch_name']tool_main.obj"
420 $   curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
421 $   curl_lib = "[.packages.vms.''arch_name']curllib.olb"
422 $   rawstr = "rawstr"
423 $   nonblock = "nonblock"
424 $   warnless = "warnless"
425 $!
426 $!  Extended parse style requires special quoting
427 $!
428 $   if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
429 $   then
430 $       rawstr = """rawstr"""
431 $       nonblock = """nonblock"""
432 $       warnless = """warnless"""
433 $   endif
434 $   if f$search(curl_exe) .eqs. ""
435 $   then
436 $       define/user gnv$libcurl 'gnv_libcurl_share'
437 $       link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
438            'curl_main','curl_src'/lib, -
439            'curl_lib'/library/include=-
440            ('rawstr','nonblock','warnless'),-
441            gnv_packages_vms:curlmsg.obj,-
442            sys$input:/opt
443 gnv$libcurl/share
444 gnv_packages_vms:curl_crtl_init.obj
445 $   endif
446 $ endif
447 $!
448 $!
449 $!
450 $! in6addr_missing so skip building:
451 $! [.server]sws.o
452 $! [.server]sockfilt.o
453 $! [.server]tftpd.o
454 $!
455 $!
456 $ target = "10-at-a-time"
457 $ if f$search("[.docs.examples]''target'.o") .eqs. ""
458 $ then
459 $   write sys$output "examples not built"
460 $   goto all_exit
461 $ endif
462 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
463 $ then
464 $   define/user gnv$libcurl 'gnv_libcurl_share'
465 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
466     /dsf=[.docs.examples]'target'.dsf -
467     [.docs.examples]'target'.o,-
468     gnv$'target'.opt/opt,-
469     sys$input:/opt
470 gnv$libcurl/share
471 $ endif
472 $!
473 $!
474 $ target = "anyauthput"
475 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
476 $ then
477 $   define/user gnv$libcurl 'gnv_libcurl_share'
478 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
479     /dsf=[.docs.examples]'target'.dsf -
480     [.docs.examples]'target'.o,-
481     gnv$'target'.opt/opt,-
482     sys$input:/opt
483 gnv$libcurl/share
484 $ endif
485 $!
486 $!
487 $ target = "certinfo"
488 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
489 $ then
490 $   define/user gnv$libcurl 'gnv_libcurl_share'
491 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
492     /dsf=[.docs.examples]'target'.dsf -
493     [.docs.examples]'target'.o,-
494     gnv$'target'.opt/opt,-
495     sys$input:/opt
496 gnv$libcurl/share
497 $ endif
498 $!
499 $!
500 $ target = "cookie_interface"
501 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
502 $ then
503 $   define/user gnv$libcurl 'gnv_libcurl_share'
504 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
505     /dsf=[.docs.examples]'target'.dsf -
506     [.docs.examples]'target'.o,-
507     gnv$'target'.opt/opt,-
508     sys$input:/opt
509 gnv$libcurl/share
510 $ endif
511 $!
512 $!
513 $ target = "debug"
514 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
515 $ then
516 $   define/user gnv$libcurl 'gnv_libcurl_share'
517 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
518     /dsf=[.docs.examples]'target'.dsf -
519     [.docs.examples]'target'.o,-
520     gnv$'target'.opt/opt,-
521     sys$input:/opt
522 gnv$libcurl/share
523 $ endif
524 $!
525 $!
526 $ target = "fileupload"
527 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
528 $ then
529 $   define/user gnv$libcurl 'gnv_libcurl_share'
530 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
531     /dsf=[.docs.examples]'target'.dsf -
532     [.docs.examples]'target'.o,-
533     gnv$'target'.opt/opt,-
534     sys$input:/opt
535 gnv$libcurl/share
536 $ endif
537 $!
538 $!
539 $ target = "fopen"
540 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
541 $ then
542 $   define/user gnv$libcurl 'gnv_libcurl_share'
543 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
544     /dsf=[.docs.examples]'target'.dsf -
545     [.docs.examples]'target'.o,-
546     gnv$'target'.opt/opt,-
547     sys$input:/opt
548 gnv$libcurl/share
549 $ endif
550 $!
551 $!
552 $target = "ftpget"
553 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
554 $then
555 $   define/user gnv$libcurl 'gnv_libcurl_share'
556 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
557     /dsf=[.docs.examples]'target'.dsf -
558     [.docs.examples]'target'.o,-
559     gnv$'target'.opt/opt,-
560     sys$input:/opt
561 gnv$libcurl/share
562 $endif
563 $!
564 $!
565 $target = "ftpgetresp"
566 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
567 $then
568 $   define/user gnv$libcurl 'gnv_libcurl_share'
569 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
570     /dsf=[.docs.examples]'target'.dsf -
571     [.docs.examples]'target'.o,-
572     gnv$'target'.opt/opt,-
573     sys$input:/opt
574 gnv$libcurl/share
575 $endif
576 $!
577 $!
578 $target = "ftpupload"
579 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
580 $then
581 $   define/user gnv$libcurl 'gnv_libcurl_share'
582 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
583     /dsf=[.docs.examples]'target'.dsf -
584     [.docs.examples]'target'.o,-
585     gnv$'target'.opt/opt,-
586     sys$input:/opt
587 gnv$libcurl/share
588 $endif
589 $!
590 $!
591 $target = "getinfo"
592 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
593 $then
594 $   define/user gnv$libcurl 'gnv_libcurl_share'
595 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
596     /dsf=[.docs.examples]'target'.dsf -
597     [.docs.examples]'target'.o,-
598     gnv$'target'.opt/opt,-
599     sys$input:/opt
600 gnv$libcurl/share
601 $endif
602 $!
603 $!
604 $target = "getinmemory"
605 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
606 $then
607 $   define/user gnv$libcurl 'gnv_libcurl_share'
608 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
609     /dsf=[.docs.examples]'target'.dsf -
610     [.docs.examples]'target'.o,-
611     gnv$'target'.opt/opt,-
612     sys$input:/opt
613 gnv$libcurl/share
614 $endif
615 $!
616 $!
617 $target = "http-post"
618 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
619 $then
620 $   define/user gnv$libcurl 'gnv_libcurl_share'
621 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
622     /dsf=[.docs.examples]'target'.dsf -
623     [.docs.examples]'target'.o,-
624     gnv$'target'.opt/opt,-
625     sys$input:/opt
626 gnv$libcurl/share
627 $endif
628 $!
629 $!
630 $target = "httpcustomheader"
631 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
632 $then
633 $   define/user gnv$libcurl 'gnv_libcurl_share'
634 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
635     /dsf=[.docs.examples]'target'.dsf -
636     [.docs.examples]'target'.o,-
637     gnv$'target'.opt/opt,-
638     sys$input:/opt
639 gnv$libcurl/share
640 $endif
641 $!
642 $!
643 $target = "httpput"
644 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
645 $then
646 $   define/user gnv$libcurl 'gnv_libcurl_share'
647 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
648     /dsf=[.docs.examples]'target'.dsf -
649     [.docs.examples]'target'.o,-
650     gnv$'target'.opt/opt,-
651     sys$input:/opt
652 gnv$libcurl/share
653 $endif
654 $!
655 $!
656 $target = "https"
657 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
658 $then
659 $   define/user gnv$libcurl 'gnv_libcurl_share'
660 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
661     /dsf=[.docs.examples]'target'.dsf -
662     [.docs.examples]'target'.o,-
663     gnv$'target'.opt/opt,-
664     sys$input:/opt
665 gnv$libcurl/share
666 $endif
667 $!
668 $!
669 $target = "multi-app"
670 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
671 $then
672 $   define/user gnv$libcurl 'gnv_libcurl_share'
673 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
674     /dsf=[.docs.examples]'target'.dsf -
675     [.docs.examples]'target'.o,-
676     gnv$'target'.opt/opt,-
677     sys$input:/opt
678 gnv$libcurl/share
679 $endif
680 $!
681 $!
682 $target = "multi-debugcallback"
683 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
684 $then
685 $   define/user gnv$libcurl 'gnv_libcurl_share'
686 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
687     /dsf=[.docs.examples]'target'.dsf -
688     [.docs.examples]'target'.o,-
689     gnv$'target'.opt/opt,-
690     sys$input:/opt
691 gnv$libcurl/share
692 $endif
693 $!
694 $!
695 $target = "multi-double"
696 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
697 $then
698 $   define/user gnv$libcurl 'gnv_libcurl_share'
699 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
700     /dsf=[.docs.examples]'target'.dsf -
701     [.docs.examples]'target'.o,-
702     gnv$'target'.opt/opt,-
703     sys$input:/opt
704 gnv$libcurl/share
705 $endif
706 $!
707 $!
708 $target = "multi-post"
709 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
710 $then
711 $   define/user gnv$libcurl 'gnv_libcurl_share'
712 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
713     /dsf=[.docs.examples]'target'.dsf -
714     [.docs.examples]'target'.o,-
715     gnv$'target'.opt/opt,-
716     sys$input:/opt
717 gnv$libcurl/share
718 $endif
719 $!
720 $!
721 $target = "multi-single"
722 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
723 $then
724 $   define/user gnv$libcurl 'gnv_libcurl_share'
725 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
726     /dsf=[.docs.examples]'target'.dsf -
727     [.docs.examples]'target'.o,-
728     gnv$'target'.opt/opt,-
729     sys$input:/opt
730 gnv$libcurl/share
731 $endif
732 $!
733 $!
734 $target = "persistant"
735 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
736 $then
737 $   define/user gnv$libcurl 'gnv_libcurl_share'
738 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
739     /dsf=[.docs.examples]'target'.dsf -
740     [.docs.examples]'target'.o,-
741     gnv$'target'.opt/opt,-
742     sys$input:/opt
743 gnv$libcurl/share
744 $endif
745 $!
746 $!
747 $target = "post-callback"
748 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
749 $then
750 $   define/user gnv$libcurl 'gnv_libcurl_share'
751 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
752     /dsf=[.docs.examples]'target'.dsf -
753     [.docs.examples]'target'.o,-
754     gnv$'target'.opt/opt,-
755     sys$input:/opt
756 gnv$libcurl/share
757 $endif
758 $!
759 $!
760 $target = "postit2"
761 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
762 $then
763 $   define/user gnv$libcurl 'gnv_libcurl_share'
764 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
765     /dsf=[.docs.examples]'target'.dsf -
766     [.docs.examples]'target'.o,-
767     gnv$'target'.opt/opt,-
768     sys$input:/opt
769 gnv$libcurl/share
770 $endif
771 $!
772 $!
773 $target = "sendrecv"
774 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
775 $then
776 $   define/user gnv$libcurl 'gnv_libcurl_share'
777 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
778     /dsf=[.docs.examples]'target'.dsf -
779     [.docs.examples]'target'.o,-
780     gnv$'target'.opt/opt,-
781     sys$input:/opt
782 gnv$libcurl/share
783 $endif
784 $!
785 $!
786 $target = "sepheaders"
787 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
788 $then
789 $   define/user gnv$libcurl 'gnv_libcurl_share'
790 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
791     /dsf=[.docs.examples]'target'.dsf -
792     [.docs.examples]'target'.o,-
793     gnv$'target'.opt/opt,-
794     sys$input:/opt
795 gnv$libcurl/share
796 $endif
797 $!
798 $!
799 $target = "simple"
800 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
801 $then
802 $   define/user gnv$libcurl 'gnv_libcurl_share'
803 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
804     /dsf=[.docs.examples]'target'.dsf -
805     [.docs.examples]'target'.o,-
806     gnv$'target'.opt/opt,-
807     sys$input:/opt
808 gnv$libcurl/share
809 $endif
810 $!
811 $!
812 $target = "simplepost"
813 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
814 $then
815 $   define/user gnv$libcurl 'gnv_libcurl_share'
816 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
817     /dsf=[.docs.examples]'target'.dsf -
818     [.docs.examples]'target'.o,-
819     gnv$'target'.opt/opt,-
820     sys$input:/opt
821 gnv$libcurl/share
822 $endif
823 $!
824 $!
825 $target = "simplessl"
826 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
827 $then
828 $   define/user gnv$libcurl 'gnv_libcurl_share'
829 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
830     /dsf=[.docs.examples]'target'.dsf -
831     [.docs.examples]'target'.o,-
832     gnv$'target'.opt/opt,-
833     sys$input:/opt
834 gnv$libcurl/share
835 $endif
836 $!
837 $! =============== End of docs/examples =========================
838 $!
839 $!
840 $all_exit:
841 $set def 'default_dir'
842 $exit '$status'
843 $!