$!----------------------------------------------------------------------------- $! ARCHER.COM $! $! Determine the system architecture and set a couple of global symbols, $! VMS_ARCH_NAME and WASD_ARCH_NAME, to contain upper-cased equivalents. $! The WASD_ARCH_NAME shows "AXP" instead of "Alpha", "IA64", and "X86_64". $! The corresponding [.OBJ_] object file directory is also $! created in the current directory if it does not already exist. $! $! In the interim it will also use "X86_64" if the XCC$COMPILER logical name $! is detected, allowing relatively transparent builds across architectures. $! $! Copyright (C) 2021 Mark G.Daniel. $! $! Licensed under the Apache License, Version 2.0 (the "License"); $! you may not use this file except in compliance with the License. $! You may obtain a copy of the License at $! $! http://www.apache.org/licenses/LICENSE-2.0 $! $! Unless required by applicable law or agreed to in writing, software $! distributed under the License is distributed on an "AS IS" BASIS, $! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. $! See the License for the specific language governing permissions and $! limitations under the License. $! $!----------------------------------------------------------------------------- $ vms_arch_name == f$edit(f$getsyi("arch_name"),"upcase") $ if vms_arch_name .eqs. "VAX" $ then $ write sys$output "VAX no longer supported - it did have a 26 year run!" $ exit 44 $ endif $! $ wasd_arch_name == f$edit(vms_arch_name,"upcase") $ if wasd_arch_name .eqs. "ALPHA" then wasd_arch_name == "AXP" $! $! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $! This kludge may be removed once native compilers become available $! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $! $ if f$trnlnm("XCC$WASD","LNM$PROCESS") .eqs. "" .and. - f$trnlnm("XCC$COMPILER","LNM$PROCESS") .nes. "" $ then $ type sys$input ************************************************* * VMS x86-64 CROSS-DEVELOPMENT TOOLS DETECTED * ************************************************* $ show log xcc* /table=lnm$process $ write sys$output "" $ response = "" $ read sys$command response /prompt="Continue using XCC$COMPILER? [NO]: " $ say "" $ if response $ then $ define /process /nolog XCC$WASD "YES" $ else $ define /process /nolog XCC$WASD "NO" $ exit 44 $ endif $ endif $! $ if f$trnlnm("XCC$WASD","LNM$PROCESS") .nes. "" .and. - f$trnlnm("XCC$WASD","LNM$PROCESS") .eqs. "YES" .and. - f$trnlnm("XCC$COMPILER","LNM$PROCESS") .nes. "" $ then $ vms_arch_name == "X86_64" $ wasd_arch_name == "X86_64" $ endif $! $! (if an application has been specified then announce and check for directory) $ if P1 .nes. "" $ then $ write sys$output f$fao("!/Building !AS for !AS", P1, wasd_arch_name) $ object_dir == "[.obj_''wasd_arch_name']" $ wasd_obj_dir == "[.obj_''wasd_arch_name']" $ if f$search("obj_''wasd_arch_name'.dir") .eqs. "" $ then $ create /dir 'wasd_obj_dir' $ endif $ endif $! $!-----------------------------------------------------------------------------