Ok, in the next commit, I have changed flxg so that the dependencies
of a binary *include* the standard libraries. This means that now,
flx will detect if you modify a standard library file and call flxg.
Previously, flxg would not be called unless

        (a) the cached grammar was invalid
        (b) the compiler itself changed
        (c) the main file or its includes changed

in particular it wouldn't call flxg just because the standard library changed.
This was good for me because using the tools the makefile says:

        flx --test=build/release src/tools/flx_build_rtt .....

This not only builds the target, it will rebuild the build tool first.
If the change breaks something the cached copy of the build tool is wiped,
and I have to go back to the Python build or use a non-cached copy.
But the downside is you have to

        flx --force ...

or even

        flx --clean

to force the library to be rebuilt. This was very confusing. It should be fixed 
now.
The compiler flxg *should* rebuild the library cache and the program now
(I think it always did, the problem was that flxg never got invoked by flx).

The ultimate aim is that the Felix build tools can be invoked to rebuild the
whole Felix system at any time, and if nothing has changed it will all be over
in a few seconds. Or if I change a plugin, that plugin and nothing else is 
rebuilt.
But if I change the standard library all the felix code is rebuilt (but not flxg
and not the RTL which is written in C++).

Ultimately I want the building dependent on the C++ compiler and libs too.
So ultimately running

        flx myprog

will rebuild the whole system if required, C++ libs, flxg, all the caches, etc.

The reason for doing this is as follows: ideally we can update Felix on an 
enterprise
server by just copying the repository to INSTALL/share/src and that's it. All 
the
local builds will then automatically update.

Automatically rebuilding the C++ RTL is a particularly interesting target 
because
if we can get this to work, flx can be used for C++ only projects. It will allow
C++ to be used as a scripting language, i.e. without any makefiles or other 
crap.


--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to