develooper Front page | perl.vmsperl | Postings from March 2006

PATCH: 2 vms specific build files in perl @ 27383

Thread Next
From:
Peter Prymmer
Date:
March 5, 2006 17:30
Subject:
PATCH: 2 vms specific build files in perl @ 27383
Message ID:
OFF0B19477.39D9ABEB-ON85257129.00070590-85257129.000840D3@factset.com
The enclosed patch tweaks several separate issues:

* It appears that the symbols for several perl utility scripts
were incorrectly altered to omit the critically important .com
file type (this affected the release of perl 5.8.7 and onward).
* The perl_setup.com was incorrectly written to contain two copies
of the define for perl_root.
* On the I64 build the linker no longer allows the PIC PSECT_ATTR
and emits an informational message.
* It seems no longer necessary to have logical names like $ENV{'POD2MAN'},
POD2MAN POD2HTML.

I have also added GCC comments to the two new config.sh variables
and changed the output of the sig_name_init back to the write/symbol
so as to avoid possible very long symbol output problems that are germane 
to DCL
(this was present in perl @ 27370).

diff -ru bleed_at_27383/configure.com bleed/configure.com
--- bleed_at_27383/configure.com        2006-03-05 18:48:41.083276000 
-0500
+++ bleed/configure.com 2006-03-05 18:58:34.376389000 -0500
@@ -1194,6 +1194,9 @@
 $!  Add _ROOT to make install PERL_ROOT differ from build directory.
 $   prefix = prefixbase + "_ROOT.]"
 $ ENDIF
+$ ! more redundant scrubbing of values
+$ prefix = prefix - "000000."
+$ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix - 
"]" + ".]"
 $ src = prefix
 $!: determine root of directory hierarchy where package will be 
installed.
 $ dflt = prefix
@@ -5652,8 +5655,8 @@
 $! WC "d_bsdpgrp='undef'"
 $ WC "d_bsdgetpgrp='undef'"
 $ WC "d_bsdsetpgrp='undef'"
-$ WC "d_builtin_choose_expr='undef'"
-$ WC "d_builtin_expect='undef'"
+$ WC "d_builtin_choose_expr='undef'" ! GCC only
+$ WC "d_builtin_expect='undef'" ! GCC only
 $ WC "d_bzero='" + d_bzero + "'"
 $ WC "d_casti32='define'"
 $ WC "d_castneg='define'"
@@ -6242,7 +6245,9 @@
 $ WC "shortsize='" + shortsize + "'"
 $ WC "shrplib='define'"
 $ WC "sig_name='" + sig_name + "'"
-$ WC "sig_name_init='" + sig_name_init + "'"
+$ tmp = "sig_name_init='" + sig_name_init + "'"
+$ WC/symbol tmp
+$ DELETE/SYMBOL tmp
 $ WC "sig_num='" + sig_num + "'"
 $ WC "sig_num_init='" + sig_num_init + "'"
 $ WC "sig_count='" + sig_count + "'"
@@ -6870,8 +6875,6 @@
 $ pcsi_producer = f$trnlnm("PCSI_PRODUCER")
 $ if pcsi_producer .eqs. ""
 $ then
-$   prefix = prefix - "000000."
-$   IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix - 
"]" + ".]"
 $   WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
 $ else
 $  WRITE CONFIG "$ myproc = f$environment(""PROCEDURE"")"
@@ -6886,12 +6889,6 @@
 $  WRITE CONFIG "$  define/translation=concealed ''vms_prefix' 
'myroot_dev'['myroot_dir'.]"
 $  WRITE CONFIG "$ endif"
 $ endif
-$
-$ prefix = prefix - "000000."
-$ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix - 
"]" + ".]" 
-$ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
-
-
 $ WRITE CONFIG "$ ext = "".exe"""
 $ IF sharedperl
 $ THEN
@@ -6923,9 +6920,6 @@
 $     WRITE CONFIG "$ set command ''vms_prefix':[000000]''packageup'.CLD"
 $   ENDIF
 $ ENDIF !  perl_symbol
-$ WRITE CONFIG "$ define/nolog pod2text 
''vms_prefix':[lib.pod]pod2text.com"
-$ WRITE CONFIG "$ define/nolog pod2html 
''vms_prefix':[lib.pod]pod2html.com"
-$ WRITE CONFIG "$ define/nolog pod2man 
''vms_prefix':[lib.pod]pod2man.com"
 $!
 $ IF (tzneedset)
 $ THEN
@@ -6948,16 +6942,16 @@
 $ WRITE CONFIG "$ h2xs       == """ + perl_setup_perl + " 
''vms_prefix':[utils]h2xs.com"""
 $ WRITE CONFIG "$ instmodsh  == """ + perl_setup_perl + " 
