#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