ee4d7829b7
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> |
||
---|---|---|
.. | ||
bin | ||
doc/gbuild | ||
gbuild | ||
gcc-wrappers | ||
gdb | ||
inc | ||
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.