5a5c8e253a
Pass -DLIBO_FEATURE_FOO to compiler for some elements in BUILD_TYPE. BUILD_TYPE has at least two kinds of elements: Those that indicate building a bundled copy of some 3rd-party library, and those that indicate some specific feature of the LibreOffice platform or build-time configuration choice. This is for the latter kind. Change many of the checks for Android and/or iOS in the source code to check LIBO_FEATURE_DESKTOP, LIBO_FEATURE_HELP or DISABLE_EXTENSIONS instead, in cases where that is what is meant, not Android or iOS specifically. Change-Id: I2cd3f3bb99e953c7754dcea76a426f8f9d61e4db |
||
---|---|---|
.. | ||
android | ||
aqua/source | ||
coretext | ||
generic | ||
headless | ||
inc | ||
ios | ||
null | ||
qa | ||
quartz | ||
source | ||
test | ||
uiconfig/ui | ||
unx | ||
win/source | ||
workben | ||
AllLangResTarget_vcl.mk | ||
CppunitTest_vcl_filters_test.mk | ||
CustomTarget_afm_hash.mk | ||
CustomTarget_kde4_moc.mk | ||
CustomTarget_kde_moc.mk | ||
CustomTarget_tde_moc.mk | ||
Executable_kdefilepicker.mk | ||
Executable_tdefilepicker.mk | ||
Executable_ui-previewer.mk | ||
Library_desktop_detector.mk | ||
Library_vcl.mk | ||
Library_vclplug_gen.mk | ||
Library_vclplug_gtk.mk | ||
Library_vclplug_gtk3.mk | ||
Library_vclplug_kde.mk | ||
Library_vclplug_kde4.mk | ||
Library_vclplug_svp.mk | ||
Library_vclplug_tde.mk | ||
Makefile | ||
Module_vcl.mk | ||
Package_inc.mk | ||
README | ||
StaticLibrary_headless.mk | ||
StaticLibrary_vclmain.mk | ||
UI_vcl.mk | ||
vcl.android.component | ||
vcl.headless.component | ||
vcl.ios.component | ||
vcl.macosx.component | ||
vcl.unx.component | ||
vcl.windows.component | ||
WinResTarget_vcl.mk | ||
Zip_osxres.mk |
Visual Components Library is responsible for the widgets (windowing, buttons, controls, file-pickers etc.) operating system abstraction, including basic rendering (e.g. the output device). source/ + the main cross-platform chunk of source inc/ + cross-platform abstraction headers vcl/ + public headers ("public" to the rest of LibreOffice, that is) generic/ + shared helper code for *some* of the backends, actually built into vcl. headless/ + a backend renderer that draws to bitmaps android/ + Android backend (work in progress, does work to some extent) aqua/ + OS X backend ios/ + iOS backend (work in progres, does not work, needs re-think and re-write) win/ + Windows backend unx/ + X11 backend and its sub-platforms plugadapt/ + pluggable framework to select correct unx backend gtk/ + GTK2 support gtk3/ + GTK3.2+ support kde/ + KDE3 support kde4/ + KDE4 support generic/ + raw X11 support How the platform abstraction works + InitVCL calls 'CreateSalInstance' + ths is implemented by the compiled-in platform backend + it stores various bits of global state in the 'SalData' (inc/saldatabasic.hxx) structure but: + the SalInstance vtable is the primary outward facing gateway API for platform backends + It is a factory for: SalFrames, SalVirtualDevices, SalPrinters, Timers, the SolarMutexe, Drag&Drop and other objects, as well as the primary event loop wrapper. Note: references to "SV" in the code mean StarView, which was a portable C++ class library for GUIs, with very old roots, that was developed by StarDivision. Nowadays it is not used by anything except LibreOffice (and OpenOffice).