aboutsummaryrefslogtreecommitdiff
path: root/lang/mono
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2009-12-06 19:47:18 +0000
committerGreg Lewis <glewis@FreeBSD.org>2009-12-06 19:47:18 +0000
commit94bb403bc0f47c92d9b27afecf25da0d2d508f5b (patch)
tree77d82dfb0588870003d4a84422ae0f8906ea283a /lang/mono
parentb987bd37c9ef735647d3a4ba66db5c7b88c2a993 (diff)
downloadports-94bb403bc0f47c92d9b27afecf25da0d2d508f5b.tar.gz
ports-94bb403bc0f47c92d9b27afecf25da0d2d508f5b.zip
Notes
Diffstat (limited to 'lang/mono')
-rw-r--r--lang/mono/Makefile2
-rw-r--r--lang/mono/files/patch-configure13
-rw-r--r--lang/mono/files/patch-mono_mini_mini-ppc.h20
3 files changed, 32 insertions, 3 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index 9d5b7cb988e3..ead3bd9e9589 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -42,7 +42,7 @@ MONO_SHARED_DIR=${WRKDIR}
MAKE_ENV= MONO_SHARED_DIR="${MONO_SHARED_DIR}" \
LC_ALL=C
-ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS= i386 amd64 powerpc
MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 csharp.1 disco.1 \
dtd2xsd.1 gacutil.1 genxs.1 httpcfg.1 ilasm.1 jay.1 macpack.1 \
diff --git a/lang/mono/files/patch-configure b/lang/mono/files/patch-configure
index 09f4ec87bbfb..eac067363dbc 100644
--- a/lang/mono/files/patch-configure
+++ b/lang/mono/files/patch-configure
@@ -22,7 +22,7 @@ $FreeBSD$
;;
*-*-*openbsd*)
platform_win32=no
-@@ -39146,8 +39147,8 @@
+@@ -39414,8 +39415,8 @@
INTERP_SUPPORTED=no
LIBC="libc.so.6"
INTL="libc.so.6"
@@ -32,4 +32,13 @@ $FreeBSD$
+SQLITE3="libsqlite3.so.8"
X11="libX11.so"
- jit_wanted=false
+ sizeof_register="SIZEOF_VOID_P"
+@@ -39675,7 +39676,7 @@
+ jit_wanted=true
+ ;;
+ macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
+- powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* )
++ powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | powerpc-*-freebsd* )
+ if test "x$ac_cv_sizeof_void_p" = "x8"; then
+ TARGET=POWERPC64;
+ CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__"
diff --git a/lang/mono/files/patch-mono_mini_mini-ppc.h b/lang/mono/files/patch-mono_mini_mini-ppc.h
new file mode 100644
index 000000000000..a93f779674f2
--- /dev/null
+++ b/lang/mono/files/patch-mono_mini_mini-ppc.h
@@ -0,0 +1,20 @@
+
+$FreeBSD$
+
+--- mono/mini/mini-ppc.h.orig
++++ mono/mini/mini-ppc.h
+@@ -281,6 +281,14 @@
+ #define UCONTEXT_REG_FPRn(ctx, n) ((ctx)->uc_mcontext.__fpregs.__fpu_regs [(n)])
+ #define UCONTEXT_REG_NIP(ctx) _UC_MACHINE_PC(ctx)
+ #define UCONTEXT_REG_LNK(ctx) ((ctx)->uc_mcontext.__gregs [_REG_LR])
++#elif defined(__FreeBSD__)
++#include <ucontext.h>
++ typedef ucontext_t os_ucontext;
++
++ #define UCONTEXT_REG_Rn(ctx, n) ((ctx)->uc_mcontext.mc_gpr [(n)])
++ #define UCONTEXT_REG_FPRn(ctx, n) ((ctx)->uc_mcontext.mc_fpreg [(n)])
++ #define UCONTEXT_REG_NIP(ctx) ((ctx)->uc_mcontext.mc_srr0)
++ #define UCONTEXT_REG_LNK(ctx) ((ctx)->uc_mcontext.mc_lr)
+ #else
+ #error Unknown OS
+ #endif