Wed Nov 19 11:17:49 2008 UTC ()
reenable MAKE_JOBS_SAFE (2.0.1 compiled OK several times on i386 and amd64)
let configure choose tls model
provide atomic_ops to Interlock functions in newer NetBSDs
bump PKGREVISION
(kefren)
diff -r1.74 -r1.75 pkgsrc/lang/mono/Makefile
diff -r1.40 -r1.41 pkgsrc/lang/mono/distinfo
diff -r1.14 -r1.15 pkgsrc/lang/mono/patches/patch-ab
diff -r0 -r1.4 pkgsrc/lang/mono/patches/patch-bb
--- pkgsrc/lang/mono/Makefile 2008/10/25 05:27:58 1.74
+++ pkgsrc/lang/mono/Makefile 2008/11/19 11:17:49 1.75
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.74 2008/10/25 05:27:58 kefren Exp $
+# $NetBSD: Makefile,v 1.75 2008/11/19 11:17:49 kefren Exp $
DISTNAME= mono-${MONO_VERSION}
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://ftp.novell.com/pub/mono/sources/mono/
EXTRACT_SUFX= .tar.bz2
@@ -29,8 +30,6 @@
CONFIGURE_ARGS+= --with-preview=yes
CONFIGURE_ARGS+= --with-libgdiplus=installed
CONFIGURE_ARGS+= --with-moonlight=no
-
-MAKE_JOBS_SAFE= no
MAKE_FLAGS+= PERL=${PERL5:Q}
MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
--- pkgsrc/lang/mono/distinfo 2008/10/25 05:27:58 1.40
+++ pkgsrc/lang/mono/distinfo 2008/11/19 11:17:49 1.41
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.40 2008/10/25 05:27:58 kefren Exp $
+$NetBSD: distinfo,v 1.41 2008/11/19 11:17:49 kefren Exp $
SHA1 (mono-2.0.1.tar.bz2) = 1c06d614b9b83ca0c8cff98d06136fd5a17344e2
RMD160 (mono-2.0.1.tar.bz2) = ecada26dc398f0ea4cc4cae62885f4d1438bd540
Size (mono-2.0.1.tar.bz2) = 19385815 bytes
-SHA1 (patch-ab) = 28217e3c8bbbde2e26d33bf32297e99971e3d436
+SHA1 (patch-ab) = c5011d00d34c92b32d4243adac26b531ce40df00
SHA1 (patch-ac) = f88e1a034063a7f14e73d2e314e362d950c65e05
SHA1 (patch-ae) = f0654c3103e3d69c44158456f481e5a357350cb1
SHA1 (patch-af) = abe2bc406e8f58c00f4d1226bda3c5fb9d4ea36f
@@ -13,6 +13,7 @@
SHA1 (patch-aq) = 2279dc6b46eded6f5a67b04e79779c1c7117fbc5
SHA1 (patch-ar) = 7a2a916f3362da087b2dcfe6b91ba47339151e5b
SHA1 (patch-ba) = b5d7f5832ea53dd00af67ac94b5289d71f0d2152
+SHA1 (patch-bb) = e11e7af5c745f1ef315c46d5bb87944d08a058ff
SHA1 (patch-bc) = bbf1a903cf7fee1dbd3a070b0ef0d5aecbdf67e2
SHA1 (patch-bd) = cf15b750dbd93ebf0e0e5165b8a10aabbf4f1642
SHA1 (patch-be) = d7a6232690ecd15c32ed44dcc498e596c248f332
--- pkgsrc/lang/mono/patches/Attic/patch-ab 2008/02/13 14:16:43 1.14
+++ pkgsrc/lang/mono/patches/Attic/patch-ab 2008/11/19 11:17:49 1.15
@@ -1,14 +1,13 @@
-$NetBSD: patch-ab,v 1.14 2008/02/13 14:16:43 kefren Exp $
+$NetBSD: patch-ab,v 1.15 2008/11/19 11:17:49 kefren Exp $
--- configure.orig 2008-02-05 14:21:50.000000000 +0200
+++ configure 2008-02-05 14:24:06.000000000 +0200
-@@ -2890,8 +2890,9 @@
+@@ -2890,7 +2890,7 @@
CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD"
libmono_ldflags="-pthread"
need_link_unlink=yes
- libdl="-ldl"
+ libdl="-ldl /libexec/ld.elf_so"
libgc_threads=pthreads
-+ with_tls=__thread
with_sigaltstack=no
;;
# these flags will work for all versions of -STABLE
$NetBSD: patch-bb,v 1.4 2008/11/19 11:17:49 kefren Exp $
--- mono/io-layer/atomic.h.orig 2008-07-01 20:50:32.000000000 +0300
+++ mono/io-layer/atomic.h 2008-11-19 11:37:19.000000000 +0200
@@ -10,11 +10,61 @@
#ifndef _WAPI_ATOMIC_H_
#define _WAPI_ATOMIC_H_
+#if defined(__NetBSD__)
+#include <sys/param.h>
+
+#if __NetBSD_Version__ > 499004000
+#include <sys/atomic.h>
+#define HAVE_ATOMIC_OPS
+#endif
+
+#endif
+
#include <glib.h>
#include "mono/io-layer/wapi.h"
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__NetBSD__) && defined(HAVE_ATOMIC_OPS)
+
+#define WAPI_ATOMIC_ASM
+static inline gint32 InterlockedCompareExchange(volatile gint32 *dest,
+ gint32 exch, gint32 comp)
+{
+ return atomic_cas_32((uint32_t*)dest, comp, exch);
+}
+
+static inline gpointer InterlockedCompareExchangePointer(volatile gpointer *dest, gpointer exch, gpointer comp)
+{
+ return atomic_cas_ptr(dest, comp, exch);
+}
+
+static inline gint32 InterlockedIncrement(volatile gint32 *val)
+{
+ return atomic_inc_32_nv((uint32_t*)val);
+}
+
+static inline gint32 InterlockedDecrement(volatile gint32 *val)
+{
+ return atomic_dec_32_nv((uint32_t*)val);
+}
+
+static inline gint32 InterlockedExchange(volatile gint32 *val, gint32 new_val)
+{
+ return atomic_swap_32((uint32_t*)val, new_val);
+}
+
+static inline gpointer InterlockedExchangePointer(volatile gpointer *val,
+ gpointer new_val)
+{
+ return atomic_swap_ptr(val, new_val);
+}
+
+static inline gint32 InterlockedExchangeAdd(volatile gint32 *val, gint32 add)
+{
+ return atomic_add_32_nv((uint32_t*)val, add) - add;
+}
+
+#elif defined(__i386__) || defined(__x86_64__)
#define WAPI_ATOMIC_ASM
/*