Currently the files runtime/parrot/include/*.pasm are created during
Configure. But that isn't necessary or rather wrong as no dependencies
are honored.
We should have plain Makefile rules instead, e.g.:
runtime/parrot/include/iglobals.pasm: include/parrot/interpreter.h \
tools/build/gen_pasm_include.pl
tools/build/gen_pasm_include.pl $< > $@ # [1]
see also:
runtime/parrot/include/iglobals.pasm, config/gen/parrot_include.pl, and
grep for 'gen_from_enum' and 'gen_from_def' in parrot include files
[1] estimated syntax, the gen_pasm_include.pl is todo and new but can
simply be derived from the existing config step.
Thanks,
leo
config/gen/parrot_include.pm
config/auto/signal.pm
I think that config/auto/signal.pm needs to stay as a config test as
it's actually probing the system. Rerolling
config/gen/parrot_include.pm as a CLI util should be simple.
-J
--
> There are actually two config tests that generate files under
> runtime/parrot/include.
Please reread the text, e.g.:
>> We should have plain Makefile rules instead, e.g.:
>>
>> runtime/parrot/include/iglobals.pasm: include/parrot/interpreter.h \
>>
>> tools/build/gen_pasm_include.pl
>> tools/build/gen_pasm_include.pl $< > $@ # [1]
leo
Have you looked at what config/auto/signal.pm is actually doing?
-J
--
> Have you looked at what config/auto/signal.pm is actually doing?
Sorry, yes. signal.pasm is special and won't change much at all.
> -J
leo
Here are mentions of 'runtime/parrot/include' in the config/ hierarchy.
$ fns config | xargs grep -n 'runtime/parrot/include'
config/auto/signal.pm:70: my $signalpasm =
"runtime/parrot/include/signal.pasm";
config/gen/makefiles/root.in:202: runtime/parrot/include/config.fpmc \
config/gen/makefiles/root.in:220: runtime/parrot/include/signal.pasm \
config/gen/makefiles/root.in:329: runtime/parrot/include/parrotlib.pbc \
config/gen/makefiles/root.in:581: runtime/parrot/include/parrotlib.pbc \
config/gen/makefiles/root.in:582: runtime/parrot/include/config.fpmc \
config/gen/makefiles/root.in:783:runtime/parrot/include/parrotlib.pbc:
runtime/parrot/library/parrotlib.pir $(PARROT)
config/gen/makefiles/root.in:786:runtime/parrot/include/config.fpmc :
myconfig config_lib.pasm $(MINIPARROT)
config/gen/makefiles/root.in:787: @echo Invoking Parrot to
generate runtime/parrot/include/config.fpmc --cross your fingers
config/gen/makefiles/root.in:832:$(SRC_DIR)/parrot_config.c :
runtime/parrot/include/config.fpmc \
config/gen/parrot_include.pm:10:Generates the F<runtime/parrot/include>
files.
config/gen/parrot_include.pm:28: description => q{Generating
runtime/parrot/include},
config/gen/parrot_include.pm:142:my $destdir = 'runtime/parrot/include';
Can anyone advise? Thank you very much.
kid51