Annotation of embedaddon/curl/packages/vms/gnv_link_curl.com, revision 1.1
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: $!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>