From 3e66935ab939c5cc7d8738d1783355be02106483 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 11 May 2020 23:08:02 +0200
Subject: [PATCH] build: introduce GLUON_AUTOREMOVE flag

(cherry picked from commit ab6596115a58b1bb984c366431cd6926a5c3c2ef)
---
 Makefile                      | 3 ++-
 docs/user/getting_started.rst | 6 ++++++
 targets/generic               | 5 +++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 34343356c..9f5f46b59 100644
--- a/Makefile
+++ b/Makefile
@@ -40,10 +40,11 @@ $(eval $(call mkabspath,GLUON_TARGETSDIR))
 $(eval $(call mkabspath,GLUON_PATCHESDIR))
 
 GLUON_MULTIDOMAIN ?= 0
+GLUON_AUTOREMOVE ?= 0
 GLUON_DEBUG ?= 0
 
 export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_DEBUG GLUON_DEPRECATED GLUON_DEVICES \
-	 GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR
+	 GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR GLUON_AUTOREMOVE
 
 show-release:
 	@echo '$(GLUON_RELEASE)'
diff --git a/docs/user/getting_started.rst b/docs/user/getting_started.rst
index 5c542a870..ee2a98e05 100644
--- a/docs/user/getting_started.rst
+++ b/docs/user/getting_started.rst
@@ -208,6 +208,12 @@ GLUON_TARGET
 Special variables
 .................
 
+GLUON_AUTOREMOVE
+  Setting ``GLUON_AUTOREMOVE=1`` enables the ``CONFIG_AUTOREMOVE`` OpenWrt setting, which will delete package build
+  directories after a package build has finished to save space. This is mostly useful for CI builds from scratch. Do
+  not set this flag during development (or generally, when you want you reuse your build tree for subsequent builds),
+  as it significantly increases incremental build times.
+
 GLUON_DEBUG
   Setting ``GLUON_DEBUG=1`` will provide firmware images including debugging symbols usable with GDB or
   similar tools. Requires a device or target with at least 16 MB of flash space, e.g. `x86-64`. Unset by default.
diff --git a/targets/generic b/targets/generic
index b437a0269..968798ac8 100644
--- a/targets/generic
+++ b/targets/generic
@@ -31,6 +31,7 @@ end
 
 config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set'
 
+config 'CONFIG_DEVEL=y'
 config 'CONFIG_ALL_NONSHARED=y'
 
 config '# CONFIG_PACKAGE_usbip is not set' -- fails to build
@@ -53,6 +54,10 @@ if envtrue.GLUON_MULTIDOMAIN then
 	config 'CONFIG_GLUON_MULTIDOMAIN=y'
 end
 
+if envtrue.GLUON_AUTOREMOVE then
+	config 'CONFIG_AUTOREMOVE=y'
+end
+
 if envtrue.GLUON_DEBUG then
 	config 'CONFIG_DEBUG=y'
 	config 'CONFIG_NO_STRIP=y'
-- 
GitLab