Test repository to check push and ssh key
Find a file
Caolán McNamara b2384778d9 shrink gif fuzzer
Change-Id: I68561045548bfcff509d439837b7f31c650796f7
2017-10-09 11:19:03 +01:00
.git-hooks
accessibility accessibility: consistently use "" and <> in include directives 2017-10-09 09:05:34 +02:00
android
animations
apple_remote
avmedia Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
basctl add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
basegfx
basic Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
bean
bin iOS, fixes for release build 2017-10-06 09:34:59 +02:00
binaryurp add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
bridges Fix --enable-assert-always-abort (but not --enable-debug) build 2017-10-05 07:28:08 +03:00
canvas Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
chart2 ChartDumpTest: Disable checks which seems to fail because of font differences 2017-10-05 18:01:11 +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 Move loplugin:bodynotinblock to store/, to improve performance 2017-10-09 09:32:46 +02:00
config_host
configmgr Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
connectivity Revert "Related tdf#112947: another fix about odbc" 2017-10-09 08:53:44 +02:00
cppcanvas
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 tdf#102053 make alt+a unique in hyperlink dialog 2017-10-05 22:16:01 +02:00
dbaccess Related: tdf#107569 Remove useless slots 2017-10-06 12:08:33 +02:00
desktop Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
dictionaries@a2a91e4bb5 Updated core 2017-10-08 20:07:21 +02:00
distro-configs add more languages to linux updater builds 2017-10-04 20:06:23 +02:00
drawinglayer
dtrans Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
editeng editeng: fix assert about wrong EE_PARA_OUTLLEVEL item 2017-10-05 22:48:21 +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 Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
external iOS, undo patch for libxslt 2017-10-06 12:24:43 +02:00
extras
filter Make Color a forward declaration 2017-10-08 04:48:46 +02:00
forms add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
formula
fpicker Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
framework tdf#45904: Move _XSubTotalField Java tests to C++ 2017-10-08 21:05:27 +02:00
helpcompiler Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
helpcontent2@208b4ffb21 Updated core 2017-10-07 03:09:43 +02:00
hwpfilter
i18nlangtag
i18npool Change define to inline and donate some spaces, tdf#96197 follow-up 2017-10-04 13:08:07 +02:00
i18nutil move stuff in i18npool/i18nutil in own namespace 2017-10-04 08:39:11 +02:00
icon-themes tdf#107569 Add small edit style icon 2017-10-05 09:16:21 +02:00
idl
idlc Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
include tdf#45904: Move _XAreaLinks Java to C++ 2017-10-09 01:15:49 +02:00
instsetoo_native
io add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
ios iOS, disable swift 3 syntax. 2017-10-08 13:54:18 +02:00
javaunohelper add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
jurt
jvmaccess
jvmfwk Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
l10ntools
librelogo
libreofficekit Fix typos 2017-10-02 18:52:46 +02:00
lingucomponent Fix potential leak in macspellimp.mm 2017-10-05 06:38:00 +02:00
linguistic add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
lotuswordpro
m4
mysqlc use rtl::Reference in mysqlc 2017-10-06 10:21:26 +02:00
nlpsolver
o3tl
odk
offapi TSCP: include certificate usage in paragraph signatures 2017-10-05 14:47:29 +02:00
officecfg Related: rhbz#1422353 make dbaccess forms behave like other modules 2017-10-05 21:29:20 +02:00
onlineupdate
oovbaapi
oox tdf#100491: Reduce DOCX shapes arrow line ending size multiplier 2017-10-09 01:59:30 +02:00
opencl
osx
package add << operator for css::uno::Exception 2017-10-04 15:18:00 +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 use rtl::Reference in SvXMLEmbeddedObjectHelper 2017-10-06 16:12:44 +02:00
ridljar
sal Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
salhelper
sax add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
sc tdf#45904: Move _XAreaLinks Java to C++ 2017-10-09 01:15:49 +02:00
scaddins
sccomp
schema
scp2
scripting add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
sd tdf#100491: Reduce DOCX shapes arrow line ending size multiplier 2017-10-09 01:59:30 +02:00
sdext add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
setup_native
sfx2 use rtl::Reference in svl,sfx2 2017-10-06 13:48:42 +02:00
shell Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
slideshow add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
smoketest
solenv gbuild: more verbose forwarding of LinkTarget functions 2017-10-06 14:54:31 +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 use rtl::Reference in svl,sfx2 2017-10-06 13:48:42 +02:00
svtools use rtl::Reference in SvXMLEmbeddedObjectHelper 2017-10-06 16:12:44 +02:00
svx tdf#106642 Wide color buttons are only for the sidebar 2017-10-08 19:58:16 +02:00
sw sw: prefix members of SwFieldPortion 2017-10-09 11:32:23 +02:00
swext
sysui
test tdf#45904: Move _XAreaLinks Java to C++ 2017-10-09 01:15:49 +02:00
testtools
toolkit add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
tools Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
translations@5abc8de85b Updated core 2017-10-07 10:18:38 +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
uitest solenv: support gb_UITest_DEBUGRUN for ui tests 2017-10-02 20:05:23 +02:00
UnoControls
unodevtools
unoidl
unoil
unotest
unotools Revert "remove handing of deprecated Storage path option" 2017-10-06 13:07:31 +02:00
unoxml loplugin:finalclasses in unotools..vbahelper 2017-10-05 15:07:23 +02:00
ure
uui add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
vbahelper loplugin:finalclasses in unotools..vbahelper 2017-10-05 15:07:23 +02:00
vcl shrink gif fuzzer 2017-10-09 11:19:03 +01:00
winaccessibility Rename and move SAL_U/W to o3tl::toU/W 2017-10-05 16:02:52 +02:00
wizards
writerfilter Make Color a forward declaration 2017-10-08 04:48:46 +02:00
writerperfect add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
xmerge
xmlhelp add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
xmloff drop use of tools::SvRef in xmloff 2017-10-07 08:24:08 +02:00
xmlreader
xmlscript add << operator for css::uno::Exception 2017-10-04 15:18:00 +02:00
xmlsecurity xmlsecurity: last 2 params of setSAXChainConnector() is always nullptr 2017-10-06 11:00:05 +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 iOS, clean kit xcodeproj 2017-10-08 12:10:09 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst
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.