git-svn-id: svn://10.65.10.50/branches/R_10_00@23289 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			853 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			853 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $! File: gnv_link_curl.com
 | |
| $!
 | |
| $! $Id$
 | |
| $!
 | |
| $! File to build images using gnv$libcurl.exe
 | |
| $!
 | |
| $! Copyright 2009, John Malmberg
 | |
| $!
 | |
| $! Permission to use, copy, modify, and/or distribute this software for any
 | |
| $! purpose with or without fee is hereby granted, provided that the above
 | |
| $! copyright notice and this permission notice appear in all copies.
 | |
| $!
 | |
| $! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | |
| $! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | |
| $! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | |
| $! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | |
| $! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | |
| $! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 | |
| $! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | |
| $!
 | |
| $! 10-Jun-2009  J. Malmberg
 | |
| $!============================================================================
 | |
| $!
 | |
| $! Save this so we can get back.
 | |
| $ default_dir = f$environment("default")
 | |
| $ define/job gnv_packages_vms 'default_dir'
 | |
| $!
 | |
| $ on warning then goto all_exit
 | |
| $!
 | |
| $! On VAX, we need to generate a Macro transfer vector.
 | |
| $ parse_style = "TRADITIONAL"
 | |
| $ if (f$getsyi("HW_MODEL") .lt. 1024)
 | |
| $ then
 | |
| $   @generate_vax_transfer.com
 | |
| $   arch_name = "VAX"
 | |
| $ else
 | |
| $    arch_name = ""
 | |
| $    arch_name = arch_name + f$edit(f$getsyi("ARCH_NAME"), "UPCASE")
 | |
| $    if (arch_name .eqs. "") then arch_name = "UNK"
 | |
| $!
 | |
| $!   Extended parsing option starts with VMS 7.3-1.
 | |
| $!   There is no 7.4, so that simplifies the parse a bit.
 | |
| $!
 | |
| $    node_swvers = f$getsyi("node_swvers")
 | |
| $    version_patch = f$extract(1, f$length(node_swvers), node_swvers)
 | |
| $    maj_ver = f$element(0, ".", version_patch)
 | |
| $    min_ver_patch = f$element(1, ".", version_patch)
 | |
| $    min_ver = f$element(0, "-", min_ver_patch)
 | |
| $    patch = f$element(1, "-", min_ver_patch)
 | |
| $    if patch .eqs. "-" then patch = ""
 | |
| $    parse_x = 0
 | |
| $    if maj_ver .ges. "8"
 | |
| $    then
 | |
| $       parse_x = 1
 | |
| $    else
 | |
| $       if maj_ver .eqs. "7" .and. min_ver .ges. "3" .and. patch .nes. ""
 | |
| $       then
 | |
| $          parse_x = 1
 | |
| $       endif
 | |
| $    endif
 | |
| $    if parse_x
 | |
| $    then
 | |
| $       parse_style = f$getjpi("", "parse_style_perm")
 | |
| $    endif
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $! Move to where the base directories.
 | |
| $ set def [--]
 | |
| $!
 | |
| $!
 | |
| $! Build the Message file.
 | |
| $!--------------------------
 | |
| $ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
 | |
| $ then
 | |
| $   message [.packages.vms]curlmsg.msg/object=[.packages.vms]
 | |
| $ endif
 | |
| $ if f$search("gnv$curlmsg.exe") .eqs. ""
 | |
| $ then
 | |
| $   link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $! Need to build the common init module.
 | |
| $!-------------------------------------------
 | |
| $ cflags = "/list/show=(expan,includ)"
 | |
| $ init_obj = "[.packages.vms]curl_crtl_init.obj"
 | |
| $ if f$search(init_obj) .eqs. ""
 | |
| $ then
 | |
| $   cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
 | |
| $ endif
 | |
| $ purge 'init_obj'
 | |
| $ rename 'init_obj' ;1
 | |
| $!
 | |
| $!
 | |
| $! Need to build the module to test the HP OpenSSL version
 | |
| $!--------------------------------------------------------
 | |
| $ if arch_name .nes. "VAX"
 | |
