[Mono-dev] Compiling mono with Clang/LLVM

2010-04-20 Thread jmalcolm

I tried to compile Mono 2.6.4 (trunk of 2.6 branch) with Clang/LLVM trunk
(1.5/2.8) and it seemed to work without a hitch.  All I did was set CC to
/usr/bin/clang.

Is there any reason that I should not be building Mono with Clang/LLVM? 
Does it bring any advantage?

The build was on a setup that is just for playing around so this kinda falls
into the "see if it works" category.  That said, it would be very nice if
compiling Mono was faster and less resource intensive.  This machine is
often busy with a few such tasks and I compile Mono trunk fairly often to
see how things are coming along.

The web is all abuzz about LLVM.  Would it make the parts of the Mono
runtime that are written in C any more performant?  If it does, and if this
is a relatively safe operation, I would consider building Mono this way on
machines that are less experimental.

Anybody have any idea?

PS.

I tried the same build (Mono 2.6.4 with Clang/LLVM trunk) on a CentOS 5.4
box and it failed.  The test system mentioned above is running Ubuntu Lucid
Lynx (due out in a week) and it also built on Ubuntu Karmic.
-- 
View this message in context: 
http://n4.nabble.com/Compiling-mono-with-Clang-LLVM-tp2018329p2018329.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] 480152 - string.Normalize() frequently produces incorrect output

2010-04-20 Thread Atsushi Eno
Hello,

I have never had time enough to read this set of big changes, but my gut 
feeling is the new rewrite would be okay (on e.g. performance). Feel 
free to commit the changes, or I'll make changes leter in case you don't 
have write access.

It has been five years since I volunteered to write it and I did only 
few bugfixes, so I'm not likely to pay attention to this stuff.

Atsushi Eno

