Source code directories

From Apache OpenOffice Wiki
Revision as of 12:15, 23 December 2020 by Mseidel (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This document describes the various directories in the source code for till version 3.3.

Please note that only the current directory structure are described.

If you want to know the build order of the modules see the Module Build Order.

Name Project [1] Description
Agg external antigrain geometry lib (from, a software renderer used in canvas
Animations graphics Containers for the css::animation UNO API, used in slideshow and sd
Apple remote external Does contain the low level code for the Apple Remote on Mac OS X. See Apple Remote Implementation
Autodoc tools html pages from c++, java, idl inline documentation
Hook for QA automation (TestTool)
Avmedia graphics Audio/Video media implementation - requires a working Java Media Framework (JMF)
  • currently can't play streams only file-system URIs anyway.
controls and dialogs - basic
Basebmp gsl algorithms and data types for bitmap graphics (e.g. line and fill polygon scan conversion, bitmap format iterators, and a SalGraphics-compatible software renderer)
Basegfx graphics algorithms and data types for graphics (e.g. polygons, vectors, matrices and the like - see that used in canvas)
basic interpreter and TestTool GUI
bean api office bean
Beanshell external java interpreter - so you can write java in command shell,
Berkeleydb external external library. simple db - used for search in help and galleries
binfilter framework StarOffice 5.2 file format filters, stripped down (not perfectly) from the SO 5.2 code base. This is huge - avoid building it by giving '--disable-binfilter' on the configure line.
Boost external external (C++ template) library:
bridges udk Bridges from various C++ ABIs, Java JNI, MS .Net to Binary Uno. Also implementation of the Uno Remote Protocol. And in ooo-build a bridge from Mono to Uno and back.
Canvas gsl new canvas implementation to improve rendering, various backends implement the new XCanvas API eg. cairo / DirectX
Chart2 graphics new, improved chart implementation, arrived in OO.o 2.3
cli_ure udk Common Language Infrastructure Uno Runtime Environment -- support assemblies and tools for the MS .Net (and Mono) Uno binding.
codemaker udk Uno interface declaration/stub generators for C++ Uno (headers), Java Uno (class files), CLI (.Net / Mono) Uno.

the configuration database - UNO services and some tools
Connectivity dba database pieces, drivers, etc.
Cosv tools "Common Services," part of Autodoc
Cppcanvas gsl helper C++ classes for canvas, plus a GDIMetaFile-to-XCanvas converter
cppu udk Binary (read 'C') Uno runtime.
cppuhelper udk C++ Uno runtime, additionally helpers e.g. templates for implementing Uno components, bootstrapping stuff etc. - get Uno up & running.
cpputools udk Binary Uno tools, like uno.exe, regcomp etc.
Crash reporting tool
Curl external external library curl (a URL manipulation engine)
Dbaccess dba data base access tools
Default images external all images and resources
Desktop framework what used to be the desktop in SO5 - now the binary
Dmake tools the dmake tool itself, built by running 'bootstrap' after configure
Dtrans gsl clipboard abstraction - data transfer
Embeddedobj framework Embedding objects
Embedserv framework Embed OOo through OLE2
Epm external enhanced package manager- nasty hack for packaging
  • not useful - but default build uses, every linux packager disables this
how basic handles events -
Expat external external library with added UCS2 support, ... simple SAX parser
browser plugin, activex control, scanner bits, OOo Improvement program and more
External external placeholder for extra code needed to build
Extras installation templates, clipart galleries, palettes, symbol font etc.
tiny: implements XSimpleFileAccess interface - that makes the UCB interfaces actually usable (via Uno) and more intuitive.
Filter framework filter registration and configuration, some graphics filters, XML based filters, basic code for Worxelpoint filters
Forms gsl embedded forms control and pieces (design forms in documents, fields and database driven)
Fpicker gsl native file pickers for Unix and Windows (file open dialog) GTK+, KDE, Windows
Framework framework UI rewrite, toolbars, menus, Uno stuff, including accelerators & interaction, etc.
Goodies graphics graphics filters, 3d and 2d graqphics pieces - removed after OOo 3.2
Helpcontent2 installation for 2 - english + other languages help content
Hsqldb external external library. Java database engine. Default database format for
Hwpfilter sw filter for a word processor file format popular in Korea. (Hangul Word Processor)
I18npool l10n internationalization, counting, calendaring, complex text layout
I18nutil l10n small bits of internationalization
Icc external External library used to build the sRGB profile for PDF/A-1a export. with patches. Generated and used at build time only. More details can be found in icc/README.
icu external external library. International Components for Unicode, with patches.
Idl framework SvIDL Compiler
idlc udk The Uno IDL compiler.
Instsetoo native installation install set for oo, native installers -
Provides socket and pipe acceptors / connectors, as well as text input / output streams.
javaunohelper udk Java Uno components implementation helpers.
jurt udk Java Uno Runtime - Basically Java Uno.
Jvmaccess, Jvmfwk udk wrappers so you can use all the Java Runtime Environments with their slightly incompatible APIs with ease. Hah.
external library. Not modified. wordperfect filter - SAX api - emits callbacks when things happen
external library. (Still) heavily patched. to do XML signing, etc.
Lingucomponent lingucomponent spellcheck, hyphenator, thesaurus, ...
Linguistic sw This component manages all registered linguistic module implementations for spellchecker, hyphenator and thesaurus.
external library that provides a mixed integer linear programming (MILP) solver, see
MathMLDTD to implement XML Math format, see
external library. for use in FontOOo (unpacking the downloaded Microsoft fonts (webfont); removed after 3.
Nas external The Network Audio System (NAS), An Audio Protocol For Networks. See
Neon external web library to help deal with WebDAV or other protocols
Np sdk external Netscape Plugin SDK. Header to build Mozilla plugins.
Odk api office development kit - implements the first step on the way to the SDK tarball
Offapi api all of the Uno IDL files except those in udkapi - i.e. the interfaces that are specific to the application.
the schema and default settings for the configuration database
Offuh api Tiny module to build the generate the C++ Uno headers.
Ooo custom images
themes, custom themes
OpenXML parser
Package xml Reading and writing zips
Padmin gsl printer administration dialog - used lpr - obsolete with CUPS and fontconfig, but still used for some things
Postprocessing and checking of files delivered by other modules. This module has to be the last one before creating install sets in module 'instset_native'.
Psprint gsl postscript print - unix only - implements font discovery, interface to CUPS / lpr, query and basic PS - dump PS on print - actual PS rendering inside vcl ???
Psprint config
ppds for use by psprint when not using CUPS
Pyuno udk Uno binding for python
qa testsuite
rdbmaker udk makes registries for openoffice for storing type data, etc./?
Readlicense oo
reading oo license when starting up
regular expression matching
registry udk UNO services and types registry access
remotebridges udk Uno services dealing with interprocess bridges.
java script engine/interpreter
ridljar udk Generators Java Uno types (like Offuh).
Rsc gsl resource compiler - turns resource descriptions src and hrc files scattered throughout.
sal porting system abstraction layer - rtl, osl and sal (rtl - platform independent strings, osl - platform specific stuff, threads, dynamic loading, process, ipc, etc.). Exports only C API and some inline-methods-only C++ API
salhelper udk C++ helpers to make use of sal easier
Generic sandboxing, e.g. used for Java applet embedding stuff. Totally useless without a Sun JDK. Removed after 3.2.
Sane external external scanner library
Sax xml wrapper around expat using Uno.
Sc sc calc - the Spreadsheet core
extra functions for calc
Scp2 installation script particles - being rewritten for oo2. all of installation was driven by starbasic - this is now in instsetoo-native
Scripting framework scripting framework - for java, python, etc. to play together and uses UNO
Sd graphics Impress and Draw components. Think of Impress as hack on top of Draw.
Sdext graphics Extensions for the Impress and Draw applications.
Setup-native installation   ?
Sfx2 framework Some gui code; list of documents open would be tracked - raw C++ code; gutsy core of document management and loading.
Shell gsl system helpers - launching URI, recently used files, system integration, external mailer support, gconf integration etc.
Slideshow graphics new impress slideshow engine in OO.o 2.0
Smoketestoo native installation Test code to launch each component for a smoke test.
Sndfile external soundfile - library for loading all kinds of sound - external lib ???
Solenv tools make and build infrastructure - solar (think: Sun or Star Division) environment
all sorts of build tools
Code to access files based on OLE Storages and get the bits out of them
Starmath sw formula editor
external library. STL implementation, from the days when compilers had crappy implementations.
stoc udk Core Components for Binary Uno (e.g. registry access, reflection, introspection).
Storage implementations, used by Uno registries.
Svtools framework Common dialogs, file and print dialogs, wizards, vcl filters, lots of helper code
Svx graphics Graphics related helper code - xoutdev - rendering - This is where a lot of work would happen to move to the canvas. svdraw - transparent gradient stuff. Lot of the Draw and Impress code is in this module. Part if the PPT binary importer is in there too (moved to filter module after 3.2)
Sw sw writer - the word processing core
Sysui gsl .desktop files for different distros
Toolkit gsl abstract windowing thing- Uno implementations of windows stuff - so can be used from basic
Tools framework predates sal - string etc. functions, URL manipulation, stream stuff, polygons, etc.
Transex3 l10n translation tools
Windows scanner support
Universal Content Broker (has ucp) which do things like convert files to strings in content broker world.
C++ wrappers to help make using content providers easy
api URE API definition - Uno IDL files
Udm tools part of Autodoc
external lib
UnoControls gsl separate process and thread for progress bars, etc.
Unoil udkapi Like offuh for Java Uno - Generates Java class files from OOo application Uno types.
Unotools udk helpers for C++ use of UNO
Unoxml framework Uno wrappers for XML services
Ure udk beginnings of standalone UNO distribution foo.
An Interaction Handler (not only) for the UCB. It uses VCL to visualize and handle interaction requests, for eg. authentication dialogs for file operations.
Vcl gsl base windowing toolkit abstraction Visual Class Libraries, and graphical output layer - includes backends for unix & Win32
Template framework from here. VIGRA stands for "Vision with Generic Algorithms". Used from Basebmp.
Vos udk (Virtual Object System) - deprecated but still used, lots of sal like stuff
Wizards installation java wizards for db setup, importing, tutorials, etc.
Writerperfect framework word perfect filter - wrapper for libwpd
X11 extensions
headers for XRender support
Xmerge xml The XMerge SDK provides a Java-based framework for converting documents between different formats using conversion plugins to read and write each format. See
Comes with the OO SDK. xml2cmp is launched in general by a makefile to extract types from a xml file
Help reader and viewer for online help
Xmloff xml OpenDocument import / export filter.
Implements XML dialogs serialization.
Xmlsecurity xml Document signing
Accessibility Accessibility Accessibility for

External Java libraries; used for logging and http/https access in Extensions
Bitstream vera fonts


Some helper classes for low level work
Obsolete: unit testing now using Googletest. Info
Dictionaries Lingucomponent Default installed dictionaries in extension format

External images




Hunspell as dictionary support (external library)
Hyphenator (external library)
Javainstaller2 Installation The Java installer for UNIX and Linux
External Java library providing basic functionality for the report builder

Module containing all localization content

External library providing functionality to guess the language of a text





Containes the security libraries which are also part of moz. However nss is meant to be more current.




Module that generates packed images lists according to the lists generated from the source code






External tool that can generate dependency diagrams from the various build.lst files

Writer extensions (currently only MediaWiki Extension)
All test scripts for the GUI Testtool
Library utilizing cppunit to implement a unit test framework
Some tests for UNO bridges and language bindings
External Java library, used by Apache-Commons

Library containing the docx import filter (and later also doc and rtf import filters)



The directory solver is not a module, it is the output tree of the build that is created automatically once a build is started.

  1. Project hosting this module.
Personal tools