62 lines
1.6 KiB
Text
62 lines
1.6 KiB
Text
|
|
kBuild / VBox Build Tricks
|
|
==========================
|
|
|
|
|
|
Introduction
|
|
------------
|
|
|
|
This document is written in reStructuredText (rst) which just happens to
|
|
be used by Python, the primary language for this revamp. For more information
|
|
on reStructuredText: http://docutils.sourceforge.net/rst.html
|
|
|
|
|
|
Changing the output directory
|
|
-----------------------------
|
|
|
|
When switch between different VBox build settings it can be nice to have
|
|
different output directories to avoid having to rebuild the whole source tree
|
|
everything. One typical example is hardening, another is guest additions using
|
|
crossbuild gcc w/ SDK. The latter is is simpler so that's the first example:
|
|
|
|
.. code:: makefile
|
|
|
|
ifdef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE
|
|
PATH_OUT_BASE = $(PATH_ROOT)/add-out
|
|
endif
|
|
|
|
The following example is the typical developer setup, i.e. disable hardening by
|
|
default but respect command line overrides (kmk VBOX_WITH_HARDENING=1):
|
|
|
|
.. code:: make
|
|
|
|
VBOX_WITH_HARDENING :=
|
|
ifeq ($(VBOX_WITH_HARDENING),)
|
|
VBOX_WITHOUT_HARDENING=1
|
|
else
|
|
PATH_OUT_BASE = $(PATH_ROOT)/hard-out
|
|
endif
|
|
|
|
|
|
Share tools download directory between trunk and branches
|
|
---------------------------------------------------------
|
|
|
|
To avoid filling up your disk with unnecessary tool zip and tar.gz files, set
|
|
the FETCHDIR variable in LocalConfig.kmk to point to a common directory for all
|
|
VBox checkouts.
|
|
|
|
.. code:: make
|
|
|
|
FETCHDIR = $(HOME)/Downloads/FetchDir
|
|
|
|
|
|
-----
|
|
|
|
.. [1] no such footnote
|
|
|
|
|
|
-----
|
|
|
|
:Status: $Id: kBuild-tricks.txt $
|
|
:Copyright: Copyright (C) 2006-2024 Oracle Corporation.
|
|
|