summaryrefslogtreecommitdiff
path: root/config_host/config_features.h.in
blob: 1c42ff014a12c2d548ecf8f9e5133c9555e498c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/* Configuration of high-level features that either 1) depend on the
 * platform (but are common to several platforms so just checking for
 * the feature is simpler than checking for several platforms), or 2)
 * are build-time configurable.
 */

#ifndef CONFIG_FEATURES_H
#define CONFIG_FEATURES_H

/* JAVA
 *
 * Whether we have support for Java extensions, and use own Java
 * functionality).
 */

#define HAVE_FEATURE_JAVA 0

/* DESKTOP - Whether we have a "normal" desktop UI or not.
 *
 * Non-DESKTOP in practice means touch-based mobile devices, Android
 * or iOS for now. Support for those is work in pogress.
 *
 * Non-DESKTOP implies that the OS makes sure that only one instance
 * of each LibreOffice-based "app" at a time can be running, and thus
 * the LibreOffice code does not need to handle such things itself.
 *
 * Non-DESKTOP implies no traditional inter-app drag and drop concept.
 *
 * Non-DESKTOP implies no traditional help mechanism, and to some
 * extent (as noticed, and as possible without making the code too
 * ugly) the related code is ifdeffed out.
 */

#define HAVE_FEATURE_DESKTOP 0

/* DESKTOP_GUI_ELEMENTS
 *
 * In the non-DESKTOP case, whether to still display (and enable
 * interactive use of) traditional desktop-style GUI elements like
 * toolbars and scrollbars, drawn and handled using mostly the normal
 * LO code.
 */

#define HAVE_FEATURE_DESKTOP_GUI_ELEMENTS 0

/* EXTENSIONS - Whether we have any extension mechanism at all
 *
 * Primarily intended for non-desktop platforms where supporting
 * extensions can be complicated, or even prohibited by the OS (as on
 * iOS).
 */

#define HAVE_FEATURE_EXTENSIONS 0

/* MULTIUSER_ENVIRONMENT - Wheter running on a "normal" multi-user
 * desktop (or server) OS
 *
 * Non-MULTIUSER implies that the OS makes sure that only one
 * LibreOffice-based process at a time can be running that could
 * access the same local documents, and that thus no locking of local
 * documents is needed, and that no "shared documents" in Calc
 * is meaningful.
 *
 * Non-MULTIUSER in practice means Android or iOS for now, so thus is
 * work in progress.
 */

#define HAVE_FEATURE_MULTIUSER_ENVIRONMENT 0

/*
 * Whether we have the OpenCL headers and should compile in any
 * support for that abstraction.
 */

#define HAVE_FEATURE_OPENCL 0

/* 
 * Whether the OS has Avahi support, 
 * This library is used for zeroconf service publication on the local network
 * for the Impress remote control, so that the remote can automatically 
 * discover the running libO instance and its IP address. 
 * 
 * This library should be present on most mordern linux distributions
 * but not on "all" of them. For now, you should add --enable-avahi for 
 * this to be taken into account. Otherwise the test of its presence 
 * will not take place.
 */

#define HAVE_FEATURE_AVAHI 0

/* MACOSX_SANDBOX - whether LibreOffice runs in an OS X sandbox
 *
 * When building LibreOffice for distribution through the Mac App Store,
 * it must be sandboxed.
 */

#define HAVE_FEATURE_MACOSX_SANDBOX 0

/* MACOSX_MACLIKE_APP_STRUCTURE - LibreOffice.app substructure style
 *
 * Whether the structure of the LibreOffice.app bundle is more
 * "Mac-like" and what it has been previously, for instance with all
 * dylibs in the "Frameworks" folder and all non-code data in a the
 * "Resources" folder. For now coupled to HAVE_FEATURE_MACOSX_SANDBOX
 * in configure.ac.
 */

#define HAVE_FEATURE_MACOSX_MACLIKE_APP_STRUCTURE 0

/* READONLY_INSTALLSET - whether to treat the installation as read-only
 *
 * Prevents attempts by LibreOffice to write into its installation. That means
 * at least that no "system-wide" extensions can be added, if the location for
 * them is the traditional one. Experimental work in progress, not actually implemented.
 */

#define HAVE_FEATURE_READONLY_INSTALLSET 0


#endif