On Fri, 14 Nov 2008 12:00:54 +1100, "Lex Trotman" elextr@gmail.com wrote:
Hey,
reading your answer tells me I was too rude in my last mail, this was not intended.
As I understand it the options you are offering are:
- leave is_c_header() in and magically header files have no commands
available. As I have explained at length before this is a poor solution for some users.
I never wanted to actually suggest that. If I did so, sorry. The reason why is_c_header() exists is because I/we thought nobody will ever compile a header file. Since this assumption seems to be wrong, we should remove this function.
- take is_c_header() out and all the C/C++ language commands are
available. Compiling depends on the accident that the command for compiling headers is the same as for source. It is for gcc but not for other compilers. Also 'build' is available and will overwrite the file.o from file.cpp with the pre-compiled header from file.hpp. Wrong and confusing
Ok, I didn't know that you actually need special compiler commands. But one of your goals was to allow setting multiple (up to three, IIRC) filetype related build commands. So, an user can set one of those commands to compile header files. And voila, we are done. But I guess you will tell me that I'm wrong again and I forgot about anything.
- use is_c_header() to allow compile and prevent build and execute,
again it magically works different to all other filetypes and still depends on the command being the same
Nah, this wouldn't be nice.
As part of the build system changes the distinction between headers and source needs to be addressed, which is what we are doing discussing it.
Yes, that's right and I think 2. is the way to go. If I'm wrong again, do whatever you like and I won't complain anymore :). But please keep in mind to keep the whole stuff simple. Nobody wants to read 5 paragraphs in the manual just to compile a file.
Regards, Enrico