[Mono-dev] Standard name for mcs

2010-06-27 Thread Russell Wallace
I'm trying to distribute a C# program in both binary and source form
so that the user can optionally recompile it.

According to http://www.mono-project.com/CSharp_Compiler

You have to pick one of:

mcs: compiler to target 1.1 runtime (to be deprecated with Mono 2.8).
gmcs: compiler to target the 2.0 runtime.
smcs: compiler to target the 2.1 runtime, to build Moonlight applications.
dmcs: Starting with Mono 2.6 this command is the C# 4.0 compiler, and
references the 4.0 runtime.

And indeed on my Ubuntu 10.04 VM, 'gmcs' works but 'mcs' gives an
error message. (dmcs would be nice to have, presumably it just hasn't
made it through the pipeline yet -- the Ubuntu version of Mono is
2.4.4 -- which is fair enough.)

The problem I'm trying to solve is how to write a reliable makefile. I
can have the makefile call gmcs, but then presumably this will start
failing as soon as dmcs becomes the standard version.

Would it be possible to define a command to run whatever the
latest/currently installed C# compiler is? It seems to me that command
should be mcs, but it doesn't really matter what it is, as long as it
works reliably on all systems.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Mark de Bruijn | Dykam
Isn't it you deciding what platform your source targets? That is also the
decision of compiler. Once you get to use eg C#4 features, you want dmcs to
be the compiler.
--
Mark


On Sun, Jun 27, 2010 at 6:37 PM, Russell Wallace
russell.wall...@gmail.comwrote:

 I'm trying to distribute a C# program in both binary and source form
 so that the user can optionally recompile it.

 According to http://www.mono-project.com/CSharp_Compiler

 You have to pick one of:

 mcs: compiler to target 1.1 runtime (to be deprecated with Mono 2.8).
 gmcs: compiler to target the 2.0 runtime.
 smcs: compiler to target the 2.1 runtime, to build Moonlight applications.
 dmcs: Starting with Mono 2.6 this command is the C# 4.0 compiler, and
 references the 4.0 runtime.

 And indeed on my Ubuntu 10.04 VM, 'gmcs' works but 'mcs' gives an
 error message. (dmcs would be nice to have, presumably it just hasn't
 made it through the pipeline yet -- the Ubuntu version of Mono is
 2.4.4 -- which is fair enough.)

 The problem I'm trying to solve is how to write a reliable makefile. I
 can have the makefile call gmcs, but then presumably this will start
 failing as soon as dmcs becomes the standard version.

 Would it be possible to define a command to run whatever the
 latest/currently installed C# compiler is? It seems to me that command
 should be mcs, but it doesn't really matter what it is, as long as it
 works reliably on all systems.
 ___
 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] Standard name for mcs

2010-06-27 Thread Russell Wallace
The issue is backward compatibility. At the moment, I would like to
use C#4 features but I can't because it's not generally available, so
I'll stick to C#3; fair enough. But then, having done that, my program
should continue to work even when later versions of Mono that support
4 (which is a superset of 3) start appearing in the field. But if I
write my makefile to call gmcs, it will start failing as soon as dmcs
becomes the default compiler, even though dmcs would presumably be
able to compile the code just fine.


