summaryrefslogtreecommitdiffstats
path: root/doc/kBuild-tricks.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/kBuild-tricks.txt62
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/kBuild-tricks.txt b/doc/kBuild-tricks.txt
new file mode 100644
index 00000000..ac6ceecd
--- /dev/null
+++ b/doc/kBuild-tricks.txt
@@ -0,0 +1,62 @@
+
+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-2020 Oracle Corporation.
+