libffi: Update from 3.2.1 to 3.3.0

This commit is contained in:
Fredrik Fornwall 2019-12-01 17:59:22 +01:00
parent f2be54011c
commit 5f2d338b84
6 changed files with 2 additions and 154 deletions

View File

@ -1,10 +1,9 @@
TERMUX_PKG_HOMEPAGE=https://sourceware.org/libffi/
TERMUX_PKG_DESCRIPTION="Library providing a portable, high level programming interface to various calling conventions"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_VERSION=3.2.1
TERMUX_PKG_REVISION=5
TERMUX_PKG_VERSION=3.3
TERMUX_PKG_SRCURL=ftp://sourceware.org/pub/libffi/libffi-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
TERMUX_PKG_SHA256=72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056
TERMUX_PKG_BREAKS="libffi-dev"
TERMUX_PKG_REPLACES="libffi-dev"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-multi-os-directory"

View File

@ -1,87 +0,0 @@
From
https://github.com/chef/omnibus-software/blob/master/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch
, this change will be included in the next libffi release.
--- libffi-3.2.1-orig/configure.ac 2014-11-12 05:56:51.000000000 -0600
+++ libffi-3.2.1/configure.ac 2015-10-29 15:53:41.695055040 -0500
@@ -590,6 +590,10 @@
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
fi)
+AC_ARG_ENABLE(multi-os-directory,
+[ --disable-multi-os-directory
+ disable use of gcc --print-multi-os-directory to change the library installation directory])
+
# These variables are only ever used when we cross-build to X86_WIN32.
# And we only support this with GCC, so...
if test "x$GCC" = "xyes"; then
@@ -601,11 +605,13 @@
toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
toolexeclibdir="${libdir}"
fi
- multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
+ if test x"$enable_multi_os_directory" != x"no"; then
+ multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+ ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+ esac
+ fi
AC_SUBST(toolexecdir)
else
toolexeclibdir="${libdir}"
--- libffi-3.2.1-orig/configure 2014-11-12 11:59:57.000000000 +0000
+++ libffi-3.2.1/configure 2015-10-30 19:50:51.082221000 +0000
@@ -886,6 +886,7 @@
enable_structs
enable_raw_api
enable_purify_safety
+enable_multi_os_directory
'
ac_precious_vars='build_alias
host_alias
@@ -1538,6 +1539,8 @@
--disable-structs omit code for struct support
--disable-raw-api make the raw api unavailable
--enable-purify-safety purify-safe mode
+ --disable-multi-os-directory
+ disable use of gcc --print-multi-os-directory to change the library installation directory
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -18714,6 +18717,12 @@
fi
+# Check whether --enable-multi-os-directory was given.
+if test "${enable_multi_os_directory+set}" = set; then :
+ enableval=$enable_multi_os_directory;
+fi
+
+
# These variables are only ever used when we cross-build to X86_WIN32.
# And we only support this with GCC, so...
if test "x$GCC" = "xyes"; then
@@ -18725,11 +18734,13 @@
toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
toolexeclibdir="${libdir}"
fi
- multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
+ if test x"$enable_multi_os_directory" != x"no"; then
+ multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+ ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+ esac
+ fi
else
toolexeclibdir="${libdir}"

View File

@ -1,14 +0,0 @@
Install headers in $PREFIX/include instead of $PREFIX/lib/libffi-$VERSION/include
diff -u -r ../libffi-3.1/include/Makefile.in ./include/Makefile.in
--- ../libffi-3.1/include/Makefile.in 2014-05-19 15:44:04.000000000 +0200
+++ ./include/Makefile.in 2014-06-27 11:18:44.971822851 +0200
@@ -314,7 +314,7 @@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES = ffitarget.h
EXTRA_DIST = ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includesdir = $(includedir)
nodist_includes_HEADERS = ffi.h ffitarget.h
all: all-am

View File

@ -1,12 +0,0 @@
diff -u -r ../libffi-3.1/libffi.pc.in ./libffi.pc.in
--- ../libffi-3.1/libffi.pc.in 2014-04-25 19:45:13.000000000 +0200
+++ ./libffi.pc.in 2014-07-13 22:37:09.818674529 +0200
@@ -2,7 +2,7 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
toolexeclibdir=@toolexeclibdir@
-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includedir=@includedir@
Name: @PACKAGE_NAME@
Description: Library supporting Foreign Function Interfaces

View File

@ -1,21 +0,0 @@
+++ ./Makefile.am 2014-11-08 14:47:24.000000000 +0200
@@ -249,7 +249,7 @@
AM_CFLAGS += -DFFI_DEBUG
endif
-libffi_la_LDFLAGS = -no-undefined -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+libffi_la_LDFLAGS = -no-undefined -avoid-version `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)
+++ ./Makefile.in 2019-06-25 18:14:42.603887765 +0300
@@ -723,7 +723,7 @@
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
AM_CFLAGS = $(am__append_41)
-libffi_la_LDFLAGS = -no-undefined -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+libffi_la_LDFLAGS = -no-undefined -avoid-version `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)
all: fficonfig.h

View File

@ -1,17 +0,0 @@
Patch to allow building libffi using clang:
https://github.com/libffi/libffi/issues/191
Can be dropped after the next libffi release.
diff -u -r ../libffi-3.2.1/src/arm/sysv.S ./src/arm/sysv.S
--- ../libffi-3.2.1/src/arm/sysv.S 2014-11-08 07:47:24.000000000 -0500
+++ ./src/arm/sysv.S 2016-05-16 20:37:25.684302345 -0400
@@ -396,7 +396,7 @@
beq LSYM(Lepilogue_vfp)
cmp r3, #FFI_TYPE_SINT64
- stmeqia r2, {r0, r1}
+ stmiaeq r2, {r0, r1}
beq LSYM(Lepilogue_vfp)
cmp r3, #FFI_TYPE_FLOAT