Test repository to check push and ssh key
Find a file
Stephan Bergmann 931decd0e9 Move vlc/wrapper include files to common include directory
...that are inclued from both vlc and vlc/wrapper.  Change done in preparation
of loplugin:inlcudeform.

Change-Id: Ic7dc08b93d8a33b21dc64dfc0bfbe3952039f05b
Reviewed-on: https://gerrit.libreoffice.org/43556
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-19 20:05:38 +02:00
.git-hooks
accessibility accessibility: consistently use "" and <> in include directives 2017-10-09 09:05:34 +02:00
android
animations
apple_remote Following tdf#111561: no need to autorelease "elements" (apple_remote) 2017-10-12 07:41:44 +02:00
avmedia Move vlc/wrapper include files to common include directory 2017-10-19 20:05:38 +02:00
basctl turn implicit container explicit in buildable notebooks 2017-10-17 09:55:31 +02:00
basegfx basegfx: consistently use "" and <> in include directives 2017-10-10 07:44:13 +02:00
basic Seems that testMiscOLEStuff() works only as 64-bit on a current Windows 10 2017-10-17 18:57:54 +03:00
bean
bin fix oslibs syntax (have the shell treat it as variable, not command) 2017-10-13 15:42:32 +02:00
binaryurp binaryurp: consistently use "" and <> for include directives 2017-10-11 07:02:55 +02:00
bridges Again, no -fstack-protector-strong for gcc3_linux_aarch64/cpp2uno.cxx 2017-10-19 15:39:35 +02:00
canvas Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
chart2 tdf#105991 - Changing legend's font also changes the legend position 2017-10-17 15:42:36 +02:00
cli_ure add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
codemaker add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
comphelper TSCP: include certificate usage in paragraph signatures 2017-10-05 14:47:29 +02:00
compilerplugins rename some fields 2017-10-18 16:26:14 +02:00
config_host fix build with system gpgme 2017-10-19 09:04:33 +02:00
configmgr Replace list by vector in components (configmgr) 2017-10-13 07:05:11 +02:00
connectivity Make include files found through -Iconnectivity/source/inc 2017-10-16 17:15:08 +02:00
cppcanvas tdf#31814 Resolve TODO from EMF+ DrawImage and DrawImagePoints 2017-10-16 16:13:45 +02:00
cppu add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
cppuhelper Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
cpputools
cui Fix typos 2017-10-19 09:49:01 +02:00
dbaccess use rtl::Reference in ODatabaseContext 2017-10-18 08:35:05 +02:00
desktop set parent of extension file dialog 2017-10-18 21:49:52 +02:00
dictionaries@06a89d28d9 Updated core 2017-10-16 13:17:23 +02:00
distro-configs iOS, actived more 3rd libraries 2017-10-11 13:12:16 +02:00
drawinglayer use std::unique_ptr in wmfemfhelper::TargetHolder 2017-10-18 14:57:10 +02:00
dtrans Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
editeng use std::unique_ptr in TrieNode 2017-10-19 09:05:05 +02:00
embeddedobj Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
embedserv Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
emfio
eventattacher
extensions no need to call acquire() 2017-10-18 08:36:01 +02:00
external EPUB export: better handling of tabs 2017-10-18 20:30:55 +02:00
extras autocorrect pt_PT - added 42 words 2017-10-15 22:08:39 +02:00
filter svx: remove pointless duplicate SdrFitToSizeType 2017-10-18 12:34:03 +02:00
forms use rtl::Reference in forms 2017-10-18 16:11:57 +02:00
formula turn implicit container explicit in buildable notebooks 2017-10-17 09:55:31 +02:00
fpicker Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
framework tdf#79657 Support add-on controls in the overflow toolbar 2017-10-16 23:34:59 +02:00
helpcompiler Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
helpcontent2@ebb762cd6a Updated core 2017-10-18 23:59:31 +02:00
hwpfilter use std::unique_ptr in hwpfilter 2017-10-19 11:21:10 +02:00
i18nlangtag
i18npool tdf#96197 i18npool: don't read beyond end of string 2017-10-16 13:28:14 +02:00
i18nutil move stuff in i18npool/i18nutil in own namespace 2017-10-04 08:39:11 +02:00
icon-themes tdf#75256 Sifr update for open symbol with white background 2017-10-18 07:14:08 +02:00
idl
idlc Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
include Remove self-include 2017-10-19 20:04:47 +02:00
instsetoo_native
io add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
ios iOS, added extra linker options for kit 2017-10-17 16:16:44 +02:00
javaunohelper add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
jurt
jvmaccess
jvmfwk Use loop ranges in jvmfwk 2017-10-13 00:19:34 +02:00
l10ntools
librelogo
libreofficekit
lingucomponent strip out trivial indirection 2017-10-18 10:53:02 +02:00
linguistic add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
lotuswordpro use std::unique_ptr in lotuswordpro 2017-10-19 10:22:52 +02:00
m4
mysqlc use rtl::Reference in mysqlc 2017-10-06 10:21:26 +02:00
nlpsolver
o3tl
odk fix grammar / typos in German ODK example 2017-10-11 19:41:33 +02:00
offapi offapi: clarify TextFitToSizeType documentation some more 2017-10-19 13:35:08 +02:00
officecfg gpg4libre - tdf#113188 add option for minimal PGPKeyPacket 2017-10-18 15:06:07 +02:00
onlineupdate
oovbaapi
oox Fix typos 2017-10-19 09:49:01 +02:00
opencl
osx
package Replace list by vector InputStreamsList_Impl (package) 2017-10-10 22:08:27 +02:00
postprocess
pyuno Fix PythonTest_pyuno_pytests_insertremovecells on Windows 2017-10-04 09:51:11 +02:00
qadevOOo tdf#45904: Move _XAreaLinks Java to C++ 2017-10-09 01:15:49 +02:00
readlicense_oo
registry
remotebridges
reportbuilder
reportdesign turn implicit container explicit in buildable notebooks 2017-10-17 09:55:31 +02:00
ridljar
sal Rephrase checks for exceeding off_t limits 2017-10-16 12:08:20 +02:00
salhelper
sax add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
sc Resolves: tdf#113179 merge language attributes early, tdf#108795 follow-up 2017-10-19 19:33:40 +02:00
scaddins use std::vector<Complex> in ComplexList 2017-10-18 08:37:25 +02:00
sccomp
schema
scp2
scripting add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
sd svx: remove pointless duplicate SdrFitToSizeType 2017-10-18 12:34:03 +02:00
sdext Move sdext/source/pdfimport/tree include files to common include directory 2017-10-17 09:04:56 +02:00
setup_native
sfx2 Replace list by vector in Metadatable (sfx2) 2017-10-19 09:48:29 +02:00
shell Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
slideshow Fix typos 2017-10-19 09:49:01 +02:00
smoketest
solenv Let's have this additional info also for WIN builds 2017-10-19 13:18:32 +02:00
soltools
sot add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
starmath Fix leak in ElementsDockingWindow (starmath) 2017-10-07 13:12:30 +02:00
stoc add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
store
svgio add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
svl Replace lists by vectors in svl 2017-10-18 08:43:43 +02:00
svtools use std::unique_ptr in SvTreeList 2017-10-18 10:18:51 +02:00
svx use std::unique_ptr in SvxUnoPropertyMapProvider 2017-10-19 11:04:37 +02:00
sw ofz+ubsan: signed integer overflow 2017-10-19 16:00:26 +02:00
swext
sysui
test tdf#45904: Move _XAreaLinks Java to C++ 2017-10-09 01:15:49 +02:00
testtools
toolkit Replace lists by vectors in controlmodelcontainerbase (toolkit) 2017-10-09 22:53:12 +02:00
tools loplugin:useuniqueptr in tools/inetmsg.hxx 2017-10-17 12:58:33 +02:00
translations@0703aea933 Updated core 2017-10-19 17:31:18 +02:00
ucb add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
ucbhelper add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
udkapi Fix typos 2017-10-19 09:49:01 +02:00
uitest don't assume concrete spelling substitutions 2017-10-13 10:29:11 +02:00
UnoControls
unodevtools
unoidl loplugin:includeform: manual changes to unoidl/source/sourceprovider-parser.y 2017-10-19 20:05:11 +02:00
unoil
unotest
unotools tdf#110742 add support for icon themes via extension manager 2017-10-13 09:30:02 +02:00
unoxml Move unoxml/source/events include files to common include directory 2017-10-17 09:05:55 +02:00
ure
uui Don't crash on extension update check 2017-10-13 18:55:15 +02:00
vbahelper loplugin:finalclasses in unotools..vbahelper 2017-10-05 15:07:23 +02:00
vcl shrink ww2 fuzzer 2017-10-19 15:16:19 +01:00
winaccessibility Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
wizards
writerfilter Fix typo 2017-10-18 16:43:30 +02:00
writerperfect EPUB export: better handling of tabs 2017-10-18 20:30:55 +02:00
xmerge
xmlhelp add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
xmloff xmloff: this should be an assert() 2017-10-17 21:03:52 +02:00
xmlreader
xmlscript loplugin:useuniqueptr in StyleBag 2017-10-17 14:05:14 +02:00
xmlsecurity fix build with system gpgme 2017-10-19 09:04:33 +02:00
.buckconfig
.buckversion
.editorconfig
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in iOS, simulator compiles as nactive mac OSX host 2017-10-04 18:43:13 +02:00
config_host_lang.mk.in
configure.ac bump product version to 6.0.0.0.alpha1+ 2017-10-19 15:45:29 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst pdfium: update to 3235 2017-10-12 08:19:04 +02:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in ios/lo.xcconfig.in is gone 2017-10-04 13:43:48 +02:00
README.cross
README.md iOS, update app to swift 4 2017-10-08 12:38:48 +02:00
README.Solaris
Repository.mk
RepositoryExternal.mk
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER

