1 /* Configuration of high-level features that either 1) depend on the
2 * platform (but are common to several platforms so just checking for
3 * the feature is simpler than checking for several platforms), or 2)
4 * are build-time configurable.
7 #ifndef CONFIG_FEATURES_H
8 #define CONFIG_FEATURES_H
12 * Whether we have support for Java extensions, and use own Java
16 #define HAVE_FEATURE_JAVA 0
18 /* DESKTOP - Whether we have a "normal" desktop UI or not.
20 * Non-DESKTOP in practice means touch-based mobile devices, Android
21 * or iOS for now. Support for those is work in progress.
23 * Non-DESKTOP implies that the OS makes sure that only one instance
24 * of each LibreOffice-based "app" at a time can be running, and thus
25 * the LibreOffice code does not need to handle such things itself.
27 * Non-DESKTOP implies no traditional inter-app drag and drop concept.
29 * Non-DESKTOP implies no traditional help mechanism, and to some
30 * extent (as noticed, and as possible without making the code too
31 * ugly) the related code is ifdeffed out.
33 * Non-DESKTOP implies no traditional desktop-style GUI elements like
34 * toolbars and scrollbars presented by the LO code.
37 #define HAVE_FEATURE_DESKTOP 0
41 * Whether we are building code to run in an X11 environment.
44 #define HAVE_FEATURE_X11 0
46 /* AVMEDIA - Whether to have functionality to display and manipulate
47 * embedded AV media in documents
50 #define HAVE_FEATURE_AVMEDIA 0
52 /* DBCONNECTIVITY - Whether to have functionality to connect to
56 #define HAVE_FEATURE_DBCONNECTIVITY 0
58 /* EXTENSIONS - Whether we have any extension mechanism at all
60 * Primarily intended for non-desktop platforms where supporting
61 * extensions can be complicated, or even prohibited by the OS (as on
65 #define HAVE_FEATURE_EXTENSIONS 0
67 /* SCRIPTING - Whether we have any mechanism to execute user-provided scripts
69 * Primarily intended for the iOS App Store where the
70 * rules prohibit user-accessible scripting features.
71 * Sure, it would be nice to still be able to have internal features
72 * implemented in some scripting language. Later, if necessary.
75 #define HAVE_FEATURE_SCRIPTING 0
77 /* MULTIUSER_ENVIRONMENT - Whether running on a "normal" multi-user
78 * desktop (or server) OS
80 * Non-MULTIUSER implies that the OS makes sure that only one
81 * LibreOffice-based process at a time can be running that could
82 * access the same local documents, and that thus no locking of local
83 * documents is needed, and that no "shared documents" in Calc
86 * Non-MULTIUSER in practice means Android or iOS for now, so thus is
90 #define HAVE_FEATURE_MULTIUSER_ENVIRONMENT 0
93 * Whether OpenCL is usable on the platform and we should compile in use of OpenCL.
96 #define HAVE_FEATURE_OPENCL 0
99 * Whether the OS has Avahi support,
100 * This library is used for zeroconf service publication on the local network
101 * for the Impress remote control, so that the remote can automatically
102 * discover the running libO instance and its IP address.
104 * This library should be present on most modern linux distributions
105 * but not on "all" of them. For now, you should add --enable-avahi for
106 * this to be taken into account. Otherwise the test of its presence
107 * will not take place.
110 #define HAVE_FEATURE_AVAHI 0
112 /* MACOSX_SANDBOX - whether LibreOffice runs in an OS X sandbox
114 * When building LibreOffice for distribution through the Mac App Store,
115 * it must be sandboxed.
118 #define HAVE_FEATURE_MACOSX_SANDBOX 0
120 /* READONLY_INSTALLSET - whether to treat the installation as read-only
122 * Prevents attempts by LibreOffice to write into its installation. That means
123 * at least that no "system-wide" extensions can be added, if the location for
124 * them is the traditional one. Experimental work in progress, not actually implemented.
127 #define HAVE_FEATURE_READONLY_INSTALLSET 0
130 * Whether FreeType has FT_Face_GetCharVariantIndex or not.
132 #define HAVE_FT_FACE_GETCHARVARIANTINDEX 0
135 * Whether to use validation on files.
137 #define HAVE_EXPORT_VALIDATION 0
140 * Whether to use export validation of binary formats (doc, xls, ppt)
142 * Requires installed Microsoft Office Binary File Format Validator
143 * https://www.microsoft.com/en-us/download/details.aspx?id=26794
145 #define HAVE_BFFVALIDATOR 0
148 * Whether we have glTF support.
150 #define HAVE_FEATURE_GLTF 0
153 * Whether we have COLLADA support.
155 #define HAVE_FEATURE_COLLADA 0
158 * Whether we support breakpad as crash reporting lib.
160 #define HAVE_FEATURE_BREAKPAD 0
163 * Whether OpenGL is enabled
165 #define HAVE_FEATURE_OPENGL 0
168 * Whether User Interface is available
170 #define HAVE_FEATURE_UI 1
173 * Whether PDF import is available
175 #define HAVE_FEATURE_PDFIMPORT 0
178 * Whether NSS is available
180 #define HAVE_FEATURE_NSS 0
183 * Whether pdfium is available
185 #define HAVE_FEATURE_PDFIUM 0
188 * Whether extra fonts are available
190 #define HAVE_MORE_FONTS 0