aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorsbruno <sbruno@FreeBSD.org>2014-10-29 23:31:00 +0800
committersbruno <sbruno@FreeBSD.org>2014-10-29 23:31:00 +0800
commit1c46e4819e26690c3fe455dd81a2829369d134b7 (patch)
tree554a8e4b8c45b15b5725e1f0b935a25c0ec04197 /devel
parent0bb1a5bab952d24ccce109cbbf082d3f6ccd4ce0 (diff)
downloadfreebsd-ports-gnome-1c46e4819e26690c3fe455dd81a2829369d134b7.tar.gz
freebsd-ports-gnome-1c46e4819e26690c3fe455dd81a2829369d134b7.tar.zst
freebsd-ports-gnome-1c46e4819e26690c3fe455dd81a2829369d134b7.zip
Add support for mips/mips64 targets.
Unblocks 7k ports building for these targets. PR: 191909 Submitted by: sson Reviewed by: bapt (mentor)
Diffstat (limited to 'devel')
-rw-r--r--devel/libffi/Makefile2
-rw-r--r--devel/libffi/files/patch-configure13
-rw-r--r--devel/libffi/files/patch-src__mips__ffi.c29
-rw-r--r--devel/libffi/files/patch-src__mips__ffitarget.h13
4 files changed, 56 insertions, 1 deletions
diff --git a/devel/libffi/Makefile b/devel/libffi/Makefile
index 19c95fd2f321..d000f7785dc9 100644
--- a/devel/libffi/Makefile
+++ b/devel/libffi/Makefile
@@ -3,7 +3,7 @@
PORTNAME= libffi
PORTVERSION= 3.0.13
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= SOURCEWARE
MASTER_SITE_SUBDIR= ${PORTNAME}
diff --git a/devel/libffi/files/patch-configure b/devel/libffi/files/patch-configure
new file mode 100644
index 000000000000..1e29bb28fbcd
--- /dev/null
+++ b/devel/libffi/files/patch-configure
@@ -0,0 +1,13 @@
+diff --git ./configure.orig ./configure
+index 4b04db7..0d94fbd 100755
+--- ./configure.orig
++++ ./configure
+@@ -13428,7 +13428,7 @@ case "$host" in
+ mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+- mips*-*-linux* | mips*-*-openbsd*)
++ mips*-*-linux* | mips*-*-openbsd* | mips*-*-freebsd*)
+ # Support 128-bit long double for NewABI.
+ HAVE_LONG_DOUBLE='defined(__mips64)'
+ TARGET=MIPS; TARGETDIR=mips
diff --git a/devel/libffi/files/patch-src__mips__ffi.c b/devel/libffi/files/patch-src__mips__ffi.c
new file mode 100644
index 000000000000..d93f373760b1
--- /dev/null
+++ b/devel/libffi/files/patch-src__mips__ffi.c
@@ -0,0 +1,29 @@
+diff --git ./src/mips/ffi.c.orig ./src/mips/ffi.c
+index 03121e3..8b7881f 100644
+--- ./src/mips/ffi.c.orig
++++ ./src/mips/ffi.c
+@@ -38,7 +38,9 @@
+ #endif
+
+ #ifndef USE__BUILTIN___CLEAR_CACHE
+-# if defined(__OpenBSD__)
++# if defined(__FreeBSD__)
++# include <machine/sysarch.h>
++# elif defined(__OpenBSD__)
+ # include <mips64/sysarch.h>
+ # else
+ # include <sys/cachectl.h>
+@@ -729,11 +731,13 @@ ffi_prep_closure_loc (ffi_closure *closure,
+ closure->fun = fun;
+ closure->user_data = user_data;
+
++#if !defined(__FreeBSD__)
+ #ifdef USE__BUILTIN___CLEAR_CACHE
+ __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
+ #else
+ cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
+ #endif
++#endif /* ! __FreeBSD__ */
+ return FFI_OK;
+ }
+
diff --git a/devel/libffi/files/patch-src__mips__ffitarget.h b/devel/libffi/files/patch-src__mips__ffitarget.h
new file mode 100644
index 000000000000..4c52e32667c3
--- /dev/null
+++ b/devel/libffi/files/patch-src__mips__ffitarget.h
@@ -0,0 +1,13 @@
+diff --git ./src/mips/ffitarget.h.orig ./src/mips/ffitarget.h
+index 717d659..5a0c2b1 100644
+--- ./src/mips/ffitarget.h.orig
++++ ./src/mips/ffitarget.h
+@@ -41,7 +41,7 @@
+ #define _MIPS_SIM_ABI32 1
+ #define _MIPS_SIM_NABI32 2
+ #define _MIPS_SIM_ABI64 3
+-#elif !defined(__OpenBSD__)
++#elif !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ # include <sgidefs.h>
+ #endif
+