diff options
Diffstat (limited to 'packages/vms/build_vms.com')
-rw-r--r-- | packages/vms/build_vms.com | 582 |
1 files changed, 324 insertions, 258 deletions
diff --git a/packages/vms/build_vms.com b/packages/vms/build_vms.com index 4f0b0f090..afdd657cf 100644 --- a/packages/vms/build_vms.com +++ b/packages/vms/build_vms.com @@ -18,40 +18,43 @@ $! CLEAN_ALL Delete product files for all host architectures. (No $! build done.) $! $! 64 Compile with 64-bit pointers. -$! Note, you must match the pointer size that the OpenSSL -$! shared image expects. -$! Currently curl is not building properly with 64 bit pointers -$! on VMS because it is trying to cast pointers to 32 bit -$! integers. +$! Note, you must match the pointer size that the OpenSSL +$! shared image expects. +$! Currently curl is not building properly with 64 bit pointers +$! on VMS because it is trying to cast pointers to 32 bit +$! integers and some OpenVMS library routines called by curl +$! do not yet support 64 bit pointers. $! CCQUAL=x Add "x" to the C compiler qualifiers. -$! Default qualifiers are: -$! /standard=relaxed -$! /names=(as_is, shortened) -$! /repository=[.'arch'] -$! /nested_include_directory=none -$! /define=(_LARGEFILE=1,_USE_STD_STAT=1) (non-vax) -$! /float=ieee/ieee_mode=denorm_results (non-vax) +$! Default qualifiers are: +$! /standard=relaxed +$! /names=(as_is, shortened) +$! /repository=[.'arch'] +$! /nested_include_directory=none +$! /define=(_LARGEFILE=1,_USE_STD_STAT=1) (non-vax) +$! /float=ieee/ieee_mode=denorm_results (non-vax) $! DEBUG Compile debug and nooptimize -$! Alpha/IA64 always compiles /debug. -$! Always link a debug image. +$! Alpha/IA64 always compiles /debug. +$! Always link a debug image. $! NOIEEE Do not use IEEE floating point. (Alpha/I64) -$! VAX must use DFLOAT +$! VAX must always use DFLOAT $! NOLARGE Disable large-file support if large file support available. -$! (Non-VAX, VMS >= V7.2.) +$! (Non-VAX, VMS >= V7.2.) $! NOLDAP Disable LDAP support if LDAP is available. $! NOKERBEROS Disable Kerberos support if Kerberos is available. $! LIST Create C compiler listings and linker maps. -$! /list/show=(expan,includ)/machine +$! /list/show=(expan,includ)/machine $! FULLLIST Full detailed listing. -$! /list/show=(all, nomessages)/machine +$! /list/show=(all, nomessages)/machine $! NOHPSSL Don't use HP SSL, even if available. -$! Note, you must match the pointer size that the OpenSSL -$! shared image expects. This procedure will select the -$! correct HP OpenSSL image. +$! Note, you must match the pointer size that the OpenSSL +$! shared image expects. This procedure will select the +$! correct HP OpenSSL image. $! NOSSL Don't use any SSL, even if available. $! OSSLOLB Use OpenSSL object libraries (.OLB), even if shared $! images (.EXE) are available. -$! NOZLIB Don't use GNV$ZLIB shared image even if available. +$! NOZLIB Don't use GNV$ZLIB shared image even if available. +$! REALCLEAN Delete product files for all host architectures. (No +$! build done.) Alias for CLEAN_ALL $! $! DCL Symbols: $! @@ -108,21 +111,21 @@ $! command across multiple lines to avoid DCL $! line-too-long problems. $! Changed "vo_c" messages to show the CC qualifiers $! once, not with every compile command. -$! 01-Jan-2013 J. Malmberg -$! VMS build procedures need to be able to work with -$! the default set to a search list, with created or -$! modified files only in the first member of the search -$! list. -$! Whitespace change to be more compatible with current -$! practices. -$! One pass option parsing instead of loop. -$! GNV ZLIB shared image support. -$! KERBEROS support where available. -$! LDAP default to on where available -$! LARGEFILE default to on where available -$! IEEE float default to on where available. -$! Generate the curl_config.h file from system inspection. -$! Linker finds ldap with out option file. +$! 01-Jan-2013 J. Malmberg +$! VMS build procedures need to be able to work with +$! the default set to a search list, with created or +$! modified files only in the first member of the search +$! list. +$! Whitespace change to be more compatible with current +$! practices. +$! One pass option parsing instead of loop. +$! GNV ZLIB shared image support. +$! KERBEROS support where available. +$! LDAP default to on where available +$! LARGEFILE default to on where available +$! IEEE float default to on where available. +$! Generate the curl_config.h file from system inspection. +$! Linker finds ldap with out option file. $! 13-Mar-2013, Tom Grace $! Added missing slash in cc_full_list. $! Removed unwanted extra quotes inside symbol tool_main @@ -133,6 +136,18 @@ $! symbol tool_main needs to be quoted when parse style is $! set to exended in versions of VMS greater than 7.3-1. $! Remove curlbuild.h generation as it should be pre-built $! in the curl release or daily tarball. +$! 12-Jul-2013, John Malmberg +$! Adjust to find and use ZLIB from the Jean-Francois +$! Pieronne shared image and newer GNV ZLIB kit that +$! is upward compatible with Jean-Francois's kit. +$! Remove tabs from file. +$! Fixed DCL formatting as follows: +$! * Labels have no space after leading $. +$! * 1 space after $ for first level. +$! * 3 spaces after $ for second level. Line start + 4. +$! * 7 spaces after $ for third level. Line start + 8. +$! * Each level after that indents 4 characters. +$! * then/else/endif same indentation as if statement. $! $!=========================================================================== $! @@ -297,22 +312,46 @@ $! $ args_len = f$length(args) $ args_lower_len = f$length(args_lower) $! +$ clean = 0 $ if f$locate(",clean,", args_lower) .lt. args_lower_len -$ then -$ prods = "''exedir'*.*;*" +$ then +$ clean = 1 +$ endif +$ clean_all = 0 +$ if f$locate(",clean_all,", args_lower) .lt. args_lower_len +$ then +$ clean = 1 +$ clean_all = 1 +$ endif +$ if f$locate(",realclean,", args_lower) .lt. args_lower_len +$ then +$ clean = 1 +$ clean_all = 1 +$ endif +$! +$ if clean .ne. 0 +$ then +$ prods = "''exedir'*.*;*" $ if (f$search(prods) .nes. "") then delete /log 'prods' $ prods = proc_dev_dir + arch_name + ".DIR;1" $ if (f$search(prods) .nes. "") then set prot=o:rwed 'prods' $ if (f$search(prods) .nes. "") then delete /log 'prods' $ file = "[]config_vms.h" $ if f$search(file) .nes. "" then delete/log 'file';* +$ file = "[]config.h" +$ if f$search(file) .nes. "" then delete/log 'file';* +$ file = "[.lib.cxx_repository]cxx$demangler_db." +$ if f$search(file) .nes. "" then delete/log 'file';* +$ file = "[.src.cxx_repository]cxx$demangler_db." +$ if f$search(file) .nes. "" then delete/log 'file';* $ file = "[.lib]config_vms.h" $ if f$search(file) .nes. "" then delete/log 'file';* -$ goto Common_Exit -$ endif +$ if clean_all .eq. 0 then goto Common_Exit +$ endif $! -$ if f$locate(",clean_all,", args_lower) .lt. args_lower_len -$ then +$! +$ if clean_all .ne. 0 +$ then $ prods = proc_dev_dir - delim + ".ALPHA" + delim + "*.*;*" $ if (f$search(prods) .nes. "") then delete /log 'prods' $ prods = proc_dev_dir + "ALPHA" + ".DIR;1" @@ -328,82 +367,82 @@ $ if (f$search(prods) .nes. "") then delete /log 'prods' $ prods = proc_dev_dir + "VAX"+ ".DIR;1" $ if (f$search(prods) .nes. "") then set prot=o:rwed 'prods' $ if (f$search(prods) .nes. "") then delete /log 'prods' -$ goto Common_Exit -$ endif +$ goto Common_Exit +$ endif $! $ build_64 = 0 $ if f$locate(",64,", args_lower) .lt. args_lower_len -$ then +$ then $ cc_qual1 = cc_qual1 + " /POINTER = 64" $ build_64 = 1 -$ endif +$ endif $! $ args_loc = f$locate(",ccqual=", args_lower) $ if args_loc .lt. args_lower_len -$ then +$ then $ arg = f$extract(args_loc + 1, args_lower_len, args_lower) $ arg_val = f$element(0, ",", arg) $ cc_qual2 = f$element(1, "=", arg_val); -$ endif +$ endif $! $! On Alpha/IA64 no size penalty for compiling /debug/optimize $! by default. $ if f$locate(",debug,", args_lower) .lt. args_lower_len -$ then +$ then $ cc_debug = "/debug/nooptimize" -$ goto arg_loop_end -$ endif +$ goto arg_loop_end +$ endif $! $! We normally want IEEE float if it is available. Programs that are $! calling libcurl will typically prefer IEEE behavior, unless on the $! VAX where we have no choice. $! $ if f$locate(",noieee,", args_lower) .lt. args_lower_len -$ then +$ then $ cc_float = "" -$ goto arg_loop_end -$ endif +$ goto arg_loop_end +$ endif $! $! Normally we want large file if it is available. $ if f$locate(",nolarge,", args_lower) .lt. args_lower_len -$ then +$ then $ write sys$output "Handling of large files disabled." $ cc_large = "" -$ endif +$ endif $ if cc_large .nes. "" $ then $ cc_defs = cc_defs + cc_large -$ endif +$ endif $! $ if f$locate(",noldap,", args_lower) .lt. args_lower_len -$ then +$ then $ ldap = 0 -$ endif +$ endif $! $ if f$locate(",list,", args_lower) .lt. args_lower_len -$ then -$ list = 1 +$ then +$ list = 1 $ endif $ if f$locate(",fulllist,", args_lower) .lt. args_lower_len $ then $ list = 1 $ full_list = 1 -$ endif +$ endif $! $ if f$locate(",nohpssl,", args_lower) .lt. args_lower_len -$ then -$ nohpssl = 1 -$ endif +$ then +$ nohpssl = 1 +$ endif $! $ if f$locate(",nossl,", args_lower) .lt. args_lower_len -$ then -$ nossl = 1 -$ endif +$ then +$ nossl = 1 +$ endif $! $ if f$locate(",osslolb,", args_lower) .lt. args_lower_len -$ then -$ osslolb = 1 -$ endif +$ then +$ osslolb = 1 +$ endif $! $ if f$locate(",nozlib,", args_lower) .lt. args_lower_len $ then @@ -427,10 +466,10 @@ $ msg_qual = msg_qual + "/nolist" $ else $ msg_qual = msg_qual + "/list='objdir'" $ if (full_list .ne. 0) -$ then -$ cc_qual1 = cc_qual1 + cc_full_list +$ then +$ cc_qual1 = cc_qual1 + cc_full_list $ else -$ cc_qual1 = cc_qual1 + cc_list +$ cc_qual1 = cc_qual1 + cc_list $ endif $ endif $ cc_qual1 = cc_qual1 + cc_names + cc_float + cc_debug @@ -448,61 +487,61 @@ $ libsslshr_line = "" $ libcryptoshr_line = "" $ if (.not. nossl) $ then -$ if (f$trnlnm("OPENSSL") .nes. "") -$ then -$! cc_defs = cc_defs + ", USE_SSLEAY=1" -$ if ((f$trnlnm("SSL$INCLUDE") .nes. "") .and. (.not. nohpssl)) -$ then -$! Use HP SSL. -$ hpssl = 1 +$ if (f$trnlnm("OPENSSL") .nes. "") +$ then +$! cc_defs = cc_defs + ", USE_SSLEAY=1" +$ if ((f$trnlnm("SSL$INCLUDE") .nes. "") .and. (.not. nohpssl)) +$ then +$! Use HP SSL. +$ hpssl = 1 $! -$! Older SSL only has lib*_shr32 images +$! Older SSL only has lib*_shr32 images $!----------------------------------------------- -$ libsslshr = "sys$share:ssl$libssl_shr" -$ if (f$search("''libsslshr'.exe") .eqs. "") .or. (.not. build_64) -$ then -$ libsslshr = libsslshr + "32" -$ endif -$ libcryptoshr = "sys$share:ssl$libcrypto_shr" -$ if (f$search("''libcryptoshr'.exe") .eqs. "") .or. (.not. build_64) -$ then -$ libcryptoshr = libcryptoshr + "32" -$ endif -$ libsslshr_line = "''libsslshr'.exe/share" -$ libcryptoshr_line = "''libcryptoshr'.exe/share" +$ libsslshr = "sys$share:ssl$libssl_shr" +$ if (f$search("''libsslshr'.exe") .eqs. "") .or. (.not. build_64) +$ then +$ libsslshr = libsslshr + "32" +$ endif +$ libcryptoshr = "sys$share:ssl$libcrypto_shr" +$ if (f$search("''libcryptoshr'.exe") .eqs. "") .or. (.not. build_64) +$ then +$ libcryptoshr = libcryptoshr + "32" +$ endif +$ libsslshr_line = "''libsslshr'.exe/share" +$ libcryptoshr_line = "''libcryptoshr'.exe/share" $ else -$! Use OpenSSL. Assume object libraries, unless shared images -$! are found (and not prohibited). -$! TODO: We do not know how to automatically choose based on the -$! pointer size. -$! -$ openssl = 1 -$ libsslshr_line = "ssllib:libssl.olb/lib" -$ libcryptoshr_line = "ssllib:libcrypto.olb/lib" -$ ssl_opt = ", ssllib:libssl.olb /library" + - - ", ssllib:libcrypto.olb /library" -$ if (osslolb .eq. 0) -$ then - if ((f$search("ssllib:ssl_libcrypto.exe") .nes. "") .and. - - (f$search("ssllib:ssl_libssl.exe") .nes. "")) -$ then -$! OpenSSL shared images with "SSL_xxx.EXE names. -$ openssl = 2 -$ libsslshr_line = "ssllib:ssl_libssl_shr.exe/share" -$ libcryptoshr_line = "ssllib:ssl_libcrypto_shr.exe/share" -$ else -$ if ((f$search("ssllib:libcrypto.exe") .nes. "") .and. - - (f$search("ssllib:libssl.exe") .nes. "")) +$! Use OpenSSL. Assume object libraries, unless shared images +$! are found (and not prohibited). +$! TODO: We do not know how to automatically choose based on the +$! pointer size. +$! +$ openssl = 1 +$ libsslshr_line = "ssllib:libssl.olb/lib" +$ libcryptoshr_line = "ssllib:libcrypto.olb/lib" +$ ssl_opt = ", ssllib:libssl.olb /library" + - + ", ssllib:libcrypto.olb /library" +$ if (osslolb .eq. 0) +$ then + if ((f$search("ssllib:ssl_libcrypto.exe") .nes. "") .and. - + (f$search("ssllib:ssl_libssl.exe") .nes. "")) $ then -$! OpenSSL shared images with "xxx.EXE names. -$ openssl = 3 -$ libsslshr_line = "ssllib:libssl_shr.exe/share" -$ libcryptoshr_line = "ssllib:libcrypto_shr.exe/share" +$! OpenSSL shared images with "SSL_xxx.EXE names. +$ openssl = 2 +$ libsslshr_line = "ssllib:ssl_libssl_shr.exe/share" +$ libcryptoshr_line = "ssllib:ssl_libcrypto_shr.exe/share" +$ else +$ if ((f$search("ssllib:libcrypto.exe") .nes. "") .and. - + (f$search("ssllib:libssl.exe") .nes. "")) +$ then +$! OpenSSL shared images with "xxx.EXE names. +$ openssl = 3 +$ libsslshr_line = "ssllib:libssl_shr.exe/share" +$ libcryptoshr_line = "ssllib:libcrypto_shr.exe/share" +$ endif $ endif -$ endif -$ endif +$ endif $ endif -$ endif +$ endif $ endif $! $! LDAP. @@ -537,6 +576,28 @@ $! $! LIBZ $ libzshr_line = "" $ try_shr = "gnv$libzshr" +$ if build_64 +$ then +$! First look for 64 bit +$ if f$search("''try_shr'64") .eqs. "" +$ then +$! Second look for the J.F. Pieronne 64 bit shared image +$ try_shr = "LIBZ_SHR64" +$ if f$search(try_shr) .eqs. "" then nozlib = 1 +$ endif +$ else +$! First look for 32 bit +$ if f$search("''try_shr'32") .eqs. "" +$ then +$! Second look for old 32 bit image +$ if f$search(try_shr) .eqs. "" +$ then +$! Third look for the J.F. Pieronne 32 bit shared image +$ try_shr = "LIBZ_SHR32" +$ if f$search(try_shr) .eqs. "" then nozlib = 1 +$ endif +$ endif +$ endif $ if f$search(try_shr) .eqs. "" $ then $ nozlib = 1 @@ -544,12 +605,17 @@ $ endif $ curl_sys_zlibinc = "" $ if nozlib .eq. 0 $ then -$ 'vo_c' "%CURL-I-BLDGNVLIBZ, building with GNV LIBZ support" $ libzshr_line = "''try_shr'/share" -$ curl_sys_zlibinc = "GNV$ZLIB_INCLUDE:" +$ if f$locate("LIBZ", try_shr) .eq. 0 +$ then +$ 'vo_c' "%CURL-I-BLDJFPLIBZ, building with JFP LIBZ support" +$ curl_sys_zlibinc = "LIBZ:" +$ else +$ 'vo_c' "%CURL-I-BLDGNVLIBZ, building with GNV LIBZ support" +$ curl_sys_zlibinc = "GNV$ZLIB_INCLUDE:" +$ endif $ endif $! -$! $! Form CC qualifiers. $! $ cc_defs = "/define = (''cc_defs')" @@ -591,40 +657,40 @@ $ 'vo_c' " EXEDIR = ''exedir'" $! $ if (openssl .ne. 0) $ then -$ ssllib = f$trnlnm("ssllib") -$ if (ssllib .eqs. "") -$ then -$ ssllib = "(undefined)" -$ endif -$ 'vo_c' " SSLLIB = ''ssllib'" +$ ssllib = f$trnlnm("ssllib") +$ if (ssllib .eqs. "") +$ then +$ ssllib = "(undefined)" +$ endif +$ 'vo_c' " SSLLIB = ''ssllib'" $! $! TODO: Why are we translating the logical name? $! The logical aname used to find the shared image should just be used $! as translating it could result in the wrong location at run time. -$ if (openssl .eq. 1) -$ then +$ if (openssl .eq. 1) +$ then $ ossl_lib1 = f$trnlnm("ssllib")+ "LIBSSL.OLB" $ ossl_lib2 = f$trnlnm("ssllib")+ "LIBCRYPTO.OLB" $ msg = "object libraries" -$ else +$ else $ if (openssl .eq. 2) $ then -$ ossl_lib1 = f$trnlnm("ssllib")+ "SSL_LIBSSL.EXE" -$ ossl_lib2 = f$trnlnm("ssllib")+ "SSL_LIBCRYPTO.EXE" +$ ossl_lib1 = f$trnlnm("ssllib")+ "SSL_LIBSSL.EXE" +$ ossl_lib2 = f$trnlnm("ssllib")+ "SSL_LIBCRYPTO.EXE" $ else -$ ossl_lib1 = f$trnlnm("ssllib")+ "LIBSSL.EXE" -$ ossl_lib2 = f$trnlnm("ssllib")+ "LIBCRYPTO.EXE" +$ ossl_lib1 = f$trnlnm("ssllib")+ "LIBSSL.EXE" +$ ossl_lib2 = f$trnlnm("ssllib")+ "LIBCRYPTO.EXE" $ endif $ msg = "shared images" -$ endif -$ if ((f$search(ossl_lib1) .eqs. "") .or. - - (f$search(ossl_lib2) .eqs. "")) -$ then +$ endif +$ if ((f$search(ossl_lib1) .eqs. "") .or. - + (f$search(ossl_lib2) .eqs. "")) +$ then $ write sys$output "Can't find OpenSSL ''msg':" $ write sys$output " ''ossl_lib1'" $ write sys$output " ''ossl_lib2'" $ goto Common_Exit -$ endif +$ endif $ endif $! $! Define the "curl" (process) logical name for "#include <curl/xxx.h>". @@ -632,17 +698,17 @@ $! $ curl = f$trnlnm("curl", "LNM$PROCESS") $ if (curl .nes. "") $ then -$ write sys$output "" -$ write sys$output - +$ write sys$output "" +$ write sys$output - "Process logical name ""curl"" is already defined, but this procedure" -$ write sys$output - +$ write sys$output - "would override that definition. Use a command like" -$ write sys$output - +$ write sys$output - " deassign /process curl" -$ write sys$output - +$ write sys$output - "to cancel that logical name definition, and then and re-run this procedure." -$ write sys$output "" -$ goto Common_Exit +$ write sys$output "" +$ goto Common_Exit $ endif $ curl_logical = top_dev_dir + ".include.curl" + delim $ curl_sys_inc2 = curl_logical @@ -653,18 +719,18 @@ $! Generate config file into the product directory. $! $! call MoveIfDiff [.lib]config-vms.h 'objdir'curl_config.h $! -$conf_params = "" -$if nossl .ne. 0 then conf_params = conf_params + ",nossl" -$if nohpssl .ne. 0 then conf_params = conf_params + ",nohpssl," -$if ldap .eq. 0 then conf_params = conf_params + ",noldap," -$if nozlib .ne. 0 then conf_params = conf_params + ",nozlib," -$if nokerberos .ne. 0 then conf_params = conf_params + ",nokerberos" -$conf_params = conf_params - "," +$ conf_params = "" +$ if nossl .ne. 0 then conf_params = conf_params + ",nossl" +$ if nohpssl .ne. 0 then conf_params = conf_params + ",nohpssl," +$ if ldap .eq. 0 then conf_params = conf_params + ",noldap," +$ if nozlib .ne. 0 then conf_params = conf_params + ",nozlib," +$ if nokerberos .ne. 0 then conf_params = conf_params + ",nokerberos" +$ conf_params = conf_params - "," $! $! -$new_conf = f$search("''objdir'curl_config.h") -$if new_conf .eqs. "" -$then +$ new_conf = f$search("''objdir'curl_config.h") +$ if new_conf .eqs. "" +$ then $! set ver $ write sys$output "Generating curl custom config_vms.h" $ @'proc_dev_dir'generate_config_vms_h_curl.com ''conf_params' @@ -673,14 +739,14 @@ $ write sys$output "Generating curl_config.h" $ conf_in = f$search("[.lib]curl_config*.*in") $ if conf_in .eqs. "" $ then -$ write sys$output "Can not find [.lib]curl_config*.*in file!" -$ goto common_exit +$ write sys$output "Can not find [.lib]curl_config*.*in file!" +$ goto common_exit $ endif $ @'proc_dev_dir'config_h.com 'conf_in' $ copy config.h 'objdir'curl_config.h $ delete config.h; $! set nover -$endif +$ endif $! $! $! @@ -706,42 +772,42 @@ $! $! $ if (openssl .ne. 0) $ then -$ if (openssl .eq. 1) -$ then +$ if (openssl .eq. 1) +$ then $ 'vo_l' "%CURL-I-LINK_OSSL, linking with OpenSSL (object library)" -$ else +$ else $ 'vo_l' "%CURL-I-LINK_HPSSL, linking with OpenSSL (shared image)" -$ endif +$ endif $ else -$ if (hpssl) -$ then +$ if (hpssl) +$ then $ 'vo_l' "%CURL-I-LINK_HPSSL, linking with HP SSL" -$ else +$ else $ 'vo_l' "%CURL-I-LINK_NOSSL, linking with NO SSL support" -$ endif +$ endif $ endif $! $! $! GNV helper files for building the test curl binary. $!----------------------------------------------- -$create 'exedir'gnv$curl.opt -$open/append opt 'exedir'gnv$curl.opt -$if libzshr_line .nes. "" then write opt libzshr_line -$if gssrtlshr_line .nes. "" then write opt gssrtlshr_line -$if libcryptoshr_line .nes. "" then write opt libcryptoshr_line -$if libsslshr_line .nes. "" then write opt libsslshr_line -$close opt +$ create 'exedir'gnv$curl.opt +$ open/append opt 'exedir'gnv$curl.opt +$ if libzshr_line .nes. "" then write opt libzshr_line +$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line +$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line +$ if libsslshr_line .nes. "" then write opt libsslshr_line +$ close opt $! $! $! Create the libcurl $!------------------------------------------------------ -$create 'exedir'gnv_libcurl_linker.opt -$open/append opt 'exedir'gnv_libcurl_linker.opt -$if libzshr_line .nes. "" then write opt libzshr_line -$if gssrtlshr_line .nes. "" then write opt gssrtlshr_line -$if libcryptoshr_line .nes. "" then write opt libcryptoshr_line -$if libsslshr_line .nes. "" then write opt libsslshr_line -$close opt +$ create 'exedir'gnv_libcurl_linker.opt +$ open/append opt 'exedir'gnv_libcurl_linker.opt +$ if libzshr_line .nes. "" then write opt libzshr_line +$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line +$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line +$ if libsslshr_line .nes. "" then write opt libsslshr_line +$ close opt $! $! $! If we are not on VAX, then we want the debug symbol table in @@ -783,7 +849,7 @@ $ link/debug 'link_map2' 'link_dsf2' /executable = 'exedir'CURL_DEBUG.EXE - 'objdir'curlsrc.olb /library /include = ('tool_main', curlmsg), - 'objdir'curllib.olb /library, - 'exedir'gnv$curl.opt/opt -$set nover +$ set nover $! $ goto Common_Exit $! @@ -792,92 +858,92 @@ $! the directory passed in via P1 and put it in the object library named $! via P3. Exclude items in P4. $! $build: subroutine -$ build_def = f$environment("default") -$ on control_y then goto EndLoop ! SS$_CONTROLY -$ sts = 1 ! SS$_NORMAL. -$! set noon -$ set default 'p1' -$ search = p2 -$ reset = f$search("reset") -$ if f$search( p3) .eqs. "" -$ then +$ build_def = f$environment("default") +$ on control_y then goto EndLoop ! SS$_CONTROLY +$ sts = 1 ! SS$_NORMAL. +$! set noon +$ set default 'p1' +$ search = p2 +$ reset = f$search("reset") +$ if f$search( p3) .eqs. "" +$ then $ librarian /create /object 'p3' -$ endif -$ reject_list__ = "," + f$edit(p4, "COLLAPSE, UPCASE") + "," -$ reject_list___len = f$length(reject_list__) -$ reset = f$search( "reset", 1) +$ endif +$ reject_list__ = "," + f$edit(p4, "COLLAPSE, UPCASE") + "," +$ reject_list___len = f$length(reject_list__) +$ reset = f$search( "reset", 1) $Loop: -$ file = f$search( search, 1) -$ if file .eqs. "" then goto EndLoop -$! Skip a name if it's in the P4 exclusion list. -$ if (p4 .nes. "") -$ then -$ name__ = "," + - +$ file = f$search( search, 1) +$ if file .eqs. "" then goto EndLoop +$! Skip a name if it's in the P4 exclusion list. +$ if (p4 .nes. "") +$ then +$ name__ = "," + - f$edit(f$parse(file, , , "NAME", "SYNTAX_ONLY"), "UPCASE") + - "," -$ if (f$locate(name__, reject_list__) .lt. reject_list___len) -$ then -$ goto Loop -$ endif +$ if (f$locate(name__, reject_list__) .lt. reject_list___len) +$ then +$ goto Loop $ endif -$ objfile = f$parse("''objdir'.OBJ;", file) -$ obj = f$search(objfile, 2) -$ if (obj .nes. "") +$ endif +$ objfile = f$parse("''objdir'.OBJ;", file) +$ obj = f$search(objfile, 2) +$ if (obj .nes. "") +$ then +$ if (f$cvtime(f$file(file,"rdt")) .gts. f$cvtime(f$file(obj,"rdt"))) $ then -$ if (f$cvtime(f$file(file,"rdt")) .gts. f$cvtime(f$file(obj,"rdt"))) -$ then -$ call compile 'file' -$ sts = $status -$ if .not. sts -$ then -$ goto EndLoop -$ endif -$ librarian /object 'p3' 'objfile' -$ else -$ 'vo_o' "%CURL-I-OBJUTD, ", objfile, " is up to date" -$ endif +$ call compile 'file' +$ sts = $status +$ if .not. sts +$ then +$ goto EndLoop +$ endif +$ librarian /object 'p3' 'objfile' $ else -$ 'vo_o' "%CURL-I-OBJDNE, ", file, " does not exist" -$ call compile 'file' -$ sts = $status -$ if .not. sts -$ then -$ goto EndLoop -$ endif -$ librarian /object 'p3' 'objfile' +$ 'vo_o' "%CURL-I-OBJUTD, ", objfile, " is up to date" $ endif -$ goto Loop +$ else +$ 'vo_o' "%CURL-I-OBJDNE, ", file, " does not exist" +$ call compile 'file' +$ sts = $status +$ if .not. sts +$ then +$ goto EndLoop +$ endif +$ librarian /object 'p3' 'objfile' +$ endif +$ goto Loop $EndLoop: $!!! purge -$ set default 'build_def' -$ exit 'sts' +$ set default 'build_def' +$ exit 'sts' $ endsubroutine ! Build $! $! Based on the file TYPE, do the right compile command. $! Only C and MSG supported. $! $compile: subroutine -$ on control_y then return ctrl_y ! SS$_CONTROLY -$! set noon -$ file = p1 -$ qual = p2+ p3+ p4+ p5+ p6+ p7+ p8 -$ typ = f$edit(f$parse(file, , , "TYPE"), "UPCASE") - "." -$ if (typ .eqs. "C") -$ then +$ on control_y then return ctrl_y ! SS$_CONTROLY +$! set noon +$ file = p1 +$ qual = p2+ p3+ p4+ p5+ p6+ p7+ p8 +$ typ = f$edit(f$parse(file, , , "TYPE"), "UPCASE") - "." +$ if (typ .eqs. "C") +$ then $ 'vo_c' "CC (opts) ", file -$ define/user curl 'curl_logical' -$ if curl_sys_krbinc .nes. "" then define/user gssapi 'curl_sys_krbinc' -$ define/user decc$system_include 'sys_inc' +$ define/user curl 'curl_logical' +$ if curl_sys_krbinc .nes. "" then define/user gssapi 'curl_sys_krbinc' +$ define/user decc$system_include 'sys_inc' $ CC 'cc_defs' - 'cc_qual1' - 'cc_qual2' - 'file' -$ else +$ else $ cmd_msg = "MESSAGE " + msg_qual $ x = cmd_'typ' $ 'vo_c' x, " ", file $ 'x' 'file' -$ endif +$ endif $ ENDSUBROUTINE ! Compile $! $! Do a diff of the file specified in P1 with that in P2. If different @@ -885,17 +951,17 @@ $! copy P1 to P2. This also covers if P2 doesn't exist, but not if P2 $! is an invalid filespec. $! $MoveIfDiff: subroutine -$ set NoOn -$ define /user_mode sys$error nl: -$ define /user_mode sys$output nl: -$ differences 'p1' 'p2' -$ status = $status -$ if (status .ne. %X006C8009) ! if status is not "no diff" -$ then +$ set NoOn +$ define /user_mode sys$error nl: +$ define /user_mode sys$output nl: +$ differences 'p1' 'p2' +$ status = $status +$ if (status .ne. %X006C8009) ! if status is not "no diff" +$ then $ copy 'p1' 'p2' $ purge /nolog 'p2' -$ endif -$ on control_y then return ctrl_y ! SS$_CONTROLY +$ endif +$ on control_y then return ctrl_y ! SS$_CONTROLY $ ENDSUBROUTINE ! MoveIfDiff $! $Common_Exit: |