On Sun, Jun 27, 2010 at 5:38 PM, Mark de Bruijn | Dykam
kram...@gmail.com wrote:
 Isn't it you deciding what platform your source targets? That is also the
 decision of compiler. Once you get to use eg C#4 features, you want dmcs to
 be the compiler.
 --
 Mark


 On Sun, Jun 27, 2010 at 6:37 PM, Russell Wallace russell.wall...@gmail.com
 wrote:

 I'm trying to distribute a C# program in both binary and source form
 so that the user can optionally recompile it.

 According to http://www.mono-project.com/CSharp_Compiler

 You have to pick one of:

 mcs: compiler to target 1.1 runtime (to be deprecated with Mono 2.8).
 gmcs: compiler to target the 2.0 runtime.
 smcs: compiler to target the 2.1 runtime, to build Moonlight applications.
 dmcs: Starting with Mono 2.6 this command is the C# 4.0 compiler, and
 references the 4.0 runtime.

 And indeed on my Ubuntu 10.04 VM, 'gmcs' works but 'mcs' gives an
 error message. (dmcs would be nice to have, presumably it just hasn't
 made it through the pipeline yet -- the Ubuntu version of Mono is
 2.4.4 -- which is fair enough.)

 The problem I'm trying to solve is how to write a reliable makefile. I
 can have the makefile call gmcs, but then presumably this will start
 failing as soon as dmcs becomes the standard version.

 Would it be possible to define a command to run whatever the
 latest/currently installed C# compiler is? It seems to me that command
 should be mcs, but it doesn't really matter what it is, as long as it
 works reliably on all systems.
 ___
 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] Standard name for mcs

2010-06-27 Thread Mark de Bruijn | Dykam
Once your code requires C#4, you change the makefile to C#4. Simple as that.
Detecting what version your code requires is hard, and I think you've
guidelines about what C# version you currently use for the project. When you
update that, you update the makefile.
--
Mark


On Sun, Jun 27, 2010 at 6:43 PM, Russell Wallace
russell.wall...@gmail.comwrote:

 The issue is backward compatibility. At the moment, I would like to
 use C#4 features but I can't because it's not generally available, so
 I'll stick to C#3; fair enough. But then, having done that, my program
 should continue to work even when later versions of Mono that support
 4 (which is a superset of 3) start appearing in the field. But if I
 write my makefile to call gmcs, it will start failing as soon as dmcs
 becomes the default compiler, even though dmcs would presumably be
 able to compile the code just fine.


 On Sun, Jun 27, 2010 at 5:38 PM, Mark de Bruijn | Dykam
 kram...@gmail.com wrote:
  Isn't it you deciding what platform your source targets? That is also the
  decision of compiler. Once you get to use eg C#4 features, you want dmcs
 to
  be the compiler.
  --
  Mark
 
 
  On Sun, Jun 27, 2010 at 6:37 PM, Russell Wallace 
 russell.wall...@gmail.com
  wrote:
 
  I'm trying to distribute a C# program in both binary and source form
  so that the user can optionally recompile it.
 
  According to http://www.mono-project.com/CSharp_Compiler
 
  You have to pick one of:
 
  mcs: compiler to target 1.1 runtime (to be deprecated with Mono 2.8).
  gmcs: compiler to target the 2.0 runtime.
  smcs: compiler to target the 2.1 runtime, to build Moonlight
 applications.
  dmcs: Starting with Mono 2.6 this command is the C# 4.0 compiler, and
  references the 4.0 runtime.
 
  And indeed on my Ubuntu 10.04 VM, 'gmcs' works but 'mcs' gives an
  error message. (dmcs would be nice to have, presumably it just hasn't
  made it through the pipeline yet -- the Ubuntu version of Mono is
  2.4.4 -- which is fair enough.)
 
  The problem I'm trying to solve is how to write a reliable makefile. I
  can have the makefile call gmcs, but then presumably this will start
  failing as soon as dmcs becomes the standard version.
 
  Would it be possible to define a command to run whatever the
  latest/currently installed C# compiler is? It seems to me that command
  should be mcs, but it doesn't really matter what it is, as long as it
  works reliably on all systems.
  ___
  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] Standard name for mcs

2010-06-27 Thread Russell Wallace
Presumably someday I will start distributing new versions of my
program that require C#4, but that's a separate issue; the issue I'm
discussing here, I'm perhaps not explaining very well, I'll try again.

The problem I'm trying to solve is the standard problem of maintaining
backward compatibility for software that has already been distributed.
Once I distribute version X of my program, that's out there in the
field, and the makefile that shipped with it is whatever it is,
regardless of what different makefile I might in the future ship with
version X+1.

