Add a specific MacOS X platform

This lets us add MacOS X-specific libraries for the platform where
it diverges from stock Unix.  The first such use is in the networking
layer, where MacOS X provides the `vmnet` framework.

This patch defaults the `mirage CLI` to use the `MacOSX` mode on
that platform, and adds a `--no-macosx` override to force use of
the Unix mode (for advanced users).

The end-user capability added by this patch is that userlevel bridged
networking is possible using `vmnet`, and does not require any
third-party kernel modules to be installed either.

Requires ocaml/opam-repository#3135 to have the new packages
As a fellow OS X user I applaud this effort.

On Mon, Dec 1, 2014 at 5:34 PM, Thomas Gazagnaire <notifications@github.com>
wrote:

> In lib/mirage.ml:
>
> >        append oc "FLAGS  = -cflag -g -lflags -g,-linkpkg,-dontlink,unix\n";
> >        append oc "XENLIB = $(shell ocamlfind query mirage-xen)\n"
> >      | `Unix ->
> > +      append oc "SYNTAX = -tags \"syntax(camlp4o),annot,bin_annot,strict_sequence,principal\"\n";
> > +      append oc "FLAGS  = -cflag -g -lflags -g,-linkpkg\n"
> > +    | `MacOSX ->
> > +      append oc "SYNTAX = -tags \"syntax(camlp4o),annot,bin_annot,strict_sequence,principal,thread\"\n";
>
> Ha no, sorry you are right, see last message in samoht/assemblage#88
> <https://github.com/samoht/assemblage/issues/88>
>
> so I'm fine with your patch, good to merge!
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/mirage/mirage/pull/329/files#r21104104>.
>



-- 
Dave Scott