On Thu, 13 Nov 2008 19:39:43 +1100, "Lex Trotman" elextr@gmail.com wrote:
Hi Guys,
Further thoughts on how to allow variations on the commands associated with a filetype, I would propose having a concept of a variant of a filetype. This is just extra information determined from a subset of the filetypes extensions. It can be implemented fully configurable from the filetypes.xxx file so no hard coded magic. An extract of the extended filetypes.c below shows what I mean:
[...]
Attached is a patch against the build-system branch revision 3195 which was before header filetypes changes. It gives you an idea of the amount of code needed to set the variant commands, not too much really and fairly localised. Obviously saving/restoring and using them is part of the upcoming build system changes so the patch does nothing visible.
Sorry guys,
but it seems we are getting a little off the road. The build-system branch has started to improve the build system a little, making it more flexible while keeping it almost as simple and easy to use as it by now. But all this is far away from this. I remember the beginning of this whole discussion where I stated my concerns about possible complexity introduced by Lex' suggestions. He then answered things will stay easy to use but only more flexible. The above don't seem so, sorry.
I don't want to block new things but I really want to keep the build system easy to use. I'd be happy to have some super-flexible and super-fancy build command things in a plugin which can build every file with every option in every possible way at any time or whatever.
But back to topic:
if we remove is_c_header() in build.c, header files can be compiled in the same way as any other C/C++ file. So I still don't see why you want anything more. At least, any other change is IMO not related to header files directly anymore. C header files are simple C source files, same syntax, same language. Only with different semantics but this doesn't affect the compiler or its options. I can compile header files with the same options as source files (to some extend, I'm really talking about compiling, not linking). Analogous the same is true for C++ headers and source files. But we all said this already.
And as far as I understood, your main intention on compiling header files is to easily check for compile errors. That way, the current Compile command should be enough (of course, with is_c_header() code being removed).
Regards, Enrico