the Fink project is an effort to port
popular Unix programs to Mac OS X
Info4: <<
Package: mono
Version: 2.4
Revision: 1
Distribution: 10.4, 10.5
Architecture: i386, powerpc
Description: .NET-compatible CIL engine
Type: java(1.5)
License: LGPL
Maintainer: Benjamin Reed
Depends: <<
%N-shlibs (= %v-%r),
libgettext3-shlibs,
system-java15
<<
BuildDepends: <<
atk1 (>= 1.20.0-1),
cairo (>= 1.8.6-1),
expat1,
fink (>= 0.28.0-1),
fontconfig2-dev (>= 2.4.1-1),
freetype219 (>= 2.3.7-7),
# gc (>= 7.1-1),
gettext-tools,
glib2-dev (>= 2.14.0-1),
glitz (>= 0.4.4-1),
libgettext3-dev,
libiconv-dev,
libpng3,
pixman (>= 0.12.0-1),
pkgconfig (>= 0.22-3),
system-java15-dev,
xmkmf
<<
BuildConflicts: libicu28-dev, libicu30-dev, gc
Replaces: <<
%N-dev (<< %v-%r),
monodoc (<< 2.4-1)
<<
Source: http://ftp.novell.com/pub/mono/sources/%n/%n-%v.tar.bz2
Source-MD5: da2bf1c0aba2958d26c5e8a9a49fd9d1
PatchScript: sed -e 's,@FINKPREFIX@,%p,g' %{PatchFile} | patch -p1
PatchFile: %n.patch
PatchFile-MD5: c4ed22de8fd4fa31cee29051361a23ec
SetCPPFLAGS: -I%p/include
SetLDFLAGS: -bind_at_load
SetLIBS: -L%p/lib
SetMAKEFLAGS: -j1
NoSetCPPFLAGS: true
NoSetLDFLAGS: true
NoSetMAKEFLAGS: true
ConfigureParams: --build=%m-apple-darwin`uname -r|cut -f1 -d.` --mandir=%p/share/man --sysconfdir=%p/etc --with-glib=system --with-ikvm-native=yes --with-jit=yes --with-preview=yes --with-x --with-moonlight --disable-dtrace --disable-dependency-tracking CFLAGS="-Os" CXXFLAGS="-Os"
CompileScript: <<
#!/bin/sh -ex
ulimit -n unlimited || :
# %p/bin and %p/sbin have mono stuff that conflicts on upgrade
save_IFS=$IFS
IFS=:
for DIR in $PATH; do
if [ "$DIR" != "%p/bin" ] && [ "$DIR" != "%p/sbin" ]; then
NEWPATH="$NEWPATH:$DIR"
fi
done
IFS=$save_IFS
export PATH="%p/lib/xmkmf/bin$NEWPATH"
export lt_cv_sys_max_cmd_len=65536 lt_cv_apple_cc_single_mod=yes
export ac_cv_header_poll_h=no ac_cv_header_sys_poll_h=no ac_cv_type_struct_pollfd=no
# configure stuff to work around %p/bin being gone
export HAVE_MSGFMT="yes"
export MSGFMT="%p/bin/msgfmt"
export MSGMERGE="%p/bin/msgmerge"
export PKG_CONFIG="%p/bin/pkg-config"
export XGETTEXT="%p/bin/xgettext"
export XMKMF="%p/lib/xmkmf/bin/xmkmf"
# if [ "%m" = "x86_64" ]; then
# export CFLAGS="$CFLAGS -arch x86_64"
# export CXXFLAGS="$CXXFLAGS -arch x86_64"
# export CPPFLAGS="$CPPFLAGS -arch x86_64"
# fi
perl -pi -e 's/hardcode_direct=yes/hardcode_direct=no/g; s/need_relink=yes/need_relink=no/g' configure ltmain.sh
./configure %c --with-jdk=$JAVA_HOME
make
<<
InstallScript: <<
#!/bin/sh -ex
ulimit -n unlimited || :
make install DESTDIR="%d"
find %i/lib/mono -name \*.config -print0 | xargs -0 perl -pi -e 's,target="lib,target="%p/lib/lib,g'
install -d -m 755 "%i/etc/profile.d"
cat <
export MONO_PATH='%p/lib:/usr/lib'
export MONO_SHARED_DIR="\$HOME"
END
cat <
setenv MONO_PATH '%p/lib:/usr/lib'
setenv MONO_SHARED_DIR "\$HOME"
END
chmod 755 "%i/etc/profile.d"/*
<<
DocFiles: AUTHORS COPYING* ChangeLog NEWS README
SplitOff: <<
Package: %N-shlibs
Depends: <<
cairo-shlibs (>= 1.8.6-1),
# gc-shlibs (>= 7.1-1),
glib2-shlibs (>= 2.14.0-1),
macosx (>= 10.4.3-1)
<<
Replaces: %N (<< %v-%r)
Files: <<
lib/libmono-profiler-*.0*.dylib
lib/libmono.0*.dylib
<<
Shlibs: <<
%p/lib/libmono-profiler-aot.0.dylib 1.0.0 %n (>= 1.2.5-1)
%p/lib/libmono-profiler-cov.0.dylib 1.0.0 %n (>= 1.2.5-1)
%p/lib/libmono.0.dylib 1.0.0 %n (>= 1.2.5-1)
<<
<<
SplitOff10: <<
Package: %N-dev
Depends: %N (>= %v-%r)
Replaces: <<
%N (<< %v-%r),
monodoc (<< 2.4-1)
<<
BuildDependsOnly: true
Files: <<
include
lib/*.a
lib/*.la
lib/libmono-profiler*.dylib
lib/libmono.dylib
lib/pkgconfig
<<
<<
SplitOff2: <<
Package: monodoc
Depends: %N (>= %v-%r)
Files: <<
bin/mdassembler
bin/mdoc*
bin/mdvalidater
bin/mod
bin/monodoc*
lib/mono/gac/monodoc
lib/mono/monodoc
lib/monodoc
lib/pkgconfig/monodoc.pc
share/man/man1/mdassembler.1
share/man/man1/mdoc*.1
share/man/man1/monodoc*.1
share/man/man5/mdoc.5
<<
<<
Shlibs: <<
%p/lib/libMonoPosixHelper.dylib 0.0.0 %n (>= 1.2.5-1)
%p/lib/libMonoSupportW.dylib 0.0.0 %n (>= 1.2.5-1)
%p/lib/libikvm-native.dylib 0.0.0 %n (>= 1.2.5-1)
<<
ConfFiles: <<
%p/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx
%p/etc/mono/1.0/machine.config
%p/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx
%p/etc/mono/2.0/machine.config
%p/etc/mono/browscap.ini
%p/etc/mono/config
<<
Homepage: http://www.mono-project.com/
DescDetail: <<
The Mono runtime implements a JIT engine for the CIL virtual machine
(as well as a byte code interpreter, this is to quickly port it to
new systems), the class loader, the garbage collector, threading
system and metadata access libraries.
<<
<<
diff -Nurd mono-2.4/configure mono-2.4-new/configure
--- mono-2.4/configure 2009-03-13 10:51:11.000000000 -0400
+++ mono-2.4-new/configure 2009-05-21 11:40:07.000000000 -0400
@@ -3029,11 +3029,11 @@
*-*-darwin*)
platform_win32=no
platform_darwin=yes
- CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent"
libmono_cflags="-D_THREAD_SAFE"
- LDFLAGS="$LDFLAGS -pthread"
- libmono_ldflags="-pthread"
+ LDFLAGS="$LDFLAGS"
+ libmono_ldflags=""
need_link_unlink=yes
cat >>confdefs.h <<\_ACEOF
#define PTHREAD_POINTER_ID 1
@@ -22546,20 +22546,12 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
-int
-main ()
-{
-
void main () {
#if defined(ZLIB_VERNUM) && (ZLIB_VERNUM >= 0x1230)
}
#else
#error No good zlib found
#endif
-
- ;
- return 0;
-}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
@@ -40039,11 +40031,11 @@
case "$host" in
*-*-darwin*)
libsuffix=".dylib"
- LIBC="libc.dylib"
- INTL="libintl.dylib"
- SQLITE="libsqlite.0.dylib"
- SQLITE3="libsqlite3.0.dylib"
- X11="libX11.dylib"
+ LIBC="/usr/lib/libSystem.dylib"
+ INTL="@FINKPREFIX@/lib/libintl.dylib"
+ SQLITE="@FINKPREFIX@/lib/libsqlite.0.dylib"
+ SQLITE3="@FINKPREFIX@/lib/libsqlite3.0.dylib"
+ X11="/usr/X11R6/lib/libX11.6.dylib"
;;
*-*-*netbsd*)
LIBC="libc.so.12"
diff -Nurd mono-2.4/data/config.in mono-2.4-new/data/config.in
--- mono-2.4/data/config.in 2009-02-13 18:34:32.000000000 -0500
+++ mono-2.4-new/data/config.in 2009-05-21 11:40:07.000000000 -0400
@@ -5,18 +5,18 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
diff -Nurd mono-2.4/mono/io-layer/shared.c mono-2.4-new/mono/io-layer/shared.c
--- mono-2.4/mono/io-layer/shared.c 2009-02-13 18:33:11.000000000 -0500
+++ mono-2.4-new/mono/io-layer/shared.c 2009-05-21 12:09:10.000000000 -0400
@@ -53,8 +53,8 @@
ubuf.machine[0] = '\0';
ubuf.sysname[0] = '\0';
} else {
- g_strdelimit (ubuf.sysname, "/", '_');
- g_strdelimit (ubuf.machine, "/", '_');
+ g_strdelimit (ubuf.sysname, NULL, '_');
+ g_strdelimit (ubuf.machine, NULL, '_');
}
fake_name = g_getenv ("MONO_SHARED_HOSTNAME");
diff -Nurd mono-2.4/mono/metadata/loader.c mono-2.4-new/mono/metadata/loader.c
--- mono-2.4/mono/metadata/loader.c 2009-02-23 13:43:32.000000000 -0500
+++ mono-2.4-new/mono/metadata/loader.c 2009-05-21 11:40:07.000000000 -0400
@@ -1196,6 +1196,24 @@
if (!module) {
void *iter = NULL;
+ while ((full_name = mono_dl_build_path ("@FINKPREFIX@/lib", file_name, &iter))) {
+ mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
+ "DllImport loading library: '%s'.", full_name);
+ module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg);
+ if (!module) {
+ mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
+ "DllImport error loading library '%s'.",
+ error_msg);
+ g_free (error_msg);
+ }
+ g_free (full_name);
+ if (module)
+ break;
+ }
+ }
+
+ if (!module) {
+ void *iter = NULL;
while ((full_name = mono_dl_build_path (".", file_name, &iter))) {
mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
"DllImport loading library: '%s'.", full_name);
diff -Nurd mono-2.4/mono/mini/exceptions-amd64.c mono-2.4-new/mono/mini/exceptions-amd64.c
--- mono-2.4/mono/mini/exceptions-amd64.c 2009-03-09 12:51:42.000000000 -0400
+++ mono-2.4-new/mono/mini/exceptions-amd64.c 2009-05-21 11:40:07.000000000 -0400
@@ -740,7 +740,7 @@
static inline guint64*
gregs_from_ucontext (ucontext_t *ctx)
{
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__APPLE__)
guint64 *gregs = (guint64 *) &ctx->uc_mcontext;
#else
guint64 *gregs = (guint64 *) &ctx->uc_mcontext.gregs;
diff -Nurd mono-2.4/mono/mini/mini-amd64.h mono-2.4-new/mono/mini/mini-amd64.h
--- mono-2.4/mono/mini/mini-amd64.h 2009-02-13 18:34:26.000000000 -0500
+++ mono-2.4-new/mono/mini/mini-amd64.h 2009-05-21 11:40:07.000000000 -0400
@@ -213,7 +213,9 @@
#ifndef PLATFORM_WIN32
+#ifndef __APPLE__
#define MONO_ARCH_USE_SIGACTION 1
+#endif
#ifdef HAVE_WORKING_SIGALTSTACK
@@ -319,7 +321,9 @@
#define MONO_ARCH_MONITOR_OBJECT_REG AMD64_RDI
#endif
+#if !defined(__APPLE__)
#define MONO_ARCH_AOT_SUPPORTED 1
+#endif
#if !defined(PLATFORM_WIN32) || defined(__sun)
#define MONO_ARCH_ENABLE_MONITOR_IL_FASTPATH 1
Info4: <<
Package: mono
Version: 2.6.4
Revision: 1
Architecture: i386, powerpc
Description: .NET-compatible CIL engine
Type: java(1.5)
License: LGPL
Maintainer: Benjamin Reed
Depends: <<
%N-shlibs (= %v-%r),
libgettext8-shlibs,
system-java15
<<
BuildDepends: <<
atk1 (>= 1.26.0-1),
cairo (>= 1.8.8-1),
expat1,
fink (>= 0.29.7-1),
fontconfig2-dev (>= 2.4.1-1),
freetype219 (>= 2.3.7-7),
gettext-tools,
glib2-dev (>= 2.18.4-1),
glitz (>= 0.4.4-1),
libgettext8-dev,
libiconv-dev,
libpng3,
pixman (>= 0.16.0-1),
pkgconfig (>= 0.23-1),
system-java15-dev,
xmkmf
<<
BuildConflicts: libicu28-dev, libicu30-dev, gc
Replaces: <<
%N-dev (<< %v-%r),
monodoc (<< 2.4-1)
<<
Source: http://ftp.novell.com/pub/mono/sources/%n/%n-%v.tar.bz2
Source-MD5: 342a7ca3bea3cbec0c8ac48b9322fcb4
PatchScript: <<
sed -e 's,@FINKPREFIX@,%p,g' %{PatchFile} | patch -p1
perl -pi -e 's,-pthread,-lpthread,g' configure
<<
PatchFile: %n.patch
PatchFile-MD5: 112c7e332abdabd158a9b11b02fd5eba
SetCFLAGS: -Os
SetCPPFLAGS: -I%p/include
SetLIBS: -L%p/lib
SetMAKEFLAGS: -j1
NoSetCFLAGS: true
NoSetCPPFLAGS: true
NoSetLDFLAGS: true
NoSetMAKEFLAGS: true
ConfigureParams: <<
--with-ikvm-native=yes \
--mandir=%p/share/man \
--sysconfdir=%p/etc \
--with-glib=system \
--with-preview=yes \
--with-x \
--with-moonlight \
--without-sigaltstack \
--disable-dtrace \
--disable-dependency-tracking
<<
CompileScript: <<
#!/bin/sh -ex
ulimit -n unlimited || :
# %p/bin and %p/sbin have mono stuff that conflicts on upgrade
save_IFS=$IFS
IFS=:
for DIR in $PATH; do
if [ "$DIR" != "%p/bin" ] && [ "$DIR" != "%p/sbin" ]; then
NEWPATH="$NEWPATH:$DIR"
fi
done
IFS=$save_IFS
export PATH="%p/lib/xmkmf/bin$NEWPATH"
export lt_cv_sys_max_cmd_len=65536 lt_cv_apple_cc_single_mod=yes
export ac_cv_header_poll_h=no ac_cv_header_sys_poll_h=no ac_cv_type_struct_pollfd=no
# configure stuff to work around %p/bin being gone
export HAVE_MSGFMT="yes"
export MSGFMT="%p/bin/msgfmt"
export MSGMERGE="%p/bin/msgmerge"
export PKG_CONFIG="%p/bin/pkg-config"
export XGETTEXT="%p/bin/xgettext"
export XMKMF="%p/lib/xmkmf/bin/xmkmf"
if [ -x /usr/bin/gcc-4.2 ]; then
export CC="gcc-4.2" CXX="g++-4.2"
fi
perl -pi -e 's/hardcode_direct=yes/hardcode_direct=no/g; s/need_relink=yes/need_relink=no/g' configure ltmain.sh
./configure %c --with-jdk=$JAVA_HOME
make
<<
InstallScript: <<
#!/bin/sh -ex
ulimit -n unlimited || :
make install DESTDIR="%d"
find %i/lib/mono -name \*.config -print0 | xargs -0 perl -pi -e 's,target="lib,target="%p/lib/lib,g'
install -d -m 755 "%i/etc/profile.d"
cat <
export MONO_PATH='%p/lib:/usr/lib'
export MONO_SHARED_DIR="\$HOME"
END
cat <
setenv MONO_PATH '%p/lib:/usr/lib'
setenv MONO_SHARED_DIR "\$HOME"
END
chmod 755 "%i/etc/profile.d"/*
<<
DocFiles: AUTHORS COPYING* ChangeLog NEWS README
SplitOff: <<
Package: %N-shlibs
Depends: <<
cairo-shlibs (>= 1.8.8-1),
glib2-shlibs (>= 2.18.4-1),
macosx (>= 10.4.3-1)
<<
Replaces: %N (<< %v-%r)
Files: <<
lib/libmono-profiler-*.0*.dylib
lib/libmono.0*.dylib
<<
Shlibs: <<
%p/lib/libmono-profiler-aot.0.dylib 1.0.0 %n (>= 1.2.5-1)
%p/lib/libmono-profiler-cov.0.dylib 1.0.0 %n (>= 1.2.5-1)
%p/lib/libmono.0.dylib 1.0.0 %n (>= 1.2.5-1)
<<
<<
SplitOff10: <<
Package: %N-dev
Depends: %N (>= %v-%r)
Replaces: <<
%N (<< %v-%r),
monodoc (<< 2.4-1)
<<
BuildDependsOnly: true
Files: <<
include
lib/*.a
lib/*.la
lib/libmono-profiler*.dylib
lib/libmono.dylib
lib/pkgconfig
<<
<<
SplitOff2: <<
Package: monodoc
Depends: %N (>= %v-%r)
Files: <<
bin/mdassembler
bin/mdoc*
bin/mdvalidater
bin/mod
bin/monodoc*
lib/mono/gac/monodoc
lib/mono/monodoc
lib/monodoc
lib/pkgconfig/monodoc.pc
share/man/man1/mdassembler.1
share/man/man1/mdoc*.1
share/man/man1/monodoc*.1
share/man/man5/mdoc.5
<<
<<
Shlibs: <<
%p/lib/libMonoPosixHelper.dylib 0.0.0 %n (>= 1.2.5-1)
%p/lib/libMonoSupportW.dylib 0.0.0 %n (>= 1.2.5-1)
%p/lib/libikvm-native.dylib 0.0.0 %n (>= 1.2.5-1)
<<
ConfFiles: <<
%p/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx
%p/etc/mono/1.0/machine.config
%p/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx
%p/etc/mono/2.0/machine.config
%p/etc/mono/browscap.ini
%p/etc/mono/config
<<
Homepage: http://www.mono-project.com/
DescDetail: <<
The Mono runtime implements a JIT engine for the CIL virtual machine
(as well as a byte code interpreter, this is to quickly port it to
new systems), the class loader, the garbage collector, threading
system and metadata access libraries.
<<
<<
diff -Nurd mono-2.6.4/configure mono-2.6.4-new/configure
--- mono-2.6.4/configure 2010-04-22 10:53:03.000000000 -0500
+++ mono-2.6.4-new/configure 2010-04-30 22:27:50.000000000 -0500
@@ -3222,11 +3222,11 @@
parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
platform_win32=no
platform_darwin=yes
- CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent"
libmono_cflags="-D_THREAD_SAFE"
- LDFLAGS="$LDFLAGS -pthread"
- libmono_ldflags="-pthread"
+ LDFLAGS="$LDFLAGS"
+ libmono_ldflags=""
need_link_unlink=yes
cat >>confdefs.h <<\_ACEOF
#define PTHREAD_POINTER_ID 1
@@ -3246,7 +3246,7 @@
fi
case "$host" in
i*86-*-darwin10*)
- BROKEN_DARWIN_FLAGS="-arch i386 -D_XOPEN_SOURCE -mmacosx-version-min=10.5"
+ BROKEN_DARWIN_FLAGS="-D_XOPEN_SOURCE -mmacosx-version-min=10.5"
CPPFLAGS="$CPPFLAGS $BROKEN_DARWIN_FLAGS"
CFLAGS="$CFLAGS $BROKEN_DARWIN_FLAGS"
CXXFLAGS="$CXXFLAGS $BROKEN_DARWIN_FLAGS"
@@ -18249,20 +18249,14 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
-int
-main ()
-{
- void main () {
+ int main () {
#if defined(ZLIB_VERNUM) && (ZLIB_VERNUM >= 0x1230)
+ return 0;
}
#else
#error No good zlib found
#endif
-
- ;
- return 0;
-}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
@@ -23692,18 +23686,11 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
-int
-main ()
-{
-
int main() {
int mask = 1;
sched_setaffinity(0, &mask);
+ return 0;
}
-
- ;
- return 0;
-}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
@@ -36761,11 +36748,11 @@
JIT_SUPPORTED=no
INTERP_SUPPORTED=no
-LIBC="libc.so.6"
-INTL="libc.so.6"
-SQLITE="libsqlite.so.0"
-SQLITE3="libsqlite3.so.0"
-X11="libX11.so"
+LIBC="/usr/lib/libSystem.dylib"
+INTL="@FINKPREFIX@/lib/libintl.dylib"
+SQLITE="@FINKPREFIX@/lib/libsqlite.0.dylib"
+SQLITE3="@FINKPREFIX@/lib/libsqlite3.0.dylib"
+X11="/usr/X11R6/lib/libX11.6.dylib"
sizeof_register="SIZEOF_VOID_P"
@@ -36796,11 +36783,9 @@
main ()
{
- void main () {
#if _MIPS_SIM != _ABIN32
#error Not mips n32
#endif
- }
;
return 0;
@@ -37247,11 +37232,11 @@
case "$host" in
*-*-darwin*)
libsuffix=".dylib"
- LIBC="libc.dylib"
- INTL="libintl.dylib"
- SQLITE="libsqlite.0.dylib"
- SQLITE3="libsqlite3.0.dylib"
- X11="libX11.dylib"
+ LIBC="/usr/lib/libSystem.dylib"
+ INTL="@FINKPREFIX@/lib/libintl.dylib"
+ SQLITE="@FINKPREFIX@/lib/libsqlite.0.dylib"
+ SQLITE3="@FINKPREFIX@/lib/libsqlite3.0.dylib"
+ X11="/usr/X11R6/lib/libX11.6.dylib"
;;
*-*-*netbsd*)
LIBC="libc.so.12"
diff -Nurd mono-2.6.4/data/config.in mono-2.6.4-new/data/config.in
--- mono-2.6.4/data/config.in 2010-04-22 10:37:47.000000000 -0500
+++ mono-2.6.4-new/data/config.in 2010-04-30 22:27:50.000000000 -0500
@@ -5,19 +5,19 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
diff -Nurd mono-2.6.4/libgc/darwin_stop_world.c mono-2.6.4-new/libgc/darwin_stop_world.c
--- mono-2.6.4/libgc/darwin_stop_world.c 2010-04-22 10:37:43.000000000 -0500
+++ mono-2.6.4-new/libgc/darwin_stop_world.c 2010-04-30 22:27:50.000000000 -0500
@@ -135,7 +135,7 @@
GC_push_one(state.ebp);
#endif
#elif defined(POWERPC)
-#if defined(_STRUCT_PPC_EXCEPTION_STATE)
+#if __DARWIN_UNIX03
lo = (void*)(state.__r1 - PPC_RED_ZONE_SIZE);
GC_push_one(state.__r0);
@@ -278,7 +278,7 @@
(natural_t *)&info, &outCount);
if(r != KERN_SUCCESS) continue;
-#if defined(_STRUCT_PPC_EXCEPTION_STATE)
+#if __DARWIN_UNIX03
lo = (void*)(info.__r1 - PPC_RED_ZONE_SIZE);
hi = (ptr_t)FindTopOfStack(info.__r1);
diff -Nurd mono-2.6.4/mono/interpreter/interp.h mono-2.6.4-new/mono/interpreter/interp.h
--- mono-2.6.4/mono/interpreter/interp.h 2010-04-22 10:37:47.000000000 -0500
+++ mono-2.6.4-new/mono/interpreter/interp.h 2010-04-30 22:27:50.000000000 -0500
@@ -120,8 +120,8 @@
void
mono_interp_transform_init (void);
-void inline stackval_from_data (MonoType *type, stackval *result, char *data, gboolean pinvoke);
-void inline stackval_to_data (MonoType *type, stackval *val, char *data, gboolean pinvoke);
+void stackval_from_data (MonoType *type, stackval *result, char *data, gboolean pinvoke);
+void stackval_to_data (MonoType *type, stackval *val, char *data, gboolean pinvoke);
void ves_exec_method (MonoInvocation *frame);
/*
diff -Nurd mono-2.6.4/mono/io-layer/shared.c mono-2.6.4-new/mono/io-layer/shared.c
--- mono-2.6.4/mono/io-layer/shared.c 2010-04-22 10:37:44.000000000 -0500
+++ mono-2.6.4-new/mono/io-layer/shared.c 2010-04-30 22:27:50.000000000 -0500
@@ -168,8 +168,8 @@
ubuf.machine[0] = '\0';
ubuf.sysname[0] = '\0';
} else {
- g_strdelimit (ubuf.sysname, "/", '_');
- g_strdelimit (ubuf.machine, "/", '_');
+ g_strdelimit (ubuf.sysname, NULL, '_');
+ g_strdelimit (ubuf.machine, NULL, '_');
}
fake_name = g_getenv ("MONO_SHARED_HOSTNAME");
diff -Nurd mono-2.6.4/mono/metadata/loader.c mono-2.6.4-new/mono/metadata/loader.c
--- mono-2.6.4/mono/metadata/loader.c 2010-04-22 10:37:44.000000000 -0500
+++ mono-2.6.4-new/mono/metadata/loader.c 2010-04-30 22:27:50.000000000 -0500
@@ -1284,6 +1284,24 @@
if (!module) {
void *iter = NULL;
+ while ((full_name = mono_dl_build_path ("@FINKPREFIX@/lib", file_name, &iter))) {
+ mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
+ "DllImport loading location: '%s'.", full_name);
+ module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg);
+ if (!module) {
+ mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
+ "DllImport error loading library: '%s'.",
+ error_msg);
+ g_free (error_msg);
+ }
+ g_free (full_name);
+ if (module)
+ break;
+ }
+ }
+
+ if (!module) {
+ void *iter = NULL;
while ((full_name = mono_dl_build_path (NULL, file_name, &iter))) {
mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
"DllImport loading location: '%s'.", full_name);
diff -Nurd mono-2.6.4/mono/metadata/profiler.c mono-2.6.4-new/mono/metadata/profiler.c
--- mono-2.6.4/mono/metadata/profiler.c 2010-04-22 10:37:44.000000000 -0500
+++ mono-2.6.4-new/mono/metadata/profiler.c 2010-04-30 22:27:50.000000000 -0500
@@ -26,7 +26,7 @@
#ifdef HAVE_SYS_TIME_H
#include
#endif
-#ifdef HAVE_BACKTRACE_SYMBOLS
+#if defined(HAVE_BACKTRACE_SYMBOLS) && defined(HAVE_EXECINFO_H)
#include
#endif
diff -Nurd mono-2.6.4/mono/mini/mini-arm.c mono-2.6.4-new/mono/mini/mini-arm.c
--- mono-2.6.4/mono/mini/mini-arm.c 2010-04-22 10:37:45.000000000 -0500
+++ mono-2.6.4-new/mono/mini/mini-arm.c 2010-04-30 22:28:15.000000000 -0500
@@ -4794,10 +4794,15 @@
MonoJumpInfo *patch_info;
int i;
guint8 *code;
- const guint8* exc_throw_pos [MONO_EXC_INTRINS_NUM] = {NULL};
- guint8 exc_throw_found [MONO_EXC_INTRINS_NUM] = {0};
+ guint8* exc_throw_pos [MONO_EXC_INTRINS_NUM];
+ guint8 exc_throw_found [MONO_EXC_INTRINS_NUM];
int max_epilog_size = 50;
+ for (i = 0; i < MONO_EXC_INTRINS_NUM; i++) {
+ exc_throw_pos [i] = NULL;
+ exc_throw_found [i] = 0;
+ }
+
/* count the number of exception infos */
/*
diff -Nurd mono-2.6.4/mono/mini/mini-ppc.c mono-2.6.4-new/mono/mini/mini-ppc.c
--- mono-2.6.4/mono/mini/mini-ppc.c 2010-04-22 10:37:45.000000000 -0500
+++ mono-2.6.4-new/mono/mini/mini-ppc.c 2010-04-30 22:28:15.000000000 -0500
@@ -5365,10 +5365,15 @@
MonoJumpInfo *patch_info;
int i;
guint8 *code;
- const guint8* exc_throw_pos [MONO_EXC_INTRINS_NUM] = {NULL};
- guint8 exc_throw_found [MONO_EXC_INTRINS_NUM] = {0};
+ guint8* exc_throw_pos [MONO_EXC_INTRINS_NUM];
+ guint8 exc_throw_found [MONO_EXC_INTRINS_NUM];
int max_epilog_size = 50;
+ for (i = 0; i < MONO_EXC_INTRINS_NUM; i++) {
+ exc_throw_pos [i] = NULL;
+ exc_throw_found [i] = 0;
+ }
+
/* count the number of exception infos */
/*
diff -Nurd mono-2.6.4/mono/mini/mini-ppc.h mono-2.6.4-new/mono/mini/mini-ppc.h
--- mono-2.6.4/mono/mini/mini-ppc.h 2010-04-22 10:37:45.000000000 -0500
+++ mono-2.6.4-new/mono/mini/mini-ppc.h 2010-04-30 22:27:50.000000000 -0500
@@ -277,9 +277,9 @@
#if defined(__linux__)
#define MONO_ARCH_USE_SIGACTION 1
-#elif defined (__APPLE__) && defined (_STRUCT_MCONTEXT)
+#elif defined (__APPLE__) && __DARWIN_UNIX03
#define MONO_ARCH_USE_SIGACTION 1
-#elif defined (__APPLE__) && !defined (_STRUCT_MCONTEXT)
+#elif defined (__APPLE__) && !__DARWIN_UNIX03
#define MONO_ARCH_USE_SIGACTION 1
#elif defined(__NetBSD__)
#define MONO_ARCH_USE_SIGACTION 1
diff -Nurd mono-2.6.4/support/sys-mman.c mono-2.6.4-new/support/sys-mman.c
--- mono-2.6.4/support/sys-mman.c 2010-04-22 10:37:47.000000000 -0500
+++ mono-2.6.4-new/support/sys-mman.c 2010-04-30 22:27:50.000000000 -0500
@@ -8,6 +8,7 @@
*/
#define _XOPEN_SOURCE 600
+#undef _NONSTD_SOURCE
#include
#include