From 88b5e39ad4777f1b3183f471fdad407dc5cb5e33 Mon Sep 17 00:00:00 2001 From: Alexpux Date: Sun, 3 Nov 2013 20:01:57 +0400 Subject: [PATCH] Add libffi package --- libffi/PKGBUILD | 53 ++ libffi/libffi-3.0.12-cygwin.patch | 22 + libffi/libffi-3.0.13-msys2.patch | 947 ++++++++++++++++++++++++++++++ libffi/libffi.install | 20 + 4 files changed, 1042 insertions(+) create mode 100644 libffi/PKGBUILD create mode 100644 libffi/libffi-3.0.12-cygwin.patch create mode 100644 libffi/libffi-3.0.13-msys2.patch create mode 100644 libffi/libffi.install diff --git a/libffi/PKGBUILD b/libffi/PKGBUILD new file mode 100644 index 00000000..f7b42f8c --- /dev/null +++ b/libffi/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Alexey Pavlov + +pkgname=('libffi' 'libffi-devel') +pkgver=3.0.13 +pkgrel=1 +pkgdesc="Portable, high level programming interface to various calling conventions" +arch=('i686' 'x86_64') +url="http://sourceware.org/libffi/" +groups=('libraries') +license=('MIT') +depends=() +checkdepends=('dejagnu') +install=libffi.install +source=(ftp://sourceware.org/pub/libffi/libffi-${pkgver}.tar.gz + libffi-3.0.12-cygwin.patch + libffi-3.0.13-msys2.patch) +sha1sums=('f5230890dc0be42fb5c58fbf793da253155de106' + 'ab87e474fd698897b4747703daf15bd7457ff2b8' + '247003994c91878f9baba2cf2e41eb8341e39fdc') + +prepare() { + cd $pkgname-$pkgver + patch -p2 -i $srcdir/libffi-3.0.12-cygwin.patch + patch -p1 -i $srcdir/libffi-3.0.13-msys2.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make + make DESTDIR="$srcdir/dest" install +} + +check() { + cd $pkgname-$pkgver + make check +} + +package_libffi() { + pkgdesc="Libffi headers and libraries" + groups=('development') + + mkdir -p $pkgdir/usr/bin + cp -f $srcdir/dest/usr/bin/*.dll $pkgdir/usr/bin/ + cp -rf $srcdir/dest/usr/share $pkgdir/usr/ + install -Dm644 $srcdir/$pkgname-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +package_libffi-devel() { + mkdir -p $pkgdir/usr + #cp -rf $srcdir/dest/usr/include $pkgdir/usr/ + cp -rf $srcdir/dest/usr/lib $pkgdir/usr/ +} diff --git a/libffi/libffi-3.0.12-cygwin.patch b/libffi/libffi-3.0.12-cygwin.patch new file mode 100644 index 00000000..808f5f5d --- /dev/null +++ b/libffi/libffi-3.0.12-cygwin.patch @@ -0,0 +1,22 @@ +--- origsrc/libffi-3.0.12/src/x86/ffi.c 2013-02-11 13:24:18.000000000 -0600 ++++ src/libffi-3.0.12/src/x86/ffi.c 2013-03-12 23:22:18.267762700 -0500 +@@ -28,7 +28,7 @@ + DEALINGS IN THE SOFTWARE. + ----------------------------------------------------------------------- */ + +-#if !defined(__x86_64__) || defined(_WIN64) ++#if !defined(__x86_64__) || defined(_WIN64) || defined(__CYGWIN__) + + #ifdef _WIN64 + #include +--- origsrc/libffi-3.0.12/src/x86/win64.S 2013-02-11 13:24:18.000000000 -0600 ++++ src/libffi-3.0.12/src/x86/win64.S 2013-03-13 04:50:09.526614600 -0500 +@@ -295,7 +295,7 @@ SYMBOL_NAME(ffi_closure_win64): + mov %rax, %rcx # context is first parameter + mov %rsp, %rdx # stack is second parameter + add $48, %rdx # point to start of arguments +- mov $SYMBOL_NAME(ffi_closure_win64_inner), %rax ++ lea SYMBOL_NAME(ffi_closure_win64_inner)(%rip), %rax + callq *%rax # call the real closure function + add $40, %rsp + movq %rax, %xmm0 # If the closure returned a float, diff --git a/libffi/libffi-3.0.13-msys2.patch b/libffi/libffi-3.0.13-msys2.patch new file mode 100644 index 00000000..7bcfa2ea --- /dev/null +++ b/libffi/libffi-3.0.13-msys2.patch @@ -0,0 +1,947 @@ +diff -Naur libffi-3.0.13-orig/acinclude.m4 libffi-3.0.13/acinclude.m4 +--- libffi-3.0.13-orig/acinclude.m4 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/acinclude.m4 2013-03-31 18:49:31.393554700 +0000 +@@ -37,7 +37,7 @@ + # Systems known to be in this category are Windows (all variants), + # VMS, and Darwin. + case "$host_os" in +- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) ++ vms* | cygwin* | msys* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) + ac_cv_func_mmap_dev_zero=no ;; + *) + ac_cv_func_mmap_dev_zero=yes;; +@@ -69,7 +69,7 @@ + # above for use of /dev/zero. + # Systems known to be in this category are Windows, VMS, and SCO Unix. + case "$host_os" in +- vms* | cygwin* | pe | mingw* | sco* | udk* ) ++ vms* | cygwin* | msys* | pe | mingw* | sco* | udk* ) + ac_cv_func_mmap_anon=no ;; + *) + ac_cv_func_mmap_anon=yes;; +diff -Naur libffi-3.0.13-orig/aclocal.m4 libffi-3.0.13/aclocal.m4 +--- libffi-3.0.13-orig/aclocal.m4 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/aclocal.m4 2013-03-31 18:49:20.237304700 +0000 +@@ -724,7 +724,7 @@ + beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +-cygwin* | mingw* | os2* | pw32*) ++cygwin* | msys* | mingw* | os2* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +diff -Naur libffi-3.0.13-orig/config.guess libffi-3.0.13/config.guess +--- libffi-3.0.13-orig/config.guess 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/config.guess 2013-03-31 18:55:16.237304700 +0000 +@@ -849,6 +849,9 @@ + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; ++ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) ++ echo x86_64-unknown-msys ++ exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; +diff -Naur libffi-3.0.13-orig/configure libffi-3.0.13/configure +--- libffi-3.0.13-orig/configure 2013-03-17 22:36:19.000000000 +0000 ++++ libffi-3.0.13/configure 2013-03-31 18:54:29.393554700 +0000 +@@ -5291,7 +5291,7 @@ + lt_cv_sys_max_cmd_len=-1; + ;; + +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, +@@ -5481,7 +5481,7 @@ + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix +@@ -5489,12 +5489,12 @@ + ;; + esac + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix +@@ -5560,7 +5560,7 @@ + esac + reload_cmds='$LD$reload_flag -o $output$reload_objs' + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi +@@ -5718,7 +5718,7 @@ + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +-cygwin*) ++cygwin* | msys*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' +@@ -6039,7 +6039,7 @@ + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in +@@ -6532,7 +6532,7 @@ + aix*) + symcode='[BCDT]' + ;; +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; + hpux*) +@@ -8629,7 +8629,7 @@ + # PIC is the default for these OSes. + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -8713,7 +8713,7 @@ + fi + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' +@@ -9204,7 +9204,7 @@ + extract_expsyms_cmds= + + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. +@@ -9319,7 +9319,7 @@ + fi + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' +@@ -9776,7 +9776,7 @@ + export_dynamic_flag_spec=-rdynamic + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is +@@ -10729,7 +10729,7 @@ + # libtool to hard-code these into programs + ;; + +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no +@@ -10761,6 +10761,12 @@ + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; ++ msys*) ++ # Cygwin DLLs use 'msys-' prefix rather than 'lib' ++ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ++ ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' +@@ -10795,7 +10801,7 @@ + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; +- cygwin*) ++ cygwin* | msys*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... +@@ -11460,7 +11466,7 @@ + lt_cv_dlopen_libs= + ;; + +- cygwin*) ++ cygwin* | msys*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; +@@ -13193,7 +13199,7 @@ + # Systems known to be in this category are Windows (all variants), + # VMS, and Darwin. + case "$host_os" in +- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) ++ vms* | cygwin* | msys* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) + ac_cv_func_mmap_dev_zero=no ;; + *) + ac_cv_func_mmap_dev_zero=yes;; +@@ -13250,7 +13256,7 @@ + # above for use of /dev/zero. + # Systems known to be in this category are Windows, VMS, and SCO Unix. + case "$host_os" in +- vms* | cygwin* | pe | mingw* | sco* | udk* ) ++ vms* | cygwin* | msys* | pe | mingw* | sco* | udk* ) + ac_cv_func_mmap_anon=no ;; + *) + ac_cv_func_mmap_anon=yes;; +@@ -13344,7 +13350,7 @@ + i?86-*-freebsd* | i?86-*-openbsd*) + TARGET=X86_FREEBSD; TARGETDIR=x86 + ;; +- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*) ++ i?86-win32* | i?86-*-cygwin* | i?86-*-msys* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*) + TARGET=X86_WIN32; TARGETDIR=x86 + # All mingw/cygwin/win32 builds require -no-undefined for sharedlib. + # We must also check with_cross_host to decide if this is a native +@@ -13372,7 +13378,7 @@ + TARGET=X86_DARWIN; TARGETDIR=x86 + ;; + +- x86_64-*-cygwin* | x86_64-*-mingw*) ++ x86_64-*-cygwin* | x86_64-*-msys* | x86_64-*-mingw*) + TARGET=X86_WIN64; TARGETDIR=x86 + # All mingw/cygwin/win32 builds require -no-undefined for sharedlib. + # We must also check with_cross_host to decide if this is a native +diff -Naur libffi-3.0.13-orig/configure.ac libffi-3.0.13/configure.ac +--- libffi-3.0.13-orig/configure.ac 2013-03-17 22:36:15.000000000 +0000 ++++ libffi-3.0.13/configure.ac 2013-03-31 18:50:12.143554700 +0000 +@@ -122,7 +122,7 @@ + i?86-*-freebsd* | i?86-*-openbsd*) + TARGET=X86_FREEBSD; TARGETDIR=x86 + ;; +- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*) ++ i?86-win32* | i?86-*-cygwin* | i?86-*-msys* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*) + TARGET=X86_WIN32; TARGETDIR=x86 + # All mingw/cygwin/win32 builds require -no-undefined for sharedlib. + # We must also check with_cross_host to decide if this is a native +@@ -150,7 +150,7 @@ + TARGET=X86_DARWIN; TARGETDIR=x86 + ;; + +- x86_64-*-cygwin* | x86_64-*-mingw*) ++ x86_64-*-cygwin* | x86_64-*-msys* | x86_64-*-mingw*) + TARGET=X86_WIN64; TARGETDIR=x86 + # All mingw/cygwin/win32 builds require -no-undefined for sharedlib. + # We must also check with_cross_host to decide if this is a native +diff -Naur libffi-3.0.13-orig/ltmain.sh libffi-3.0.13/ltmain.sh +--- libffi-3.0.13-orig/ltmain.sh 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/ltmain.sh 2013-03-31 18:59:26.877929700 +0000 +@@ -1180,7 +1180,7 @@ + test "$opt_debug" = : || func_append preserve_args " --debug" + + case $host in +- *cygwin* | *mingw* | *pw32* | *cegcc*) ++ *cygwin* | *msys* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; +@@ -2123,7 +2123,7 @@ + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in +- cygwin* | mingw* | pw32* | os2* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac +@@ -2992,7 +2992,7 @@ + 'exit $?' + tstripme="$stripme" + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" +@@ -3098,7 +3098,7 @@ + + # Do a test to see if this is really a libtool program. + case $host in +- *cygwin* | *mingw*) ++ *cygwin* | *msys* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result +@@ -3173,7 +3173,7 @@ + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in +- */usr/bin/install*,*cygwin*) ++ */usr/bin/install*,*cygwin*|*/usr/bin/install*,*msys*) + case $file:$destfile in + *.exe:*.exe) + # this is ok +@@ -3323,7 +3323,7 @@ + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; +@@ -3335,7 +3335,7 @@ + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; +@@ -3349,7 +3349,7 @@ + func_basename "$dlprefile" + name="$func_basename_result" + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" +@@ -3502,7 +3502,7 @@ + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` +@@ -4375,7 +4375,7 @@ + { + EOF + case "$host" in +- *mingw* | *cygwin* ) ++ *mingw* | *cygwin* | *msys* ) + # make stdout use "unix" line endings + echo " setmode(1,_O_BINARY);" + ;; +@@ -5094,7 +5094,7 @@ + { + $opt_debug + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra +@@ -5581,7 +5581,7 @@ + ;; + esac + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; +@@ -5601,7 +5601,7 @@ + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; +@@ -5679,7 +5679,7 @@ + + -no-install) + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" +@@ -6545,7 +6545,7 @@ + fi + case "$host" in + # special handling for platforms with PE-DLLs. +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present +@@ -6689,7 +6689,7 @@ + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in +- *cygwin* | *mingw* | *cegcc*) ++ *cygwin* | *msys* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no +@@ -6759,7 +6759,7 @@ + elif test -n "$soname_spec"; then + # bleh windows + case $host in +- *cygwin* | mingw* | *cegcc*) ++ *cygwin* | *msys* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" +@@ -7620,7 +7620,7 @@ + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) +@@ -8134,7 +8134,7 @@ + + orig_export_symbols= + case $host_os in +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then +@@ -8690,7 +8690,7 @@ + + prog) + case $host in +- *cygwin*) func_stripname '' '.exe' "$output" ++ *cygwin* | *msys*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ +@@ -8803,7 +8803,7 @@ + esac + fi + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; +@@ -8881,7 +8881,7 @@ + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=no + ;; +- *cygwin* | *mingw* ) ++ *cygwin* | *msys* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi +@@ -9028,14 +9028,14 @@ + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in +- *cygwin*) ++ *cygwin* | *msys*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in +- *cygwin* | *mingw* ) ++ *cygwin* | *msys* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result +@@ -9365,7 +9365,7 @@ + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in +- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) ++ *cygwin*,*lai,yes,no,*.dll | *msys*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test "x$bindir" != x ; + then +diff -Naur libffi-3.0.13-orig/m4/libtool.m4 libffi-3.0.13/m4/libtool.m4 +--- libffi-3.0.13-orig/m4/libtool.m4 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/m4/libtool.m4 2013-03-31 19:03:54.070312500 +0000 +@@ -1623,7 +1623,7 @@ + lt_cv_sys_max_cmd_len=-1; + ;; + +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, +@@ -1871,7 +1871,7 @@ + lt_cv_dlopen_libs= + ;; + +- cygwin*) ++ cygwin* | msys*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; +@@ -2342,7 +2342,7 @@ + # libtool to hard-code these into programs + ;; + +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no +@@ -2374,6 +2374,12 @@ + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; ++ msys*) ++ # MSYS DLLs use 'msys-' prefix rather than 'lib' ++ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ++m4_if([$1], [],[ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ++ ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +@@ -2408,7 +2414,7 @@ + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; +- cygwin*) ++ cygwin* | msys*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... +@@ -3152,7 +3158,7 @@ + esac + reload_cmds='$LD$reload_flag -o $output$reload_objs' + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi +@@ -3208,7 +3214,7 @@ + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +-cygwin*) ++cygwin* | msys*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' +@@ -3518,7 +3524,7 @@ + [lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in +@@ -3573,7 +3579,7 @@ + [AC_REQUIRE([AC_CANONICAL_HOST])dnl + LIBM= + case $host in +-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) ++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-msys* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; + *-ncr-sysv4.3*) +@@ -3648,7 +3654,7 @@ + aix*) + symcode='[[BCDT]]' + ;; +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; + hpux*) +@@ -3916,7 +3922,7 @@ + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -3987,7 +3993,7 @@ + ;; + esac + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], +@@ -4234,7 +4240,7 @@ + # PIC is the default for these OSes. + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -4319,7 +4325,7 @@ + fi + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], +@@ -4579,7 +4585,7 @@ + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' +@@ -4637,7 +4643,7 @@ + extract_expsyms_cmds= + + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. +@@ -4752,7 +4758,7 @@ + fi + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +@@ -5125,7 +5131,7 @@ + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is +@@ -6126,7 +6132,7 @@ + esac + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC +@@ -7942,7 +7948,7 @@ + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix +@@ -7950,12 +7956,12 @@ + ;; + esac + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix +diff -Naur libffi-3.0.13-orig/m4/ltoptions.m4 libffi-3.0.13/m4/ltoptions.m4 +--- libffi-3.0.13-orig/m4/ltoptions.m4 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/m4/ltoptions.m4 2013-03-31 19:04:04.367187500 +0000 +@@ -126,7 +126,7 @@ + [enable_win32_dll=yes + + case $host in +-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) ++*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) +diff -Naur libffi-3.0.13-orig/testsuite/lib/target-libpath.exp libffi-3.0.13/testsuite/lib/target-libpath.exp +--- libffi-3.0.13-orig/testsuite/lib/target-libpath.exp 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/lib/target-libpath.exp 2013-03-31 19:05:02.900390600 +0000 +@@ -175,7 +175,7 @@ + } else { + setenv DYLD_LIBRARY_PATH "$ld_library_path" + } +- if { [istarget *-*-cygwin*] || [istarget *-*-mingw*] } { ++ if { [istarget *-*-cygwin*] || [istarget *-*-msys*] || [istarget *-*-mingw*] } { + if { $orig_path_saved } { + setenv PATH "$ld_library_path:$orig_path" + } else { +@@ -271,7 +271,7 @@ + + if { [ istarget *-*-darwin* ] } { + set shlib_ext "dylib" +- } elseif { [ istarget *-*-cygwin* ] || [ istarget *-*-mingw* ] } { ++ } elseif { [ istarget *-*-cygwin* ] || [istarget *-*-msys*] || [ istarget *-*-mingw* ] } { + set shlib_ext "dll" + } elseif { [ istarget hppa*-*-hpux* ] } { + set shlib_ext "sl" +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/closure_stdcall.c libffi-3.0.13/testsuite/libffi.call/closure_stdcall.c +--- libffi-3.0.13-orig/testsuite/libffi.call/closure_stdcall.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/closure_stdcall.c 2013-03-31 19:05:41.817382800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + #include "ffitest.h" + + static void +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/closure_thiscall.c libffi-3.0.13/testsuite/libffi.call/closure_thiscall.c +--- libffi-3.0.13-orig/testsuite/libffi.call/closure_thiscall.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/closure_thiscall.c 2013-03-31 19:05:57.051757800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + #include "ffitest.h" + + static void +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/cls_align_longdouble_split.c libffi-3.0.13/testsuite/libffi.call/cls_align_longdouble_split.c +--- libffi-3.0.13-orig/testsuite/libffi.call/cls_align_longdouble_split.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/cls_align_longdouble_split.c 2013-03-31 19:06:56.348632800 +0000 +@@ -4,10 +4,10 @@ + PR: none. + Originator: 20031203 */ + +-/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ + /* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */ +-/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/cls_align_longdouble_split2.c libffi-3.0.13/testsuite/libffi.call/cls_align_longdouble_split2.c +--- libffi-3.0.13-orig/testsuite/libffi.call/cls_align_longdouble_split2.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/cls_align_longdouble_split2.c 2013-03-31 19:07:02.879882800 +0000 +@@ -5,10 +5,10 @@ + Originator: Blake Chaffin 6/18/2007 + */ + +-/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + /* { dg-do run { xfail strongarm*-*-* } } */ + /* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */ +-/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/cls_longdouble.c libffi-3.0.13/testsuite/libffi.call/cls_longdouble.c +--- libffi-3.0.13-orig/testsuite/libffi.call/cls_longdouble.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/cls_longdouble.c 2013-03-31 19:07:22.473632800 +0000 +@@ -4,12 +4,12 @@ + PR: none. + Originator: Blake Chaffin */ + +-/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + /* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have + remove the xfail for arm*-*-* below, until we know more. */ + /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ + /* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */ +-/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/fastthis1_win32.c libffi-3.0.13/testsuite/libffi.call/fastthis1_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/fastthis1_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/fastthis1_win32.c 2013-03-31 19:08:23.254882800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/fastthis2_win32.c libffi-3.0.13/testsuite/libffi.call/fastthis2_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/fastthis2_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/fastthis2_win32.c 2013-03-31 19:08:14.958007800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/fastthis3_win32.c libffi-3.0.13/testsuite/libffi.call/fastthis3_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/fastthis3_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/fastthis3_win32.c 2013-03-31 19:08:30.770507800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/float2.c libffi-3.0.13/testsuite/libffi.call/float2.c +--- libffi-3.0.13-orig/testsuite/libffi.call/float2.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/float2.c 2013-03-31 19:08:54.395507800 +0000 +@@ -4,8 +4,8 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-excess-errors "fails" { target x86_64-*-mingw* x86_64-*-cygwin* } } */ +-/* { dg-do run { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-excess-errors "fails" { target x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ ++/* { dg-do run { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + + #include "ffitest.h" + #include "float.h" +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/huge_struct.c libffi-3.0.13/testsuite/libffi.call/huge_struct.c +--- libffi-3.0.13-orig/testsuite/libffi.call/huge_struct.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/huge_struct.c 2013-03-31 19:09:07.754882800 +0000 +@@ -5,11 +5,11 @@ + Originator: Blake Chaffin 6/18/2007 + */ + +-/* { dg-excess-errors "" { target x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-excess-errors "" { target x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ + /* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */ + /* { dg-options -Wformat=0 { target moxie*-*-elf } } */ +-/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/many_win32.c libffi-3.0.13/testsuite/libffi.call/many_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/many_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/many_win32.c 2013-03-31 19:09:28.223632800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + #include +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/many2_win32.c libffi-3.0.13/testsuite/libffi.call/many2_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/many2_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/many2_win32.c 2013-03-31 19:09:38.161132800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + #include +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/return_ldl.c libffi-3.0.13/testsuite/libffi.call/return_ldl.c +--- libffi-3.0.13-orig/testsuite/libffi.call/return_ldl.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/return_ldl.c 2013-03-31 19:09:50.192382800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: 20071113 */ + +-/* { dg-do run { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */ ++/* { dg-do run { xfail x86_64-*-mingw* x86_64-*-cygwin* x86_64-*-msys* } } */ + #include "ffitest.h" + + static long double return_ldl(long double ldl) +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/strlen_win32.c libffi-3.0.13/testsuite/libffi.call/strlen_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/strlen_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/strlen_win32.c 2013-03-31 19:10:23.458007800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/strlen2_win32.c libffi-3.0.13/testsuite/libffi.call/strlen2_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/strlen2_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/strlen2_win32.c 2013-03-31 19:10:14.567382800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + + #include "ffitest.h" + +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/struct1_win32.c libffi-3.0.13/testsuite/libffi.call/struct1_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/struct1_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/struct1_win32.c 2013-03-31 19:10:44.301757800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + #include "ffitest.h" + + typedef struct +diff -Naur libffi-3.0.13-orig/testsuite/libffi.call/struct2_win32.c libffi-3.0.13/testsuite/libffi.call/struct2_win32.c +--- libffi-3.0.13-orig/testsuite/libffi.call/struct2_win32.c 2013-03-16 11:19:39.000000000 +0000 ++++ libffi-3.0.13/testsuite/libffi.call/struct2_win32.c 2013-03-31 19:10:51.411132800 +0000 +@@ -4,7 +4,7 @@ + PR: none. + Originator: From the original ffitest.c */ + +-/* { dg-do run { target i?86-*-cygwin* i?86-*-mingw* } } */ ++/* { dg-do run { target i?86-*-cygwin* i?86-*-msys* i?86-*-mingw* } } */ + #include "ffitest.h" + + typedef struct diff --git a/libffi/libffi.install b/libffi/libffi.install new file mode 100644 index 00000000..903bede1 --- /dev/null +++ b/libffi/libffi.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libffi.info.gz) + +post_install() { + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +}