From 08158ee8ada69163cfa3174b4c68fc1f1f9c556f Mon Sep 17 00:00:00 2001 From: Stu Tomlinson Date: Wed, 16 Mar 2022 11:32:24 +0000 Subject: [PATCH] Support (cross)compiling using MinGW-w64 --- Makefile.am | 8 +++++--- configure.ac | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 785cf43..8765778 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,6 +18,8 @@ SSL_CFLAGS = @openssl_CFLAGS@ SSL_LIBS = @openssl_LIBS@ endif +MINGW_LIBS = @MINGW_LIBS@ + RESOLV_CFLAGS = @RESOLV_CFLAGS@ RESOLV_LIBS = @RESOLV_LIBS@ @@ -29,7 +31,7 @@ STROPHE_LIBS = $(COVERAGE_PRE) libstrophe.la $(COVERAGE_POST) $(COVERAGE_LDFLAGS lib_LTLIBRARIES = libstrophe.la libstrophe_la_CFLAGS = $(SSL_CFLAGS) $(STROPHE_FLAGS) $(PARSER_CFLAGS) $(RESOLV_CFLAGS) $(COVERAGE_CFLAGS) -libstrophe_la_LDFLAGS = $(SSL_LIBS) $(PARSER_LIBS) $(RESOLV_LIBS) -no-undefined +libstrophe_la_LDFLAGS = $(SSL_LIBS) $(PARSER_LIBS) $(RESOLV_LIBS) $(MINGW_LIBS) -no-undefined # Export only public API libstrophe_la_LDFLAGS += -export-symbols-regex '^xmpp_' -version-info @VERSION_INFO@ @@ -266,8 +268,8 @@ tests_test_xmppaddr_LDFLAGS = -static format: @echo " * run clang-format on all sources" - @dos2unix -q src/*.[ch] *.h tests/*.[ch] examples/*.c - @clang-format -i src/*.[ch] *.h tests/*.[ch] examples/*.c + @dos2unix -k -q $(top_srcdir)/src/*.[ch] $(top_srcdir)/*.h $(top_srcdir)/tests/*.[ch] $(top_srcdir)/examples/*.c + @clang-format -i $(top_srcdir)/src/*.[ch] $(top_srcdir)/*.h $(top_srcdir)/tests/*.[ch] $(top_srcdir)/examples/*.c if COVERAGE MOSTLYCLEANFILES = src/*.gcno src/*.gcda coverage.info diff --git a/configure.ac b/configure.ac index 2922460..a28b4d0 100644 --- a/configure.ac +++ b/configure.ac @@ -25,6 +25,8 @@ AS_CASE([$host_os], [*solaris*], [PLATFORM="solaris"], [*android*], [PLATFORM="android"], [*haiku*], [PLATFORM="haiku"], + [*mingw*], [PLATFORM="win32" + MINGW_LIBS="-lws2_32"], [PLATFORM="nix"]) WARNING_FLAGS="-Wall" @@ -170,8 +172,10 @@ AS_CASE([$PLATFORM], [solaris], [RESOLV_LIBS="-lresolv -lsocket -lnsl"], [android], [RESOLV_LIBS=""], [haiku], [RESOLV_LIBS="-lnetwork"], + [win32], [RESOLV_LIBS=""], [RESOLV_LIBS="-lresolv"]) +if test "x$PLATFORM" != xwin32; then LIBS_TMP="${LIBS}" LIBS="${RESOLV_LIBS}" AC_LINK_IFELSE([AC_LANG_SOURCE([ @@ -190,6 +194,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ [AC_MSG_ERROR([res_query() not found with LIBS="${LIBS}"])]) LIBS="${LIBS_TMP}" PC_LIBS="${RESOLV_LIBS} ${PC_LIBS}" +fi fi @@ -227,6 +232,7 @@ AC_SUBST(COVERAGE_CFLAGS) AC_SUBST(COVERAGE_LDFLAGS) AC_SUBST(COVERAGE_PRE) AC_SUBST(COVERAGE_POST) +AC_SUBST(MINGW_LIBS) AC_SUBST(PARSER_CFLAGS) AC_SUBST(PARSER_LIBS) AC_SUBST(RESOLV_CFLAGS)