Well, the caching model introduces some weirdness.
First, consider you compile
/home/me/felix/myfile.flx
with cache
/home/me/felix/.felix/cache/text/
then the C++ file will be
/home/me/felix/.felix/cache/text/home/me/felix/myfile.cpp
This is long winded but it guarantees that every distinct *.flx file you
compile will generate a distinct C++ file.
So now, to put the C++ next to the *.flx file you set
--output_dir=/
which has the effect of "lining up" the output tree with the root directory.
The problem is .. there's no way to put the C++ file in a specified place,
that is you can't get the file to be, say,
bundle/myfile.cpp
because now, all file names are absolute. This is correct for a cache.
It's wrong for actual outputs.
Another problem I encountered is that when flx gives flxg an output directory
and a filename, they're ALWAYS concatenated to determine the output file,
AFTER absolutising the filename. There's no way around this. It's essential
for caching to be universal. The problem is, flx has to *guess* the final
location
because it needs to run flx_pkgconfig on the *.resh file and generate
the *.include file.
Of course actually *I* know (well I think I do) the right locations, since I am
writing both algorithms. But they algos are tricky!
In particular, flxg has to do some of its own lookups, when it sees Felix
include files. Also there's the automaton.
The original rule: everything got written next to the *.flx file, or the
**basename*
was added to the output directory, was much simpler.
--
john skaller
[email protected]
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language