From 3ce43329f5a503197a95851fdfd9fa333bc15d16 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 26 May 2020 23:30:05 +0200
Subject: [PATCH] build: remove now-unneeded function from
 target_config_lib.lua

target_config.lua and target_config_check.lua don't pass a table of
callbacks anymore, so target_config_lib.lua can by simplified by moving
all the code that was in the returned function to the toplevel.
---
 scripts/target_config.lua       |   2 +-
 scripts/target_config_check.lua |   2 +-
 scripts/target_config_lib.lua   | 233 ++++++++++++++++----------------
 scripts/target_lib.lua          |   2 +-
 targets/ar71xx-generic          |   4 +-
 targets/ar71xx-mikrotik         |   2 +-
 targets/ar71xx-nand             |   2 +-
 targets/ar71xx-tiny             |   2 +-
 targets/generic                 |  58 ++++----
 targets/ramips-rt305x           |   4 +-
 targets/x86.inc                 |   4 +-
 11 files changed, 158 insertions(+), 157 deletions(-)

diff --git a/scripts/target_config.lua b/scripts/target_config.lua
index 9696f5cee..28ea41533 100755
--- a/scripts/target_config.lua
+++ b/scripts/target_config.lua
@@ -1,4 +1,4 @@
-local lib = dofile('scripts/target_config_lib.lua')()
+local lib = dofile('scripts/target_config_lib.lua')
 
 for _, config in pairs(lib.configs) do
 	io.stdout:write(config:format(), '\n')
diff --git a/scripts/target_config_check.lua b/scripts/target_config_check.lua
index c5690556d..9be505854 100755
--- a/scripts/target_config_check.lua
+++ b/scripts/target_config_check.lua
@@ -24,7 +24,7 @@ local function check_config(config)
 end
 
 
-local lib = dofile('scripts/target_config_lib.lua')()
+local lib = dofile('scripts/target_config_lib.lua')
 
 for _, config in pairs(lib.configs) do
 	if config.required then
diff --git a/scripts/target_config_lib.lua b/scripts/target_config_lib.lua
index 7004ac1b7..fc897d68b 100644
--- a/scripts/target_config_lib.lua
+++ b/scripts/target_config_lib.lua
@@ -1,3 +1,20 @@
+local lib = dofile('scripts/target_lib.lua')
+local env = lib.env
+
+local target = env.GLUON_TARGET
+
+assert(target)
+assert(env.BOARD)
+assert(env.SUBTARGET)
+
+local openwrt_config_target
+if env.SUBTARGET ~= '' then
+	openwrt_config_target = env.BOARD .. '_' .. env.SUBTARGET
+else
+	openwrt_config_target = env.BOARD
+end
+
+
 -- Split a string into words
 local function split(s)
 	local ret = {}
@@ -40,154 +57,138 @@ local function compact_list(list, keep_neg)
 	return ret
 end
 
-return function()
-	local lib = dofile('scripts/target_lib.lua')
-	local env = lib.env
-
-	local target = env.GLUON_TARGET
-
-	assert(target)
-	assert(env.BOARD)
-	assert(env.SUBTARGET)
-
-	local openwrt_config_target
-	if env.SUBTARGET ~= '' then
-		openwrt_config_target = env.BOARD .. '_' .. env.SUBTARGET
-	else
-		openwrt_config_target = env.BOARD
-	end
-
 
-	local function site_vars(var)
-		return lib.exec_capture_raw(string.format([[
-	MAKEFLAGS= make print _GLUON_SITE_VARS_=%s --no-print-directory -s -f - <<'END_MAKE'
+local function site_vars(var)
+	return lib.exec_capture_raw(string.format(
+[[
+MAKEFLAGS= make print _GLUON_SITE_VARS_=%s --no-print-directory -s -f - <<'END_MAKE'
 include $(GLUON_SITEDIR)/site.mk
 
 print:
 	echo -n '$(_GLUON_SITE_VARS_)'
 END_MAKE
-		]], lib.escape(var)))
-	end
+]],
+	lib.escape(var)))
+end
 
