[Libreoffice-commits] core.git: configure.ac external/libassuan

David Ostrovsky david at ostrovsky.org
Wed Nov 22 16:55:31 UTC 2017


 configure.ac                                    |    8 ++
 external/libassuan/ExternalProject_libassuan.mk |   16 ++++
 external/libassuan/UnpackedTarball_libassuan.mk |    1 
 external/libassuan/w32-build-fixes.patch.1      |   77 ++++++++++++++++++++++++
 4 files changed, 101 insertions(+), 1 deletion(-)

New commits:
commit 5f981d30e2f186ab6b7fc925832b6eb1ae658308
Author: David Ostrovsky <david at ostrovsky.org>
Date:   Sun Sep 24 10:28:05 2017 +0200

    gpg4libre: build libassuan natively on windows
    
    Change-Id: Id374ebc5ed70a1b4313dc74461524ac2b864b114
    Reviewed-on: https://gerrit.libreoffice.org/42745
    Reviewed-by: Siegmund Gorr <siegmund.gorr at cib.de>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
    Tested-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/configure.ac b/configure.ac
index fe5731470d2e..dacb5ee98ffe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10160,7 +10160,13 @@ if test "$_os" = "Linux" -o "$_os" = "Darwin"; then
         LIBASSUAN_LIBS="-L${WORKDIR}/UnpackedTarball/libassuan/src/.libs -lassuan"
     fi
 else
-    BUILD_TYPE="$BUILD_TYPE LIBGPGERROR"
+    # TODO(davido): Windows build must be protected with a configure option
+    # unless CI doesn't support libtool with windres with gcc preprocessor
+    BUILD_TYPE="$BUILD_TYPE LIBASSUAN LIBGPGERROR"
+    GPG_ERROR_CFLAGS="-I${WORKDIR}/UnpackedTarball/libgpg-error/src"
+    GPG_ERROR_LIBS="-L${WORKDIR}/UnpackedTarball/libgpg-error/src/.libs -lgpg-error"
+    LIBASSUAN_CFLAGS="-I${WORKDIR}/UnpackedTarball/libassuan/src"
+    LIBASSUAN_LIBS="-L${WORKDIR}/UnpackedTarball/libassuan/src/.libs -lassuan"
 fi
 AC_SUBST(SYSTEM_GPGMEPP)
 AC_SUBST(GPG_ERROR_CFLAGS)
diff --git a/external/libassuan/ExternalProject_libassuan.mk b/external/libassuan/ExternalProject_libassuan.mk
index bcfc08a82cca..e796f16bf017 100644
--- a/external/libassuan/ExternalProject_libassuan.mk
+++ b/external/libassuan/ExternalProject_libassuan.mk
@@ -19,6 +19,21 @@ $(eval $(call gb_ExternalProject_use_externals,libassuan,\
        libgpg-error \
 ))
 
+ifeq ($(COM),MSC)
+$(call gb_ExternalProject_get_state_target,libassuan,build):
+	$(call gb_ExternalProject_run,build,\
+		autoreconf \
+		&& ./configure \
+		--enable-static \
+		--disable-shared \
+		CXXFLAGS="$(CXXFLAGS)" \
+		GPG_ERROR_CFLAGS="$(GPG_ERROR_CFLAGS)" \
+		GPG_ERROR_LIBS="$(GPG_ERROR_LIBS)" \
+		--host=$(if $(filter INTEL,$(CPUNAME)),i686-mingw32,x86_64-w64-mingw32) \
+	  && $(MAKE) \
+	)
+
+else
 $(call gb_ExternalProject_get_state_target,libassuan,build):
 	$(call gb_ExternalProject_run,build,\
 		autoreconf \
@@ -32,4 +47,5 @@ $(call gb_ExternalProject_get_state_target,libassuan,build):
 	  && $(MAKE) \
 	)
 
+endif
 # vim: set noet sw=4 ts=4:
