office-gobmx/solenv
Bjoern Michaelsen ee4d7829b7 introduce gb_Package_PRESTAGEDIR
this introduces a "prestage dir" -- if a file can be found in that
directory, it will be copied over instead of build. Usecases for this
include:

- split builds:
  e.g. a part of the LibreOffice gets build by a core package and
  "writer" or "calc" package then only builds the additional missing
  pieces (while copying existing files from the earlier package build)
  please not this does not intend to produce separately installable
  instances, only to generate the build in multiple steps, to:
  - reduce filesystem usage of one build
  - paralellisation: e.g. "writer" and "calc" could build at the same
    time on two builders
  - restart capability: e.g. if a build breaks in "writer", no need to
    rebuild everything (relevant for slow and somewhat more flaky
    platforms like arm)
- staged single build:
  on a filesystem restrained builder, keeping all the objects around for
  the build can be a burden. With this, such builders can do a partial
  build (lets say: "make svx"), put the instdir aside, make clean and
  continue -- but without needing to keep space for the object files of
  the build up to svx.

It need gb_RUNNABLE_INSTDIR -- we are going there anyway, no need to
support other scenarios.

This needs more dependency breaking for most scenarios but a:

export gb_RUNNABLE_INSTDIR=T
make
cp -a instdir instdir_prestage
make clean
make sw.all
make sw.clean
export gb_Package_PRESTAGEDIR=`readlink -f instdir_prestage/unxlngx6.pro`
cd sw && make build # this does no compiles, it just copies

Change-Id: I22d4208b2fad0d8fc59426ba4c8c52122876f646
Reviewed-on: https://gerrit.libreoffice.org/5591
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-08-26 09:37:57 +00:00
..
bin fdo#68194 Font files are left after uninstallation 2013-08-24 04:25:06 +00:00
doc/gbuild
gbuild introduce gb_Package_PRESTAGEDIR 2013-08-26 09:37:57 +00:00
gcc-wrappers
gdb
inc Rename SOLAR_JAVA to ENABLE_JAVA and HAVE_FEATURE_JAVA 2013-08-19 10:29:04 +03:00
lldb/libreoffice
CustomTarget_gdb.mk
Executable_concat-deps.mk
Executable_g++-wrapper.mk
Executable_gcc-wrapper.mk
Makefile
Module_solenv.mk
Package_gdb.mk
Package_gdb_install.mk
README
StaticLibrary_wrapper.mk

Tools and makefile fragments necessary for compilation

This module contains many tools and makefile configuration pieces,
critical for building LibreOffice:

bin/
	contains lots of tools used during the build:

	concat-deps*
		these aggregate, and remove duplicates from module
		dependencies, to accelerate build times.

	make_installer.pl
		this script executes the compiled instructions from
		the scp2/ module to create an installer, and/or to
		do a local install for the smoketest.

	linkoo
		creates a forest of symlinks inside an install such
		that a developer can re-compile in the source tree,
		and re-run without re-installing (on Unix at least)

gbuild/
	the (shiny new) gnumake build makefile fragments we are
	migrating the codebase to use.

gdb/
	lots of nice python helpers to make debugging -much- easier
	that (eg.) print UCS2 strings as UTF-8 on the console to
	help with debugging.

inc/
	old / increasingly obsolete dmake setup and includes, we are
	trying to entirely rid ourselves of this

src/
	useful standard / re-usable component map files for components
	which shouldn't export anything more than a few registration
	symbols.