-	local function site_packages(image)
-		return split(site_vars(string.format('$(GLUON_%s_SITE_PACKAGES)', image)))
-	end
+local function site_packages(image)
+	return split(site_vars(string.format('$(GLUON_%s_SITE_PACKAGES)', image)))
+end
 
-	-- TODO: Rewrite features.sh in Lua
-	local function feature_packages(features)
-		-- Ugly hack: Lua doesn't give us the return code of a popened
-		-- command, so we match on a special __ERROR__ marker
-		local pkgs = lib.exec_capture({'scripts/features.sh', features}, '|| echo __ERROR__')
-		assert(string.find(pkgs, '__ERROR__') == nil, 'Error while evaluating features')
-		return pkgs
-	end
+-- TODO: Rewrite features.sh in Lua
+local function feature_packages(features)
+	-- Ugly hack: Lua doesn't give us the return code of a popened
+	-- command, so we match on a special __ERROR__ marker
+	local pkgs = lib.exec_capture({'scripts/features.sh', features}, '|| echo __ERROR__')
+	assert(string.find(pkgs, '__ERROR__') == nil, 'Error while evaluating features')
+	return pkgs
+end
 
-	-- This involves running lots of processes to evaluate site.mk, so we
-	-- add a simple cache
-	local class_cache = {}
-	local function class_packages(class)
-		if class_cache[class] then
-			return class_cache[class]
-		end
+-- This involves running lots of processes to evaluate site.mk, so we
+-- add a simple cache
+local class_cache = {}
+local function class_packages(class)
+	if class_cache[class] then
+		return class_cache[class]
+	end
 
-		local features = site_vars(string.format('$(GLUON_FEATURES) $(GLUON_FEATURES_%s)', class))
-		features = table.concat(compact_list(split(features), false), ' ')
+	local features = site_vars(string.format('$(GLUON_FEATURES) $(GLUON_FEATURES_%s)', class))
+	features = table.concat(compact_list(split(features), false), ' ')
 
-		local pkgs = feature_packages(features)
-		pkgs = pkgs .. ' ' .. site_vars(string.format('$(GLUON_SITE_PACKAGES) $(GLUON_SITE_PACKAGES_%s)', class))
+	local pkgs = feature_packages(features)
+	pkgs = pkgs .. ' ' .. site_vars(string.format('$(GLUON_SITE_PACKAGES) $(GLUON_SITE_PACKAGES_%s)', class))
 
-		pkgs = compact_list(split(pkgs))
+	pkgs = compact_list(split(pkgs))
 
-		class_cache[class] = pkgs
-		return pkgs
-	end
+	class_cache[class] = pkgs
+	return pkgs
+end
 
-	local enabled_packages = {}
-	-- Arguments: package name and config value (true: y, nil: m, false: unset)
-	-- Ensures precedence of y > m > unset
-	local function config_package(pkg, v)
-		if v == false then
-			if not enabled_packages[pkg] then
-				lib.try_config('CONFIG_PACKAGE_' .. pkg, false)
-			end
-			return
+local enabled_packages = {}
+-- Arguments: package name and config value (true: y, nil: m, false: unset)
+-- Ensures precedence of y > m > unset
+local function config_package(pkg, v)
+	if v == false then
+		if not enabled_packages[pkg] then
+			lib.try_config('PACKAGE_' .. pkg, false)
 		end
+		return
+	end
 
-		if v == true or not enabled_packages[pkg] then
-			lib.config('CONFIG_PACKAGE_' .. pkg, v, string.format("unable to enable package '%s'", pkg))
-			enabled_packages[pkg] = true
-		end
+	if v == true or not enabled_packages[pkg] then
+		lib.config('PACKAGE_' .. pkg, v, string.format("unable to enable package '%s'", pkg))
+		enabled_packages[pkg] = true
 	end
+end
 
-	local function handle_target_pkgs(pkgs)
-		for _, pkg in ipairs(pkgs) do
-			if string.sub(pkg, 1, 1) == '-' then
-				config_package(string.sub(pkg, 2), false)
-			else
-				config_package(pkg, true)
-			end
+local function handle_target_pkgs(pkgs)
+	for _, pkg in ipairs(pkgs) do
+		if string.sub(pkg, 1, 1) == '-' then
+			config_package(string.sub(pkg, 2), false)
+		else
+			config_package(pkg, true)
 		end
 	end
