summaryrefslogtreecommitdiff
path: root/microkernel/mach/mig
diff options
context:
space:
mode:
Diffstat (limited to 'microkernel/mach/mig')
-rw-r--r--microkernel/mach/mig/documentation.mdwn6
-rw-r--r--microkernel/mach/mig/gnu_mig/building.mdwn17
-rw-r--r--microkernel/mach/mig/gnu_mig/discussion.mdwn9
3 files changed, 23 insertions, 9 deletions
diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn
index 96731a5d..740949e0 100644
--- a/microkernel/mach/mig/documentation.mdwn
+++ b/microkernel/mach/mig/documentation.mdwn
@@ -57,7 +57,9 @@ November 1989. Department of Computer Science, Carnegie-Mellon University.
See the citations about [Mach and matchmaker: kernel and language support for
objectoriented distributed
-systems](http://citeseer.ist.psu.edu/context/93073/0). "M. B. Jones and
+systems](http://citeseer.ist.psu.edu/context/93073/0)
+[(pdf)](https://kilthub.cmu.edu/ndownloader/files/12097610).
+"M. B. Jones and
R. F. Rashid, *Mach and matchmaker: kernel and language support for
objectoriented distributed systems*, Proceedings of the Conference on
Object-Oriented Programming Systems, Languages, and Applications, October 1986,
@@ -66,7 +68,7 @@ pp. 67--77."
# Further Relevant Documentation
- * The [[GNU_Mach_Reference_Manual|gnumach/reference_manual]], espacially
+ * The [[GNU_Mach_Reference_Manual|gnumach/reference_manual]], especially
[Chapter 4, Inter Process
Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html).
diff --git a/microkernel/mach/mig/gnu_mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn
index be79b02d..eed12e03 100644
--- a/microkernel/mach/mig/gnu_mig/building.mdwn
+++ b/microkernel/mach/mig/gnu_mig/building.mdwn
@@ -17,14 +17,14 @@ using a pre-built package, follow these instructions.
## <a name="Getting_the_Source_Code"> Getting the Source Code </a>
You can chose between getting the [sources from the developers'
-RCS](http://git.savannah.gnu.org/cgit/hurd/):
+RCS](https://git.savannah.gnu.org/git/hurd/):
- $ git clone http://git.savannah.gnu.org/cgit/hurd/mig.git/
+ $ git clone https://git.savannah.gnu.org/git/hurd/mig.git/
... or (if you are working on a Debian system) get the sources that are used for the
[current Debian mig package](http://packages.debian.net/source/unstable/mig):
- $ apt-get source mig
+ $ apt source mig
The unpacked source tree is around 1 MiB, and the build tree also is around 1 MiB.
@@ -35,8 +35,8 @@ The unpacked source tree is around 1 MiB, and the build tree also is around 1 Mi
Building MIG requires the *build-essential* and *fakeroot* packages,
and some additional dependencies specified by the mig source package:
- # apt-get install build-essential fakeroot
- # apt-get build-dep mig
+ # apt install build-essential fakeroot
+ # apt build-dep mig
### <a name="Building_and_Installing"> Building and Installing </a> <a name="_a_deb_file"> ... a _.deb_ file </a>
@@ -48,6 +48,9 @@ Start the build process:
$ dpkg-buildpackage -us -uc -b -rfakeroot
+Note: if you are building on a non-32bit system, you need to also pass e.g.
+`--target-arch=i386` to build the 32bit version.
+
This will create a _.deb_ package in the parent directory,
which you can then install on your system.
@@ -81,10 +84,10 @@ configure:
$ GNU=~/gnu
$ TARGET_CPPFLAGS=-I"$GNU"/include ../configure --prefix="$GNU"
-If you are building on a 64 bit machine, you need to add a --host option:
+If you want to build 32-bit gnumach on a 64-bit machine, you need to add a --target option. mig(com) will be build as ELF64 binary, but it will generate 32-bit stub code for gnumach:
$ GNU=~/gnu
- $ TARGET_CPPFLAGS=-I"$GNU"/include ../configure --prefix="$GNU" --host=i686-unknown-linux-gnu
+ $ TARGET_CPPFLAGS=-I"$GNU"/include ../configure --prefix="$GNU" --target=i686-gnu TARGET_CC=i686-linux-gnu-gcc
Build and install the Mach Interface Generator into _$GNU_ (i.e. _~/gnu/_ in our example):
diff --git a/microkernel/mach/mig/gnu_mig/discussion.mdwn b/microkernel/mach/mig/gnu_mig/discussion.mdwn
new file mode 100644
index 00000000..720cf92c
--- /dev/null
+++ b/microkernel/mach/mig/gnu_mig/discussion.mdwn
@@ -0,0 +1,9 @@
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+`MutoShack, March 23, 2019` - Is GNU MIG obsolete as of glibc 2.28? "Building and running on GNU/Hurd systems now works without out-of-tree patches". I don't currently have a build environment on this machine so I cannot check.