On 2010/04/21 5:47, Damien Diederen wrote:
> Hello everybody,
>
> I just attached a (second) series of patches addressing a mix of Unicode
> normalization problems to the following bug:
>
>https://bugzilla.novell.com/show_bug.cgi?id=480152#c32
>
> As noted in the “cover letter”:
>
>
>> This, a couple other fixes, and the addition of the Hangul composition
>> algorithm (complementing Gabriel's work on decomposition) causes the
>> number of failures in the BMP subset of the Unicode canonicalization
>> test suite to drop from 4k+ to 888.
>>
>> (Another, still experimental, and more controversial series of mine
>> brings that number down to zero, but it still needs a bit of work
>> before I post it as an RFC.)
>>  
> As I'm not sure anybody following that bug has any “free cycles,” I'm
> posting the link here for other committers to see.  I would really
> appreciate if somebody could have a look at the patches and comment on
> what has to be done/changed/improved to get them in Mono.
>
> Thanks,
> Damien
>
>

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Make System.IO.Ports work on UNIX systems other than Linux

2010-04-20 Thread Robert Nagy
Hi

The attached diff makes SerialPort.GetPortNames() work on
all Unix systems other than Linux too, because ttyS* and
ttyUSB* is linux specific and on *BSD the serial ports are
tty[0-9]+.
(I've tested this code on Linux and it should also support
ttySG0 (SGI running Linux (ia64)).

The other way would be to add a different platform id for 
*BSDs.

Comments? (My C# is not good :)) 
Index: class/System/System.IO.Ports/SerialPort.cs
===
--- class/System/System.IO.Ports/SerialPort.cs  (revision 155801)
+++ class/System/System.IO.Ports/SerialPort.cs  (working copy)
@@ -24,6 +24,7 @@
 using System.ComponentModel;
 using System.Diagnostics;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Runtime.InteropServices;
 using Microsoft.Win32;
 
@@ -525,10 +526,18 @@
// Are we on Unix?
if (p == 4 || p == 128 || p == 6) {
string[] ttys = Directory.GetFiles("/dev/", 
"tty*");
+   Regex lnx = new 
Regex(@"^\/dev\/tty(S(G)?|USB)[0-9]+$");
+   Regex rem = new 
Regex(@"^\/dev\/tty(U)?[0-9]+$");
+
foreach (string dev in ttys) {
-   if (dev.StartsWith("/dev/ttyS") || 
dev.StartsWith("/dev/ttyUSB"))
-   serial_ports.Add(dev);
+   if (lnx.Match(dev).Success)
+   rem = lnx;
+   serial_ports.Add(dev);
}
+   for (int i = serial_ports.Count - 1; i >= 0; 
i--) {
+   if (!rem.Match(serial_ports[i]).Success)
+   serial_ports.RemoveAt(i);
+   }
} else {
using (RegistryKey subkey = 
Registry.LocalMachine.OpenSubKey("HARDWARE\\DEVICEMAP\\SERIALCOMM"))
{
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] 480152 - string.Normalize() frequently produces incorrect output

2010-04-20 Thread Damien Diederen

Hello everybody,

I just attached a (second) series of patches addressing a mix of Unicode
normalization problems to the following bug:

  https://bugzilla.novell.com/show_bug.cgi?id=480152#c32

As noted in the “cover letter”:

> This, a couple other fixes, and the addition of the Hangul composition
> algorithm (complementing Gabriel's work on decomposition) causes the
> number of failures in the BMP subset of the Unicode canonicalization
> test suite to drop from 4k+ to 888.
> 
> (Another, still experimental, and more controversial series of mine
> brings that number down to zero, but it still needs a bit of work
> before I post it as an RFC.)

As I'm not sure anybody following that bug has any “free cycles,” I'm
posting the link here for other committers to see.  I would really
appreciate if somebody could have a look at the patches and comment on
what has to be done/changed/improved to get them in Mono.

Thanks,
Damien

-- 
http://crosstwine.com

“Strong Opinions, Weakly Held”
 — Bob Johansen
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] MonoDevelop & MoonLight debugger

2010-04-20 Thread Michael Hutchinson
On Tue, Apr 20, 2010 at 6:37 PM, Timothy Graupmann wrote:

> I found a video on using the MonoDeveloper debugger with Moonlight.
> http://www.youtube.com/watch?v=GSUZRZWzTQM
>
> Apparently this works on Linux. I didn't have the same success on the mac.


It requires Moonlight, not Silverlight. We don't have any way to access the
SL debugger APIs.

-- 
Michael Hutchinson
http://mjhutchinson.com
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] MonoDevelop & MoonLight debugger

2010-04-20 Thread Timothy Graupmann
I found a video on using the MonoDeveloper debugger with Moonlight.
http://www.youtube.com/watch?v=GSUZRZWzTQM

Apparently this works on Linux. I didn't have the same success on the mac.

--- On Sun, 4/11/10, Timothy Graupmann  wrote:

From: Timothy Graupmann 
Subject: [Mono-dev] MonoDevelop & MoonLight debugger
To: "mono-devel-list" 
Date: Sunday, April 11, 2010, 12:28 AM

Did I say MonoLight? I meant MoonLight.

--- On Thu, 4/8/10, Timothy Graupmann  wrote:

From: Timothy Graupmann 
Subject: [Mono-dev] MonoDevelop & MonoLight debugger
To: "mono-devel-list" 
Date: Thursday, April 8, 2010, 8:09 AM

I was able to compile my Silverlight User Control with MonoLight fairly easily. 
Now I want to run the debugger.
However, the page with any info about how to do line by line debugging in 
MonoDevelop is
 blank.
http://monodevelop.com/Enabling_the_Debugger
Who do we have to poke to finish the wiki?
Thanks,
~Tim
-Inline Attachment Follows-

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

-Inline Attachment Follows-

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] Android Support [3/4]

2010-04-20 Thread Jonathan Pryor
On Tue, 2010-04-20 at 11:16 +0200, Paolo Molaro wrote:
> We must use feature checks and not platform checks as much as possible.

The changes you outlined were commited to trunk (r155826) and the
mono-2-6 branch (r155825).

Thanks,
 - Jon


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] Android Support [3/4]

2010-04-20 Thread Andreas Färber
Am 20.04.2010 um 11:16 schrieb Paolo Molaro:

> On 04/19/10 Jonathan Pryor wrote:
>> Index: mono/mini/exceptions-arm.c
>> ===
>> --- mono/mini/exceptions-arm.c   (revision 155735)
>> +++ mono/mini/exceptions-arm.c   (working copy)
>> @@ -12,7 +12,11 @@
>> #include 
>> #include 
>> #include 
>> +#if defined(PLATFORM_ANDROID)
>> +#include 
>> +#else
>> #include 
>> +#endif
>
> Please make sure configure has the appropriate header checks and use:
>
> #ifdef HAVE_ASM_SIGCONTEXT_H
> #include 
> #endif
> #ifdef HAVE_UCONTEXT_H
> #include 
> #endif
>
> We must use feature checks and not platform checks as much as  
> possible.

+1. ucontext.h was dropped in POSIX.1-2008, so this is not just about  
Android.

Andreas
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] Android Support [1/4]

