#1049: [TODO] replace the value for $(MAKE) with the actual path
(config/inter/make.pm)
-----------------------+----------------------------------------------------
 Reporter:  doughera   |       Owner:       
     Type:  bug        |      Status:  new  
 Priority:  normal     |   Milestone:       
Component:  configure  |     Version:  1.6.0
 Severity:  medium     |    Keywords:       
     Lang:             |       Patch:       
 Platform:             |  
-----------------------+----------------------------------------------------

Comment(by jkeenan):

 For reference, I am displaying relevant parts of configuration steps:
 {{{
 config/init/defaults.pm

     207         make          => $Config{make},
     208         make_set_make => $Config{make_set_make},
     209         make_and      => '&&',
     210
     211         # make_c: Command to emulate GNU make's C<-C directory>
                   option:  chdir
     212         # to C<directory> before executing $(MAKE)
     213         make_c => '$(PERL) -e \'chdir shift @ARGV;
                   system q{$(MAKE)}, @ARGV; exit $$? >> 8;\'',

 config/inter/make.pm

     106     # setup make_C
     107     _set_make_c($conf, $prog);
     108
     109     return 1;
     110 }
     111
     112 sub _set_make_c {
     113     my ($conf, $prog) = @_;
     114     if ( $conf->data->get('gmake_version') ) {
     115         $conf->data->set( make_c => "$prog -C" );
     116     }
     117     else {
     118
     119         # get the default value
     120         my $make_c = $conf->data->get('make_c');
     121
     122         # TT #1049: this is an ugly hack
     123         # replace the value for $(MAKE) with the actual path
                   or we'll end up
     124         # with a variable that recursively refers to itself
     125         $make_c =~ s/\$\(MAKE\)/$prog/;
     126
     127         $conf->data->set( make_c => $make_c );
     128     }
     129 }

 config/gen/makefiles/root.in

     568 # MAKE CONFIGURATION:
 ...
     572 # This is set to MAKE=$make if your $make command doesn't
     573 # do it for you.
     574 @make_set_make@
     575 MAKE = @make_c@
 }}}

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1049#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to