Op een grimmige herfstdag (Thursday 14 October 2004 16:47),schreef  Craig A. 
Berry:
> At 1:59 AM +0200 10/14/04, Abe Timmerman wrote:
> >It took me some time, to get this but I've got build-output now.
> >Here is what I did to make this happen:
> >
> >$ define/translation=concealed perl_src
> > disk$user_2:[timmerman.klad.perl-current.] $ define PERL5LIB
> > perl_src:[000000.lib]
> >$ set default perl_src:[000000.ext.encode]
>
> FYI, you don't need the six zeros in the two preceding lines.

I seem to need them, it must be me (vms still is like black magic to me)

> >$ mmk realclean
> >$ define sys$output disk$user_2:[timmerman.klad]mmkencode_out.txt
> >$ mcr [--]miniperl.exe makefile.pl
> >$ mmk/log
> >$ deassign sys$output
> >
> >The output is attached (gzipped).
> >
> >running:
> >     $ mmk ENCODE.C
> >     $ mmk
> >manually makes encode build, it looks like this message in descrip.mms is
> > not quite true:
> >
> ># --- MakeMaker postamble section:
> ># Encode$(OBJ_EXT) depends on .h and .exh files not .c files - but all
> > written by enc2xs Encode$(OBJ_EXT) : def_t.c
> >
> >def_t.c : [.bin]enc2xs Makefile.PL [.ucm]ascii.ucm [.ucm]8859-1.ucm
> > [.ucm]null.ucm [.ucm]ctrl.ucm $(PERL)  [.bin]enc2xs -"Q" -"O" -o $@ -f
> > def_t.fnm
>
> Or it may be true but not complete.  The way I read the comment, it's
> saying that it doesn't really need def_t.c directly, but it does need
> all the other things that get generated at the same time.
>
> What seems problematic to me is the expectation that the make utility
> will also infer the implicit dependency on Encode.c even when it's
> given the explicit dependency on def_t.c.  That's why I previously
> suggested something like the following change to Encode's Makefile.PL:
>
> --- Makefile.PL;-0      Thu Apr 24 15:24:20 2003
> +++ Makefile.PL Sun Oct  3 12:02:36 2004
> @@ -83,8 +83,9 @@
>  {
>      my $self = shift;
>      my $dir  = $self->catdir($self->curdir,'ucm');
> -    my $str  = "# Encode\$(OBJ_EXT) depends on .h and .exh files not .c
> files - but all written by enc2xs\n"; +    my $str  = "# In addition to
> Encode.c, Encode\$(OBJ_EXT) depends on .h and .exh files written by
> enc2xs\n"; $str  .= $^O eq 'MacOS' ?
> 'Encode.c.{$(MACPERL_BUILD_EXT_STATIC)}.o :' : 'Encode$(OBJ_EXT) :'; +   
> $str  .= ' Encode.c';
>      foreach my $table (keys %tables)
>      {
>         $str .= " $table.c";
> [end]

I'm sorry, I forgot about this patch. Now tested like the previous stuff and 
looks like it worked. (main mmk process restarted, will run test_harness 
after that.)

> I have not tested this, and since I don't observe the problem you are
> seeing I can't verify that this will solve it, but it's still my best
> suggestion for how to move forward.

I also tested the patch on OS-X and it doesn't seem to affect it, so I'd say 
the patch can go in.

thanks again +
Good luck,

Abe
-- 
This thread is supposed to be about what it means - not about the 
implementation. I am painfully aware of the implementation issues.
                                    -- Nick Ing-Simmons on p5p @ 2003-05-22

Reply via email to