From 65ad34e710723380896dd7d2d193afc62116ad89 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 08:29:26 +0100 Subject: [[microkernel/mach/mig/gnu_mig]]: New; move most content there. --- contributing.mdwn | 8 +- hurd/building/cross-compiling.mdwn | 2 +- microkernel/mach.mdwn | 2 +- microkernel/mach/gnu_mach/building.mdwn | 2 +- microkernel/mach/mig.mdwn | 12 +- microkernel/mach/mig/building.mdwn | 72 --------- microkernel/mach/mig/discussion.mdwn | 17 --- microkernel/mach/mig/gnu_mig.mdwn | 24 +++ microkernel/mach/mig/gnu_mig/building.mdwn | 73 +++++++++ microkernel/mach/mig/gnu_mig/open_issues.mdwn | 20 +++ .../open_issues/duplicate_inclusion_guards.mdwn | 14 ++ microkernel/mach/mig/open_issues.mdwn | 19 --- .../open_issues/duplicate_inclusion_guards.mdwn | 14 -- mig-download.html | 167 --------------------- mig.html | 125 --------------- sidebar.mdwn | 28 ++-- 16 files changed, 159 insertions(+), 440 deletions(-) delete mode 100644 microkernel/mach/mig/building.mdwn delete mode 100644 microkernel/mach/mig/discussion.mdwn create mode 100644 microkernel/mach/mig/gnu_mig.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/building.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/open_issues.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn delete mode 100644 microkernel/mach/mig/open_issues.mdwn delete mode 100644 microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn delete mode 100644 mig-download.html delete mode 100644 mig.html diff --git a/contributing.mdwn b/contributing.mdwn index f21a6f32..698d03b3 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -80,17 +80,17 @@ doesn't work or suit you and try to improve that. ### Open Issues: GNU Hurd -Here is a [[list_of_open_issues|hurd/Open_Issues]] for the [[GNU_Hurd|hurd]]. +Here is a [[list_of_open_issues|hurd/open_issues]] for the [[GNU_Hurd|hurd]]. ### Open Issues: GNU Mach -Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/Open_Issues]] for +Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/open_issues]] for [[microkernel/mach/GNU_Mach]]. ### Open Issues: GNU MIG -Here is a [[list_of_open_issues|microkernel/mach/mig/Open_Issues]] for -[[GNU_MIG|microkernel/mach/mig]]. +Here is a [[list_of_open_issues|microkernel/mach/mig/gnu_mig/open_issues]] for +[[microkernel/mach/mig/GNU_MIG]]. diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index 31722ead..e548c75c 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -110,7 +110,7 @@ guarantee is given. Always the preferred version is listed first. $ ( cd gnumach-1-branch/ && autoreconf -vfi ) -* `src/mig`: [[GNU_Mach_Interface_Generator|microkernel/mach/mig]] +* `src/mig`: [[microkernel/mach/mig/GNU_MIG]] * CVS `HEAD` diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 594a74f9..9d3289b4 100644 --- a/microkernel/mach.mdwn +++ b/microkernel/mach.mdwn @@ -13,4 +13,4 @@ microkernel currently used by the [[Hurd]]. # Related -* [[Mach_Interface_Generator|mig]] +* [[Mach_Interface_Generator_(MIG)|mig]] diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn index ef0d8553..073c68a3 100644 --- a/microkernel/mach/gnu_mach/building.mdwn +++ b/microkernel/mach/gnu_mach/building.mdwn @@ -47,7 +47,7 @@ package: Apart from the case that you only want to install GNU Mach's header files (see below), building GNU Mach requires you to have the Mach Interface Generator -installed. See [[building_MIG|mig/building]] about how to do that, then come +installed. See [[building_MIG|mig/gnu_mig/building]] about how to do that, then come back here. Additionally, building GNU Mach requires a C compiler, a standard C library and diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index 5f09621d..eb1c0906 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -12,11 +12,11 @@ is included in the section entitled The Mach Interface Generator (MIG) is an [[IDL]] compiler. Based on an interface definition, it creates stubs to [[invoke]] object methods and to demultiplex incoming messages. These stubs conveniently hide -the details of Mach's [[IPC]] machinery. +the details of Mach's [[IPC]] machinery and make it easy to implement +and use Mach [[interface]]s as [[remote_procedure_calls_(RPC)|rpc]]. -GNU MIG is fully compatible with OSF MIG. - -* MIG's [homepage](http://www.gnu.org/software/hurd/mig.html) * [[Documentation]] -* [[Building]] - Building (and obtaining) MIG -* [[Open_Issues]] + +# Implementations + + * [[GNU_MIG]] diff --git a/microkernel/mach/mig/building.mdwn b/microkernel/mach/mig/building.mdwn deleted file mode 100644 index 2ec75e38..00000000 --- a/microkernel/mach/mig/building.mdwn +++ /dev/null @@ -1,72 +0,0 @@ -# Building the Mach Interface Generator from Source - -If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions. - -## Getting the Source Code - -You can chose between getting the [sources from the developers's rcs](http://www.gnu.org/software/hurd/mig-download.html#cvs): - - $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig - -... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig): - - $ apt-get source mig - -Please see the Debian [[running/debian/FAQ]] before using _apt-get source_. - -The unpacked source tree is around 1 MiB, and the build tree also is around 1 MiB. - -## Preparing for the Build - -### ... on Debian systems - -Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package: - - # apt-get install build-essential fakeroot - # apt-get build-dep mig - -### ... on non-Debian systems - -Building the Mach Interface Generator requires a C compiler, a standard C library (with corresponding header files) and your favourite flavor of awk (gawk), yacc (bison), lex (flex) and make. - -Additionally, you need to have GNU Mach's header files installed. See -[[mach/gnu_mach/building]] about how to do that, then come back here. - -## Building and Installing - -### ... a _.deb_ file - -Change into the directory with the downloaded / unpacked MIG sources (_mig-1.3.1.99_): - - $ cd mig-1.3.1.99 - -Start the build process: - - $ dpkg-buildpackage -us -uc -b -rfakeroot - -You can then install / distribute the _.deb_ file which will drop out one directory above the current one. - -### [TODO] - -The Mach Interface Generator has to be built in a separate directory: - - $ mkdir mig-build - $ cd mig-build - -Find the root directory where you installed GNU Mach's header files and where you now intend to install the Mach Interface Generator (_~/gnu_) and the path to your Mach Interface Generator sources (\_[...]/mig) and configure it: - - $ GNU=~/gnu - $ TARGET_CPPFLAGS=-I"$GNU"/include [...]/mig/configure --prefix="$GNU" - -Build and install the Mach Interface Generator into _$GNU_, i.e. _~/gnu/_ in our example: - - $ make all install - -To make your _mig_ binary easily available, you should append something like the following to e.g. your _~/.bash\_profile_: - - PATH=~/gnu/bin:$PATH - export PATH - -If you already have e.g. _~/bin_ in your _$PATH_, you could also create a symbolic link: - - $ ln -s ~/gnu/bin/mig ~/bin/ diff --git a/microkernel/mach/mig/discussion.mdwn b/microkernel/mach/mig/discussion.mdwn deleted file mode 100644 index fdab3a45..00000000 --- a/microkernel/mach/mig/discussion.mdwn +++ /dev/null @@ -1,17 +0,0 @@ -Created - --- [[Main/JoachimNilsson]] - 29 Oct 2002 - -The logo seems very programmer friendly as this web topic is intended. - --- [[Main/GrantBow]] - 15 Nov 2002 - -There's little traffic here and little content. Perhaps we should just remove this web? It seemed like a good idea to create it when we split the others off... - --- [[Main/GrantBow]] - 22 Dec 2002 - -Maybe, but not yet. Let's keep it for a while longer - say, three months. 1st April 2003. If the traffic still is low then we move the Mig topics to the Mach web ... - -...Mig = **Mach** Interface Generator. - --- [[Main/JoachimNilsson]] - 22 Dec 2002 diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn new file mode 100644 index 00000000..4f5fb5c8 --- /dev/null +++ b/microkernel/mach/mig/gnu_mig.mdwn @@ -0,0 +1,24 @@ +[[meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation, +Inc."]] + +[[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]]."]]"""]] + +GNU MIG is the GNU distribution of the +[[Mach_3.0_interface_generator_*MIG*|mig]], as maintained by the GNU Hurd +developers for the GNU project. + +You need this tool to compile the GNU Mach and GNU Hurd distributions, and to +compile the GNU C library for the Hurd. Also, you will need it for other +software in the GNU system that uses Mach-based +[[inter-process_communication|ipc]]. + +GNU MIG is fully compatible with [[OSF_MIG|mig]]. + + * [[Building]] - building (and obtaining) GNU MIG + * [[Open_Issues]] diff --git a/microkernel/mach/mig/gnu_mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn new file mode 100644 index 00000000..8b553b6b --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/building.mdwn @@ -0,0 +1,73 @@ +# Building the Mach Interface Generator from Source + +If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions. + +## Getting the Source Code + +You can chose between getting the [sources from the developers' +RCS](http://savannah.gnu.org/cvs/?group=hurd): + + $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig + +... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig): + + $ apt-get source mig + +Please see the Debian [[hurd/running/debian/FAQ]] before using _apt-get source_. + +The unpacked source tree is around 1 MiB, and the build tree also is around 1 MiB. + +## Preparing for the Build + +### ... on Debian systems + +Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package: + + # apt-get install build-essential fakeroot + # apt-get build-dep mig + +### ... on non-Debian systems + +Building the Mach Interface Generator requires a C compiler, a standard C library (with corresponding header files) and your favourite flavor of awk (gawk), yacc (bison), lex (flex) and make. + +Additionally, you need to have GNU Mach's header files installed. See +[[mach/gnu_mach/building]] about how to do that, then come back here. + +## Building and Installing + +### ... a _.deb_ file + +Change into the directory with the downloaded / unpacked MIG sources (_mig-1.3.1.99_): + + $ cd mig-1.3.1.99 + +Start the build process: + + $ dpkg-buildpackage -us -uc -b -rfakeroot + +You can then install / distribute the _.deb_ file which will drop out one directory above the current one. + +### [TODO] + +The Mach Interface Generator has to be built in a separate directory: + + $ mkdir mig-build + $ cd mig-build + +Find the root directory where you installed GNU Mach's header files and where you now intend to install the Mach Interface Generator (_~/gnu_) and the path to your Mach Interface Generator sources (\_[...]/mig) and configure it: + + $ GNU=~/gnu + $ TARGET_CPPFLAGS=-I"$GNU"/include [...]/mig/configure --prefix="$GNU" + +Build and install the Mach Interface Generator into _$GNU_, i.e. _~/gnu/_ in our example: + + $ make all install + +To make your _mig_ binary easily available, you should append something like the following to e.g. your _~/.bash\_profile_: + + PATH=~/gnu/bin:$PATH + export PATH + +If you already have e.g. _~/bin_ in your _$PATH_, you could also create a symbolic link: + + $ ln -s ~/gnu/bin/mig ~/bin/ diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn new file mode 100644 index 00000000..7a6233da --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -0,0 +1,20 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[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]]."]]"""]] + +[[meta title="Open Issues"]] + +This is a dumping ground for open issues for GNU MIG. + +[[inline +pages="microkernel/mach/mig/gnu_mig/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/mig/gnu_mig/open_issues" +postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn new file mode 100644 index 00000000..93347759 --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn @@ -0,0 +1,14 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[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]]."]]"""]] + +E.g., both `/usr/include/hurd/process.h` and +`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion +guard. This leads to problems when both are needed, as is the case in +[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/microkernel/mach/mig/open_issues.mdwn b/microkernel/mach/mig/open_issues.mdwn deleted file mode 100644 index 2d870695..00000000 --- a/microkernel/mach/mig/open_issues.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] - -[[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]]."]]"""]] - -[[meta title="Open Issues"]] - -This is a dumping ground for open issues for GNU MIG. - -[[inline -pages="microkernel/mach/mig/open_issues/* and !*/discussion" -show=0 -actions=yes -rootpage="microkernel/mach/mig/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn deleted file mode 100644 index 93347759..00000000 --- a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] - -[[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]]."]]"""]] - -E.g., both `/usr/include/hurd/process.h` and -`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion -guard. This leads to problems when both are needed, as is the case in -[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/mig-download.html b/mig-download.html deleted file mode 100644 index efbf1359..00000000 --- a/mig-download.html +++ /dev/null @@ -1,167 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -| Spanish -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Latest Release

-

-The latest release of MIG is version 1.3, 2002-03-08. However, it is -recommended that you use the version in CVS instead, as we are only a few steps -before we'll do another release from there. - - - -

CVS repository

-

-The MIG source code is managed in the version control system CVS. You can check out the CVS -repository through anonymous CVS over SSH with the following -instruction set. When prompted for a password for anoncvs, -simply press the Enter key. - -

-Source tree: - 
-cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig - -

Updates from within the module's directory do not need the -d parameter. - -

For the full details, read the savannah page. - -

Browsing the code

-

-You can also browse the CVS -repository of MIG with your web browser. The web pages are -generated dynamically at the time you request them and are always up -to date. -

-There is also a cross referenced -database of the Hurd, GNU Mach, MIG, and the GNU C library sources -online for you to browse. It provides better searching and browsing -facilities than the online CVS repository, but it is not always up to -date and does not contain history information. - -

-Some of these links are at other web sites not maintained by the -FSF. The FSF is not responsible for the content of these other web sites. -

- -
- -[ - - - English -| Spanish -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/mig.html b/mig.html deleted file mode 100644 index 49e19a37..00000000 --- a/mig.html +++ /dev/null @@ -1,125 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - en -| es -| he -| pl -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

-

Table of Contents

- -

-


- -

Introduction to GNU MIG

-

-GNU MIG is the GNU distribution of the Mach 3.0 interface generator `MIG', as -maintained by the GNU Hurd developers for the GNU project. -

-The interface generator produces stub code from interface definition -(.defs) files. The stub code makes it easy to implement -and use Mach interfaces as remote procedure calls (RPC). -

-You need this tool to compile the GNU Mach and GNU Hurd distributions, and to -compile the GNU C library for the Hurd. Also, you will need it for other -software in the GNU system that uses Mach-based inter-process communication. - -

Status of the project

-

-MIG 1.3 was released in March 2002, and features compatibility with -OSF Mach. -

- -
- -[ - - - en -| es -| he -| pl -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2006 Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/sidebar.mdwn b/sidebar.mdwn index a368c6c3..6a132e6d 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -11,25 +11,27 @@ is included in the section entitled Welcome to... [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU Hurd! -* **[[Home|/index]]** -* **[[Community]]** -* **[[Documentation]]** -* **[[Hurd/Getting_Help]]** + * **[[Home|/index]]** + * **[[Community]]** + * **[[Documentation]]** + * **[[Hurd/Getting_Help]]** --- -* **[[Hurd]]**[[if test="destpage(hurd*)" then=" - * *[[Hurd/Documentation]]* - * *[[hurd/Running]]*"]] -* **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" - * *[[microkernel/mach/GNU_Mach]]* - * *[[microkernel/mach/Documentation]]*"]] + * **[[Hurd]]**[[if test="destpage(hurd*)" then=" + * *[[Hurd/Documentation]]* + * *[[hurd/Running]]*"]] + * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" + * *[[microkernel/mach/Documentation]]* + * *[[microkernel/mach/GNU_Mach]]*"]] + * *[[microkernel/mach/MIG]]*[[if test="destpage(microkernel/mach/mig*)" then=" + * [[microkernel/mach/mig/GNU_MIG]]"]] --- -* **[[Debian_GNU/Hurd|hurd/running/debian]]** -* **[[GNU_system|hurd/running/gnu]]** + * **[[Debian_GNU/Hurd|hurd/running/debian]]** + * **[[GNU_system|hurd/running/gnu]]** --- -* **[[HurdNG|hurd/ng]]** + * **[[HurdNG|hurd/ng]]** -- cgit v1.2.3