No empty .Rs/.Re
[netbsd-mini2440.git] / share / man / man8 / compat_darwin.8
blobf27b05cf2d9088769030efb68cf06517b67e1a75
1 .\"     $NetBSD: compat_darwin.8,v 1.2 2003/09/29 10:05:35 wiz Exp $
2 .\"
3 .\" Copyright (c) 2003 Emmanuel Dreyfus
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. All advertising materials mentioning features or use of this software
15 .\"    must display the following acknowledgement:
16 .\"      This product includes software developed for the NetBSD Project
17 .\"      by Emmanuel Dreyfus.
18 .\" 4. The name of the author may not be used to endorse or promote products
19 .\"    derived from this software without specific prior written permission
20 .\"
21 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 .\"
32 .Dd September 29, 2003
33 .Dt COMPAT_DARWIN 8
34 .Os
35 .Sh NAME
36 .Nm compat_darwin
37 .Nd setup procedure for running Darwin binaries from MacOS X
38 .Sh DESCRIPTION
39 .Nx
40 supports running Darwin binaries.
41 This works on PowerPC ports, and i386 should be supported in the
42 future.
43 For now, most text based and X11 based program should work.
44 Applications using the Quartz displaying system may work, but local
45 display is not yet supported: running MacOS X's Quartz display
46 server on
47 .Nx
48 is a work in progress.
49 .Pp
50 The Darwin compatibility feature is active for kernels compiled
51 with the
52 .Dv COMPAT_DARWIN ,
53 .Dv COMPAT_MACH ,
54 and
55 .Dv EXEC_MACHO
56 options enabled.
57 .Pp
58 All Darwin binaries are dynamically linked.
60 .Dv COMPAT_DARWIN
61 only emulates the Darwin system calls, you will need various Darwin
62 userland files, such as the shared libraries and the dynamic linker.
63 Theses files are kept in a
64 .Dq shadow root
65 directory, named
66 .Pa /emul/darwin .
67 Each time a Darwin binary has to use a file, it will look it up in
68 .Pa /emul/darwin
69 first.
70 This feature is used to prevent conflict between native and foreign
71 libraries and configuration files.
72 .Pp
73 There are two ways of setting up the
74 .Pa /emul/darwin
75 tree.
76 .Bl -enum
77 .It
78 The easiest way is to install the Darwin library package in
79 .Pa pkgsrc/emulators/darwin_lib .
80 This package uses files provided by the OpenDarwin project.
81 Therefore, it does not contain Apple's MacOS X proprietary libraries,
82 which are required in order to run any Quartz-based application.
83 If you need some files not installed by the package, read on.
84 .It
85 You can also install Darwin or MacOS X files in
86 .Pa /emul/darwin
87 by hand.
88 To do this, you need a Darwin system.
89 In order to know what libraries a program needs, just use the
90 .Dl otool -L program
91 command on Darwin.
92 Alternatively, you can use
93 .Xr ktrace 1
94 and
95 .Xr kdump 1
96 to discover what files the program attempts to open.
97 .El
98 .Pp
99 Please note that you need a valid MacOS X license if you copy Apple
100 proprietary libraries and programs from a MacOS X system.
101 .Sh SEE ALSO
102 .Xr kdump 1 ,
103 .Xr ktrace 1 ,
104 .Xr options 4
105 .Sh AUTHORS
106 .Dv COMPAT_DARWIN
108 .Dv COMPAT_MACH
109 layers were written by
110 .An Emmanuel Dreyfus Aq manu@NetBSD.org
111 with some help from
112 .An Christos Zoulas Aq christos@NetBSD.org
114 .Dv EXEC_MACHO
115 was integrated into
118 .An Christos Zoulas Aq christos@NetBSD.org .
121 .Pa pkgsrc/emulators/darwin_lib
122 package was created by
123 .An James Whitwell Aq abacau@yahoo.com.au .
124 .Sh BUGS
125 Many.
126 .Dv COMPAT_DARWIN
127 is still very experimental.