INTLLIBS was originally added into librazor_la_LIBADD (but not razor.pc)
in
611c84a3f4b4538a65d186050608c17adbf17770 and then removed in
236cfc8ecc5c66288e41bf9b72051a3b18326e1c over concerns that it meant
that building static applications (eg., in plover) required a static
version of libintl. Since then, however, the inclusion of gnulib's
getopt has caused the build to fail without INTLLIBS in librazor_la_LIBADD
with messages of the form:
../gl/.libs/libgnu.a(getopt.o): In function `_getopt_internal_r':
/home/ali/wk/razor/vpath/gl/../../working/gl/getopt.c:808: undefined reference to `libintl_gettext'
while building librazor.dll.a
Thus it appears that INTLLIBS really is needed and should go back into
librazor_la_LIBADD (which fixes the build) and should also be in Libs.private
in razor.pc for static builds. This means that a static version of libintl
will be required (eg., as part of mingw64-gettext-static).
Along the way, razor.pc has also been fixed to avoid overlinking
(https://wiki.openmandriva.org/en/Overlinking_issues_in_packaging)
and a missing include directory that caused the razor executable to
fail to build was added.
Name: razor
Description: library for depsolving, installing and removing packages
Version: @VERSION@
-Requires: @REQUIREMENTS@
-Libs: -L${libdir} -lrazor @EXPAT_LIBS@ @ZLIB_LIBS@ @EXTRA_LIBS@
+Requires.private: @REQUIREMENTS@
+Libs: -L${libdir} -lrazor
+Libs.private: @EXPAT_LIBS@ @ZLIB_LIBS@ @INTLLIBS@ @EXTRA_LIBS@
Cflags: -I${includedir}/razor
endif
librazor_la_LIBADD = $(ZLIB_LIBS) types/libtypes.la $(LUA_LIBS) \
- ../gl/libgnu.la $(EXTRA_LIBS)
+ ../gl/libgnu.la $(INTLLIBS) $(EXTRA_LIBS)
librazor_la_LDFLAGS = -no-undefined \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
$(RPM_CFLAGS) \
-I$(top_builddir)/gl -I$(top_srcdir)/gl \
-I$(top_builddir)/src -I$(top_srcdir)/src \
- -I$(top_srcdir)/librazor \
+ -I$(top_builddir)/librazor -I$(top_srcdir)/librazor \
-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \