&begin_parameters cpu option(-processor)name,allow(mc68020,i80860,pa7100,pa8000),=mc68020 recompile switch(-recompile),=1 rebind switch(-rebind),=1 tgt_mod option(-target_module)module_name,='(current_module)' version option(-version)name,allow(alpha,ga),=ga compiler option(-compiler)name,allow(cc,gcc)=cc &end_parameters &echo command_lines & & This is a VOS command macro to build Perl 5 for the Stratus VOS & operating system. You need to have the VOS POSIX.1 support & loaded on your system. Change the following statement, if & necessary, to assign the correct pathname of the directory that & contains VOS POSIX.1 support. & &if &version& = alpha &then &set_string POSIX >vos_ftp_site>pub>vos>alpha>posix &else &set_string POSIX >system>posix_object_library & & See if the site has VOS POSIX.1 support loaded. If not, quit now. & &if ^ (exists &POSIX& -directory) &then &do &display_line build: VOS POSIX.1 support not found. &POSIX& &return 1 &end & &if &cpu& = mc68020 & &version& = ga | &cpu& = i80860 & &version& = ga &then &do &display_line build: "-version ga" is incompatible with "-processor mc68020 or i80860" &return 1 &end & &if &compiler& = gcc & &version& = alpha &then &do &display_line build: "-compiler gcc" is incompatible with "-version alpha" &return 1 &end & &if &compiler& = gcc & &cpu& = pa8000 &then &do &display_line build: "-compiler gcc" is incompatible with "-processor pa8000" &return 1 &end & & Set up the appropriate directory suffix for each architecture. & &if &cpu& = mc68020 &then &set_string obj '' &if &cpu& = i80860 &then &set_string obj .860 &if &cpu& = pa7100 &then &set_string obj .7100 &if &cpu& = pa8000 &then &set_string obj .8000 & &if &cpu& = mc68020 &then &set_string obj2 68k &else &set_string obj2 (substr &obj& 2) & &if &cpu& = mc68020 &then &set_string bindsize -size large &else &set_string bindsize '' & &if &compiler& = cc &then &do &set_string cpu -processor &cpu& &set_string s .obj &end &else &do &set_string cpu '' &set_string s .o &end & & Suppress several harmless compiler warning and advice messages. & Use -list -show_include all -show_macros both_ways when debugging. & &set_string cflags -D_SVID_SOURCE -D_POSIX_C_SOURCE=199506L -DPERL_CORE -O4 -DPERL_NO_DEV_RANDOM & &if &compiler& = cc &then &set_string cflags &cflags& '-u' &else &set_string cflags &cflags& '-c' & & The following is a work-around for stcp-1437,8,9 & &if &version& = ga &then &set_string cflags &cflags& -D_BSD_SOURCE & &if &compiler& = cc &then &set_string diag -suppress_diag 2006 2064 2065 &else &set_string diag '' & & The following is a work-around for stcp-1570 and GCC. & (and for some perl errors that only cc finds) & &if &compiler& = gcc &then &set_string diag &diag& -w &else &set_string diag &diag& -w1 & &if &version& = alpha &then !set_library_paths include << < &POSIX&>incl &+ (master_disk)>system>include_library &else !set_library_paths include << < &+ (master_disk)>system>stcp>include_library &+ (master_disk)>system>include_library>sysv &+ (master_disk)>system>include_library & &if &compiler& = gcc &then !set_library_paths command '(current_dir)' &+ (master_disk)>system>gnu_library>bin &+ (master_disk)>system>command_library &else !set_library_paths command '(current_dir)' &+ (master_disk)>system>command_library & & If requested, compile the source code. & &if &recompile& = 0 &then &goto CHECK_REBIND & & Some of the compiler invocations need more VM than & the defaults allow. Raise the limits. !update_process_cmd_limits -initial_total_limit 150000000 -initial_heap_limit 100000000 -no_ask & !&compiler& < 0 & (module_info os_release) < 'VOS Release 14.1.0' &then !&compiler& <system>tcp_os>object_library.&obj2&) &then &set_string tcp_objlib (master_disk)>system>tcp_os>object_library.&obj2& &else &set_string tcp_objlib (master_disk)>system>tcp_os>object_library & &if (exists -directory (master_disk)>system>stcp>object_library.&obj2&) &then &set_string stcp_objlib (master_disk)>system>stcp>object_library.&obj2& &else &set_string stcp_objlib (master_disk)>system>stcp>object_library & &if (exists -directory (master_disk)>system>object_library.&obj2&) &then &set_string objlib (master_disk)>system>object_library.&obj2& &else &set_string objlib (master_disk)>system>object_library & &if (exists -directory (master_disk)>system>c_object_library.&obj2&) &then &set_string c_objlib (master_disk)>system>c_object_library.&obj2& &else &set_string c_objlib (master_disk)>system>c_object_library & &if (exists -directory (master_disk)>system>posix_object_library.&obj2&) &then &set_string posix_objlib (master_disk)>system>posix_object_library.&obj2& &else &set_string posix_objlib (master_disk)>system>posix_object_library & &if &version& = alpha &then !set_library_paths object . &tcp_objlib& &+ &POSIX&>c>sysv_runtime>obj&obj& &+ &POSIX&>c>runtime>obj&obj& &+ &c_objlib& &objlib& &else !set_library_paths object . &stcp_objlib& &+ &stcp_objlib&>common &+ &stcp_objlib&>net &+ &stcp_objlib&>sbsd &+ &stcp_objlib&>socket &+ &posix_objlib&>sysv &+ &posix_objlib&>bsd &+ &posix_objlib& &+ &c_objlib& &objlib& &if &compiler& = gcc &then &do &set_string cflags (before &$cflags& -c) !&compiler& <tcp_runtime &tcp_objlib&>tcp_gethost &+ &cpu& -target_module &tgt_mod& &bindsize& -map &else !bind -control