changeset 3131:1a25ea16434b

[MSVC] enable libffi compilation
author Michael Goffioul <michael.goffioul@gmail.com>
date Fri, 12 Jul 2013 11:19:31 -0400
parents 3c1afa2c8e43
children 2733829a184e
files dist-files.mk src/libffi.mk src/msvc-libffi-1.patch
diffstat 3 files changed, 21 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Thu Jul 11 23:48:53 2013 -0400
+++ b/dist-files.mk	Fri Jul 12 11:19:31 2013 -0400
@@ -284,6 +284,7 @@
   msvc-graphicsmagick-1.patch \
   msvc-hdf5-1.patch \
   msvc-itsol-1.patch \
+  msvc-libffi-1.patch \
   msvc-libgcrypt-1.patch \
   msvc-libgpg_error-1.patch \
   msvc-libiconv-1.patch \
--- a/src/libffi.mk	Thu Jul 11 23:48:53 2013 -0400
+++ b/src/libffi.mk	Fri Jul 12 11:19:31 2013 -0400
@@ -20,12 +20,15 @@
     cd '$(1)' && ./configure \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
-        $(ENABLE_SHARED_OR_STATIC)
+        $(ENABLE_SHARED_OR_STATIC) \
+	&& $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)/$(TARGET)' -j '$(JOBS)'
     $(MAKE) -C '$(1)/$(TARGET)' -j 1 install
 
-    '$(MXE_CC)' \
-        -W -Wall -Werror -std=c99 -pedantic \
-        '$(2).c' -o '$(HOST_BINDIR)/test-libffi.exe' \
-        `'$(MXE_PKG_CONFIG)' libffi --cflags --libs`
+    if [ $(MXE_SYSTEM) != msvc ]; then \
+        '$(MXE_CC)' \
+            -W -Wall -Werror -std=c99 -pedantic \
+            '$(2).c' -o '$(HOST_BINDIR)/test-libffi.exe' \
+            `'$(MXE_PKG_CONFIG)' libffi --cflags --libs`; \
+    fi
 endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msvc-libffi-1.patch	Fri Jul 12 11:19:31 2013 -0400
@@ -0,0 +1,12 @@
+diff -ur libffi-3.0.11-orig/configure libffi-3.0.11/configure
+--- libffi-3.0.11-orig/configure	2012-04-11 23:13:17 -0400
++++ libffi-3.0.11/configure	2013-07-12 11:13:45 -0400
+@@ -14572,7 +14572,7 @@
+     toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+     toolexeclibdir='$(libdir)'
+   fi
+-  multi_os_directory=`$CC -print-multi-os-directory`
++  #multi_os_directory=`$CC -print-multi-os-directory`
+   case $multi_os_directory in
+     .) ;; # Avoid trailing /.
+     *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;