The backward compatibility problem, then, is that of making sure that
existing distributions of version X, continue to work when Mono
upgrades from C#3 to 4 to 5 and whatever other versions come in the
future. The usual way to solve this problem (afaik, all other
programming languages solve it this way, though I'm open to correction
on that) is to have a standard name for the compiler -- whatever the
latest/currently installed version thereof is -- so that whatever new
versions of the compiler come along, the same makefile will still
refer to them. It seems to me that would be the best solution for Mono
also. Is there another solution I'm not aware of? Obviously this is
going to be a general issue for any open source C# software
distributed on Unix, so presumably other people will have run across
this; what has been done about it heretofore?

On Sun, Jun 27, 2010 at 5:46 PM, Mark de Bruijn | Dykam
kram...@gmail.com wrote:
 Once your code requires C#4, you change the makefile to C#4. Simple as that.
 Detecting what version your code requires is hard, and I think you've
 guidelines about what C# version you currently use for the project. When you
 update that, you update the makefile.
 --
 Mark


 On Sun, Jun 27, 2010 at 6:43 PM, Russell Wallace russell.wall...@gmail.com
 wrote:

 The issue is backward compatibility. At the moment, I would like to
 use C#4 features but I can't because it's not generally available, so
 I'll stick to C#3; fair enough. But then, having done that, my program
 should continue to work even when later versions of Mono that support
 4 (which is a superset of 3) start appearing in the field. But if I
 write my makefile to call gmcs, it will start failing as soon as dmcs
 becomes the default compiler, even though dmcs would presumably be
 able to compile the code just fine.


 On Sun, Jun 27, 2010 at 5:38 PM, Mark de Bruijn | Dykam
 kram...@gmail.com wrote:
  Isn't it you deciding what platform your source targets? That is also
  the
  decision of compiler. Once you get to use eg C#4 features, you want dmcs
  to
  be the compiler.
  --
  Mark
 
 
  On Sun, Jun 27, 2010 at 6:37 PM, Russell Wallace
  russell.wall...@gmail.com
  wrote:
 
  I'm trying to distribute a C# program in both binary and source form
  so that the user can optionally recompile it.
 
  According to http://www.mono-project.com/CSharp_Compiler
 
  You have to pick one of:
 
  mcs: compiler to target 1.1 runtime (to be deprecated with Mono 2.8).
  gmcs: compiler to target the 2.0 runtime.
  smcs: compiler to target the 2.1 runtime, to build Moonlight
  applications.
  dmcs: Starting with Mono 2.6 this command is the C# 4.0 compiler, and
  references the 4.0 runtime.
 
  And indeed on my Ubuntu 10.04 VM, 'gmcs' works but 'mcs' gives an
  error message. (dmcs would be nice to have, presumably it just hasn't
  made it through the pipeline yet -- the Ubuntu version of Mono is
  2.4.4 -- which is fair enough.)
 
  The problem I'm trying to solve is how to write a reliable makefile. I
  can have the makefile call gmcs, but then presumably this will start
  failing as soon as dmcs becomes the standard version.
 
  Would it be possible to define a command to run whatever the
  latest/currently installed C# compiler is? It seems to me that command
  should be mcs, but it doesn't really matter what it is, as long as it
  works reliably on all systems.
  ___
  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] Standard name for mcs

2010-06-27 Thread Andreas Färber
Am 27.06.2010 um 18:37 schrieb Russell Wallace:

 Would it be possible to define a command to run whatever the
 latest/currently installed C# compiler is? It seems to me that command
 should be mcs, but it doesn't really matter what it is, as long as it
 works reliably on all systems.

I would prefer a csc command (like the usual cc symlink) that invokes  
the available/required Mono C# compiler. It would help with .NET  
compatibility at the same time.

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


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Russell Wallace
Yes, cc is an excellent analogy. And csc would definitely make sense,
except it seems to be already used for something else?

a...@a-desktop:~$ csc
The program 'csc' is currently not installed.  You can install it by typing:
sudo apt-get install chicken-bin

On Sun, Jun 27, 2010 at 6:13 PM, Andreas Färber andreas.faer...@web.de wrote:
 Am 27.06.2010 um 18:37 schrieb Russell Wallace:

 Would it be possible to define a command to run whatever the
 latest/currently installed C# compiler is? It seems to me that command
 should be mcs, but it doesn't really matter what it is, as long as it
 works reliably on all systems.

 I would prefer a csc command (like the usual cc symlink) that invokes the
 available/required Mono C# compiler. It would help with .NET compatibility
 at the same time.

 Andreas

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


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Mark de Bruijn | Dykam
The problem is that not all version of C# are completely backwards
compatible themselves. And for some reason I am still missing the point.
Mono going to 4.0 just means dmcs is available. Then when you move your
project to 4.0, you set the makefile to target dmcs. Where is the friction
going on? When you project is version X, it won't work with a previous
compiler anyway, and using a newer compiler isn't needed.
--
Mark


On Sun, Jun 27, 2010 at 7:36 PM, Russell Wallace
russell.wall...@gmail.comwrote:

 Yes, cc is an excellent analogy. And csc would definitely make sense,
 except it seems to be already used for something else?

 a...@a-desktop:~$ csc
 The program 'csc' is currently not installed.  You can install it by
 typing:
 sudo apt-get install chicken-bin

 On Sun, Jun 27, 2010 at 6:13 PM, Andreas Färber andreas.faer...@web.de
 wrote:
  Am 27.06.2010 um 18:37 schrieb Russell Wallace:
 
  Would it be possible to define a command to run whatever the
  latest/currently installed C# compiler is? It seems to me that command
  should be mcs, but it doesn't really matter what it is, as long as it
  works reliably on all systems.
 
  I would prefer a csc command (like the usual cc symlink) that invokes the
  available/required Mono C# compiler. It would help with .NET
 compatibility
  at the same time.
 
  Andreas
 
 ___
 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] Standard name for mcs

2010-06-27 Thread Russell Wallace
On Sun, Jun 27, 2010 at 9:22 PM, Mark de Bruijn | Dykam
kram...@gmail.com wrote:
 The problem is that not all version of C# are completely backwards
 compatible themselves.

I was under the impression Microsoft were being very careful about
maintaining backward compatibility in both the language and the
library. If that fails, it's basically going to be a choice between
going back to Java (which I'd rather not do) or back to C++ (which I'd
really rather not do). What backward compatibility bugs do you know
of?

 And for some reason I am still missing the point.
 Mono going to 4.0 just means dmcs is available.

Well, as of 2.4.4, gmcs is available but now mcs is _not_ available in
the standard distribution. I infer from that, that once dmcs becomes
available, gmcs will likewise stop being available in the standard
distribution. Is that not the case? I.e. is there going to be a change
of policy in this regard? If so, that would be an adequate solution.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Mark de Bruijn | Dykam
AFAIK the backwards compatibility breaks are really fixes of wrong behavior
of previous version. And compilers being discontinued, this goes in an
extreme slow pace, I'm pretty sure you will never have an issue with this.
--
Mark


On Sun, Jun 27, 2010 at 10:29 PM, Russell Wallace russell.wall...@gmail.com
 wrote:

 On Sun, Jun 27, 2010 at 9:22 PM, Mark de Bruijn | Dykam
 kram...@gmail.com wrote:
  The problem is that not all version of C# are completely backwards
  compatible themselves.

 I was under the impression Microsoft were being very careful about
 maintaining backward compatibility in both the language and the
 library. If that fails, it's basically going to be a choice between
 going back to Java (which I'd rather not do) or back to C++ (which I'd
 really rather not do). What backward compatibility bugs do you know
 of?

  And for some reason I am still missing the point.
  Mono going to 4.0 just means dmcs is available.

 Well, as of 2.4.4, gmcs is available but now mcs is _not_ available in
 the standard distribution. I infer from that, that once dmcs becomes
 available, gmcs will likewise stop being available in the standard
 distribution. Is that not the case? I.e. is there going to be a change
 of policy in this regard? If so, that would be an adequate solution.

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


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Russell Wallace
On Sun, Jun 27, 2010 at 9:32 PM, Mark de Bruijn | Dykam
kram...@gmail.com wrote:
 AFAIK the backwards compatibility breaks are really fixes of wrong behavior
 of previous version.