| $ then
 | |
| $   rpt_obj = "[.packages.vms]report_openssl_version.obj
 | |
| $   if f$search(rpt_obj) .eqs. ""
 | |
| $   then
 | |
| $       cc'cflags' 'default_dir'report_openssl_version.c/obj='rpt_obj'
 | |
| $   endif
 | |
| $   purge 'rpt_obj'
 | |
| $   rename 'rpt_obj' ;1
 | |
| $!
 | |
| $   link/exe='default_dir'report_openssl_version.exe 'rpt_obj'
 | |
| $   report_openssl_version := $'default_dir'report_openssl_version.exe
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ base_link_opt_file = "[.packages.vms.''arch_name']gnv_libcurl_linker.opt"
 | |
| $ share_link_opt_file = "[.packages.vms.''arch_name']gnv_ssl_libcurl_linker.opt"
 | |
| $ if f$search(base_link_opt_file) .eqs. ""
 | |
| $ then
 | |
| $   base_link_opt_file = "[.packages.vms]gnv_libcurl_linker.opt"
 | |
| $   share_link_opt_file = "[.packages.vms]gnv_ssl_libcurl_linker.opt"
 | |
| $   if f$search(base_link_opt_file) .eqs. ""
 | |
| $   then
 | |
| $       write sys$output "Can not find base library option file!"
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $! Create the a new option file with special fixup for HP SSL
 | |
| $! For a shared image, we always want ZLIB and 32 bit HPSSL
 | |
| $!
 | |
| $ if f$search("gnv$libzshr32") .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "VMSPORTS/GNV LIBZ Shared image not found!"
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $! Need to check the version of the HP SSL shared image.
 | |
| $!
 | |
| $! VAX platform can not be checked this way, it appears symbol lookup
 | |
| $! was disabled.  VAX has not been updated in a while.
 | |
| $ if arch_name .eqs. "VAX"
 | |
| $ then
 | |
| $   hp_ssl_libcrypto32 = "sys$common:[syslib]ssl$libcrypto_shr32.exe"
 | |
| $   hp_ssl_libssl32 = "sys$common:[syslib]ssl$libssl_shr32.exe"
 | |
| $   if f$search(hp_ssl_libcrypto32) .nes. ""
 | |
| $   then
 | |
| $       use_hp_ssl = 1
 | |
| $       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
 | |
| $       curl_ssl_libssl32 = hp_ssl_libssl32
 | |
| $       curl_ssl_version = "OpenSSL/0.9.6g"
 | |
| $   else
 | |
| $       write sys$output "HP OpenSSL Shared images not found!"
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ else
 | |
| $!
 | |
| $!   Minimum HP version we can use reports:
 | |
| $!   "OpenSSL 0.9.8w 23 Apr 2012"
 | |
| $!
 | |
| $   use_hp_ssl = 0
 | |
| $   hp_ssl_libcrypto32 = "sys$share:ssl$libcrypto_shr32.exe"
 | |
| $   hp_ssl_libssl32 = "sys$share:ssl$libssl_shr32.exe"
 | |
| $   if f$search(hp_ssl_libcrypto32) .nes. ""
 | |
| $   then
 | |
| $       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
 | |
| $       curl_ssl_libssl32 = hp_ssl_libssl32
 | |
| $       report_openssl_version 'hp_ssl_libcrypto32' hp_ssl_version
 | |
| $   endif
 | |
| $!
 | |
| $   if f$type(hp_ssl_version) .eqs. "STRING"
 | |
| $   then
 | |
| $       curl_ssl_version = hp_ssl_version
 | |
| $       full_version = f$element(1, " ", hp_ssl_version)
 | |
| $       ver_maj = f$element(0, ".", full_version)
 | |
| $       ver_min = f$element(1, ".", full_version)
 | |
| $       ver_patch = f$element(2, ".", full_version)
 | |
| $!      ! ver_patch is typically both a number and some letters
 | |
| $       ver_patch_len = f$length(ver_patch)
 | |
| $       ver_patchltr = ""
 | |
| $ver_patch_loop:
 | |
