Project 'cjwatson/man-db' was moved to 'man-db/man-db'. Please update any links and bookmarks that may still have the old path.
Fix building on Cygwin
Achim reported that 2.10.0 no longer builds on Cygwin, while 2.9.4 did. This was magnificently obscure, at least to this Unix-head. Initially it appeared to be an issue with inter-library linking between libman and libmandb, but 2.9.4 relied on that too, just slightly less so. The actual problem was that libman only exported `gl_get_setlocale_null_lock` and not all the other symbols it's supposed to export, which is because that was explicitly marked for export and no other symbols were. Building libman with `-Wl,--export-all-symbols` fixes this; libman is intended as an aggregation of various helper functions, including those from Gnulib, and it doesn't make sense to be especially selective since it's only installed as a private library anyway. (I'm still not exactly sure why 2.9.4 didn't do the same thing, but this seems to be a good enough fix.) * configure.ac: Set LIBMAN_EXPORT_LDFLAGS to '-Wl,--export-all-symbols' when linking with GNU ld on Windows platforms. * lib/Makefile.am (libman_la_LDFLAGS): Add $(LIBMAN_EXPORT_LDFLAGS). * src/Makefile.am (LIBMAN): Remove $(top_builddir)/gl/lib/libgnu.la; as a convenience library, this is already incorporated into libman.la, and specifying it again causes multiple-definition errors on Cygwin. * src/tests/Makefile.am (get_mtime_LDADD): Likewise. * NEWS.md: Document this.
parent
1f807e37
Please register or sign in to comment