Yeah, that was my understanding; and it's rare, confined to edge cases
generally, and fair/inevitable/not a showstopper.

 And compilers being discontinued, this goes in an
 extreme slow pace, I'm pretty sure you will never have an issue with this.

If I can specify gmcs and that will continue to work even after dmcs
comes out, then while less than elegant, that would be a viable
solution to the problem. Okay, thanks!
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Michael Hutchinson
On Sun, Jun 27, 2010 at 4:29 PM, Russell Wallace
russell.wall...@gmail.com wrote:
 On Sun, Jun 27, 2010 at 9:22 PM, Mark de Bruijn | Dykam
 kram...@gmail.com wrote:
 The problem is that not all version of C# are completely backwards
 compatible themselves.

 I was under the impression Microsoft were being very careful about
 maintaining backward compatibility in both the language and the
 library. If that fails, it's basically going to be a choice between
 going back to Java (which I'd rather not do) or back to C++ (which I'd
 really rather not do). What backward compatibility bugs do you know
 of?

 And for some reason I am still missing the point.
 Mono going to 4.0 just means dmcs is available.

 Well, as of 2.4.4, gmcs is available but now mcs is _not_ available in
 the standard distribution. I infer from that, that once dmcs becomes
 available, gmcs will likewise stop being available in the standard
 distribution. Is that not the case? I.e. is there going to be a change
 of policy in this regard? If so, that would be an adequate solution.

No, mcs has been included in *all* released versions of Mono to date.
It will only be removed in 2.8, about 5-6 years after the addition of
gmcs.

I suspect your problem is the fact that Debian/Ubuntu breaks up Mono
into many tiny packages in order to minimize install size of
applications for end-users, and this unfortunately means that
developers often don't find things that they'd expect to be in a
normal Mono installation. You likely need to install the mcs package
(no idea what the package name is though).

-- 
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


[Mono-dev] Compiling Mono Runtime in VS2010

2010-06-27 Thread Guy Sherman
Hi All,

I managed to compile a 64-bit version of the mono runtime, using Visual
Studio 2008, and I am having a great time working out how to embed mono.
However, I am using Visual Studio 2010 for my solution, and whenever I call
free on a pointer allocated by the runtime (like a MonoClass*), I get a
failed debug assertion which has something to do with heap corruption, and
something to do with code within the same process being from different
versions of the C runtime (2008 vs 2010 I guess).

So, my question is this: has anyone managed to compile the mono runtime in
Visual Studio 2010 yet? I tried a couple of weeks ago but couldn't, there
was some phantom syntax error, which didn't appear in Visual Studio 2008.

As an aside, when trying to call g_free, I get an unresolved externals
error despite the fact that the path to glib-2.0.lib is definitely in my
project settings. Could this be because the glib libs that ship with mono
for windows a 32-bit, and I'm trying to compile 64-bit?

Thanks very much in advance,

Guy Sherman.

On Sun, 27 Jun 2010 08:25:01 -0400,
mono-devel-list-requ...@lists.ximian.com wrote:
 Send Mono-devel-list mailing list submissions to
   mono-devel-list@lists.ximian.com
 
 To subscribe or unsubscribe via the World Wide Web, visit
   http://lists.ximian.com/mailman/listinfo/mono-devel-list
 or, via email, send a message with subject or body 'help' to
   mono-devel-list-requ...@lists.ximian.com
 
 You can reach the person managing the list at
   mono-devel-list-ow...@lists.ximian.com
 
 When replying, please edit your Subject line so it is more specific
 than Re: Contents of Mono-devel-list digest...
 
 
 Today's Topics:
 
