When I build a Linux shared object I usually end up with at least 3 new components:- the ".so" file itself, its import library (".a") file and a third file with the extension ".la".

Strictly speaking, I'm building under Cygwin (not literally Linux) but AFAICT, the ".la" file serves no purpose whatsoever. It seems to be a text file containing the name of the shared object together with the name of its associated import lib and a few bits of other information (such as where each file needs to be located). But if I try changing the name of (say) the import lib and then I reflect this in the ".la" file, I can't subsequently link to the import lib. If I were to rename mylib.a and call it mylib.b a subsequent project wouldn't be able to link to mylib - even if I reflected my change in the ".la" file..

I'm not doing this for any reason - I'm just trying to understand what function is served by the ".la" file. Is it just there for information purposes? Or is it only used by certain tools (e.g. make)? Or is it there for historical reasons? What is its relevance?