|Subject:||Allow users to add to, rather than override, parameters|
Doing some work with XS, I'm finding Module::Build to be lacking some subtle but important ways to modify how the C compilation and linking is done. First, it lacks a way to change the optimization flags (-O and -g) without altering all the other cflags. This can be important for things like Devel::Cover which sets -O0 in order to ensure no code lines are optimized away. This leads into the more general problem of how to add to the switches without overriding them? Right now both the module author and the module user use extra_compiler_flags and extra_linker_flags. This leaves no way, from the command line, to add flags without overriding the author's own. Similar problems with include_dirs. This might best be solved by adding an across the board way of appending to a parameter from the command line and from new(). This might be as simple as making an _append or _add version of each parameter.