[Mono-dev] Standard name for mcs

Mark de Bruijn | Dykam kramieb at gmail.com
Sun Jun 27 12:46:16 EDT 2010


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.wallace at 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
> <kramieb at 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.wallace at 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 at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20100627/094614c7/attachment.html 


More information about the Mono-devel-list mailing list