I have a question on the todo item #32365 "TODO improve
parrot-config.imc". I include the text of the TODO at the bottom of this
message. My understanding of this request is this:
a) There is a frozen pmc hash of configuration data which comes from the
build system (after a good build). This data will be called configure
data in the following.
b) the author of the TODO wants a means to associate groups of configure
data to simple command line arguments. So for example one could write
$ c++ `parrot parrot-config.imc --link-time-stuff` parrot_mem.o
rather than
$ c++ -o parrot_mem -Wall parrot_mem.o -Lblib/lib \
-lparrot `parrot parrot-config.imc libs linkflags` \
-licuuc -licudata
c) That this TODO *does not* have to do with collecting more data via
the build system. (I'm confused about the part that reads "But not all
information is there or like the icu-libs a bit scattered" at the
bottom of the ticket).
Thanks for the clarification,
Pete
=======================================================================
parrot-config.imc is able to extract config options from Parrot's
config and print it to stdout. This is e.g. useful for building
Parrot-based programs:
$ cc -Iinclude -c -Wall parrot_mem.c
$ c++ -o parrot_mem -Wall parrot_mem.o -Lblib/lib \
-lparrot `parrot parrot-config.imc libs linkflags` \
-licuuc -licudata
$ ./parrot_mem
sizeof Interp 252
...
But not all information is there or like the icu-libs a bit scattered.
So the goal is to either have the necessary items in config[1] or
provide
some shortcuts in parrot-config.imc to combine all compile and link
settings so that we can e.g.
`./parrot parrot-config.imc --compile_cmd` -c foo.c
`./parrot parrot-config.imc --link_cmd` foo.o -o foo
or some such.
Thanks,
leo
=====================================================================
> I have a question on the todo item #32365 "TODO improve
> parrot-config.imc". I include the text of the TODO at the bottom of this
> message. My understanding of this request is this:
> a) There is a frozen pmc hash of configuration data which comes from the
> build system (after a good build).
Yes
> b) the author of the TODO wants a means to associate groups of configure
> data to simple command line arguments. So for example one could write
> $ c++ `parrot parrot-config.imc --link-time-stuff` parrot_mem.o
Yes. parrot-config.imc can extract individual items from the frozen
config and print these to stdout. The idea is to extend this
functionality to have a tool like "gtk-config" that easily allows to
compile and link extensions to parrot.
> c) That this TODO *does not* have to do with collecting more data via
> the build system. (I'm confused about the part that reads "But not all
> information is there or like the icu-libs a bit scattered" at the
> bottom of the ticket).
Well, I didn't look too close if something is missing ;) It's probably
just a matter of bundling the necessary items.
> Thanks for the clarification,
> Pete
leo