LibreOffice

Coverity Scan Build Status CII Best Practices

LibreOffice is an integrated office suite based on copyleft licenses and compatible with most document formats and standards. Libreoffice is backed by The Document Foundation, which represents a large independent community of enterprises, developers and other volunteers moved by the common goal of bringing to the market the best software for personal productivity. LibreOffice is open source, and free to download, use and distribute.

A quick overview of the LibreOffice code structure.

Overview

You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK to develop an extension, for which you can read the API docs here and here. This re-uses the (extremely generic) UNO APIs that are also used by macro scripting in StarBasic.

The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.

The build chain and runtime baselines

These are the current minimal operating system and compiler versions to run and compile LibreOffice, also used by the TDF builds:

  • Windows:
  • Runtime: Windows 7
  • Build: Cygwin + Visual Studio 2015 Update 3
  • macOS:
  • Runtime: 10.9
  • Build: 10.12 + Xcode 8
  • Linux:
  • Runtime: RHEL 6 or CentOS 6
  • Build: GCC 4.8.1 or Clang
  • iOS (only for LibreOfficeKit):
  • Runtime: 10.3 (only support for newer i devices == 64 bit)
  • Build: Xcode 9.0 and iPhone SDK 10.3

If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 3.4. Since Xcode doesn't provide the compiler plugin headers, you have to compile your own Clang to use them on macOS.

You can find the TDF configure switches in the distro-configs/ directory.

To setup your initial build environment on Windows and macOS, we provide the LibreOffice Development Environment (LODE) scripts.

For more information see the build instructions for your platform in the TDF wiki.

The important bits of code

Each module should have a README file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:

http://docs.libreoffice.org/

However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:

Module Description
sal/ this provides a simple System Abstraction Layer
tools/ this provides basic internal types: 'Rectangle', 'Color' etc.
vcl/ this is the widget toolkit library and one rendering abstraction
framework UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files
sfx2/ legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc.
svx/ drawing model related helper code, including much of Draw/Impress

Then applications

Module Description
desktop/ this is where the 'main' for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
sw/ Writer
sc/ Calc
sd/ Draw / Impress

There are several other libraries that are helpful from a graphical perspective:

Module Description
basegfx/ algorithms and data-types for graphics as used in the canvas
canvas/ new (UNO) canvas rendering model with various backends
cppcanvas/ C++ helper classes for using the UNO canvas
drawinglayer/ View code to render drawable objects and break them down into primitives we can render more easily.

Finding out more

Beyond this, you can read the README files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.freenode.net - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.