1. Re:  Proposed Patch - Google Native Client (Rafael Teixeira)
2. Re:  [PATCH] mono_debugger_agent_thread_interrupt   signature
   mismatch (Zoltan Varga)
3.  svn trunk build fails, 'SIGPWR' undeclared (KISHIMOTO, Makoto)
4. Re:  Patch 2/2 - Tests for System.Diagnostics.Contracts in
   corlib (Chris Bacon)
 
 
 --
 
 Message: 1
 Date: Fri, 25 Jun 2010 12:31:55 -0300
 From: Rafael Teixeira mono...@gmail.com
 Subject: Re: [Mono-dev] Proposed Patch - Google Native Client
 To: Elijah Taylor elijahtay...@google.com
 Cc: mono-devel-list@lists.ximian.com
 Message-ID:
   aanlktimd6axaffdfxmy4w88kgwr6_arcykkxkd2jz...@mail.gmail.com
 Content-Type: text/plain; charset=utf-8
 
 Looks promising, thanks for the effort, and specially the stricter
checks
 result summary.
 
 Rafael Monoman Teixeira
 ---
 To be creative means to be in love with life. You can be creative only
if
 you love life enough that you want to enhance its beauty, you want to
bring
 a little more music to it, a little more poetry to it, a little more
dance
 to it.
 Osho
 
 
 On Tue, Jun 22, 2010 at 2:29 PM, Elijah Taylor
 elijahtay...@google.comwrote:
 
 Greetings Mono Developers,

 Attached is a patch to support 32-bit x86 code generation for Google
 Native
 Client (http://code.google.com/p/nativeclient/).  I encourage you to
 browse our project for more information if you're curious.  I apologize
 for
 the large diff, let me try to explain the highlights to make it easier
to
 digest.

 There is a code generation component (define:
__native_client_codegen__)
 which affects the Mono bytecode - native code generation for x86-32. 
 There
 are a set of alignment restrictions, illegal instructions, and
 replacement
 instructions we use for Native Client to ensure proper control-flow
 sandboxing.  Please see

http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdffor
 more details.

 There is also a runtime component (define: __native_client__) which
 modifies or disables some functionality to be compatible with the
Native
 Client runtime.

 We also had to modify some code that doesn't fall under either of the
 above
 defines.  Most of these changes revolved around type safety.  The
 modified
 version of gcc we use to compile Native Client modules is more strict
 about
 types, and it caught what look like legitimate issues with the Mono
 codebase.  The largest issue in terms of number of errors was the use
of
 mono_bool and gboolean interchangeably between declaration and
 definition of
 many functions.  gboolean is defined as an int but mono_bool is
 defined as
 int32_t.  Other type issues are listed directly below.  Feedback is
 appreciated on these changes because of our unfamiliarity with this
code,
 but I modified these in the way that seemed most right at the time.

 mono/metadata/decimal.h:47 mono_decimal2string int - gint32
 mono/metadata/filewatcher.h:28 gboolean - int
 mono/metadata/filewatcher.c:158 int32 - gint32
 mono/metadata/threads-type.h:64 int - gint32

 mono/mini/mini.h:1546  gboolean sort_end - int sort_type
 mono/mini/mini.h:1733  gboolean fp - int bank

 The last bit of modification 

Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread jmalcolm

I think this is a fair question.  I am not sure the original poster deserved
so much grief.

I have certainly compiled C programs from source that were written more than
five or six years ago.  It does not seem implausible that I might try to
compile the original posters code a decade from now and that I might find
that 'gmcs' is indeed not available at that time.

The best current solution does seem to be to use a macro like CSC in the
build script and set it to 'gmcs' or 'dmcs' or whatever your code requires. 
At least then, when it someday fails to build, it will likely be as simple
as changing a single letter in the build script to make it build again.

Many people would love to write build scripts that do not fail in this way
however.  In that case, it might make sense to see if 'gmcs' is available
and, if it is not, to try 'whatever the latest C# compiler is' instead.  You
could also check to make sure that the answer was not 'mcs' I suppose.  That
would future proof the process.  As was noted on this thread, the C#
compilers seem to have pretty good backwards compatibility even though they
have poor forward compatibility.

I saw recently the Mono VB compiler author proudly explain that his compiler
would not have any of the multiple names issues that the C# compiler has. 
Apparently, he sees it as a problem.

It seems pretty standard to have a fixed compiler name and then test for
system capabilities in the build script rather than to hard-wire in a
specific compiler name that implies a bunch of capabilities.  I am not
really complaining about the C# situation in Mono but I see no reason to be
grumpy at those who wonder if there is another way.
-- 
View this message in context: 
http://mono.1490590.n4.nabble.com/Standard-name-for-mcs-tp2270120p2270398.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] Standard name for mcs

2010-06-27 Thread Jonathan Pobst
On 6/27/2010 8:20 PM, jmalcolm wrote:

 I think this is a fair question.  I am not sure the original poster deserved
 so much grief.

 I have certainly compiled C programs from source that were written more than
 five or six years ago.  It does not seem implausible that I might try to
 compile the original posters code a decade from now and that I might find
 that 'gmcs' is indeed not available at that time.

Likely, when gmcs goes away, an alias script called 'gmcs' will be left 
in it's place that points to the current compiler.

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


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Russell Wallace
On Mon, Jun 28, 2010 at 2:52 AM, Jonathan Pobst mon...@jpobst.com wrote:
 Likely, when gmcs goes away, an alias script called 'gmcs' will be left
 in it's place that points to the current compiler.

Yes, please do this -- that would be the preferred solution.

It would be nice if the same could also be done with mcs once it's
formally removed from the standard Mono distribution as a separate
program -- being just a one line script, hopefully this could be put
back into the version shipped with Ubuntu?
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Jonathan Pobst
On 6/27/2010 9:25 PM, Russell Wallace wrote:
 On Mon, Jun 28, 2010 at 2:52 AM, Jonathan Pobstmon...@jpobst.com  wrote:
 Likely, when gmcs goes away, an alias script called 'gmcs' will be left
 in it's place that points to the current compiler.

 Yes, please do this -- that would be the preferred solution.

 It would be nice if the same could also be done with mcs once it's
 formally removed from the standard Mono distribution as a separate
 program -- being just a one line script, hopefully this could be put
 back into the version shipped with Ubuntu?

In Mono trunk, where the '1.1 mcs' has been removed, mcs is now a script 
pointing to gmcs.exe.

We cannot guarantee all distros will ship this script, but it is created 
by default when you make and install Mono from the Mono tree/tarball.

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


Re: [Mono-dev] Standard name for mcs

2010-06-27 Thread Russell Wallace
Perfect, thank you!

On Mon, Jun 28, 2010 at 3:36 AM, Jonathan Pobst mon...@jpobst.com wrote:
 On 6/27/2010 9:25 PM, Russell Wallace wrote:

 On Mon, Jun 28, 2010 at 2:52 AM, Jonathan Pobstmon...@jpobst.com  wrote:

 Likely, when gmcs goes away, an alias script called 'gmcs' will be left
 in it's place that points to the current compiler.

 Yes, please do this -- that would be the preferred solution.

 It would be nice if the same could also be done with mcs once it's
 formally removed from the standard Mono distribution as a separate
 program -- being just a one line script, hopefully this could be put
 back into the version shipped with Ubuntu?

 In Mono trunk, where the '1.1 mcs' has been removed, mcs is now a script
 pointing to gmcs.exe.

 We cannot guarantee all distros will ship this script, but it is created by
 default when you make and install Mono from the Mono tree/tarball.

 Jonathan

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