aboutsummaryrefslogtreecommitdiff
path: root/DEVELOPMENT
diff options
context:
space:
mode:
Diffstat (limited to 'DEVELOPMENT')
-rw-r--r--DEVELOPMENT84
1 files changed, 84 insertions, 0 deletions
diff --git a/DEVELOPMENT b/DEVELOPMENT
new file mode 100644
index 0000000..0311cce
--- /dev/null
+++ b/DEVELOPMENT
@@ -0,0 +1,84 @@
+-*- Text -*-
+
+If you're ``just'' looking for something to work on, have a look at the
+ * bug list, <http://savannah.gnu.org/bugs/?group=hurd> and
+ * task list, <http://savannah.gnu.org/task/?group=hurd>.
+
+HOW TO CONTRIBUTE LARGER CHUNKS
+===============================
+
+If you want to help the maintainers to be quickly able to evaluate and
+check in your contribution, please try to follow these suggestions:
+
+Try to mark in the code stuff (i.e. whole functions, parts of header
+files) that you've just copied (and then perhaps modified; also note that
+briefly) from somewhere else and stuff that you've actually written
+yourself. Either do that by simply writing a ChangeLog in parallel (an
+informal one is fine as well) or put notes in the modified / imported
+files. The one who will be checking in your patches will then probably
+remove most of these notes, as soon as everything is written down in the
+real ChangeLog. Logging your changes right from the beginning makes it
+much easier for the maintainers to track down where which chunk is coming
+from, so that they can be handled appropriately.
+
+HISTORY
+=======
+
+`gnumach-1-branch-before_removing_unused_and_unsupported_code' was tagged
+on 2006-02-20. After creating that tag, code for unused and unsupported
+device driver for ISA cards and a good deal of i386 dependent, also
+unused and unsupported code was removed.
+
+On 2006-03-19, support was removed for FIPC, which only ever was used
+within the native Mach NE2000 NIC device driver, see
+<http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#FIPC>.
+<http://lists.gnu.org/archive/html/bug-hurd/2006-01/msg00162.html>.
+
+Support for NORMA was removed on 2006-03-20.
+<http://lists.gnu.org/archive/html/bug-hurd/2006-03/msg00007.html>.
+
+Support for PS2, i860, iPSC 386/860 and MB1/MB2/EXL was removed on
+2006-11-05.
+<http://lists.gnu.org/archive/html/bug-hurd/2006-11/msg00001.html>.
+
+Support for the old ipc interface, MACH_IPC_COMPAT, was removed on 2006-12-03.
+<http://savannah.gnu.org/patch/?5017>.
+
+Support for building without CONTINUATIONS was removed on 2006-12-03.
+<http://savannah.gnu.org/patch/?5019>.
+
+Support for FP emulation was removed on 2006-12-13.
+<http://lists.gnu.org/archive/html/bug-hurd/2006-12/msg00031.html>.
+
+Support for Olivetti XP7 & XP9 was removed on 2007-01-02.
+<http://lists.gnu.org/archive/html/bug-hurd/2006-12/msg00107.html>.
+
+Support for the `iopl' device and some i/o emulation code (that might be useful
+for DOSEMU) was removed on 2007-04-02.
+<http://lists.gnu.org/archive/html/bug-hurd/2007-04/msg00002.html>.
+
+
+Be sure to check the ChangeLog and have a look at the repository at that states
+if you want to work on those parts of GNU Mach.
+
+LAYOUT OF THE SOURCE TREE (very incomplete)
+
+ * include/
+
+[TODO: Check.]
+
+ ... is mainly for installed header and definition files, but it also holds
+ pseudo-clones of C library headers, which don't get installed because the C
+ library has better versions. In that category are <mach/error.h>,
+ <mach/mach_traps.h>, <mach/mig_support.h>, <sys/ioctl.h>, <sys/reboot.h>,
+ <sys/time.h>, <sys/types.h>, <alloca.h> and <string.h>. By putting such
+ headers into there, the relevant kernel code is easier to understand,
+ because the user will expect that the file named <alloca.h> or
+ <sys/types.h> does more or less what the normal C library file does, and
+ calling those <kern/alloca.h> or <kern/types.h> would make the reader have
+ to wonder or remember what they are. The directory is, essentially, a
+ special `/usr/include' for use by the kernel itself when compiling. It
+ only should get things which belong in `/usr/include'. The reason for
+ <alloca.h> and <sys/types.h> is because those are files found in
+ `/usr/include', even if on an actual installed system the versions in
+ `/usr/include' are provided by a different package.