| $           ver_patchltr_c = f$extract(ver_patch_len - 1, 1, ver_patch)
 | |
| $           if ver_patchltr_c .les. "9" then goto ver_patch_loop_end
 | |
| $           ver_patchltr = ver_patchltr_c + ver_patchltr
 | |
| $           ver_patch_len = ver_patch_len - 1
 | |
| $           goto ver_patch_loop
 | |
| $ver_patch_loop_end:
 | |
| $       ver_patchnum = ver_patch - ver_patchltr
 | |
| $       if 'ver_maj' .ge. 0
 | |
| $       then
 | |
| $           if 'ver_min' .ge. 9
 | |
| $           then
 | |
| $               if 'ver_patchnum' .ge. 8
 | |
| $               then
 | |
| $                   if ver_patchltr .ges. "w" then use_hp_ssl = 1
 | |
| $               endif
 | |
| $           endif
 | |
| $       endif
 | |
| $set nover
 | |
| $       if use_hp_ssl .eq. 0
 | |
| $       then
 | |
| $           write sys$output -
 | |
|    " HP OpenSSL version of ""''hp_ssl_version'"" is too old for shared libcurl!"
 | |
| $       endif
 | |
| $   else
 | |
| $       write sys$output "Unable to get version of HP OpenSSL"
 | |
| $   endif
 | |
| $!
 | |
| $   gnv_ssl_libcrypto32 = "gnv$gnu:[lib]ssl$libcrypto_shr32.exe"
 | |
| $   gnv_ssl_libssl32 = "gnv$gnu:[lib]ssl$libssl_shr32.exe"
 | |
| $   if f$search(gnv_ssl_libcrypto32) .nes. ""
 | |
| $   then
 | |
| $       report_openssl_version 'gnv_ssl_libcrypto32' gnv_ssl_version
 | |
| $   endif
 | |
| $!
 | |
| $   use_gnv_ssl = 0
 | |
| $   if f$type(gnv_ssl_version) .eqs. "STRING"
 | |
| $   then
 | |
| $       gnv_full_version = f$element(1, " ", gnv_ssl_version)
 | |
| $       gnv_ver_maj = f$element(0, ".", gnv_full_version)
 | |
| $       gnv_ver_min = f$element(1, ".", gnv_full_version)
 | |
| $       gnv_ver_patch = f$element(2, ".", gnv_full_version)
 | |
| $       gnv_ver_patch_len = f$length(gnv_ver_patch)
 | |
| $       gnv_ver_patchnum = f$extract(0, gnv_ver_patch_len - 1, gnv_ver_patch)
 | |
| $       gnv_ver_patchltr = f$extract(gnv_ver_patch_len - 1, 1, gnv_ver_patch)
 | |
| $       if 'gnv_ver_maj' .ge. 0
 | |
| $       then
 | |
| $           if 'gnv_ver_min' .ge. 9
 | |
| $           then
 | |
| $               if 'gnv_ver_patchnum' .ge. 8
 | |
| $               then
 | |
| $                   if gnv_ver_patchltr .ges. "w" then use_gnv_ssl = 1
 | |
| $               endif
 | |
| $           endif
 | |
| $       endif
 | |
| $       if use_gnv_ssl .eq. 0
 | |
| $       then
 | |
| $           write sys$output -
 | |
|    "GNV OpenSSL version of ""''gnv_ssl_version'" is too old for shared libcurl!"
 | |
| $       endif
 | |
| $!
 | |
| $!      Prefer to break the tie with the lowest supported version
 | |
| $!      For simplicity, if the GNV image is present, it will be used.
 | |
| $!      Version tuple is not a simple compare.
 | |
| $!
 | |
| $       if use_gnv_ssl .eq. 1 then
 | |
| $           curl_ssl_libcrypto32 = gnv_ssl_libcrypto32
 | |
| $           curl_ssl_libssl32 = gnv_ssl_libssl32
 | |
| $           curl_ssl_version = gnv_ssl_version
 | |
| $           use_hp_ssl = 0
 | |
| $       endif
 | |
| !$!
 | |
| $   else
 | |
