Fix mingw64 build
authorJ. Ali Harlow <ali@juiblex.co.uk>
Tue Jun 28 19:05:38 2016 +0100 (2016-06-28)
changeset 51ea1c42c3a780
parent 50 a4f43ad0e0c8
child 52 ac72889393d1
Fix mingw64 build
configure.ac
plover/uri-handler.c
tests/Makefile.am
     1.1 --- a/configure.ac	Tue Jun 28 15:55:48 2016 +0100
     1.2 +++ b/configure.ac	Tue Jun 28 19:05:38 2016 +0100
     1.3 @@ -169,10 +169,12 @@
     1.4  PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat >= 2.1 zlib gio-2.0],[:],
     1.5    [PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat21 zlib gio-2.0])])
     1.6  if test -n "$host_mingw"; then
     1.7 -    # Hack: -liconv is required for mingw. This probably stems from our use of
     1.8 +    # Hacks:
     1.9 +    # -liconv is required for mingw. This probably stems from our use of
    1.10      # libiconv rather than win-iconv that Fedora uses, but should be addressed
    1.11      # somewhere in the stack below us.
    1.12 -    SETUP_LIBS="$SETUP_LIBS -liconv"
    1.13 +    # -ldnsapi is required by gio. This probably represents a gio bug.
    1.14 +    SETUP_LIBS="$SETUP_LIBS -liconv -ldnsapi"
    1.15  fi
    1.16  PKG_CONFIG="$save_PKG_CONFIG"
    1.17  SETUP_CFLAGS="$SETUP_CFLAGS $LUA_POSIX_CFLAGS"
     2.1 --- a/plover/uri-handler.c	Tue Jun 28 15:55:48 2016 +0100
     2.2 +++ b/plover/uri-handler.c	Tue Jun 28 19:05:38 2016 +0100
     2.3 @@ -26,6 +26,16 @@
     2.4  #include "plover/plover.h"
     2.5  #include "uri-handler.h"
     2.6  
     2.7 +/*
     2.8 + * Avoid g_ascii_ family because of complications with static builds
     2.9 + * of glib2 under Windows. The real problem is probably in how glib2
    2.10 + * is packaged for cross-compiling in certain distributions, but it's
    2.11 + * easy enough to work around.
    2.12 + */
    2.13 +
    2.14 +#define ascii_isalpha(c) ((c) >= 'a' && (c) <= 'z' || (c) >= 'A' && (c) <= 'Z')
    2.15 +#define ascii_isalnum(c) (ascii_isalpha(c) || (c) >= '0' && (c) <= '9')
    2.16 +
    2.17  static gboolean has_valid_scheme(const char *uri)
    2.18  {
    2.19      /*
    2.20 @@ -33,12 +43,12 @@
    2.21       * scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
    2.22       */
    2.23      const char *s;
    2.24 -    if (!g_ascii_isalpha(*uri))
    2.25 +    if (!ascii_isalpha(*uri))
    2.26  	return FALSE;
    2.27      for(s=uri+1;;s++)
    2.28  	if (*s==':')
    2.29  	    return TRUE;
    2.30 -	else if (!g_ascii_isalnum(*s) && *s!='+' && *s!='-' && *s!='.')
    2.31 +	else if (!ascii_isalnum(*s) && *s!='+' && *s!='-' && *s!='.')
    2.32  	    return FALSE;
    2.33  }
    2.34  
     3.1 --- a/tests/Makefile.am	Tue Jun 28 15:55:48 2016 +0100
     3.2 +++ b/tests/Makefile.am	Tue Jun 28 19:05:38 2016 +0100
     3.3 @@ -4,6 +4,12 @@
     3.4      zappy2.spec unsatisfiable.spec uninstallable.spec badpostun.spec comps.xml \
     3.5      glib.supp.in README xvfb-run
     3.6  
     3.7 +pkg_V_rpmbuild = $(pkg_v_rpmbuild_$(V))
     3.8 +pkg_v_rpmbuild_ = $(pkg_v_rpmbuild_$(AM_DEFAULT_VERBOSITY))
     3.9 +pkg_v_rpmbuild_0 = --quiet
    3.10 +
    3.11 +BUILD_RPM = $(RPMBUILD) $(pkg_V_rpmbuild) --define "_topdir `pwd`/rpmbuild" -bb
    3.12 +
    3.13  if HAVE_CHECK_TOOLS
    3.14  
    3.15  noinst_DATA = glib.supp yum-repo-test-dir/repodata/primary.xml.gz \
    3.16 @@ -22,21 +28,16 @@
    3.17      uninstallable.spec badpostun.spec Makefile
    3.18  	rm -rf rpmbuild yum-repo-test-dir
    3.19  	mkdir -p rpmbuild/BUILD rpmbuild/RPMS
    3.20 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zap.spec
    3.21 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" --define "_version 1" \
    3.22 -	  -bb $(srcdir)/zip.spec
    3.23 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zsh.spec
    3.24 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zsh2.spec
    3.25 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb \
    3.26 -	  $(srcdir)/filesystem.spec
    3.27 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zappy.spec
    3.28 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb $(srcdir)/zappy2.spec
    3.29 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb \
    3.30 -	  $(srcdir)/unsatisfiable.spec
    3.31 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb \
    3.32 -	  $(srcdir)/uninstallable.spec
    3.33 -	$(RPMBUILD) --define "_topdir `pwd`/rpmbuild" -bb \
    3.34 -	  $(srcdir)/badpostun.spec
    3.35 +	$(BUILD_RPM) $(srcdir)/zap.spec
    3.36 +	$(BUILD_RPM) --define "_version 1" $(srcdir)/zip.spec
    3.37 +	$(BUILD_RPM) $(srcdir)/zsh.spec
    3.38 +	$(BUILD_RPM) $(srcdir)/zsh2.spec
    3.39 +	$(BUILD_RPM) $(srcdir)/filesystem.spec
    3.40 +	$(BUILD_RPM) $(srcdir)/zappy.spec
    3.41 +	$(BUILD_RPM) $(srcdir)/zappy2.spec
    3.42 +	$(BUILD_RPM) $(srcdir)/unsatisfiable.spec
    3.43 +	$(BUILD_RPM) $(srcdir)/uninstallable.spec
    3.44 +	$(BUILD_RPM) $(srcdir)/badpostun.spec
    3.45  	mkdir -p yum-repo-test-dir/rpms
    3.46  	mv rpmbuild/RPMS/noarch/*.rpm yum-repo-test-dir/rpms
    3.47  	rm -rf rpmbuild