X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=vos%2Fbuild.cm;h=ea3649975add532f20abf36486c59c49675ae6c1;hb=58d344df650fc2c90c32381f9e9363069a38509d;hp=8719d050c480f3dec3275fcde1ed3efcab5f23bf;hpb=cb50131aab68ac6dda048612c6e853b8cb08701e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/vos/build.cm b/vos/build.cm index 8719d05..ea36499 100644 --- a/vos/build.cm +++ b/vos/build.cm @@ -2,6 +2,9 @@ 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 & @@ -11,14 +14,22 @@ & necessary, to assign the correct pathname of the directory that & contains VOS POSIX.1 support. & -&set_string POSIX >vos_ftp_site>pub>vos>alpha>posix +&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 + &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 & & Set up the appropriate directory suffix for each architecture. @@ -36,14 +47,26 @@ &then &set_string obj2 .68k &else &set_string obj2 &obj& & +&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 & & If requested, compile the source code. & &if &recompile& = 0 &then &goto CHECK_REBIND & -!set_library_paths include << < &POSIX&>incl &+ +&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 & &if (exists *.obj -link) @@ -52,82 +75,127 @@ & Suppress several harmless compiler warning and advice messages. & Use -list -show_include all -show_macros both_ways when debugging. & -&set_string cflags '-u -O4 -D_POSIX_C_SOURCE=199309L -DPERL_CORE' +&if &compiler& = cc +&then &set_string cflags '-O4 -D_POSIX_C_SOURCE=199506L -DPERL_CORE -u' +&else &set_string cflags '-O4 -D_POSIX_C_SOURCE=199506L -DPERL_CORE -c' +& +& The following is a work-around for stcp-1437,8,9 & -!cc < 0 & (module_info os_release) < 'VOS Release 14.1.0' -&then !cc <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 @@ -147,11 +219,37 @@ &then &set_string c_objlib (master_disk)>system>c_object_library&obj2& &else &set_string c_objlib (master_disk)>system>c_object_library & -!set_library_paths object . &+ - &POSIX&>c>runtime>obj&obj& &+ +&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& &+ - &tcp_objlib& &objlib& &c_objlib& -!bind -control 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&>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& -map + &else !bind -control