''vms_prefix':[utils]instmodsh.com"""
 $ WRITE CONFIG "$ libnetcfg  == """ + perl_setup_perl + " 
''vms_prefix':[utils]libnetcfg.com"""
-$ WRITE CONFIG "$ perlbug    == """ + perl_setup_perl + " 
''vms_prefix':[lib]perlbug.com"""
+$ WRITE CONFIG "$ perlbug    == """ + perl_setup_perl + " 
''vms_prefix':[utils]perlbug.com"""
 $ WRITE CONFIG "$!perlcc     == """ + perl_setup_perl + " 
''vms_prefix':[utils]perlcc.com"""
-$ WRITE CONFIG "$ perldoc    == """ + perl_setup_perl + " 
''vms_prefix':[lib.pods]perldoc.com """"-t"""""""
+$ WRITE CONFIG "$ perldoc    == """ + perl_setup_perl + " 
''vms_prefix':[utils]perldoc.com """"-t"""""""
 $ WRITE CONFIG "$ perlivp    == """ + perl_setup_perl + " 
''vms_prefix':[utils]perlivp.com"""
 $ WRITE CONFIG "$ piconv     == """ + perl_setup_perl + " 
''vms_prefix':[utils]piconv.com"""
 $ WRITE CONFIG "$ pl2pm      == """ + perl_setup_perl + " 
''vms_prefix':[utils]pl2pm.com"""
-$ WRITE CONFIG "$ pod2html   == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2html"""
-$ WRITE CONFIG "$ pod2latex  == """ + perl_setup_perl + " 
''vms_prefix':[lib.pod]pod2latex.com"""
-$ WRITE CONFIG "$ pod2text   == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2text"""
-$ WRITE CONFIG "$!pod2man    == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2man"""
+$ WRITE CONFIG "$ pod2html   == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2html.com"""
+$ WRITE CONFIG "$ pod2latex  == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2latex.com"""
+$ WRITE CONFIG "$ pod2text   == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2text.com"""
+$ WRITE CONFIG "$!pod2man    == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2man.com"""
 $ WRITE CONFIG "$ pod2usage  == """ + perl_setup_perl + " 
''vms_prefix':[utils]pod2usage.com"""
 $ WRITE CONFIG "$ podchecker == """ + perl_setup_perl + " 
''vms_prefix':[utils]podchecker.com"""
 $ WRITE CONFIG "$ podselect  == """ + perl_setup_perl + " 
''vms_prefix':[utils]podselect.com"""
diff -ru bleed_at_27383/vms/gen_shrfls.pl bleed/vms/gen_shrfls.pl
--- bleed_at_27383/vms/gen_shrfls.pl    2006-03-05 18:48:37.851511000 
-0500
+++ bleed/vms/gen_shrfls.pl     2006-03-05 18:57:43.847968000 -0500
@@ -60,6 +60,10 @@
 chomp $isvax;
 print "\$isvax: \\$isvax\\\n" if $debug;
 
+$isi64 = `\$ Write Sys\$Output \(F\$GetSyI(\"HW_MODEL\") .GE. 4096`;
+chomp $isi64;
+print "\$isi64: \\$isi64\\\n" if $debug;
+
 print "Input \$cc_cmd: \\$cc_cmd\\\n" if $debug;
 $docc = ($cc_cmd !~ /^~~/);
 print "\$docc = $docc\n" if $debug;
@@ -258,8 +262,14 @@
 }
 
 unless ($isgcc) {
-  print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n";
-  print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n";
+  if ($isi64) {
+    print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,NOEXE,RD,NOWRT,SHR\n";
+    print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,NOEXE,RD,WRT,NOSHR\n";
+  }
+  else {
+    print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n";
+    print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n";
+  }
 }
 print OPTBLD "case_sensitive=yes\n" if $care_about_case;
 foreach $var (sort (keys %vars,keys %cvars)) {
End of Patch



I should note that with this compiler:

HP C V7.1-011 on OpenVMS IA64 V8.2-1 

that the kit failed two tests:

lib/Net/Ping/t/510_ping_udp................................FAILED at test 
2
lib/Pod/Simple/t/corpustest................................FAILED--expected 
43 tests, saw 2

But perhaps more disconcerting the command was what happened when I went 
to install the test kit:

$ mmk install
If F$TrnLnm("Sys") .nes. "" Then Deass SYS
MCR Sys$Disk:[]miniperl.exe "-I[.lib]" installperl
Deep recursion on subroutine "File::Path::mkpath" at lib/File/Path.pm line 
171.

and the kit does not install, the perl_root directory is not even created.

Peter Prymmer


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About