Hi Przemek,
The text is clear for me but it's not clear for me what you used
so far. In my opinion such functionality can be implemented only
inside PP and all tools which tries to make it without replicating
whole PP logic with all compiler predefined settings and macros are
buggy by definitions and users can always create some code which will
confuse them. HBMK2 is not an exception here (I haven't even know
that it tries to make that) so I'm interesting what is your
alternative
and what you used so far.
I can add such functionality for .prg code to Harbour compiler
(GCC already have it for C code) and it's the only one place where
it can be well implemented. So far only Lorenzo asked about it.
If it's really important then I'll implement it but I do not
understand
why hbmk2 cannot be used without this feature and what is the core
of problem. One of the most important hbmk2 job is hiding differences
between C compilers and some Harbour internals like platform or
installation dependent settings so it can be always used as simple
wrapper to Harbour and C compilers and linker. The incremental mode
is only additional functionality which you do not have to use.
Anyhow if HBMK2 tries to detect automatically included files then
it should be done correctly though I can still imagine situations
when only manually created dependence list will work.
BTW does HBMK2 supports dependencies list defined by user?
Current detection is very simple. It fits my case perfectly,
since I only use the bare standard syntax for #includes.
I left a NOTE about "beefing it up" for more exotic scenarios.
But I had no interest in it and didn't want to slow it down.
User defined dependencies in the sense of GNU Make and RMAKE
aren't possible and these fall far from the original idea of
hbmk2.
Due to simple nature of detection, it's possible to "fake"
dependencies using syntax: '// #include "myfile.ch"'
I believe with proper PP processing it's possible to find
out header dependencies in an accurate way, so such manual
method can be left as a thing of the past. Automatic detection
works in most modern build environments.
Brgds,
Viktor
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour