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>