Difference between revisions of "Build Environment Effort/Status And Next Steps"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Converted Modules)
(Ongoing work in CWS gnumake3)
Line 44: Line 44:
  
 
== Ongoing work in CWS gnumake3 ==
 
== Ongoing work in CWS gnumake3 ==
 +
Currently we are adding support for the following target types:
 +
* GUI executables
 +
* static libraries
 +
* cppunit tests
 +
* junit tests
 +
* custom targets
 +
 +
We are also working on fixing some problems found after integration of gnumake2:
 +
* incomplete debug information when building with PCH enabled on Windows
 +
* broken mingw and freebsd ports
 +
* broken builds caused by command line lenght limits
 +
* WERROR builds broken on unix platforms
  
 
== Roadmap for the next milestone ==
 
== Roadmap for the next milestone ==

Revision as of 14:39, 31 January 2011

Edit.png

Build Environment Effort

Quick Navigation

About this template


Integration of first milestone of the new build system in DEV300 m96

New features

With the integration of the CWS gnumake2 we got support for the following target types in our new build system:

  • compiling and linking C, C++, Objective-C files into
    • shared libraries
    • non-GUI executables
  • compiling src files into resources including localization
  • copying a bunch of files ("package") into solver

For cxx compilation we also support some sub-targets:

  • compilation of sdi files
  • delivery of header files into solver
  • processing of component files for UNO service libraries
  • support for precompiled headers (currently used only with MSVC++)

Some features have been implemented differently. Here's a list of the most remarkable changes to the old build system:

  • no intermediate libraries will be created anymore
  • linking with MSVC++ does not use DEF files anymore; this requires proper dllimport/dllexport specifications in the code
  • header dependencies on Unix platforms are created by the compiler, no additional makedepend step is required
  • header dependencies in converted modules now always include those to headers in solver
  • in converted modules a "build" command does not work (you will get a response telling what to do)
  • when compiling with DEBUG=TRUE, PCH is not disabled automatically

Converted Modules

Along with the new features we converted the following modules to use the new build system:

  • tools
  • svl
  • svtools
  • xmloff
  • framework
  • toolkit
  • sfx2
  • sw

If you want to support us by converting other modules, please refer to Module Migration.

Detected problems, caveats and known issues

  • Compiling with ENABLE_PCH=TRUE and DEBUG=T with MSVC creates dlls that contain debug information only for the symbols of the library; all debug symbols for linked libraries are missing
    • root cause: PCH object needs to be linked into DLL to let mspdbserv find the necessary debug information
    • fix time line: cws gnumake3
    • workaround: call "unset ENABLE_PCH" when compiling with debug until the bug is fixed

Ongoing work in CWS gnumake3

Currently we are adding support for the following target types:

  • GUI executables
  • static libraries
  • cppunit tests
  • junit tests
  • custom targets

We are also working on fixing some problems found after integration of gnumake2:

  • incomplete debug information when building with PCH enabled on Windows
  • broken mingw and freebsd ports
  • broken builds caused by command line lenght limits
  • WERROR builds broken on unix platforms

Roadmap for the next milestone

Personal tools