+end
 
-	lib.include('generic')
-	lib.include(target)
+lib.include('generic')
+lib.include(target)
 
-	lib.check_devices()
+lib.check_devices()
 
-	if not lib.opkg then
-		lib.config('CONFIG_SIGNED_PACKAGES', false)
-		lib.config('CONFIG_CLEAN_IPKG', true)
-		lib.packages {'-opkg'}
-	end
+if not lib.opkg then
+	lib.config('SIGNED_PACKAGES', false)
+	lib.config('CLEAN_IPKG', true)
+	lib.packages {'-opkg'}
+end
 
-	if #lib.devices > 0 then
-		handle_target_pkgs(lib.target_packages)
+if #lib.devices > 0 then
+	handle_target_pkgs(lib.target_packages)
 
-		for _, dev in ipairs(lib.devices) do
-			local profile = dev.options.profile or dev.name
+	for _, dev in ipairs(lib.devices) do
+		local profile = dev.options.profile or dev.name
 
-			local device_pkgs = {}
-			local function handle_pkgs(pkgs)
-				for _, pkg in ipairs(pkgs) do
-					if string.sub(pkg, 1, 1) ~= '-' then
-						config_package(pkg, nil)
-					end
-					device_pkgs = append_to_list(device_pkgs, pkg)
-				end
-			end
-
-			handle_pkgs(lib.target_packages)
-			handle_pkgs(class_packages(dev.options.class))
-			handle_pkgs(dev.options.packages or {})
-			handle_pkgs(site_packages(dev.image))
-
-			lib.config(
-				string.format('CONFIG_TARGET_DEVICE_%s_DEVICE_%s', openwrt_config_target, profile),
-				true,
-				string.format("unable to enable device '%s'", profile)
-			)
-			lib.config(
-				string.format('CONFIG_TARGET_DEVICE_PACKAGES_%s_DEVICE_%s', openwrt_config_target, profile),
-				table.concat(device_pkgs, ' ')
-			)
-		end
-	else
-		-- x86 fallback: no devices
-		local target_pkgs = {}
+		local device_pkgs = {}
 		local function handle_pkgs(pkgs)
 			for _, pkg in ipairs(pkgs) do
-				target_pkgs = append_to_list(target_pkgs, pkg)
+				if string.sub(pkg, 1, 1) ~= '-' then
+					config_package(pkg, nil)
+				end
+				device_pkgs = append_to_list(device_pkgs, pkg)
 			end
 		end
 
-		-- Just hardcode the class for device-less targets to 'standard'
-		-- - this is x86 only at the moment, and it will have devices
-		-- in OpenWrt 19.07 + 1 as well
 		handle_pkgs(lib.target_packages)
-		handle_pkgs(class_packages('standard'))
-
-		handle_target_pkgs(target_pkgs)
+		handle_pkgs(class_packages(dev.options.class))
+		handle_pkgs(dev.options.packages or {})
+		handle_pkgs(site_packages(dev.image))
+
+		local profile_config = string.format('%s_DEVICE_%s', openwrt_config_target, profile)
+		lib.config(
+			'TARGET_DEVICE_' .. profile_config, true,
+			string.format("unable to enable device '%s'", profile)
+		)
+		lib.config(
+			'TARGET_DEVICE_PACKAGES_' .. profile_config,
+			table.concat(device_pkgs, ' ')
+		)
+	end
+else
+	-- x86 fallback: no devices
+	local target_pkgs = {}
+	local function handle_pkgs(pkgs)
+		for _, pkg in ipairs(pkgs) do
+			target_pkgs = append_to_list(target_pkgs, pkg)
+		end
 	end
 
-	return lib
+	-- Just hardcode the class for device-less targets to 'standard'
+	-- - this is x86 only at the moment, and it will have devices
+	-- in OpenWrt 19.07 + 1 as well
+	handle_pkgs(lib.target_packages)
+	handle_pkgs(class_packages('standard'))
+
+	handle_target_pkgs(target_pkgs)
 end