| $       write sys$output "Unable to get version of GNV OpenSSL"
 | |
| $   endif
 | |
| $!
 | |
| $!  Need to write a release note section about HP OpenSSL
 | |
| $!
 | |
| $create 'default_dir'hp_ssl_release_info.txt
 | |
| $deck
 | |
| This package is built on with the OpenSSL version listed below and requires
 | |
| the shared images from the HP OpenSSL product that is kitted with that
 | |
| version or a compatible later version.
 | |
| 
 | |
| For Alpha and IA64 platforms, see the url below to register to get the
 | |
| download URL.  The kit will be HP 1.4-467 or later.
 | |
|   http://h71000.www7.hp.com/openvms/products/ssl/ssl.html
 | |
| 
 | |
| For VAX, use the same registration, but remove the kit name from any of the
 | |
| download URLs provided and put in CPQ-VAXVMS-SSL-V0101-B-1.PCSI-DCX_VAXEXE
 | |
| 
 | |
| If your system can not be upgraded to a compatible version of OpenSSL, then
 | |
| you can extract the two shared images from the kit and place them in the
 | |
| [vms$common.gnv.lib]directory of the volume that you are installing GNV and
 | |
| or GNV compatible components like Curl.
 | |
| 
 | |
| If GNV is installed, you must run the GNV startup procedure before these steps
 | |
| and before installing Curl.
 | |
| 
 | |
| 
 | |
|   1.  make sure that [vms$common.gnv.lib] exists by using the following
 | |
|       commands.  We want the directory to be in lowercase except on VAX.
 | |
| 
 | |
|     $SET PROCESS/PARSE=extend !If not VAX.
 | |
|     $CREATE/DIR device:[vms$common.gnv.lib]/prot=w:re
 | |
| 
 | |
|   2. Extract the ssl$crypto_shr32.exe and ssl$libssl_shr32.exe images.
 | |
| 
 | |
|     $PRODUCT EXTRACT FILE -
 | |
|       /select=(ssl$libcrypto_shr32.exe,ssl$libssl_shr32.exe)-
 | |
|       /source=device:[dir] -
 | |
|       /options=noconfirm -
 | |
|       /destination=device:[vms$common.gnv.lib] SSL
 | |
| 
 | |
| The [vms$common.sys$startup}curl_startup.com procedure will then configure
 | |
| libcurl to use these shared images instead of the system ones.
 | |
| 
 | |
| When you upgrade SSL on VMS to the newer version of HP SSL, then these copies
 | |
| should be deleted.
 | |
| 
 | |
| $eod
 | |
| $!
 | |
| $ open/append sslr 'default_dir'hp_ssl_release_info.txt
 | |
| $ write sslr "OpenSSL version used for building this kit: ",curl_ssl_version
 | |
| $ write sslr ""
 | |
| $ close sslr
 | |
| $!
 | |
| $!
 | |
| $! LIBZ
 | |
| $ libzshr_line = ""
 | |
| $ try_shr = "gnv$libzshr32"
 | |
| $ if f$search(try_shr) .nes. ""
 | |
| $ then
 | |
| $   libzshr_line = "''try_shr'/share"
 | |
| $ else
 | |
| $   write sys$output "''try_shr' image not found!"
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ gssrtlshr_line = ""
 | |
| $ if arch_name .nes. "VAX"
 | |
| $ then
 | |
| $   try_shr = "sys$share:gss$rtl"
 | |
| $   if f$search("''try_shr'.exe") .nes. ""
 | |
| $   then
 | |
| $       gssrtlshr_line = "''try_shr'/share"
 | |
| $   else
 | |
| $       write sys$output "''try_shr' image not found!"
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $!
 | |
| $ if f$search(share_link_opt_file) .eqs. ""
 | |
| $ then
 | |
| $   create 'share_link_opt_file'
 | |
| $   open/append slopt 'share_link_opt_file'
 | |
| $   if libzshr_line .nes. "" then write slopt libzshr_line
 | |
| $   if gssrtlshr_line .nes. "" then write slopt gssrtlshr_line
 | |
| $   write slopt "gnv$curl_ssl_libcryptoshr32/share"
 | |
