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 PKGREVISIONdiff -r1.74 -r1.75 pkgsrc/lang/mono/Makefile
(kefren)
@@ -1,16 +1,17 @@ | @@ -1,16 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.74 2008/10/25 05:27:58 kefren Exp $ | 1 | # $NetBSD: Makefile,v 1.75 2008/11/19 11:17:49 kefren Exp $ | |
2 | 2 | |||
3 | DISTNAME= mono-${MONO_VERSION} | 3 | DISTNAME= mono-${MONO_VERSION} | |
4 | PKGREVISION= 1 | |||
4 | CATEGORIES= lang | 5 | CATEGORIES= lang | |
5 | MASTER_SITES= http://ftp.novell.com/pub/mono/sources/mono/ | 6 | MASTER_SITES= http://ftp.novell.com/pub/mono/sources/mono/ | |
6 | EXTRACT_SUFX= .tar.bz2 | 7 | EXTRACT_SUFX= .tar.bz2 | |
7 | 8 | |||
8 | MAINTAINER= kefren@NetBSD.org | 9 | MAINTAINER= kefren@NetBSD.org | |
9 | HOMEPAGE= http://www.mono-project.com/ | 10 | HOMEPAGE= http://www.mono-project.com/ | |
10 | COMMENT= Open source implementation of the .NET Development Framework | 11 | COMMENT= Open source implementation of the .NET Development Framework | |
11 | 12 | |||
12 | PKG_DESTDIR_SUPPORT= user-destdir | 13 | PKG_DESTDIR_SUPPORT= user-destdir | |
13 | 14 | |||
14 | BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser | 15 | BUILD_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser | |
15 | 16 | |||
16 | CONFLICTS= pnet-[0-9]* | 17 | CONFLICTS= pnet-[0-9]* | |
@@ -20,28 +21,26 @@ ALL_ENV+= MONO_SHARED_DIR=${WRKDIR:Q} | @@ -20,28 +21,26 @@ ALL_ENV+= MONO_SHARED_DIR=${WRKDIR:Q} | |||
20 | 21 | |||
21 | USE_TOOLS+= bison gmake gtar perl:run pkg-config bash:run | 22 | USE_TOOLS+= bison gmake gtar perl:run pkg-config bash:run | |
22 | USE_LIBTOOL= yes | 23 | USE_LIBTOOL= yes | |
23 | USE_LANGUAGES+= c c++ | 24 | USE_LANGUAGES+= c c++ | |
24 | EXTRACT_USING= gtar | 25 | EXTRACT_USING= gtar | |
25 | 26 | |||
26 | GNU_CONFIGURE= yes | 27 | GNU_CONFIGURE= yes | |
27 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q} | 28 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q} | |
28 | CONFIGURE_ARGS+= --with-icu=yes | 29 | CONFIGURE_ARGS+= --with-icu=yes | |
29 | CONFIGURE_ARGS+= --with-preview=yes | 30 | CONFIGURE_ARGS+= --with-preview=yes | |
30 | CONFIGURE_ARGS+= --with-libgdiplus=installed | 31 | CONFIGURE_ARGS+= --with-libgdiplus=installed | |
31 | CONFIGURE_ARGS+= --with-moonlight=no | 32 | CONFIGURE_ARGS+= --with-moonlight=no | |
32 | 33 | |||
33 | MAKE_JOBS_SAFE= no | |||
34 | ||||
35 | MAKE_FLAGS+= PERL=${PERL5:Q} | 34 | MAKE_FLAGS+= PERL=${PERL5:Q} | |
36 | MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR} | 35 | MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR} | |
37 | UNLIMIT_RESOURCES= datasize | 36 | UNLIMIT_RESOURCES= datasize | |
38 | UNLIMIT_RESOURCES+= stacksize | 37 | UNLIMIT_RESOURCES+= stacksize | |
39 | UNLIMIT_RESOURCES+= memorysize | 38 | UNLIMIT_RESOURCES+= memorysize | |
40 | 39 | |||
41 | PKGCONFIG_OVERRIDE+= mono-uninstalled.pc.in | 40 | PKGCONFIG_OVERRIDE+= mono-uninstalled.pc.in | |
42 | PKGCONFIG_OVERRIDE+= data/cecil.pc.in | 41 | PKGCONFIG_OVERRIDE+= data/cecil.pc.in | |
43 | PKGCONFIG_OVERRIDE+= data/dotnet.pc.in | 42 | PKGCONFIG_OVERRIDE+= data/dotnet.pc.in | |
44 | PKGCONFIG_OVERRIDE+= data/dotnet35.pc.in | 43 | PKGCONFIG_OVERRIDE+= data/dotnet35.pc.in | |
45 | PKGCONFIG_OVERRIDE+= data/mint.pc.in | 44 | PKGCONFIG_OVERRIDE+= data/mint.pc.in | |
46 | PKGCONFIG_OVERRIDE+= data/mono-cairo.pc.in | 45 | PKGCONFIG_OVERRIDE+= data/mono-cairo.pc.in | |
47 | PKGCONFIG_OVERRIDE+= data/mono.pc.in | 46 | PKGCONFIG_OVERRIDE+= data/mono.pc.in |
@@ -1,28 +1,29 @@ | @@ -1,28 +1,29 @@ | |||
1 | $NetBSD: distinfo,v 1.40 2008/10/25 05:27:58 kefren Exp $ | 1 | $NetBSD: distinfo,v 1.41 2008/11/19 11:17:49 kefren Exp $ | |
2 | 2 | |||
3 | SHA1 (mono-2.0.1.tar.bz2) = 1c06d614b9b83ca0c8cff98d06136fd5a17344e2 | 3 | SHA1 (mono-2.0.1.tar.bz2) = 1c06d614b9b83ca0c8cff98d06136fd5a17344e2 | |
4 | RMD160 (mono-2.0.1.tar.bz2) = ecada26dc398f0ea4cc4cae62885f4d1438bd540 | 4 | RMD160 (mono-2.0.1.tar.bz2) = ecada26dc398f0ea4cc4cae62885f4d1438bd540 | |
5 | Size (mono-2.0.1.tar.bz2) = 19385815 bytes | 5 | Size (mono-2.0.1.tar.bz2) = 19385815 bytes | |
6 | SHA1 (patch-ab) = 28217e3c8bbbde2e26d33bf32297e99971e3d436 | 6 | SHA1 (patch-ab) = c5011d00d34c92b32d4243adac26b531ce40df00 | |
7 | SHA1 (patch-ac) = f88e1a034063a7f14e73d2e314e362d950c65e05 | 7 | SHA1 (patch-ac) = f88e1a034063a7f14e73d2e314e362d950c65e05 | |
8 | SHA1 (patch-ae) = f0654c3103e3d69c44158456f481e5a357350cb1 | 8 | SHA1 (patch-ae) = f0654c3103e3d69c44158456f481e5a357350cb1 | |
9 | SHA1 (patch-af) = abe2bc406e8f58c00f4d1226bda3c5fb9d4ea36f | 9 | SHA1 (patch-af) = abe2bc406e8f58c00f4d1226bda3c5fb9d4ea36f | |
10 | SHA1 (patch-ag) = 93775d9350fac57f58f20a7f5a512b8f4a3bd1ca | 10 | SHA1 (patch-ag) = 93775d9350fac57f58f20a7f5a512b8f4a3bd1ca | |
11 | SHA1 (patch-ak) = 034d260926fb31aa6b94faf5942f6ec7c7b461df | 11 | SHA1 (patch-ak) = 034d260926fb31aa6b94faf5942f6ec7c7b461df | |
12 | SHA1 (patch-ap) = db62ab3c1adc9f8a0b6051c4cbb76aef61a5c7dc | 12 | SHA1 (patch-ap) = db62ab3c1adc9f8a0b6051c4cbb76aef61a5c7dc | |
13 | SHA1 (patch-aq) = 2279dc6b46eded6f5a67b04e79779c1c7117fbc5 | 13 | SHA1 (patch-aq) = 2279dc6b46eded6f5a67b04e79779c1c7117fbc5 | |
14 | SHA1 (patch-ar) = 7a2a916f3362da087b2dcfe6b91ba47339151e5b | 14 | SHA1 (patch-ar) = 7a2a916f3362da087b2dcfe6b91ba47339151e5b | |
15 | SHA1 (patch-ba) = b5d7f5832ea53dd00af67ac94b5289d71f0d2152 | 15 | SHA1 (patch-ba) = b5d7f5832ea53dd00af67ac94b5289d71f0d2152 | |
16 | SHA1 (patch-bb) = e11e7af5c745f1ef315c46d5bb87944d08a058ff | |||
16 | SHA1 (patch-bc) = bbf1a903cf7fee1dbd3a070b0ef0d5aecbdf67e2 | 17 | SHA1 (patch-bc) = bbf1a903cf7fee1dbd3a070b0ef0d5aecbdf67e2 | |
17 | SHA1 (patch-bd) = cf15b750dbd93ebf0e0e5165b8a10aabbf4f1642 | 18 | SHA1 (patch-bd) = cf15b750dbd93ebf0e0e5165b8a10aabbf4f1642 | |
18 | SHA1 (patch-be) = d7a6232690ecd15c32ed44dcc498e596c248f332 | 19 | SHA1 (patch-be) = d7a6232690ecd15c32ed44dcc498e596c248f332 | |
19 | SHA1 (patch-bf) = e945b13fbffc1239a4c459a2c6be543e67e883f9 | 20 | SHA1 (patch-bf) = e945b13fbffc1239a4c459a2c6be543e67e883f9 | |
20 | SHA1 (patch-bg) = 92168eba23d1cf17a1424e318e21b0d845c52c5a | 21 | SHA1 (patch-bg) = 92168eba23d1cf17a1424e318e21b0d845c52c5a | |
21 | SHA1 (patch-bh) = a42432fd8ed92e2213fbcd24bf29c2b6d4cbd8ba | 22 | SHA1 (patch-bh) = a42432fd8ed92e2213fbcd24bf29c2b6d4cbd8ba | |
22 | SHA1 (patch-bi) = 91786c858b459cd6b5a0dc683b5bdefc412973c1 | 23 | SHA1 (patch-bi) = 91786c858b459cd6b5a0dc683b5bdefc412973c1 | |
23 | SHA1 (patch-ca) = f5c54525d70b185f9fcb28f82034c4e995395c0b | 24 | SHA1 (patch-ca) = f5c54525d70b185f9fcb28f82034c4e995395c0b | |
24 | SHA1 (patch-cb) = eaf041b83af24afc4d82d5088a01f98810a1de69 | 25 | SHA1 (patch-cb) = eaf041b83af24afc4d82d5088a01f98810a1de69 | |
25 | SHA1 (patch-cc) = ee2b28f90034d17330910af2f6c47524a3d6d557 | 26 | SHA1 (patch-cc) = ee2b28f90034d17330910af2f6c47524a3d6d557 | |
26 | SHA1 (patch-cd) = dc2afe3992c50b4201af628e12fc269d8bf893a6 | 27 | SHA1 (patch-cd) = dc2afe3992c50b4201af628e12fc269d8bf893a6 | |
27 | SHA1 (patch-ce) = ba1ae96ab63fe798ce781f0def5fe026d1776df0 | 28 | SHA1 (patch-ce) = ba1ae96ab63fe798ce781f0def5fe026d1776df0 | |
28 | SHA1 (patch-cf) = d6c419402636018800e62341024dc7cba71f791a | 29 | SHA1 (patch-cf) = d6c419402636018800e62341024dc7cba71f791a |
@@ -1,14 +1,13 @@ | @@ -1,14 +1,13 @@ | |||
1 | $NetBSD: patch-ab,v 1.14 2008/02/13 14:16:43 kefren Exp $ | 1 | $NetBSD: patch-ab,v 1.15 2008/11/19 11:17:49 kefren Exp $ | |
2 | --- configure.orig 2008-02-05 14:21:50.000000000 +0200 | 2 | --- configure.orig 2008-02-05 14:21:50.000000000 +0200 | |
3 | +++ configure 2008-02-05 14:24:06.000000000 +0200 | 3 | +++ configure 2008-02-05 14:24:06.000000000 +0200 | |
4 | @@ -2890,8 +2890,9 @@ | 4 | @@ -2890,7 +2890,7 @@ | |
5 | CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD" | 5 | CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD" | |
6 | libmono_ldflags="-pthread" | 6 | libmono_ldflags="-pthread" | |
7 | need_link_unlink=yes | 7 | need_link_unlink=yes | |
8 | - libdl="-ldl" | 8 | - libdl="-ldl" | |
9 | + libdl="-ldl /libexec/ld.elf_so" | 9 | + libdl="-ldl /libexec/ld.elf_so" | |
10 | libgc_threads=pthreads | 10 | libgc_threads=pthreads | |
11 | + with_tls=__thread | |||
12 | with_sigaltstack=no | 11 | with_sigaltstack=no | |
13 | ;; | 12 | ;; | |
14 | # these flags will work for all versions of -STABLE | 13 | # 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
/*