[0001] [0002] [0003] [0004] [0005] [0006] [0007] [0008] [0009] [0010] [0011] [0012] [0013] [0014] [0015] [0016] [0017] [0018] [0019] [0020] [0021] [0022] [0023] [0024] [0025] [0026] [0027] [0028] [0029] [0030] [0031] [0032] [0033] [0034] [0035] [0036] [0037] [0038] [0039] [0040] [0041] [0042] [0043] [0044] [0045] [0046] [0047] [0048] [0049] [0050] [0051] [0052] [0053] [0054] [0055] [0056] [0057] [0058] [0059] [0060] [0061] [0062] [0063] [0064] [0065] [0066] [0067] [0068] [0069] [0070] [0071] [0072] [0073] [0074] [0075] [0076] [0077] [0078] [0079] [0080] [0081] [0082] [0083] [0084]
$!----------------------------------------------------------------------------- $! 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_<wasd_arch_name>] 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 $! $!-----------------------------------------------------------------------------