fadbbcceb76022eb2bd3d0818ed0d64db4dfd6a0
[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 $set ver
358 $ if f$search(gnv_libcurl_share) .eqs. ""
359 $ then
360 $   if arch_name .nes. "VAX"
361 $   then
362 $       define/user gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
363 $       define/user gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
364 $       link/dsf='default_dir'gnv$libcurl.dsf/share='gnv_libcurl_share' -
365             /map='default_dir'gnv$libcurl.map -
366             gnv_packages_vms:gnv_libcurl_symbols.opt/opt,-
367             'olb_file'/lib,-
368             'share_link_opt_file'/opt
369 $   else
370 $!      VAX will not allow the logical name hack for the
371 $!      SSL libcryto library, it is pulling it in twice if I try it.
372 $       link/share='gnv_libcurl_share'/map='default_dir'gnv$libcurl.map -
373             gnv_packages_vms:gnv_libcurl_xfer.opt/opt,-
374             'olb_file'/lib,-
375             'base_link_opt_file'/opt
376 $   endif
377 $ endif
378 $!
379 $!
380 $ if f$search("[.src]curl-tool_main.o") .nes. ""
381 $ then
382 $!  From src/makefile.inc:
383 $!  # libcurl has sources that provide functions named curlx_* that aren't
384 $!  # part of the official API, but we re-use the code here to avoid
385 $!  # duplication.
386 $!
387 $!
388 $   if f$search("[.src]curl.exe") .eqs. ""
389 $   then
390 $       define/user gnv$libcurl 'gnv_libcurl_share'
391 $       link'ldebug'/exe=[.src]curl.exe/dsf=[.src]curl.dsf -
392            [.src]curl-tool_main.o, [.src]curl-tool_binmode.o, -
393            [.src]curl-tool_bname.o, [.src]curl-tool_cb_dbg.o, -
394            [.src]curl-tool_cb_hdr.o, [.src]curl-tool_cb_prg.o, -
395            [.src]curl-tool_cb_rea.o, [.src]curl-tool_cb_see.o, -
396            [.src]curl-tool_cb_wrt.o, [.src]curl-tool_cfgable.o, -
397            [.src]curl-tool_convert.o, [.src]curl-tool_dirhie.o, -
398            [.src]curl-tool_doswin.o, [.src]curl-tool_easysrc.o, -
399            [.src]curl-tool_formparse.o, [.src]curl-tool_getparam.o, -
400            [.src]curl-tool_getpass.o, [.src]curl-tool_help.o, -
401            [.src]curl-tool_helpers.o, [.src]curl-tool_homedir.o, -
402            [.src]curl-tool_hugehelp.o, [.src]curl-tool_libinfo.o, -
403            [.src]curl-tool_metalink.o, [.src]curl-tool_mfiles.o, -
404            [.src]curl-tool_msgs.o, [.src]curl-tool_operate.o, -
405            [.src]curl-tool_operhlp.o, [.src]curl-tool_panykey.o, -
406            [.src]curl-tool_paramhlp.o, [.src]curl-tool_parsecfg.o, -
407            [.src]curl-tool_setopt.o, [.src]curl-tool_sleep.o, -
408            [.src]curl-tool_urlglob.o, [.src]curl-tool_util.o, -
409            [.src]curl-tool_vms.o, [.src]curl-tool_writeenv.o, -
410            [.src]curl-tool_writeout.o, [.src]curl-tool_xattr.o, -
411            [.src]curl-strtoofft.o, [.src]curl-strdup.o, [.src]curl-rawstr.o, -
412            [.src]curl-nonblock.o, gnv_packages_vms:curlmsg.obj,-
413            sys$input:/opt
414 gnv$libcurl/share
415 gnv_packages_vms:curl_crtl_init.obj
416 $   endif
417 $ else
418 $   curl_exe = "[.src]curl.exe"
419 $   curl_dsf = "[.src]curl.dsf"
420 $   curl_main = "[.packages.vms.''arch_name']tool_main.obj"
421 $   curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
422 $   curl_lib = "[.packages.vms.''arch_name']curllib.olb"
423 $   strtoofft = "strtoofft"
424 $   strdup = "strdup"
425 $   rawstr = "rawstr"
426 $   nonblock = "nonblock"
427 $!
428 $!  Extended parse style requires special quoting
429 $!
430 $   if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
431 $   then
432 $       strtoofft = """strtoofft"""
433 $       strdup = """strdup"""
434 $       rawstr = """rawstr"""
435 $       nonblock = """nonblock"""
436 $   endif
437 $   if f$search(curl_exe) .eqs. ""
438 $   then
439 $       define/user gnv$libcurl 'gnv_libcurl_share'
440 $       link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
441            'curl_main','curl_src'/lib, -
442            'curl_lib'/library/include=-
443            ('strtoofft', 'strdup', 'rawstr', 'nonblock'),-
444            gnv_packages_vms:curlmsg.obj,-
445            sys$input:/opt
446 gnv$libcurl/share
447 gnv_packages_vms:curl_crtl_init.obj
448 $   endif
449 $ endif
450 $!
451 $set nover
452 $!
453 $! in6addr_missing so skip building:
454 $! [.server]sws.o
455 $! [.server]sockfilt.o
456 $! [.server]tftpd.o
457 $!
458 $!
459 $ target = "10-at-a-time"
460 $ if f$search("[.docs.examples]''target'.o") .eqs. ""
461 $ then
462 $   write sys$output "examples not built"
463 $   goto all_exit
464 $ endif
465 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
466 $ then
467 $   define/user gnv$libcurl 'gnv_libcurl_share'
468 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
469     /dsf=[.docs.examples]'target'.dsf -
470     [.docs.examples]'target'.o,-
471     gnv$'target'.opt/opt,-
472     sys$input:/opt
473 gnv$libcurl/share
474 $ endif
475 $!
476 $!
477 $ target = "anyauthput"
478 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
479 $ then
480 $   define/user gnv$libcurl 'gnv_libcurl_share'
481 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
482     /dsf=[.docs.examples]'target'.dsf -
483     [.docs.examples]'target'.o,-
484     gnv$'target'.opt/opt,-
485     sys$input:/opt
486 gnv$libcurl/share
487 $ endif
488 $!
489 $!
490 $ target = "certinfo"
491 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
492 $ then
493 $   define/user gnv$libcurl 'gnv_libcurl_share'
494 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
495     /dsf=[.docs.examples]'target'.dsf -
496     [.docs.examples]'target'.o,-
497     gnv$'target'.opt/opt,-
498     sys$input:/opt
499 gnv$libcurl/share
500 $ endif
501 $!
502 $!
503 $ target = "cookie_interface"
504 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
505 $ then
506 $   define/user gnv$libcurl 'gnv_libcurl_share'
507 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
508     /dsf=[.docs.examples]'target'.dsf -
509     [.docs.examples]'target'.o,-
510     gnv$'target'.opt/opt,-
511     sys$input:/opt
512 gnv$libcurl/share
513 $ endif
514 $!
515 $!
516 $ target = "debug"
517 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
518 $ then
519 $   define/user gnv$libcurl 'gnv_libcurl_share'
520 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
521     /dsf=[.docs.examples]'target'.dsf -
522     [.docs.examples]'target'.o,-
523     gnv$'target'.opt/opt,-
524     sys$input:/opt
525 gnv$libcurl/share
526 $ endif
527 $!
528 $!
529 $ target = "fileupload"
530 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
531 $ then
532 $   define/user gnv$libcurl 'gnv_libcurl_share'
533 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
534     /dsf=[.docs.examples]'target'.dsf -
535     [.docs.examples]'target'.o,-
536     gnv$'target'.opt/opt,-
537     sys$input:/opt
538 gnv$libcurl/share
539 $ endif
540 $!
541 $!
542 $ target = "fopen"
543 $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
544 $ then
545 $   define/user gnv$libcurl 'gnv_libcurl_share'
546 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
547     /dsf=[.docs.examples]'target'.dsf -
548     [.docs.examples]'target'.o,-
549     gnv$'target'.opt/opt,-
550     sys$input:/opt
551 gnv$libcurl/share
552 $ endif
553 $!
554 $!
555 $target = "ftpget"
556 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
557 $then
558 $   define/user gnv$libcurl 'gnv_libcurl_share'
559 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
560     /dsf=[.docs.examples]'target'.dsf -
561     [.docs.examples]'target'.o,-
562     gnv$'target'.opt/opt,-
563     sys$input:/opt
564 gnv$libcurl/share
565 $endif
566 $!
567 $!
568 $target = "ftpgetresp"
569 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
570 $then
571 $   define/user gnv$libcurl 'gnv_libcurl_share'
572 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
573     /dsf=[.docs.examples]'target'.dsf -
574     [.docs.examples]'target'.o,-
575     gnv$'target'.opt/opt,-
576     sys$input:/opt
577 gnv$libcurl/share
578 $endif
579 $!
580 $!
581 $target = "ftpupload"
582 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
583 $then
584 $   define/user gnv$libcurl 'gnv_libcurl_share'
585 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
586     /dsf=[.docs.examples]'target'.dsf -
587     [.docs.examples]'target'.o,-
588     gnv$'target'.opt/opt,-
589     sys$input:/opt
590 gnv$libcurl/share
591 $endif
592 $!
593 $!
594 $target = "getinfo"
595 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
596 $then
597 $   define/user gnv$libcurl 'gnv_libcurl_share'
598 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
599     /dsf=[.docs.examples]'target'.dsf -
600     [.docs.examples]'target'.o,-
601     gnv$'target'.opt/opt,-
602     sys$input:/opt
603 gnv$libcurl/share
604 $endif
605 $!
606 $!
607 $target = "getinmemory"
608 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
609 $then
610 $   define/user gnv$libcurl 'gnv_libcurl_share'
611 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
612     /dsf=[.docs.examples]'target'.dsf -
613     [.docs.examples]'target'.o,-
614     gnv$'target'.opt/opt,-
615     sys$input:/opt
616 gnv$libcurl/share
617 $endif
618 $!
619 $!
620 $target = "http-post"
621 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
622 $then
623 $   define/user gnv$libcurl 'gnv_libcurl_share'
624 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
625     /dsf=[.docs.examples]'target'.dsf -
626     [.docs.examples]'target'.o,-
627     gnv$'target'.opt/opt,-
628     sys$input:/opt
629 gnv$libcurl/share
630 $endif
631 $!
632 $!
633 $target = "httpcustomheader"
634 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
635 $then
636 $   define/user gnv$libcurl 'gnv_libcurl_share'
637 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
638     /dsf=[.docs.examples]'target'.dsf -
639     [.docs.examples]'target'.o,-
640     gnv$'target'.opt/opt,-
641     sys$input:/opt
642 gnv$libcurl/share
643 $endif
644 $!
645 $!
646 $target = "httpput"
647 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
648 $then
649 $   define/user gnv$libcurl 'gnv_libcurl_share'
650 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
651     /dsf=[.docs.examples]'target'.dsf -
652     [.docs.examples]'target'.o,-
653     gnv$'target'.opt/opt,-
654     sys$input:/opt
655 gnv$libcurl/share
656 $endif
657 $!
658 $!
659 $target = "https"
660 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
661 $then
662 $   define/user gnv$libcurl 'gnv_libcurl_share'
663 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
664     /dsf=[.docs.examples]'target'.dsf -
665     [.docs.examples]'target'.o,-
666     gnv$'target'.opt/opt,-
667     sys$input:/opt
668 gnv$libcurl/share
669 $endif
670 $!
671 $!
672 $target = "multi-app"
673 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
674 $then
675 $   define/user gnv$libcurl 'gnv_libcurl_share'
676 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
677     /dsf=[.docs.examples]'target'.dsf -
678     [.docs.examples]'target'.o,-
679     gnv$'target'.opt/opt,-
680     sys$input:/opt
681 gnv$libcurl/share
682 $endif
683 $!
684 $!
685 $target = "multi-debugcallback"
686 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
687 $then
688 $   define/user gnv$libcurl 'gnv_libcurl_share'
689 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
690     /dsf=[.docs.examples]'target'.dsf -
691     [.docs.examples]'target'.o,-
692     gnv$'target'.opt/opt,-
693     sys$input:/opt
694 gnv$libcurl/share
695 $endif
696 $!
697 $!
698 $target = "multi-double"
699 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
700 $then
701 $   define/user gnv$libcurl 'gnv_libcurl_share'
702 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
703     /dsf=[.docs.examples]'target'.dsf -
704     [.docs.examples]'target'.o,-
705     gnv$'target'.opt/opt,-
706     sys$input:/opt
707 gnv$libcurl/share
708 $endif
709 $!
710 $!
711 $target = "multi-post"
712 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
713 $then
714 $   define/user gnv$libcurl 'gnv_libcurl_share'
715 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
716     /dsf=[.docs.examples]'target'.dsf -
717     [.docs.examples]'target'.o,-
718     gnv$'target'.opt/opt,-
719     sys$input:/opt
720 gnv$libcurl/share
721 $endif
722 $!
723 $!
724 $target = "multi-single"
725 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
726 $then
727 $   define/user gnv$libcurl 'gnv_libcurl_share'
728 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
729     /dsf=[.docs.examples]'target'.dsf -
730     [.docs.examples]'target'.o,-
731     gnv$'target'.opt/opt,-
732     sys$input:/opt
733 gnv$libcurl/share
734 $endif
735 $!
736 $!
737 $target = "persistant"
738 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
739 $then
740 $   define/user gnv$libcurl 'gnv_libcurl_share'
741 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
742     /dsf=[.docs.examples]'target'.dsf -
743     [.docs.examples]'target'.o,-
744     gnv$'target'.opt/opt,-
745     sys$input:/opt
746 gnv$libcurl/share
747 $endif
748 $!
749 $!
750 $target = "post-callback"
751 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
752 $then
753 $   define/user gnv$libcurl 'gnv_libcurl_share'
754 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
755     /dsf=[.docs.examples]'target'.dsf -
756     [.docs.examples]'target'.o,-
757     gnv$'target'.opt/opt,-
758     sys$input:/opt
759 gnv$libcurl/share
760 $endif
761 $!
762 $!
763 $target = "postit2"
764 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
765 $then
766 $   define/user gnv$libcurl 'gnv_libcurl_share'
767 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
768     /dsf=[.docs.examples]'target'.dsf -
769     [.docs.examples]'target'.o,-
770     gnv$'target'.opt/opt,-
771     sys$input:/opt
772 gnv$libcurl/share
773 $endif
774 $!
775 $!
776 $target = "sendrecv"
777 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
778 $then
779 $   define/user gnv$libcurl 'gnv_libcurl_share'
780 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
781     /dsf=[.docs.examples]'target'.dsf -
782     [.docs.examples]'target'.o,-
783     gnv$'target'.opt/opt,-
784     sys$input:/opt
785 gnv$libcurl/share
786 $endif
787 $!
788 $!
789 $target = "sepheaders"
790 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
791 $then
792 $   define/user gnv$libcurl 'gnv_libcurl_share'
793 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
794     /dsf=[.docs.examples]'target'.dsf -
795     [.docs.examples]'target'.o,-
796     gnv$'target'.opt/opt,-
797     sys$input:/opt
798 gnv$libcurl/share
799 $endif
800 $!
801 $!
802 $target = "simple"
803 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
804 $then
805 $   define/user gnv$libcurl 'gnv_libcurl_share'
806 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
807     /dsf=[.docs.examples]'target'.dsf -
808     [.docs.examples]'target'.o,-
809     gnv$'target'.opt/opt,-
810     sys$input:/opt
811 gnv$libcurl/share
812 $endif
813 $!
814 $!
815 $target = "simplepost"
816 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
817 $then
818 $   define/user gnv$libcurl 'gnv_libcurl_share'
819 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
820     /dsf=[.docs.examples]'target'.dsf -
821     [.docs.examples]'target'.o,-
822     gnv$'target'.opt/opt,-
823     sys$input:/opt
824 gnv$libcurl/share
825 $endif
826 $!
827 $!
828 $target = "simplessl"
829 $if f$search("[.docs.examples]''target'.exe") .eqs. ""
830 $then
831 $   define/user gnv$libcurl 'gnv_libcurl_share'
832 $   link'ldebug'/exe=[.docs.examples]'target'.exe-
833     /dsf=[.docs.examples]'target'.dsf -
834     [.docs.examples]'target'.o,-
835     gnv$'target'.opt/opt,-
836     sys$input:/opt
837 gnv$libcurl/share
838 $endif
839 $!
840 $! =============== End of docs/examples =========================
841 $!
842 $!
843 $all_exit:
844 $set def 'default_dir'
845 $exit '$status'
846 $!