2 cpu option(-processor)name,allow(mc68020,i80860,pa7100,pa8000),=mc68020
3 recompile switch(-recompile),=1
4 rebind switch(-rebind),=1
8 & This is a VOS command macro to build Perl 5 for the Stratus VOS
9 & operating system. You need to have the VOS POSIX.1 support
10 & loaded on your system. Change the following statement, if
11 & necessary, to assign the correct pathname of the directory that
12 & contains VOS POSIX.1 support.
14 &set_string POSIX >vos_ftp_site>pub>vos>alpha>posix
16 & See if the site has VOS POSIX.1 support loaded. If not, quit now.
18 &if ^ (exists &POSIX& -directory)
20 &display_line build: VOS POSIX.1 support not found. &POSIX&
24 & Set up the appropriate directory suffix for each architecture.
27 &then &set_string obj ''
29 &then &set_string obj .860
31 &then &set_string obj .7100
33 &then &set_string obj .8000
36 &then &set_string obj2 .68k
37 &else &set_string obj2 &obj&
39 &set_string cpu -processor &cpu&
41 & If requested, compile the source code.
44 &then &goto CHECK_REBIND
46 !set_library_paths include << < &POSIX&>incl &+
47 (master_disk)>system>include_library
49 &if (exists *.obj -link)
50 &then !unlink *.obj -no_ask -brief
52 & Suppress several harmless compiler warning and advice messages.
53 & Use -list -show_include all -show_macros both_ways when debugging.
55 &set_string cflags '-u -O4 -D_POSIX_C_SOURCE=199309L -DPERL_CORE'
57 !cc <<av.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
58 &if (command_status) ^= 0 &then &return
59 !cc <<deb.c -suppress_diag 2006 &cpu& &cflags&
60 &if (command_status) ^= 0 &then &return
61 !cc <<doio.c -suppress_diag 2006 &cpu& &cflags&
62 &if (command_status) ^= 0 &then &return
63 !cc <<doop.c -suppress_diag 2006 &cpu& &cflags&
64 &if (command_status) ^= 0 &then &return
65 !cc <<dump.c -suppress_diag 2006 &cpu& &cflags&
66 &if (command_status) ^= 0 &then &return
67 !cc <<ebcdic.c -suppress_diag 2006 &cpu& &cflags&
68 &if (command_status) ^= 0 &then &return
69 !cc <<globals.c -suppress_diag 2006 &cpu& &cflags&
70 &if (command_status) ^= 0 &then &return
71 !cc <<gv.c -suppress_diag 2006 2065 &cpu& &cflags&
72 &if (command_status) ^= 0 &then &return
73 !cc <<hv.c -suppress_diag 2006 &cpu& &cflags&
74 &if (command_status) ^= 0 &then &return
75 & !cc <<malloc.c -suppress_diag 2006 &cpu& &cflags&
76 & &if (command_status) ^= 0 &then &return
77 !cc <<mg.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
78 &if (command_status) ^= 0 &then &return
79 !cc <<miniperlmain.c -suppress_diag 2006 &cpu& &cflags&
80 &if (command_status) ^= 0 &then &return
81 !cc <<op.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
82 &if (command_status) ^= 0 &then &return
83 !cc <<perl.c -suppress_diag 2006 2053 2065 &cpu& &cflags& &+
84 -DARCHLIB="/system/ported/perl/lib/5.005&obj2&" &+
85 -DARCHLIB_EXP="/system/ported/perl/lib/5.005&obj2&" &+
86 -DSITEARCH="/system/ported/perl/lib/site/5.005&obj2&" &+
87 -DSITEARCH_EXP="/system/ported/perl/lib/site/5.005&obj2&"
88 &if (command_status) ^= 0 &then &return
89 !cc <<perlapi.c &cpu& &cflags&
90 &if (command_status) ^= 0 &then &return
91 !cc <<perlio.c -suppress_diag 2006 &cpu& &cflags&
92 &if (command_status) ^= 0 &then &return
93 !cc <<perly.c -suppress_diag 2006 &cpu& &cflags&
94 &if (command_status) ^= 0 &then &return
95 & compiling pp.c for the PA-RISC hits compiler bug pcg-98; avoid it.
96 & The bug is fixed in VOS 14.1.0 and all later releases.
97 &if (index (string &cpu&) pa) > 0 & (module_info os_release) < 'VOS Release 14.1.0'
98 &then !cc <<pp.c -suppress_diag 2006 2064 2065 &cpu& &cflags& -no_schedule
99 &else !cc <<pp.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
100 &if (command_status) ^= 0 &then &return
101 !cc <<pp_ctl.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
102 &if (command_status) ^= 0 &then &return
103 !cc <<pp_hot.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
104 &if (command_status) ^= 0 &then &return
105 !cc <<pp_sys.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
106 &if (command_status) ^= 0 &then &return
107 !cc <<regcomp.c -suppress_diag 2006 2064 &cpu& &cflags&
108 &if (command_status) ^= 0 &then &return
109 !cc <<regexec.c -suppress_diag 2006 2064 &cpu& &cflags&
110 &if (command_status) ^= 0 &then &return
111 !cc <<run.c -suppress_diag 2006 2065 &cpu& &cflags&
112 &if (command_status) ^= 0 &then &return
113 !cc <<scope.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
114 &if (command_status) ^= 0 &then &return
115 !cc <<sv.c -suppress_diag 2006 2065 &cpu& &cflags&
116 &if (command_status) ^= 0 &then &return
117 !cc <<taint.c -suppress_diag 2006 &cpu& &cflags&
118 &if (command_status) ^= 0 &then &return
119 !cc <<toke.c -suppress_diag 2006 2064 2065 &cpu& &cflags&
120 &if (command_status) ^= 0 &then &return
121 !cc <<universal.c -suppress_diag 2006 &cpu& &cflags&
122 &if (command_status) ^= 0 &then &return
123 !cc <<utf8.c -suppress_diag 2065 &cpu& &cflags&
124 &if (command_status) ^= 0 &then &return
125 !cc <<util.c -suppress_diag 2006 2065 &cpu& &cflags&
126 &if (command_status) ^= 0 &then &return
127 !cc <<xsutils.c &cpu& &cflags&
128 &if (command_status) ^= 0 &then &return
129 !cc <vos_dummies.c &cpu& -O4
130 &if (command_status) ^= 0 &then &return
132 & If requested, bind the executable program module.
138 &if (exists -directory (master_disk)>system>tcp_os>object_library&obj2&)
139 &then &set_string tcp_objlib (master_disk)>system>tcp_os>object_library&obj2&
140 &else &set_string tcp_objlib (master_disk)>system>tcp_os>object_library
142 &if (exists -directory (master_disk)>system>object_library&obj2&)
143 &then &set_string objlib (master_disk)>system>object_library&obj2&
144 &else &set_string objlib (master_disk)>system>object_library
146 &if (exists -directory (master_disk)>system>c_object_library&obj2&)
147 &then &set_string c_objlib (master_disk)>system>c_object_library&obj2&
148 &else &set_string c_objlib (master_disk)>system>c_object_library
150 !set_library_paths object . &+
151 &POSIX&>c>runtime>obj&obj& &+
152 &POSIX&>c>sysv_runtime>obj&obj& &+
153 &tcp_objlib& &objlib& &c_objlib&
154 !bind -control <perl.bind &cpu& -map
155 &if (command_status) ^= 0 &then &return
156 !delete_file *.obj -no_ask -brief
157 !unlink *.obj -no_ask -brief