The Free and Open Productivity Suite
Follow us on Twitter: @ApacheOO

Tools Provided for Building and Installing

The following table describes the tools provided to build and install the office suite. It also indicates what tree these tools reside in after you build. For more information on solenv and solver, see Source Trees and Output Trees.

Tool Location Description
_mkout solenv A small utility for creating an output tree, normally $OUTPATH.$PROEXT, for a project. The dmake command executes solenv/$OUTPATH.$PROEXT/bin/_mkout when building the first files in a project solenv/$OUTPATH.$PROEXT/bin/_mkout. You can also call this utility from the command line. The _mkout utility is built in the tools module.
bmp solver A tool for generating image lists. The bmp tool takes a .srs input resource file, searches for the individual bitmaps, and creates an image list from them. The image lists are used in toolbars. You must include the directory paths of the bitmaps. The syntax for this tool is as follows:
bmp srs-input-resource-file 
path-to-bitmaps location-of-language-dependent-bitmaps

For example, the following command creates an image list from the resource file appl.srs of the German bitmaps in ../../win/res to the directory /german/testdir:

% bmp ../../wntmsci3/srs/appl.srs ../../win/res 
/german/testdir ../../wntmsci3/res/49 deut

Note that in this example, you must specify 49 and deut to create a list of the German resources. Note that 49 is part of the destination directory name, and deut specifies language-dependent bitmaps mostly taken from the module res.

Use the -f option to write a success message to a file. If the BMP_WRITES_FLAG parameter is set, this file is checked. The following example creates an image list for German, and writes a log to the ../../common/misc directory:

% bmp ../../wntmsci3/srs/appl.srs ../../win/res 
../../wntmsci3/res/49 deut -f ../../common/misc

For this tool to work on UNIX systems, you must set the DISPLAY variable properly. You must also be able to access the UNIX system. A Win32 version of this tool is available, with a GUI. This tool is built in the module svtools.

build solenv

This utility iterates through the module directories, spawning dmake in each module directory. The prj/build.lst list specifies the build prerequisites and a build sequence is determined.

build is aliased to "perl $SRC_ROOT/solenv/bin/build.pl"

The build utility is located at solenv/$OUTPATH/bin/build.pl.

For more information on the build utility refer to the detailed documentation.

For more information on the dmake tool, see dmake.

The command line options for build are as follows:

-file

Specifies the temporary file that is created to support the set of commands that need to be executed. This option is mandatory.

-all

Specifies to build all module dependencies. The build utility builds these modules and delivers them.

-get

Checks out the latest source of the project from the CVS tree using the $WORK_STAMP tag string. Note that this will not work for OpenOffice.org checkouts

-listall

Lists the order that the modules are built in. This list appears in the file specified by the option -file.

-make

Specifies which make utility to run, for example dmake on Linux, Solaris, or Mac OS X. The make utility is built in the tools module directory.

All unknown parameters are handed over to dmake.

cc, cpp.lcc solenv Wrapper script for preprocessing .c files with carriage return and line feed line ends.

Needed for Solaris only because the Workshop C compiler on Solaris (SUNWspro) cannot handle multiline macros in files with MS-DOS line end convention.

checkdll solenv This performs a simple test-it tries to load the library. This executable is wrapped in a shell script called checkdll.sh.
cppumaker solver Generates file.hpp and file.hdl from the type library or registry database applicat.rdb. The .hpp files are the class definition of the UNO IDL files. The .hdl files are included in the .hpp files and contain definitions. This utility is built in the module codemaker and is located in the solver tree.

You can use the following options with the cppumaker tool:

-Opath

The path parameter describes the root directory for the generated output. The output directory tree is generated under this directory.

-Tname

The name parameter specifies a type or a list of types. The cppumaker tool generates output for this type. If you do not specify a -T option, then the cppumaker tool generates output for all types. For example, com.sun.star.uno.XInterface is a valid type.

-Bname

The name parameter specifies the base node. The cppumaker tool searches all types under this node. The default is the root directory of the registry files.

-L

For Win32 only. Generates the getCppuType function in a short form. Only the name and TypeClass of the type are used.

-C

The getCppuType function is generated with comprehensive type information.

-G

Use this option to generate only target files which do not exist.

-Gc

Use this option to generate only target files whose content will be changed.

The following is an example of using the cppumaker tool with some of the options available:

% cppumaker -C -BUCR -O../$OUTPATH.$PROEXT/inc $SRC_ROOT/solver/$UPD/$OUTPATH.$PROEXT/bin/applicat.rdb

deliver solenv Copies headers, generated headers, binaries, shared libraries, resources, and so on to solver. The file module-name/prj/d.lst describes where to locate each file, and where to deliver it to.

Formerly, the deliver tool could also correct the include path for the delivered include files to the solver tree. These were marked with hedabu in the d.lst file. This directed deliver to build a new header file by merging header files. Surplus comments and empty lines were removed.

hedabu functionality meanwhile (SRC680 m209) got removed for the main development code line.

dmake solenv A make utility similar to GNU make, used when building OOo.