+
+return lib
diff --git a/scripts/target_lib.lua b/scripts/target_lib.lua
index cdaa4b761..51e1320bd 100644
--- a/scripts/target_lib.lua
+++ b/scripts/target_lib.lua
@@ -164,7 +164,7 @@ local function format_config(k, v)
 	else
 		format = '%s=%d'
 	end
-	return string.format(format, k, v)
+	return string.format(format, 'CONFIG_' .. k, v)
 end
 
 local config_mt = {
diff --git a/targets/ar71xx-generic b/targets/ar71xx-generic
index dda722170..a31d78b2e 100644
--- a/targets/ar71xx-generic
+++ b/targets/ar71xx-generic
@@ -1,5 +1,5 @@
-config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
-config('CONFIG_TARGET_SQUASHFS_BLOCK_SIZE', 64)
+config('GLUON_SPECIALIZE_KERNEL', true)
+config('TARGET_SQUASHFS_BLOCK_SIZE', 64)
 
 local ATH10K_PACKAGES = {
 	'kmod-ath10k',
diff --git a/targets/ar71xx-mikrotik b/targets/ar71xx-mikrotik
index 8921b6f66..81a053f21 100644
--- a/targets/ar71xx-mikrotik
+++ b/targets/ar71xx-mikrotik
@@ -1,4 +1,4 @@
-config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
+config('GLUON_SPECIALIZE_KERNEL', true)
 
 defaults {
 	factory = false,
diff --git a/targets/ar71xx-nand b/targets/ar71xx-nand
index 866e97094..89afd52cb 100644
--- a/targets/ar71xx-nand
+++ b/targets/ar71xx-nand
@@ -1,4 +1,4 @@
-config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
+config('GLUON_SPECIALIZE_KERNEL', true)
 
 local ATH10K_PACKAGES = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca988x', '-ath10k-firmware-qca988x-ct'}
 
diff --git a/targets/ar71xx-tiny b/targets/ar71xx-tiny
index 61da28eda..a0a8d5108 100644
--- a/targets/ar71xx-tiny
+++ b/targets/ar71xx-tiny
@@ -1,4 +1,4 @@
-config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
+config('GLUON_SPECIALIZE_KERNEL', true)
 
 no_opkg()
 
diff --git a/targets/generic b/targets/generic
index 42502b768..e02858210 100644
--- a/targets/generic
+++ b/targets/generic
@@ -1,21 +1,21 @@
 assert(env.GLUON_LANGS)
 
 
-config('CONFIG_GLUON_SITEDIR', env.GLUON_SITEDIR)
-config('CONFIG_GLUON_RELEASE', env.GLUON_RELEASE)
-try_config('CONFIG_GLUON_BRANCH', env.GLUON_BRANCH or '')
+config('GLUON_SITEDIR', env.GLUON_SITEDIR)
+config('GLUON_RELEASE', env.GLUON_RELEASE)
+try_config('GLUON_BRANCH', env.GLUON_BRANCH or '')
 
 for lang in string.gmatch(env.GLUON_LANGS, '%S+') do
-	try_config('CONFIG_GLUON_WEB_LANG_' .. lang, true)
+	try_config('GLUON_WEB_LANG_' .. lang, true)
 end
 
-config('CONFIG_TARGET_' .. env.BOARD, true)
+config('TARGET_' .. env.BOARD, true)
 if env.SUBTARGET ~= '' then
-	config(string.format('CONFIG_TARGET_%s_%s', env.BOARD, env.SUBTARGET), true)
+	config(string.format('TARGET_%s_%s', env.BOARD, env.SUBTARGET), true)
 end
 
 -- Disable non-default feeds in distfeeds.conf
-config('CONFIG_FEED_gluon_base', false)
+config('FEED_gluon_base', false)
 
 local default_feeds = {}
 for feed in string.gmatch(exec_capture_raw('. scripts/default_feeds.sh && echo "$DEFAULT_FEEDS"'), '%S+') do
@@ -24,46 +24,46 @@ end
 
 for feed in string.gmatch(exec_capture_raw('. scripts/modules.sh && echo -n "$FEEDS"'), '%S+') do
 	if not default_feeds[feed] then
-		config('CONFIG_FEED_' .. feed, false)
+		config('FEED_' .. feed, false)
 	end
 end
 
 
-config('CONFIG_TARGET_ROOTFS_INITRAMFS', false)
+config('TARGET_ROOTFS_INITRAMFS', false)
 
-config('CONFIG_DEVEL', true)
-config('CONFIG_ALL_NONSHARED', true)
+config('DEVEL', true)
+config('ALL_NONSHARED', true)
 
-config('CONFIG_PACKAGE_usbip', false) -- fails to build
-config('CONFIG_PACKAGE_kmod-jool', false) -- fails to build
+config('PACKAGE_usbip', false) -- fails to build
+config('PACKAGE_kmod-jool', false) -- fails to build
 
-config('CONFIG_BUSYBOX_CUSTOM', true)
-config('CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS', false)
+config('BUSYBOX_CUSTOM', true)
+config('BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS', false)
 
-config('CONFIG_PACKAGE_ATH_DEBUG', true)
+config('PACKAGE_ATH_DEBUG', true)
 
-try_config('CONFIG_TARGET_SQUASHFS_BLOCK_SIZE', 256)
+try_config('TARGET_SQUASHFS_BLOCK_SIZE', 256)
 
-config('CONFIG_KERNEL_IP_MROUTE', false)
-config('CONFIG_KERNEL_IPV6_MROUTE', false)
+config('KERNEL_IP_MROUTE', false)
+config('KERNEL_IPV6_MROUTE', false)
 
-try_config('CONFIG_TARGET_MULTI_PROFILE', true)
-try_config('CONFIG_TARGET_PER_DEVICE_ROOTFS', true)
+try_config('TARGET_MULTI_PROFILE', true)
+try_config('TARGET_PER_DEVICE_ROOTFS', true)
 
-config('CONFIG_GLUON_MULTIDOMAIN', istrue(env.GLUON_MULTIDOMAIN))
+config('GLUON_MULTIDOMAIN', istrue(env.GLUON_MULTIDOMAIN))
 
-config('CONFIG_AUTOREMOVE', istrue(env.GLUON_AUTOREMOVE))
+config('AUTOREMOVE', istrue(env.GLUON_AUTOREMOVE))
 
 if istrue(env.GLUON_DEBUG) then
-	config('CONFIG_DEBUG', true)
-	config('CONFIG_NO_STRIP', true)
-	config('CONFIG_USE_STRIP', false)
-	config('CONFIG_USE_SSTRIP', false)
+	config('DEBUG', true)
+	config('NO_STRIP', true)
+	config('USE_STRIP', false)
+	config('USE_SSTRIP', false)
 
-	try_config('CONFIG_TARGET_ROOTFS_PARTSIZE', 500)
+	try_config('TARGET_ROOTFS_PARTSIZE', 500)
 end
 
-config('CONFIG_GLUON_MINIFY', istrue(env.GLUON_MINIFY))
+config('GLUON_MINIFY', istrue(env.GLUON_MINIFY))
 
 packages {
 	'-kmod-ipt-offload',
diff --git a/targets/ramips-rt305x b/targets/ramips-rt305x
index 9226fb06e..8678f12e1 100644
--- a/targets/ramips-rt305x
+++ b/targets/ramips-rt305x
@@ -1,5 +1,5 @@
-config('CONFIG_KERNEL_KALLSYMS', false)
-config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
+config('KERNEL_KALLSYMS', false)
+config('GLUON_SPECIALIZE_KERNEL', true)
 
 no_opkg()
 
diff --git a/targets/x86.inc b/targets/x86.inc
index 947e82e96..c6037c688 100644
--- a/targets/x86.inc
+++ b/targets/x86.inc
@@ -1,5 +1,5 @@
-config('CONFIG_VDI_IMAGES', true)
-config('CONFIG_VMDK_IMAGES', true)
+config('VDI_IMAGES', true)
+config('VMDK_IMAGES', true)
 
 packages {
 	'kmod-3c59x',
-- 
GitLab