README.compileopts revision 1.2
1	$NetBSD: README.compileopts,v 1.2 2014/03/16 14:47:47 pooka Exp $
2
3This file describes compile-time options for rump kernels.  Additionally,
4NetBSD build options will have an effect.  See src/share/mk/bsd.README
5for a desciption of NetBSD build options.
6
7Note: after changing an option, do a clean build.
8
9
10    RUMP_DIAGNOSTIC
11
12values:	yes|no
13defval:	yes
14effect:	Iff "yes", build with -DDIAGNOSTIC.
15
16
17    RUMP_DEBUG
18
19values:	defined / not defined
20effect:	Iff defined, build with -DDEBUG.
21
22
23    RUMP_LOCKDEBUG
24
25values:	defined / not defined
26effect:	Iff defined, build with -DLOCKDEBUG.
27
28
29    RUMP_KTRACE
30
31values:	yes|no
32defval:	yes
33effect:	Iff "yes", build with -DKTRACE.
34
35
36    RUMP_LOCKS_UP
37
38values: yes|no
39defval:	no
40effect: If "yes", build rump kernel with uniprocess-optimized locking.
41	An implication of this is that RUMP_NCPU==1 is required at
42	runtime.  If "no", build with multiprocessor-capable locking.
43
44
45    RUMP_UNREAL_ALLOCATORS
46
47values: yes|no
48defval:	no
49effect: If "yes", build version of kmem_alloc, pool and pool_cache
50	that directly relegate allocation to a hypercall.  If "no",
51	build the regular NetBSD memory allocators which use
52	page-sized memory allocation hypercalls.
53
54
55    RUMP_VIRTIF
56
57values:	yes|no
58defval:	yes
59effect:	Iff "yes", build the virt(4) network interface.  Turning this
60	off may be necessary on systems that lack the necessary headers,
61	e.g. musl libc based Linux.
62
63
64================================================================================
65
66
67The rest of the options described in this file are not intended to be
68set by users, but by the package building rump kernels.
69
70
71    RUMP_KERNEL_IS_LIBC
72
73values:	defined / not defined
74effect: Iff defined, export normal system call symbols from libc.
75	For example, without this option rump_sys_open() is exported.
76	With this option, both open() and rump_sys_open() are exported.
77	This option is meant for building systems where a rump kernel
78	is the only operating system like component.
79
80
81    RUMP_LDSCRIPT
82
83values: no/GNU/sun
84defval: GNU
85effect: Select the linker script to be used for linking rump kernel shared
86	library components.
87	no  - do not use a linker script
88	GNU - use a linker script for GNU ld 2.18 and later
89	sun - use a linker script for the Solaris linker
90