$! $! $! $ set noon $ set proc/priv=all $! $ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE") $! $! $! $ inquire new_build "Is this a new build? [Yes]" $ if new_build .eqs. "" then new_build = "Yes" $! $ if new_build $ then $! $! Get the Build Ident number. $! $ cms set library crypto$src:[ossl] $ cms reserve build_ident.dat "" $ open/read build_version build_ident.dat $ open/write new_build_version build_ident.dat $ read build_version build_ident $ build_ident = f$fao("!4ZL",build_ident+1) $ write new_build_version build_ident $ close build_version $ close new_build_version $ cms replace build_ident.dat "" $! $! Determine the platform to be built on. $! $ask_platform: $ inquire build_platform "What platform are we building? (ALPHA or VAX) [''arch_name'] $ if build_platform .eqs. "" then build_platform = "ALPHA" $ if build_platform .nes. "ALPHA" .and. build_platform .nes. "VAX" $ then $ write sys$output " " $ write sys$output " Build platform must be either ALPHA or VAX." $ write sys$output " " $ goto ask_platform $ endif $! $ask_cc_flags: $ inquire cc_qual "What CC qualifiers should be used?" $ write build_info "$ CC_QUAL == ""''cc_qual'"" " $! $! Determine the number of bits - 32 or 64. $! $ open/write build_info crypto$res:[ossl]vms_build_info.com $! $ write build_info "$!" $ write build_info "$! Do not edit this file. It is created by SUBMIT_BUILD.COM." $ write build_info "$! Any changes should be made there." $ write build_info "$!" $ write build_info "$ DEFINE/JOB OPENSSL_NO_IDEA TRUE" $ write build_info "$ DEFINE/JOB OPENSSL_NO_RC5 TRUE" $ write build_info "$!" $ write build_info "$!" $ write build_info "$ BUILD_IDENT == ""''build_ident'"" " $ write build_info "$ BUILD_PLATFORM == ""''build_platform'"" " $! $ if build_platform .eqs. "VAX" $ then $ build_bits = 32 $ write build_info "$!" $ write build_info "$! " $ write build_info "$! Since DECC for VAX does not support" $ write build_info "$! /POINTER_SIZE, we won't use it, and" $ write build_info "$! just let it default to 32 bits on" $ write build_info "$! it's own." $ write build_info "$! " $ write build_info "$! USER_CCFLAGS == ""/pointer_size=32"" " $ write build_info "$ USER_CCFLAGS == """" " $ write build_info "$ BUILD_BITS == ""32"" " $! $ else $ask_bits: $ inquire build_bits "How many bits are we building? (32 or 64) [64]" $ if build_bits .eqs. "" then build_bits = 64 $ if build_bits .nes. "32" .and. build_bits .nes. "64" $ then $ write sys$output " " $ write sys$output " Build bits must be either 32 or 64." $ write sys$output " " $ goto ask_bits $ endif $ if build_bits .eqs. "64" $ then $ write build_info "$ USER_CCFLAGS == ""/pointer_size=64""''cc_qual' " $ write build_info "$ BUILD_BITS == ""64"" " $ else $ write build_info "$ USER_CCFLAGS == ""/pointer_size=32""''cc_qual' " $ write build_info "$ BUILD_BITS == ""32"" " $ endif $ endif $! $ask_cms_class: $ inquire class "What CMS class should be built? [Current]" $ if class .eqs. "" then cms_class = "/GEN" $ cms_class == "/GEN=" + "''class'" $ write build_info "$ CMS_CLASS == ""''CMS_CLASS'"" " $! $! $! Setup platform specific DECC compiler. $! $ write build_info "$!" $ write build_info "$ SET COMMAND CRYPTO$SRC:[OSSL_TOOLS.''build_platform'_DECC_V62]DECC$CLD" $ write build_info "$!" $ write build_info "$ DEFINE DECC$COMPILER CRYPTO$SRC:[OSSL_TOOLS.''build_platform'_DECC_V62]DECC$COMPILER.EXE" $ write build_info "$ DEFINE DECC$COMPILER_MSG CRYPTO$SRC:[OSSL_TOOLS.''build_platform'_DECC_V62]DECC$COMPILER_MSG.EXE" $ write build_info "$ DEFINE DECC$TEXT_LIBRARY CRYPTO$SRC:[OSSL_TOOLS.''build_platform'_DECC_V62]DECC$RTLDEF.TLB" $ write build_info "$ DEFINE DECC$TEXT_LIBRARY_REF CRYPTO$SRC:[OSSL_TOOLS.''build_platform'_DECC_V62]" $ write build_info "$!" $! $! Determine if this is a debug build. $! $ inquire debug_build "Debug build? [Yes]" $ if debug_build .eqs. "" then debug_build = "Yes" $ build_dir = "BUILD_" + "''build_ident'" + "_''build_platform'" + "_''build_bits'" $ if debug_build .eqs. "Yes" $ then $ build_dir = build_dir + "_DEBUG" $ debug_switch = "/DEBUG" $ debug_parameter = "DEBUG" $ else $ debug_build = "No" $ debug_switch = "/NODEBUG" $ debug_parameter = "NODEBUG" $ endif $! $ write sys$output " " $ write sys$output " New build directory will be ", build_dir $ write sys$output " " $! $! Close the info file. $! $ write build_info "$ BUILD_DEBUG == ""''debug_build'"" " $ write build_info "$ DEBUG_SWITCH == ""''debug_switch'"" " $ write build_info "$ DEBUG_PARAM == ""''debug_parameter'"" " $ close build_info $! $! Create the new directory structure. $! $ create/dir crypto$res:[ossl.'build_dir] $ set default crypto$res:[ossl.'build_dir] $ rename/log crypto$res:[ossl]vms_build_info.com crypto$res:[ossl.'build_dir] $ cms fetch create_dir_struct.com "" $ cms fetch fetch_from_cms.com "" $ @create_dir_struct crypto$res:[ossl.'build_dir] $! $! Populate the new directory structure. $! $ @fetch_from_cms crypto$res:[ossl.'build_dir] crypto$src:[ossl] 'cms_class $! $ else $ inquire build_dir "What build do you want to rebuild? (ie. - BUILD_0001_DEBUG)" $ old_tree = "CRYPTO$RES:[OSSL.''build_dir']MAKEVMS.COM;" $ dirnam = f$parse(old_tree) - ".;" $ if "''dirnam'" .eqs. "" $ then $ write sys$output " " $ write sys$output " ''build_dir' can not be parsed." $ write sys$output " " $ write sys$output " No build done. Exiting" $ write sys$output " " $ exit $ endif $! $ if f$locate("ALPHA","''build_dir'") .lt. f$length("''build_dir'") $ then $ build_platform = "ALPHA" $ if f$locate("64","''build_dir'") .lt. f$length("''build_dir'") $ then $ build_bits = 64 $ else $ build_bits = 32 $ endif $ else $ build_platform = "VAX" $ build_bits = 32 $ endif $! $! $ if f$locate("DEBUG","''build_dir'") .lt. f$length("''build_dir'") $ then $ debug_build = "Yes" $ debug_switch = "/DEBUG" $ debug_parameter = "DEBUG" $ else $ debug_build = "No" $ debug_switch = "/NODEBUG" $ debug_parameter = "NODEBUG" $ endif $ endif $! $! $! $ write sys$output " " $ write sys$output " All components will now be built. If you only want to build some" $ write sys$output " components, it is necessary to first build everything as a base." $ write sys$output " See MAKEVMS.COM for more details." $ write sys$output " " $! $! $! $ if "''build_platform'" .eqs. "ALPHA" $ then $ submit /log = crypto$res:[ossl.'build_dir'] - /noprint - /notify - /parameters=(all,norsaref,'debug_parameter',decc,none,nothread) - /queue = ALPHA$BUILD - crypto$res:[ossl.'build_dir']makevms.com $ else $! /queue = NATIVE_VAX$BLD - $ submit /log = crypto$res:[ossl.'build_dir'] - /noprint - /notify - /parameters=(all,norsaref,nodebug,decc,none,nothread) - /queue = VAX$BUILD - crypto$res:[ossl.'build_dir']makevms.com $ endif $! $exit