← Back to context

Comment by HarHarVeryFunny

3 days ago

> Why do we still have to recompile the whole program everytime we make a change

Are you talking about compiling, or linking, or both?

GNU ld has supported incremental linking for ages, and make systems only recompile things based on file level dependencies.

I guess recompilation could perhaps be smarter based on what changed or was added/deleted to a module definition (e.g C header file), but this would seem difficult to get right. Maybe you just add a new function to a module, so no need to recompile other modules that use it, right? Except what if there is now a name clash and they would fail if recompiled?