Supervisión del Código

From The Document Foundation Wiki
Jump to: navigation, search

Please feel free to add information about the single repositories and directories as you get familiar with the code base. This high-level documentation helps newcomers immensely to understand and master the architecture of LibreOffice.

repositorios git

The LibreOffice code, currently has a fairly nested structure - while it has one structure in [1] git - this gets turned into a rather different structure, which is used during the build. We will structure the discussion into some sort of conceptual order here. It would also be useful to have a look at the high-level code architecture description in the OpenOffice.org wiki. Even more useful is a list and description of high-level directories in the source code which will eventually end up on this page. There is also an automatically created documentation of the source code, made with doxygen.

repositorios de compilaciones - la fundación construyendo

'build' is the first module you need to checkout, as it represent the root of the source checkout. It contains a set of build tools and helpers to make it possible, and (hopefully) easy to build LibreOffice. There are a few key directories and files inside build:

  • bin/ - this is where critical tools lurk for building
  • build/ - this is where the build output lives. Don't make changes to source here, it may get over-written by rsync, or make clean.
  • configure - run this (or better autogen.sh) to configure LibreOffice - don't forget the --with-git argument.
  • clone/ - this is where download drops the top-level git repositories, touch clone/repos_changed to force a re-sync of the tree to build/
  • doc/ - random un-structured thoughts on the code, and other things.
  • download - this script, generated by configure from the .in file - will checkout all the git repos into src/ and download other important pre-requisites.
  • Makefile.shared - top-level rules are specified here, so they can be shared with Debian rules
  • patches/ - obsolete, and being removed - this is where distro specific patches used to lurk; keep out.
  • po/ - interim translation solution lives here
  • rawbuild/ - this is a symlink tree (on Unix) to the cloned/ repos - such that they can be easily rsynched into build/
  • src/ - this is where other ancilliary files and source archives that download needs end-up.
  • stamp/ - stores timestamps for various actions required by the Makefile

ure/

libs-core/

libs-extern/

libs-extern-sys/

libs-gui/

basebmp:

Provides a BitmapDevice:the vcl software renderer - Provides algorithms and data types for bitmap graphics (e.g. line and fill polygon scan conversion, bitmap format iterators, and a SalGraphics-compatible software renderer). Used for example for wmf / svm files. E.g. used when you do -headless, and have no DISPLAY set - it's an all-software backend for the LibO graphic backend. also see vcl/unx/headless.

cppcanvas

helper C++ classes for "canvas", plus a GDIMetaFile-to-XCanvas converter.

l10ntools

svl

ucbhelper

basegfx

dtrans

o3tl

rsc

svtools

unotools

canvas

i18npool

padmin

sax

toolkit

vcl

Visual Components Library is responsible for the widgets (windowing, buttons, controls..) operating system abstraction, including basic rendering (e.g. the output device).

comphelper

i18nutil

psprint_config

sot

tools

vos

The VOS (Virtual Object System) library is obsolete since many years but apparently still used. Please see the Easy hacks page on removing VOS and consider helping out with this task.

components/

filters/

Repositorio de aplicaciones

writer/
calc/

base/

impress/


Repositorios 'Varios'

artwork
extensions
extras
help
postprocess
sdk
testing