The GPL disallows linking to a GPL-incompatible library. However, reading the GPL it seems to me this only applies to distribution of binaries.
So, is it allowed to
- modify a program under the GPL to use a GPL-incompatible library X (with calls to X, and modified build scripts), and
- publish my modified sources under the GPL?
As far as I can see, the requirements to publish the "complete corresponding machine-readable source code" only apply to binary distribution (GPL 2 section 3). The part on modifying the source code (section 2) never mentions anything about "completeness", it just says "work that you distribute or publish". So it seems using a proprietary library does not impact the distribution of the source code, but maybe I'm missing something.
I am interested in answers for both GPL 2 and GPL 3.