diff --git a/external/libassuan/UnpackedTarball_libassuan.mk b/external/libassuan/UnpackedTarball_libassuan.mk
index 924d610bf9c9..f23608eb6a6c 100644
--- a/external/libassuan/UnpackedTarball_libassuan.mk
+++ b/external/libassuan/UnpackedTarball_libassuan.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libassuan,0))
 $(eval $(call gb_UnpackedTarball_add_patches,libassuan, \
     external/libassuan/find-libgpg-error.patch \
     external/libassuan/fix-autoconf-macros.patch \
+    $(if $(filter MSC,$(COM)),external/libassuan/w32-build-fixes.patch.1) \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libassuan/w32-build-fixes.patch.1 b/external/libassuan/w32-build-fixes.patch.1
new file mode 100755
index 000000000000..c9250c4e5573
--- /dev/null
+++ b/external/libassuan/w32-build-fixes.patch.1
@@ -0,0 +1,77 @@
+--- libassuan.orig/src/Makefile.in	2017-09-15 08:16:41.601057500 +0200
++++ libassuan/src/Makefile.in	2017-09-24 13:01:24.950711300 +0200
+@@ -424,7 +424,7 @@
+ nodist_include_HEADERS = assuan.h
+ @HAVE_LD_VERSION_SCRIPT_FALSE at libassuan_version_script_cmd = 
+ @HAVE_LD_VERSION_SCRIPT_TRUE at libassuan_version_script_cmd = -Wl,--version-script=$(srcdir)/libassuan.vers
+-CLEANFILES = mkheader assuan.h
++CLEANFILES = mkheader$(EXEEXT) assuan.h
+ BUILT_SOURCES = assuan.h
+ parts_of_assuan_h = \
+ 	posix-includes.inc.h   w32-includes.inc.h \
+@@ -1183,10 +1183,10 @@
+ @HAVE_W32CE_SYSTEM_TRUE@	mv -f $(DESTDIR)$(bindir)/libgpgcedev-0.dll \
+ @HAVE_W32CE_SYSTEM_TRUE@              $(DESTDIR)$(bindir)/gpgcedev.dll
+ 
+-mkheader: mkheader.c Makefile
++mkheader$(EXEEXT): mkheader.c Makefile
+ 	$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c
+ 
+-assuan.h: assuan.h.in mkheader $(parts_of_assuan_h)
++assuan.h: assuan.h.in mkheader$(EXEEXT) $(parts_of_assuan_h)
+ 	./mkheader $(host_os) $(srcdir)/assuan.h.in \
+                    @VERSION@ @VERSION_NUMBER@ >$@
+ 
+--- libassuan.orig/src/mkheader.c	2013-03-15 20:26:09.000000000 +0100
++++ libassuan/src/mkheader.c	2017-09-24 14:17:33.584583300 +0200
+@@ -99,7 +99,7 @@
+                "# include <unistd.h>\n"
+                "#endif\n", stdout);
+       else
+-        fputs ("#include <unistd.h>\n", stdout);
++        fputs ("#include <io.h>\n", stdout);
+     }
+   else if (!strcmp (tag, "include:types"))
+     {
+diff -ru libassuan.orig/src/Makefile.am libassuan/src/Makefile.am
+--- libassuan.orig/src/Makefile.am	2017-09-24 14:20:05.906065400 +0200
++++ libassuan/src/Makefile.am	2017-09-24 14:40:59.038850200 +0200
+@@ -142,11 +142,11 @@
+               $(DESTDIR)$(bindir)/gpgcedev.dll
+ endif
+ 
+-mkheader: mkheader.c Makefile
++mkheader$(EXEEXT): mkheader.c Makefile
+ 	$(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c
+ 
+-assuan.h: assuan.h.in mkheader $(parts_of_assuan_h)
+-	./mkheader $(host_os) $(srcdir)/assuan.h.in \
++assuan.h: assuan.h.in mkheader$(EXEEXT) $(parts_of_assuan_h)
++	./mkheader$(EXEEXT) $(host_os) $(srcdir)/assuan.h.in \
+                    @VERSION@ @VERSION_NUMBER@ >$@
+ 
+ 
+diff -ru libassuan.orig/src/assuan-handler.c libassuan/src/assuan-handler.c
+--- libassuan.orig/src/assuan-handler.c 2016-06-25 16:27:49.000000000 +0200
++++ libassuan/src/assuan-handler.c      2017-09-24 15:32:51.200956200 +0200
+@@ -395,7 +395,7 @@
+
+   { "INPUT",  std_handler_input, std_help_input, 0 },
+   { "OUTPUT", std_handler_output, std_help_output, 0 },
+-  { } };
++};
+
+
+ /**
+diff -ru libassuan.orig/Makefile.am libassuan/Makefile.am
+--- libassuan.orig/Makefile.am	2016-07-14 10:09:22.000000000 +0200
++++ libassuan/Makefile.am	2017-09-25 21:20:19.928317500 +0200
+@@ -28,7 +28,7 @@
+              tests/ChangeLog-2011 contrib/ChangeLog-2011     		\
+              build-aux/git-log-footer build-aux/git-log-fix
+ 
+-SUBDIRS = m4 src doc tests
++SUBDIRS = m4 src doc
+ 
+ 
+ dist-hook: gen-ChangeLog


More information about the Libreoffice-commits mailing list