Questa parte della GPLv2 sembra indirizzare la tua situazione:
If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Sulla base di ciò, sembrerebbe che la fonte della libreria A possa essere distribuita sotto una licenza BSD, e chiunque abiliti una build di A + B è responsabile della comprensione che il lavoro combinato risultante è sotto GPL.
Hai chiesto specificamente GPLv3 . Ho meno familiarità con esso, e la sua formulazione è meno chiara:
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work...
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
Sembra che la libreria A sia separata e indipendente dalla libreria B, e non penso che opzionalmente, a seconda della libreria B, conterebbe come copiare o adattare parte della libreria B, e assumendo che l'intento di GPLv3 sia simile a GPLv2, sembra che la fonte della libreria A possa essere distribuita sotto una licenza BSD, e chiunque abiliti una build di A + B è responsabile della comprensione che il lavoro combinato risultante è sotto GPL.
Non sono un avvocato, questo non è un consiglio legale, ecc.
Esempi di librerie esistenti: