diff options
Diffstat (limited to 'mobicore/common/curl/packages/vms/build_vms.com')
-rw-r--r-- | mobicore/common/curl/packages/vms/build_vms.com | 583 |
1 files changed, 0 insertions, 583 deletions
diff --git a/mobicore/common/curl/packages/vms/build_vms.com b/mobicore/common/curl/packages/vms/build_vms.com deleted file mode 100644 index 276e767..0000000 --- a/mobicore/common/curl/packages/vms/build_vms.com +++ /dev/null @@ -1,583 +0,0 @@ -$! BUILD_VMS.COM -$! -$! I've taken the original build_vms.com, supplied by Nico Baggus, if -$! memory serves me correctly, and made some modifications. -$! -$! SSL support is controlled by logical names. If SSL$INCLUDE is -$! defined, then it is assumed that HP's SSL product has been installed. -$! If OPENSSL is defined, but SSL$INCLUDE is not, then OpenSSL will be -$! used. If neither logical name is defined, then SSL support will not -$! be compiled/linked in. Command-line options NOHPSSL and NOSSL can be -$! specified to override the automatic SSL selection. -$! -$! Command-line Options: -$! -$! CLEAN Delete product files for this host architecture. (No -$! build done.) -$! CLEAN_ALL Delete product files for all host architectures. (No -$! build done.) -$! -$! 64 Compile with 64-bit pointers. -$! CCQUAL=x Add "x" to the C compiler qualifiers. -$! DEBUG Compile and link with debug. -$! IEEE Use IEEE floating point. (Alpha.) -$! LARGE Enable large-file support. (Non-VAX, VMS >= V7.2.) -$! LDAP Enable LDAP support. -$! LIST Create C compiler listings and linker maps. -$! NOHPSSL Don't use HP SSL, even if available. -$! NOSSL Don't use any SSL, even if available. -$! OSSLOLB Use OpenSSL object libraries (.OLB), even if shared -$! images (.EXE) are available. -$! -$! DCL Symbols: -$! -$! CURL_CCDEFS="c_macro_1=value1 [, c_macro_2=value2 [...]]" -$! Compile with these additional C macros defined. -$! -$! Revisions: -$! -$! 2-DEC-2003, MSK, the "original" version. -$! It works for me. Your mileage may vary. -$! 13-JAN-2004, MSK, moved this procedure to the [.packages.vms] directory -$! and updated it to do hardware dependent builds. -$! 29-JAN-2004, MSK, moved logical defines into defines.com -$! 6-FEB-2004, MSK, put in various SSL support bits -$! 9-MAR-2004, MSK, the config-vms.h* files are now copied to the lib and -$! src directories as curl_config.h. -$! 15-MAR-2004, MSK, All of the curlmsg*.* files have also been moved to -$! this build directory. They will be copied to the src -$! directory before build. The .msg file will be compiled -$! to get the .obj for messages, but the .h and .sdl files -$! are not automatically created since they partly rely on -$! the freeware SDL tool. -$! 8-FEB-2005, MSK, merged the two config-vms.h* files into one that uses -$! USE_SSLEAY to define if the target has SSL support built -$! in. Changed the cc/define parameter accordingly. -$! 11-FEB-2005, MSK, If [--.LIB]AMIGAOS.C and NWLIB.C are there, rename them -$! 23-MAR-2005, MSK, relocated cc_qual define so that DEBUG option would work -$! 25-APR-2007, STL, allow compilation in 64-bit mode. -$! 13-DEC-2009. SMS, Changed to skip unwanted source files without -$! renaming the original files. -$! Eliminated needless, persistent logical names. -$! Added CURL_CCDEFS DCL symbol for user-specified C -$! macro definitions. -$! Added CLEAN and CLEAN_ALL options. -$! Added CCQUAL option for user-specified C compiler -$! qualifiers. -$! Added IEEE option for IEEE floating point (Alpha). -$! Added LARGE option for large-file support. -$! Added OSSLOLB option, and support for OpenSSL -$! shared images. -$! Changed to put listing and map files into lisdir:. -$! Changed to avoid case confusion on ODS5 disks. -$! Added more default dev:[dir] save+restore. -$! Moved remaining "defines.com" code (back) into -$! here, eliminating the hard-coded OpenSSL nonsense. -$! Changed to use F$GETSYI( "ARCH_NAME") (or -$! equivalent) to name architecture-specific product -$! file destination directory, and to create the -$! directory if needed (obviating inclusion of these -$! directories and dummy files in the distribution -$! kit). -$! Changed the "compile" subroutine to break the CC -$! 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. -$! -$! -$! Save the original default dev:[dir], and arrange for its restoration -$! at exit. -$! -$ curl = "" -$ orig_def = f$environment( "DEFAULT") -$ on error then goto Common_Exit -$ on control_y then goto Common_Exit -$! -$ ctrl_y = 1556 -$ proc = f$environment( "PROCEDURE") -$ proc_dev_dir = - - f$parse( proc, , , "DEVICE")+ f$parse( proc, , , "DIRECTORY") -$! -$! Verbose output message stuff. Define symbol to "write sys$output" or "!". -$! vo_c - verbose output for compile -$! vo_l - link -$! vo_o - object check -$! -$ vo_c = "write sys$output" -$ vo_l = "write sys$output" -$ vo_o = "!" -$! -$! Determine the main distribution directory ("[--]") in an -$! ODS5-tolerant (case-insensitive) way. (We do assume that the only -$! "]" is the one at the end.) -$! -$ set default 'proc_dev_dir' -$ set default [--] -$ top_dev_dir = f$environment( "DEFAULT")- "]" -$! -$! Define the architecture-specific product file destination directory -$! name(s). -$! -$ if (f$getsyi( "HW_MODEL") .lt. 1024) -$ then -$ 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" -$ endif -$! -$ exedir = proc_dev_dir- "]"+ ".''arch_name']" -$ lisdir = exedir -$ objdir = exedir -$! -$! Interpret command-line options. -$! -$ hpssl = 0 -$ ldap = 0 -$ list = 0 -$ nohpssl = 0 -$ nossl = 0 -$ openssl = 0 -$ osslolb = 0 -$ cc_qual1 = "" -$ cc_qual2 = "" -$ cc_defs = "HAVE_CONFIG_H=1" -$ if (f$type( CURL_CCDEFS) .nes. "") -$ then -$ CURL_CCDEFS = f$edit( CURL_CCDEFS, "TRIM") -$ cc_defs = cc_defs+ ", "+ CURL_CCDEFS -$ endif -$ link_qual = "" -$ msg_qual = "/object = ''objdir'" -$ ssl_opt = "" -$! -$ arg = 1 -$arg_loop: -$ p = "p''arg'" -$ arg_val = 'p' -$ if (arg_val .eqs. "") then goto arg_loop_out -$ arg_val = f$edit( arg_val, "upcase") -$! -$ if (arg_val .eqs. "CLEAN") -$ 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 delete /log 'prods' -$ goto Common_Exit -$ endif -$! -$ if (arg_val .eqs. "CLEAN_ALL") -$ then -$ prods = proc_dev_dir- "]"+ ".ALPHA]*.*;*" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ prods = proc_dev_dir+ "ALPHA"+ ".DIR;1" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ prods = proc_dev_dir- "]"+ ".IA64]*.*;*" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ prods = proc_dev_dir+ "IA64"+ ".DIR;1" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ prods = proc_dev_dir- "]"+ ".VAX]*.*;*" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ prods = proc_dev_dir+ "VAX"+ ".DIR;1" -$ if (f$search( prods) .nes. "") then delete /log 'prods' -$ goto Common_Exit -$ endif -$! -$ if (arg_val .eqs. "64") -$ then -$ cc_qual1 = cc_qual1+ " /POINTER = 64" -$ goto arg_loop_end -$ endif -$! -$ if (f$extract( 0, 6, arg_val) .eqs. "CCQUAL") -$ then -$ opts = f$edit( arg_val, "COLLAPSE") -$ eq = f$locate( "=", opts) -$ cc_qual2 = f$extract( (eq+ 1), 1000, opts) -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "DEBUG") -$ then -$ cc_qual1 = cc_qual1+ " /debug /nooptimize" -$ link_qual = link_qual+ " /debug" -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "IEEE") -$ then -$ cc_qual1 = cc_qual1+ " /FLOAT = IEEE_FLOAT" -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "LARGE") -$ then -$ if (arch_name .eqs. "VAX") -$ then -$ write sys$output """LARGE"" is ignored on VAX." -$ else -$ cc_defs = cc_defs+ ", _LARGEFILE=1" -$ endif -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "LDAP") -$ then -$ ldap = 1 -$ goto arg_loop_end -$ endif -$! -$ if (f$extract( 0, 4, arg_val) .eqs. "LIST") -$ then -$ list = 1 -$ cc_qual1 = cc_qual1+ " /list = ''lisdir' /show = (all, nomessages)" -$ link_qual = link_qual+ " /map = ''lisdir'" -$ msg_qual = msg_qual+ " /list = ''lisdir'" -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "NOHPSSL") -$ then -$ nohpssl = 1 -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "NOSSL") -$ then -$ nossl = 1 -$ goto arg_loop_end -$ endif -$! -$ if (arg_val .eqs. "OSSLOLB") -$ then -$ osslolb = 1 -$ goto arg_loop_end -$ endif -$! -$ write sys$output "Unrecognized command-line option: ''arg_val'" -$ goto Common_Exit -$! -$arg_loop_end: -$ arg = arg+ 1 -$ goto arg_loop -$arg_loop_out: -$! -$! CC /LIST, LINK /MAP, and MESSAGE /LIST are defaults in batch mode, -$! so be explicit when they're not desired. -$! -$ if (list .eq. 0) -$ then -$ cc_qual1 = cc_qual1+ " /nolist" -$ link_qual = link_qual+ " /nomap" -$ msg_qual = msg_qual+ " /nolist" -$ endif -$! -$! Create product directory, if needed. -$! -$ if (f$search( proc_dev_dir+ arch_name+ ".DIR;1") .eqs. "") -$ then -$ create /directory 'exedir' -$ endif -$! -$! Detect available (but not prohibited) SSL software. -$! -$ 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 -$ ssl_opt = ", ''proc_dev_dir'hpssl_"+ - - f$getsyi("ARCH_NAME")+ ".opt /options" -$ else -$! Use OpenSSL. Assume object libraries, unless shared images -$! are found (and not prohibited). -$ openssl = 1 -$ 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 -$ ssl_opt = ", ''proc_dev_dir'openssl_ssl_"+ - - f$getsyi("ARCH_NAME")+ ".opt /options" -$ 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 -$ ssl_opt = ", ''proc_dev_dir'openssl_"+ - - f$getsyi("ARCH_NAME")+ ".opt /options" -$ endif -$ endif -$ endif -$ endif -$ endif -$ endif -$! -$! LDAP. -$! -$ if (ldap .eq. 0) -$ then -$ cc_defs = cc_defs+ ", CURL_DISABLE_LDAP=1" -$ endif -$! -$! Form CC qualifiers. -$! -$ cc_defs = "/define = (''cc_defs')" -$ cc_qual2 = cc_qual2+ " /object = ''objdir'"+ - - " /include = ([-.lib], [-.src],"+ - - " [-.packages.vms], [-.packages.vms.''arch_name'])" -$! -$ 'vo_c' "CC opts:", - - " ''cc_defs'", - - " ''cc_qual1'", - - " ''cc_qual2'" -$! -$! Inform the victim of our plans. -$! -$ if (hpssl) -$ then -$ 'vo_c' "%CURL-I-BLDHPSSL, building with HP SSL support" -$ else -$ if (openssl .ne. 0) -$ then -$ if (openssl .eq. 1) -$ then -$ 'vo_c' - - "%CURL-I-BLDOSSL_OLB, building with OpenSSL (object library) support" -$ else -$ 'vo_c' - - "%CURL-I-BLDOSSL_EXE, building with OpenSSL (shared image) support" -$ endif -$ else -$ 'vo_c' "%CURL-I-BLDNOSSL, building with NO SSL support" -$ endif -$ endif -$! -$! Announce destination and SSL directories. -$! -$ 'vo_c' " OBJDIR = ''objdir'" -$ 'vo_c' " EXEDIR = ''exedir'" -$! -$ if (openssl .ne. 0) -$ then -$ ssllib = f$trnlnm( "ssllib") -$ if (ssllib .eqs. "") -$ then -$ ssllib = "(undefined)" -$ endif -$ 'vo_c' " SSLLIB = ''ssllib'" -$! -$ if (openssl .eq. 1) -$ then -$ ossl_lib1 = f$trnlnm( "ssllib")+ "LIBSSL.OLB" -$ ossl_lib2 = f$trnlnm( "ssllib")+ "LIBCRYPTO.OLB" -$ msg = "object libraries" -$ else -$ if (openssl .eq. 2) -$ then -$ 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" -$ endif -$ msg = "shared images" -$ 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 -$! -$! Define the "curl" (process) logical name for "#include <curl/xxx.h>". -$! -$ curl = f$trnlnm( "curl", "LNM$PROCESS") -$ if (curl .nes. "") -$ then -$ write sys$output "" -$ write sys$output - - "Process logical name ""curl"" is already defined, but this procedure" -$ write sys$output - - "would override that definition. Use a command like" -$ write sys$output - - " deassign /process curl" -$ write sys$output - - "to cancel that logical name definition, and then and re-run this procedure." -$ write sys$output "" -$ goto Common_Exit -$ endif -$ define curl 'top_dev_dir'.include.curl] -$! -$! Copy the VMS-specific config file into the product directory. -$! -$ call MoveIfDiff 'top_dev_dir'.lib]config-vms.h 'objdir'curl_config.h -$! -$ on control_y then goto Common_Exit -$! -$ set default 'proc_dev_dir' -$ call build "[--.lib]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos" -$ if ($status .eq. ctrl_y) then goto Common_Exit -$ call build "[--.src]" "*.c" "''objdir'CURLSRC.OLB" -$ if ($status .eq. ctrl_y) then goto Common_Exit -$ call build "[]" "*.msg" "''objdir'CURLSRC.OLB" -$ if ($status .eq. ctrl_y) then goto Common_Exit -$! -$ ldap_opt = "" -$ if (ldap .ne. 0) then ldap_opt = ", ''proc_dev_dir'ldap.opt /options" -$! -$ if (openssl .ne. 0) -$ then -$ if (openssl .eq. 1) -$ then -$ 'vo_l' "%CURL-I-LINK_OSSL, linking with OpenSSL (object library)" -$ else -$ 'vo_l' "%CURL-I-LINK_HPSSL, linking with OpenSSL (shared image)" -$ endif -$ else -$ if (hpssl) -$ then -$ 'vo_l' "%CURL-I-LINK_HPSSL, linking with HP SSL" -$ else -$ 'vo_l' "%CURL-I-LINK_NOSSL, linking with NO SSL support" -$ endif -$ endif -$! -$ link 'link_qual' /executable = 'exedir'CURL.EXE - - 'objdir'curlsrc.olb /library /include = (main, curlmsg), - - 'objdir'curllib.olb /library - - 'ssl_opt' - - 'ldap_opt' -$! -$ goto Common_Exit -$! -$! Subroutine to build everything with a filetype passed in via P2 in -$! 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 -$ librarian /create /object 'p3' -$ 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__ = ","+ - - f$edit( f$parse( file, , , "NAME", "SYNTAX_ONLY"), "UPCASE")+ - - "," -$ if (f$locate( name__, reject_list__) .lt. reject_list___len) -$ then -$ goto Loop -$ endif -$ 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 -$ 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 -$ 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' -$ 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 -$ 'vo_c' "CC (opts) ", file -$ CC 'cc_defs' - - 'cc_qual1' - - 'cc_qual2' - - 'file' -$ else -$ cmd_msg = "MESSAGE "+ msg_qual -$ x = cmd_'typ' -$ 'vo_c' x," ",file -$ 'x' 'file' -$ endif -$ ENDSUBROUTINE ! Compile -$! -$! Do a diff of the file specified in P1 with that in P2. If different -$! 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 -$ copy 'p1' 'p2' -$ purge /nolog 'p2' -$ endif -$ on control_y then return ctrl_y ! SS$_CONTROLY -$ ENDSUBROUTINE ! MoveIfDiff -$! -$Common_Exit: -$ set default 'orig_def' -$ if ((curl .eqs. "") .and. (f$trnlnm( "curl", "LNM$PROCESS") .nes. "")) -$ then -$ deassign curl -$ endif -$ exit |