--- Igor Pechtchanski wrote:
> > In building the program, the gcc linker commands use the flag > > "-lreadline". Since both static and dynamic readline link libraries are > > present in /lib, apparently the linker prefers the dynamic library, > > ending in .dll.a. Is this a correct understanding of gcc on cygwin? > > Yes, unless the library is explicitly specified or the -non_shared > (-static) flag is used. > Interesting. Upstream changelog indicates that cygwin specific changes were made to the configure script some years back, to use -lreadline. My guess is that the library search during configure found and preferred the static library libreadline.a without this change. That is the behavior I observed with the configure script relative to the lapack library. The way I forced it to not use a static library was to not provide one, but instead to make liblapack.a a symlink to liblapack.dll.a. By itself the configure script did not find the lapack library if only liblapack.dll.a was present. I wonder if there are autoconf macros to inform configure that files ending in dll.a are export libraries for dll's, and satisfy library dependencies? If there are, it might be better for upstream to incorporate these. I know next to nothing about autoconf.