For more information on dmake, see the dmake page or for a description of OpenOffice.org makefiles see our description.

Some useful additional dmake switches and targets are also available, as follows:

dmake debug=true

Compiles with debug information.

dmake depend=true

Removes dependency information, dependencies are regenerated on the next dmake run.

dmake -v -p

Dump out the make file as it is running, provides lots of information.

dmake -u

Rebuild everything in the current directory. The use of the -u flag can result in unnecessary builds of objects because of the recursive nature of the dependencies. Do not use this option unless you are sure you understand what you are doing. Using this option can cause the following problems:

  • The dmake tool tries to rebuild the generated headers, because they are in the dependency list (.dpc). This causes an error because the generated headers are built elsewhere.
  • Some object files appear in more than one target. When dmake uses one of these object files in a build, it updates the timestamp on the file. The dmake tool then uses this timestamp to ensure that the object file is built in the correct order, and also to apply the correct build switches to the object file. If this timestamp is ignored, dmake builds the object a second time, this time with incorrect switches.

dmake killobj

Remove all objects for sources in the current directory.

dmake killsrs

Remove search resource string files from the current directory.

dmake killres

Remove resource files from the current directory.

dmake killdef

Remove existing built targets.

The default alias of dmake is as follows: dmake product=full

javadep solenv Creates Java dependency files. These files are stored in module-name/$OUTPATH$PROEXT/misc/*.dpj files. This utility is similar to the makedepn utility. It resides in the solenv tree.
javamaker solver Like the cppumaker tool, this generates Java files from the type library or registry database applicat.rdb. This utility is built in the module codemaker and is located in the solver tree.

The syntax is as follows:

javamaker [-options] file_1 ... file_n

You can use the following options with the javamaker tool:

-Opath

The path parameter describes the root directory for the generated output. The output directory tree is generated under this directory.

-Tname

The name parameter specifies a type or a list of types. The javamaker tool generates output for this type. If you do not specify a -T option, then the javamaker tool generates output for all types. For example, com.sun.star.uno.XInterface is a valid type.

-Bname

The name parameter specifies the base node. The cppumaker tool searches all types under this node. The default is the root directory of the registry files.

ldump solenv Dumps all the symbols of a library and filters the symbols by discarding all that contain one of the entries in a .flt file. This output is used to build the .def files.

The tools ldump2.exe and ldump3.exe perform similar functions. The .flt file is used to limit the number of exported symbols.

On UNIX platforms, map files perform a similar function.

lzip solver Generates an install package.
makedepn solenv This tool generates dependencies for source files. If you introduce new source files, makedepn executes automatically at make time. The syntax for this tool is irregular. Command line parameters are as follows:

-I: pathname

Include files in the specified paths.

-E: pathname

Exclude dependent files in the specified paths.

-O

Output file.

-V

Verbose mode.

-D

Debug mode.

Thus dependencies are not hard-coded into the makefiles but are generated at make time. The output dependency list file is created as filename.dpc in the following directory:

module-name/$INPATH/misc

The makedepn tool is built in the tools module.

mksvconf solenv A minor utility that provides information about the underlying system. For example, it provides information about the byte size of integers, byte alignment, and so on. The mksvconf utility is built in the tools module.

It creates a svconf.h file in the tools/include directory.

msg_filter solenv A Perl script that contains a list of redundant messages from the compiler that cannot be removed. It filters these redundant messages from the compiler. It resides in solenv/bin.
rdbmaker solver Maintains and merges .rdb files for different projects.
regview
regmerge
solver These are tools for viewing and manipulating the registry (applicat.rdb). This tool is built in the module registry.
rsc, rsc2 solver This resource compiler generates the .res and .srs resource files. The rsc2 tool is called from within the rsc utility. For more information, run these commands with the -h option. These tools are built in the rsc module.
rscdep solenv This tool generates dependencies for resource files (filename.src). The rscdep tool is the resource compiler equivalent of makedepn. In other words, the tool generates resource file dependencies similar to makedepn. The rscdep tool creates the output dependency list file in the module-name/$OUTPATH.$PROEXT/misc directory as filename.dpr. The rscdep tool is built in the tools module.
rscpp solenv Resource compiler preprocessor.
sbllink solver Merges interface descriptions for BASIC modules.
scpcomp solver Script particle compiler. Generates .par files from .scp files. The scplink tool uses the .par files to create installation configuration files.
scplink solver Creates installation configuration files from .par files. The setup program uses these .ins installation configuration files.
setsolar solenv

This is not used in OpenOffice.org, it is used in StarOffice builds.

svidl solver The View application IDL compiler. This tool has now been superseded by unoidl but is still used in places. This tool is built in the module idl.
unocpp solver This is the UNO IDL preprocessor. This tool is built in the module idl.
unoidl solver IDL compiler for .idl files, supplied with backends for C++, Java, documentation, and so on. For more information, run this command with the -h option. This tool is built in the module unoidl.
zipdep solenv Generates dependencies between zipped files. The zipdep tool is derived from version 2.0.1 of the common zip utility.

Apache Software Foundation

Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.