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