#797: Eliminate need to expand Makefile variables in parrot_config and other
external programs
-----------------------+----------------------------------------------------
 Reporter:  jkeenan    |       Owner:  jkeenan           
     Type:  RFC        |      Status:  assigned          
 Priority:  normal     |   Milestone:                    
Component:  configure  |     Version:  1.3.0             
 Severity:  medium     |    Keywords:  configure makefile
     Lang:             |       Patch:                    
 Platform:  all        |  
-----------------------+----------------------------------------------------

Comment(by jkeenan):

 Replying to [comment:2 jkeenan]:
 >
 > That suggests that ''config/gen/config_pm.pm'' is going to have to do
 more work than it does right now; that we may have to rethink the way it
 composes the files it does; and that we may have to rethink the extent to
 which we store data in the Parrot::Configure object in the form of
 Makefile variables.
 >

 More specifically, should it be our goal to '''eliminate all conditional
 determination''' of configuration values from the ''Makefile''?  Why, for
 instance, do we need code like this in ''config/gen/makefiles/root.in'':
 {{{
 LIBPARROT_STATIC    := @blib_dir@/@libparrot_static@
 #IF(darwin):export DYLD_LIBRARY_PATH := @blib_dir@:$(DYLD_LIBRARY_PATH)
 #IF(win32):LIBPARROT_SHARED  := @libparrot_shared@
 #ELSE:LIBPARROT_SHARED  := @blib_dir@/@libparrot_shared@
 }}}
 By the second-to-last configuration step, don't we already know what OS
 we're on?

 Moreover, if it is ''make'' that has the last word on, ''e.g.,'' what the
 value of `libparrot` is,
 {{{
 # This line controls whether a static or shared library is built
 LIBPARROT           := @libparrot@
 }}}
 ... then none of the generated files or compiled programs which depend on
 values stored in ''lib/Parrot/Config/Generated.pm'' or ''config_lib.pasm''
 would '''ever''' contain or have available to it the final values -- as
 ''make'' determines those values after those two files have been created
 by ''Configure.pl''?

 kid51

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/797#comment:3>
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