"Craig A. Berry" <[EMAIL PROTECTED]> writes:
> At 10:36 PM +0000 12/31/00, Nick Ing-Simmons wrote:
>>Craig A . Berry <[EMAIL PROTECTED]> writes:
> 
>>  >Loading ../lib/Encode/ascii.enc at ../lib/Encode.pm line 381, <$fh> line 2.
> 
>>The message is left over debug - but has flagged the fact that
>>Encode is not working as expected.
>>The whole point of the complex makefile is to "compile" the encodings
>>into .c files, copmpile the .c files and link them into Encode.so
>>or equivalent. If this works then run-time loading of .enc files
>>should not happen and you should not see the messages that are
>>giving you problems. Does VMS do "static link" or dynamic link?
>>- if static then presumably something needs tweaking to include "encode.lib"
>>or whatever in the perl link.
> 
> Dynamic.  I think the problem may result from the way I have chopped 
> up the "compile" step so that the C compiler only sees part of what 
> it should.  I ended up with 4 versions of iso8859.c, all created 
> within a few seconds of each other and all different, but the C 
> compiler would only see the latest version; I think I'll have to 
> revisit my patch to make the effects of the compile cumulative when 
> that's what you want it to do (or is that possible?).

Here's a different patch for the same problem...it looked to me that
the line-length problem was not occuring for the dependancy line
(after all, that's parsed by MMS/K and not by DCL), but rather for the
Perl command line.  BUT, Perl has no problem doing wildcard expansion,
so I give it a wildcard and let it do the work.  The result is that
all of the ISO8859*.enc files are compiled into ISO8859.c...

...and just now trying the Encode test shows no "loading" messages...

(this is a patch to Perl@8269, a bit simpler than Craig's but to
accomplish the same overall task)

diff -uBb ext/Encode/Makefile.PL-orig ext/Encode/Makefile.PL
--- ext/Encode/Makefile.PL-orig Sun Dec 31 00:35:25 2000
+++ ext/Encode/Makefile.PL      Sun Dec 31 00:55:27 2000
@@ -82,7 +82,12 @@
    $str .= "\n\t\$(PERL) compile \$\@";
    foreach my $file (@{$tables{$table}})
     {
+      next if $^O eq 'VMS' && $file =~ /iso8859.*\.enc/i;
      $str .= ' '.$self->catfile($dir,$file);
+    }
+   if ($^O eq 'VMS' && $table eq 'iso8859') 
+    {
+     $str .= ' [.Encode]iso8859*.enc';
     }
    $str .= "\n\n";
   }



--
 Drexel University       \V                    --Chuck Lane
======]---------->--------*------------<-------[===========
     (215) 895-1545     _/ \  Particle Physics
FAX: (215) 895-5934     /\ /~~~~~~~~~~~        [EMAIL PROTECTED]

Reply via email to