[xbuild] Function names are case insensitive.
[mono.git] / eglib / README
index dcead76897fe3adfd5852bfd5093451a53b2e68c..eea89f520a8649eb38856bbc36619b93f31408ff 100644 (file)
@@ -15,18 +15,40 @@ Currently all the definitions go into a single file: glib.h, there are
 no separate files, please try to follow the convetions in the source code
 
 * Tests
+       
+       Please read the README in tests/
 
-       Please run the tests in the test/ directory, like this:
+* Features
 
-               $ test
+       The source code is designed to allow for different operating
+       system builds of the eglib code.
 
-       Once the tests pass, run them with valgrind to ensure that
-       there are no leaks, like this:
+       Files in src that:
 
-               $ valgrind test
+         * Have a plain name: are cross platform, and should work on
+           every operating system.
 
-        You can also run the tests against the original glib, to do
-       this, use:
+         * That end in -unix.c: These files contain Unix specific code.
 
-               $ cd test
-               $ ./other
\ No newline at end of file
+         * That end in -win32.c: These files contain Win32 specific code.
+
+         * That end in -posix.c: Will work on both Windows and Unix,
+            but should not be included for other operating systems. 
+
+* Plans: short and long term.
+
+       The short term plans for eglib is to allow Mono to optionally
+       build with it instead of using glib, gmodule and gthread, but
+       the default build will continue to be done against glib 2.0.
+
+       In the long-term we are considering dropping glib as a
+       dependency, considering that Mono requires a modern Unix
+       system to run anyways (for its thread support) it would allow
+       us to fix some of the glib API limitations we have to live
+       with (explicit thread support for example), rework the API to
+       use types from stdint.h and we would be able to drop three
+       external shared libraries.
+
+       This would reduce memory usage for the handful of routines
+       that we use from glib, dynamic linker overhead for those and
+       would allow us to tune the implementation to Mono's needs.