2010-04-20 Thread Jeremy Bell
Oops, meant to send this to the list.

Just a quick question. I'm new to the mono build process - with these
changes, how do you target the android platform when building mono/mcs?

On Mon, Apr 19, 2010 at 1:44 PM, Jonathan Pryor  wrote:

> This is a series of patches to add support to Mono for building against
> the Android NDK [0].  Android runs the Linux kernel, but moves many
> things around compared to a "normal" desktop Linux distro.
>
> These patches are based against the mono-2-6 branch.
>
> This first patch patches eglib so that messages produced by g_print(),
> g_printerr(), and g_log() are sent to the Android message log:
>
>* src/glib.h: Rebase g_return_if_fail(), g_return_val_if_fail() in
>  terms of g_critical() instead of printf, and turn g_printerr()
> into
>  an actual function instead of a macro.
>* src/goutput.c: Add Android support, sending g_print(),
> g_printerr(),
>  and g_log() messages to the Android system log.
>
> Permission to commit?
>
>  - Jon
>
> [0] http://developer.android.com/sdk/ndk/index.html
>
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [PATCH] Android Support [3/4]

2010-04-20 Thread Paolo Molaro
On 04/19/10 Jonathan Pryor wrote:
> Index: mono/io-layer/collection.c
> ===
> --- mono/io-layer/collection.c(revision 155735)
> +++ mono/io-layer/collection.c(working copy)
> @@ -58,7 +58,10 @@
>  ret = pthread_attr_init (&attr);
>  g_assert (ret == 0);
>  
> -#ifdef HAVE_PTHREAD_ATTR_SETSTACKSIZE
> +/* Android implements pthread_attr_setstacksize(), but errors out when using
> + * PTHREAD_STACK_MIN: http://code.google.com/p/android/issues/detail?id=7808
> + */
> +#if defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) && !defined(PLATFORM_ANDROID)
>  if (set_stacksize == 0) {
>  #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
>   ret = pthread_attr_setstacksize (&attr, 65536);

Instead of adding more checks there, just change the code to do:
ret = pthread_attr_setstacksize (&attr, MAX (65536, PTHREAD_STACK_MIN));

> Index: mono/io-layer/mono-mutex.c
> ===
> --- mono/io-layer/mono-mutex.c(revision 155735)
> +++ mono/io-layer/mono-mutex.c(working copy)
> @@ -22,11 +22,24 @@
>  
>  
>  #ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
> +/* Android does not implement pthread_mutex_timedlock(), but does provide an
> + * unusual declaration: 
> http://code.google.com/p/android/issues/detail?id=7807
> + */
> +#if defined(PLATFORM_ANDROID)
>  int pthread_mutex_timedlock (pthread_mutex_t *mutex,
> + struct timespec *timeout);
> +#else
> +int pthread_mutex_timedlock (pthread_mutex_t *mutex,
>   const struct timespec *timeout);
> +#endif

Just do this at the start:
#ifdef PLATFORM_ANDROID
#define CONST_NEEDED const
#else
#define CONST_NEEDED const
#endif

And then insert CONST_NEEDED where appropriate instead of the ugly
duplication and ifdef mess.

> Index: mono/mini/exceptions-arm.c
> ===
> --- mono/mini/exceptions-arm.c(revision 155735)
> +++ mono/mini/exceptions-arm.c(working copy)
> @@ -12,7 +12,11 @@
>  #include 
>  #include 
>  #include 
> +#if defined(PLATFORM_ANDROID)
> +#include 
> +#else
>  #include 
> +#endif

Please make sure configure has the appropriate header checks and use:

#ifdef HAVE_ASM_SIGCONTEXT_H
#include 
#endif
#ifdef HAVE_UCONTEXT_H
#include 
#endif

We must use feature checks and not platform checks as much as possible.

lupus

-- 
-
lu...@debian.org debian/rules
lu...@ximian.com Monkeys do it better
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list