| $   write slopt "gnv$curl_ssl_libsslshr32/share"
 | |
| $   close slopt
 | |
| $ endif
 | |
| $!
 | |
| $! DCL build puts curllib in architecture directory
 | |
| $! GNV build uses the makefile.
 | |
| $ libfile = "[.packages.vms.''arch_name']curllib.olb"
 | |
| $ if f$search(libfile) .nes. ""
 | |
| $ then
 | |
| $   olb_file = libfile
 | |
| $ else
 | |
| $   ! GNV based build
 | |
| $   libfile = "[.lib.^.libs]libcurl.a"
 | |
| $   if f$search(libfile) .nes. ""
 | |
| $   then
 | |
| $       olb_file = libfile
 | |
| $   else
 | |
| $       write sys$output -
 | |
|   "Can not build shared image, libcurl object library not found!"
 | |
| $       goto all_exit
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $gnv_libcurl_share = "''default_dir'gnv$libcurl.exe"
 | |
| $!
 | |
| $ if f$search(gnv_libcurl_share) .eqs. ""
 | |
| $ then
 | |
| $   if arch_name .nes. "VAX"
 | |
| $   then
 | |
| $       define/user gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
 | |
| $       define/user gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
 | |
| $       link/dsf='default_dir'gnv$libcurl.dsf/share='gnv_libcurl_share' -
 | |
|             /map='default_dir'gnv$libcurl.map -
 | |
|             gnv_packages_vms:gnv_libcurl_symbols.opt/opt,-
 | |
|             'olb_file'/lib,-
 | |
|             'share_link_opt_file'/opt
 | |
| $   else
 | |
| $!      VAX will not allow the logical name hack for the
 | |
| $!      SSL libcryto library, it is pulling it in twice if I try it.
 | |
| $       link/share='gnv_libcurl_share'/map='default_dir'gnv$libcurl.map -
 | |
|             gnv_packages_vms:gnv_libcurl_xfer.opt/opt,-
 | |
|             'olb_file'/lib,-
 | |
|             'base_link_opt_file'/opt
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ if f$search("[.src]curl-tool_main.o") .nes. ""
 | |
| $ then
 | |
| $!  From src/makefile.inc:
 | |
| $!  # libcurl has sources that provide functions named curlx_* that aren't
 | |
| $!  # part of the official API, but we re-use the code here to avoid
 | |
| $!  # duplication.
 | |
| $!
 | |
| $!
 | |
| $   if f$search("[.src]curl.exe") .eqs. ""
 | |
| $   then
 | |
| $       define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $       link'ldebug'/exe=[.src]curl.exe/dsf=[.src]curl.dsf -
 | |
|            [.src]curl-tool_main.o, [.src]curl-tool_binmode.o, -
 | |
|            [.src]curl-tool_bname.o, [.src]curl-tool_cb_dbg.o, -
 | |
|            [.src]curl-tool_cb_hdr.o, [.src]curl-tool_cb_prg.o, -
 | |
|            [.src]curl-tool_cb_rea.o, [.src]curl-tool_cb_see.o, -
 | |
|            [.src]curl-tool_cb_wrt.o, [.src]curl-tool_cfgable.o, -
 | |
|            [.src]curl-tool_convert.o, [.src]curl-tool_dirhie.o, -
 | |
|            [.src]curl-tool_doswin.o, [.src]curl-tool_easysrc.o, -
 | |
|            [.src]curl-tool_formparse.o, [.src]curl-tool_getparam.o, -
 | |
|            [.src]curl-tool_getpass.o, [.src]curl-tool_help.o, -
 | |
|            [.src]curl-tool_helpers.o, [.src]curl-tool_homedir.o, -
 | |
|            [.src]curl-tool_hugehelp.o, [.src]curl-tool_libinfo.o, -
 | |
|            [.src]curl-tool_metalink.o, [.src]curl-tool_mfiles.o, -
 | |
|            [.src]curl-tool_msgs.o, [.src]curl-tool_operate.o, -
 | |
|            [.src]curl-tool_operhlp.o, [.src]curl-tool_panykey.o, -
 | |
