cmake: kconfig: pass GENERATED_DTS_BOARD_CONF on to kconfig

Make kconfigfunctions.py agnostic to where GENERATED_DTS_BOARD_CONF is
located.

We don't want to encode the path of GENERATED_DTS_BOARD_CONF into more
places than necessary. Also, re-using GENERATED_DTS_BOARD_CONF makes
it easier to change where generated_dts_board.conf is located.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
diff --git a/cmake/kconfig.cmake b/cmake/kconfig.cmake
index ad62a6f..a4a0849 100644
--- a/cmake/kconfig.cmake
+++ b/cmake/kconfig.cmake
@@ -31,6 +31,7 @@
 set(ENV{SOC_DIR}   ${SOC_DIR})
 set(ENV{PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR})
 set(ENV{ARCH_DIR}   ${ARCH_DIR})
+set(ENV{GENERATED_DTS_BOARD_CONF} ${GENERATED_DTS_BOARD_CONF})
 
 add_custom_target(
   menuconfig
@@ -45,6 +46,7 @@
   PROJECT_BINARY_DIR=$ENV{PROJECT_BINARY_DIR}
   ZEPHYR_TOOLCHAIN_VARIANT=${ZEPHYR_TOOLCHAIN_VARIANT}
   ARCH_DIR=$ENV{ARCH_DIR}
+  GENERATED_DTS_BOARD_CONF=$ENV{GENERATED_DTS_BOARD_CONF}
   ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/kconfig/menuconfig.py ${KCONFIG_ROOT}
   WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/kconfig
   USES_TERMINAL
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 6a29112..1254b0c 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -147,6 +147,7 @@
   SOC_DIR=soc/
   SRCARCH=x86
   PROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
+  GENERATED_DTS_BOARD_CONF=not_applicable
   KCONFIG_TURBO_MODE=${KCONFIG_TURBO_MODE}
   KCONFIG_DOC_MODE=1
   ${PYTHON_EXECUTABLE} scripts/genrest.py Kconfig ${RST_OUT}/doc/reference/kconfig/
diff --git a/scripts/kconfig/kconfigfunctions.py b/scripts/kconfig/kconfigfunctions.py
index 57d515a..c21d56d 100644
--- a/scripts/kconfig/kconfigfunctions.py
+++ b/scripts/kconfig/kconfigfunctions.py
@@ -11,16 +11,12 @@
 
 doc_mode = os.environ.get('KCONFIG_DOC_MODE') == "1"
 
-# The env var 'PROJECT_BINARY_DIR' must be set
-bin_dir = os.environ['PROJECT_BINARY_DIR']
-
-conf_file = os.path.join(
-    bin_dir, 'include', 'generated', 'generated_dts_board.conf'
-)
+# The env var 'GENERATED_DTS_BOARD_CONF' must be set
+GENERATED_DTS_BOARD_CONF = os.environ['GENERATED_DTS_BOARD_CONF']
 
 dt_defines = {}
-if (not doc_mode) and os.path.isfile(conf_file):
-    with open(conf_file, 'r', encoding='utf-8') as fd:
+if (not doc_mode) and os.path.isfile(GENERATED_DTS_BOARD_CONF):
+    with open(GENERATED_DTS_BOARD_CONF, 'r', encoding='utf-8') as fd:
         for line in fd:
             if '=' in line:
                 define, val = line.split('=')