Return to gnv_link_curl.com CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / packages / vms |
1.1 ! misho 1: $! File: gnv_link_curl.com ! 2: $! ! 3: $! $Id$ ! 4: $! ! 5: $! File to build images using gnv$libcurl.exe ! 6: $! ! 7: $! Copyright 2009 - 2020, 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: https://h41379.www4.hpe.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-strcase.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: $ strcase = "strcase" ! 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: $ strcase = """strcase""" ! 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: ('strcase','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 = "persistent" ! 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: $!