[Mono-devel-list] GAC and third party libraries: post Beta planning.

Gert Driesen gert.driesen at pandora.be
Wed May 12 01:31:18 EDT 2004

On Wed, 2004-05-12 at 06:42, Miguel de Icaza wrote:
> > Has anyone ever thought about maintaining not only API compatibility,
> > but also maintaining a compatibile commandline interface ?  Doesn't
> > anyone see the importance of that ?
> Absolutely, we are backwards compatible, as much as possible.  If you do
> not want to use -pkg: do not use -pkg, nobody is forcing you to.
> If you dislike this approach, suggest and articulate a different way of
> properly dealing with this.  
> You had a whole week to articulate it, when I posted the proposal to the
> list ;-)

You're right, I was very busy ... I've got a dayjob and a gf (this
explains it all, right ;)), and was busy getting NAnt working on Mono
Beta 1 (which was just finished, hurray :(, on to beta 2 ? pfff)

But let me start by saying that I'm definitely not a *nix expert, and
I'm not claiming to know the answer to everything, but unix already
allows the output of other tools to be included in parameters to mcs, so
why not just use pkg-config inline to resolve the path to third party
libraries (this probably was answered numerous times already, but I
haven't had time to read all messages this week) ?  Because that would
mean that you still need to know the assembly names (but not their
location) ?  Is that an issue ?

> > You're really making it very hard to have generic, multi-platform and
> > multi-framework build files and I really fail to see the motive for that
> > ... unless *nux is the only platform you're interesting in and Windows
> > is just considered to be a test platform, but I can hardly believe that
> > (I hope) ... MonoDevelop does run on Windows too, right ?! :(
> > 
> > I hope you understand my concerns ...
> The error is in assuming that you will get a `write-once, run anywhere'
> setup with Mono unless you want to get an Alien on every system, like
> Java does.

But you still allow developers to create and run applications on all
platforms, right ?

> Lets consider MonoDevelop: there are two kinds of changes to
> MonoDevelop today: Windows.Forms to Gtk# is the largest one, but also
> Unix-isms and Gnome-isms.  

I'm not saying I don't understand this, I just wish it was different ...

> SharpDevelop contains too many Windows idioms, which are fine on
> Windows, but I would expect my tools to allow me to take advantage of
> what is unique of each platform.
> I expect Nant to take advantage of features in Linux, and not treat
> Linux just as a barebones Windows implementation.

No, we'll definitely support linux features (eg. I added pkg-config
functions this week) and we added support for having a single binary
distribution while still allowing platform/framework-specific
assemblies, and we have numerous users using NAnt to build Mono apps ...

However, allowing users to take advantages of operating system and
framework specific features is one thing, forcing users to have a
framework-specific build file is not our intention ... 

I (and others) have spent numerous hours and days getting NAnt (and
other open-source projects) to support Mono, so I think I've shown my
commitment to support Mono so far and I hope someone else will be
willing to spend more time on getting these to work on Mono after the
next beta ... I would really hate to see my efforts go to waste, but ...
well, it might be just me not having enough sleep lately :-)


More information about the Mono-devel-list mailing list