# HG changeset patch # User Mark Brand # Date 1274390613 -7200 # Node ID 63bc5584fb759f6d29d73fb4258c182049ff18dd # Parent 9d8fc76f54e89a7009965454082f7a8b60fcaa2e fix use of pthreads in package vmime The configure option "-without-pthread" seems not to work even if it is listed as a configure option. As long as pthreads is available, it is detected. This meant that the configuration of vmime dependend on whether pthreads had already been installed, even though pthreads was not listed as a dependency. The solution seems to be to add the missing #include and allow pthreads to be used. Also now build one of the examples as test-vmime.exe. diff --git a/src/vmime-99999-fix-pthreads.patch b/src/vmime-99999-fix-pthreads.patch new file mode 100644 --- /dev/null +++ b/src/vmime-99999-fix-pthreads.patch @@ -0,0 +1,17 @@ +This file is part of mingw-cross-env. +See doc/index.html for further information. + +This patch has been taken from: +https://sourceforge.net/tracker/?func=detail&aid=3004924&group_id=69724&atid=525570 + +diff -urN a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp +--- a/src/net/tls/TLSSession.cpp 2010-05-20 12:19:24.163128483 +0200 ++++ b/src/net/tls/TLSSession.cpp 2010-05-20 12:21:31.979114130 +0200 +@@ -27,6 +27,7 @@ + #include "vmime/config.hpp" + + #if VMIME_HAVE_PTHREAD ++# include + # include + # include + #endif // VMIME_HAVE_PTHREAD diff --git a/src/vmime.mk b/src/vmime.mk --- a/src/vmime.mk +++ b/src/vmime.mk @@ -10,7 +10,7 @@ $(PKG)_FILE := libvmime-$($(PKG)_VERSION).tar.bz2 $(PKG)_WEBSITE := http://vmime.sourceforge.net/ $(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/vmime/vmime/0.9/$($(PKG)_FILE) -$(PKG)_DEPS := gcc libiconv gnutls libgsasl +$(PKG)_DEPS := gcc libiconv gnutls libgsasl pthreads define $(PKG)_UPDATE $(call SOURCEFORGE_FILES,http://sourceforge.net/projects/vmime/files/vmime/) | \ @@ -39,8 +39,7 @@ --disable-shared \ --enable-platform-windows \ --disable-rpath \ - --disable-dependency-tracking \ - --without-pthread + --disable-dependency-tracking # Disable VMIME_HAVE_MLANG_H # We have the header, but there is no implementation for IMultiLanguage in MinGW @@ -48,4 +47,12 @@ $(MAKE) -C '$(1)' -j '$(JOBS)' $(MAKE) -C '$(1)' install + + $(SED) -i 's/posix/windows/g;' '$(1)/examples/example6.cpp' + i686-pc-mingw32-g++ -s -o '$(1)/examples/test-vmime.exe' \ + -I'$(PREFIX)/$(TARGET)/include' \ + '$(1)/examples/example6.cpp' \ + -L'$(PREFIX)/$(TARGET)/lib' \ + -lvmime -lgnutls -lgsasl -lntlm -lgcrypt -lgpg-error -liconv -lidn -lz -lpthread -lws2_32 + $(INSTALL) -m755 '$(1)/examples/test-vmime.exe' '$(PREFIX)/$(TARGET)/bin/' endef