On 15/11/14 15:48, Miguel de Icaza wrote:
Each one needs to be discussed
Some of the Ms behaviors don't work on Unix, so not only we shouldn't bring it,
we should work towards a better shared
set of new Apis
I would be all in favor of this approach. In fact, I'd advocate for having a rule that forbids bringing non-trivial
Microsoft sources to Mono as they are. Not because they are bad, but precisely because they have lots of
Windows-specific code that will not work on other platforms. The fact is that Mono source code is far more portable in
many areas. I think the way to work with it is to review each non-trivial source side-by-side and bring the missing bits
to the Mono side (as well as fix the apparent bugs) by modifying the Mono sources using the Microsoft ones as reference.
Adding tests in the process will ensure that the behavior is the same for both sets of sources and, in the end, we'll
have a solid base for the better API Miguel mentions. Mono sources could serve as the base for this being curated for
portability over 14 years of development (first, of course, we'd have to get rid of the #ifdef cruft, clean up the
sources, get rid of all the guesswork implementations we had to do over the years). In general, I think we shouldn't
rush anything but take our time to produce codebase that merges the best of both worlds. Community help would be
greately appreciated here - the more eyes on the sources, the better. We should peruse PRs and put as many eyes on them
as possible.
marek
Not sure what you meant in this specific case.
On Saturday, November 15, 2014, Greg Young mailto:gregoryyou...@gmail.com>> wrote:
What's the plan on where there are differences in behavior? An example of
this would be uri matching. I would guess
it makes sense to use the ms stuff moving forward, how will changes in
current behavior be communicated
On Saturday, November 15, 2014, Miguel de Icaza > wrote:
Hey guys,
Sami reached out to me, and was wondering how to get started in
bringing some code to Mono, in particular WCF to
Mono. So I wrote this small guide for newcomers.
I would say it takes a couple of steps:
* Build your own local version of Mono on Linux.
* Make sure it works "mcs" should be able to run after installing it.
* Run a trivial self-hosted WCF server/client
* Make a trivial change to the WCF class library, and install this
version to test you can make changes
locally and have them run:
o cd mono/mcs/class/System.ServiceModel
o Make changes
o make install
o Run your test again in another window
o Repeat
* Make sure you can run the test suite:
o cd mono/mcs/class/System.ServiceModel
o make run-test-local
Once you are ready, you can start importing code. Ideally, you want
to go for high-value targets: the most
buggy parts of Mono's stack (you can check bugzilla for reports on
memory usage, bugs). Or you can pick a
missing feature.
To import code, modify the relevant ".sources" file in the
System.ServiceModel directory (where you ran the
test) and replace a local file, with a reference to the
"referencesource".
Chances are, you will need to make changes to the "referencesource"
code, since a lot of it is Windows specific.
Miguel
On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine
wrote:
Sweet – is there anything I can do to make progress?
__ __
I am somewhat ignorant about Mono but I am pretty ok with .NET and
Linux.
__ __
thanks
--
Studying for the Turing test
___
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