|            [.src]curl-tool_paramhlp.o, [.src]curl-tool_parsecfg.o, -
 | |
|            [.src]curl-tool_setopt.o, [.src]curl-tool_sleep.o, -
 | |
|            [.src]curl-tool_urlglob.o, [.src]curl-tool_util.o, -
 | |
|            [.src]curl-tool_vms.o, [.src]curl-tool_writeenv.o, -
 | |
|            [.src]curl-tool_writeout.o, [.src]curl-tool_xattr.o, -
 | |
|            [.src]curl-strtoofft.o, [.src]curl-strdup.o, [.src]curl-rawstr.o, -
 | |
|            [.src]curl-nonblock.o, gnv_packages_vms:curlmsg.obj,-
 | |
|            sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| gnv_packages_vms:curl_crtl_init.obj
 | |
| $   endif
 | |
| $ else
 | |
| $   curl_exe = "[.src]curl.exe"
 | |
| $   curl_dsf = "[.src]curl.dsf"
 | |
| $   curl_main = "[.packages.vms.''arch_name']tool_main.obj"
 | |
| $   curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
 | |
| $   curl_lib = "[.packages.vms.''arch_name']curllib.olb"
 | |
| $   rawstr = "rawstr"
 | |
| $   nonblock = "nonblock"
 | |
| $   warnless = "warnless"
 | |
| $!
 | |
| $!  Extended parse style requires special quoting
 | |
| $!
 | |
| $   if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
 | |
| $   then
 | |
| $       rawstr = """rawstr"""
 | |
| $       nonblock = """nonblock"""
 | |
| $       warnless = """warnless"""
 | |
| $   endif
 | |
| $   if f$search(curl_exe) .eqs. ""
 | |
| $   then
 | |
| $       define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $       link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
 | |
|            'curl_main','curl_src'/lib, -
 | |
|            'curl_lib'/library/include=-
 | |
|            ('rawstr','nonblock','warnless'),-
 | |
|            gnv_packages_vms:curlmsg.obj,-
 | |
|            sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| gnv_packages_vms:curl_crtl_init.obj
 | |
| $   endif
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $!
 | |
| $! in6addr_missing so skip building:
 | |
| $! [.server]sws.o
 | |
| $! [.server]sockfilt.o
 | |
| $! [.server]tftpd.o
 | |
| $!
 | |
| $!
 | |
| $ target = "10-at-a-time"
 | |
| $ if f$search("[.docs.examples]''target'.o") .eqs. ""
 | |
| $ then
 | |
| $   write sys$output "examples not built"
 | |
| $   goto all_exit
 | |
| $ endif
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "anyauthput"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "certinfo"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "cookie_interface"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "debug"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "fileupload"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $ target = "fopen"
 | |
| $ if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $ then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $ endif
 | |
| $!
 | |
| $!
 | |
| $target = "ftpget"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "ftpgetresp"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "ftpupload"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "getinfo"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "getinmemory"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "http-post"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "httpcustomheader"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "httpput"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "https"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "multi-app"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "multi-debugcallback"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "multi-double"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "multi-post"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "multi-single"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "persistant"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "post-callback"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "postit2"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "sendrecv"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "sepheaders"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "simple"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "simplepost"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $!
 | |
| $target = "simplessl"
 | |
| $if f$search("[.docs.examples]''target'.exe") .eqs. ""
 | |
| $then
 | |
| $   define/user gnv$libcurl 'gnv_libcurl_share'
 | |
| $   link'ldebug'/exe=[.docs.examples]'target'.exe-
 | |
|     /dsf=[.docs.examples]'target'.dsf -
 | |
|     [.docs.examples]'target'.o,-
 | |
|     gnv$'target'.opt/opt,-
 | |
|     sys$input:/opt
 | |
| gnv$libcurl/share
 | |
| $endif
 | |
| $!
 | |
| $! =============== End of docs/examples =========================
 | |
| $!
 | |
| $!
 | |
| $all_exit:
 | |
| $set def 'default_dir'
 | |
| $exit '$status'
 | |
| $!
 |