confgen.py: don't output compatibility definitions for options which are not defined
For example, if a renamed option CONFIG_NEW is a bool with value "n", kconfiglib will not generate a define for it in the Kconfig file. The define (#define CONFIG_NEW 1) will only be generated if the option is "y" or "m". However the compatibility definition was always generated: #define CONFIG_OLD CONFIG_NEW. This broke the #ifdef checks which depended on the old option names.
This commit is contained in:
parent
7dcc5f4d15
commit
73b30af2b3
|
@ -17,8 +17,16 @@
|
||||||
#include "sdkconfig.h"
|
#include "sdkconfig.h"
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
|
#include "esp32/rom/spi_flash.h"
|
||||||
#include "esp32/rom/crc.h"
|
#include "esp32/rom/crc.h"
|
||||||
#include "esp32/rom/gpio.h"
|
#include "esp32/rom/gpio.h"
|
||||||
|
#elif CONFIG_IDF_TARGET_ESP32S2BETA
|
||||||
|
#include "esp32s2beta/rom/spi_flash.h"
|
||||||
|
#include "esp32s2beta/rom/crc.h"
|
||||||
|
#include "esp32s2beta/rom/ets_sys.h"
|
||||||
|
#include "esp32s2beta/rom/gpio.h"
|
||||||
|
#endif
|
||||||
#include "esp_flash_partitions.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "bootloader_flash.h"
|
#include "bootloader_flash.h"
|
||||||
#include "bootloader_common.h"
|
#include "bootloader_common.h"
|
||||||
|
|
|
@ -162,12 +162,18 @@ class DeprecatedOptions(object):
|
||||||
f_o.write('{}\n'.format(self._DEP_OP_END))
|
f_o.write('{}\n'.format(self._DEP_OP_END))
|
||||||
|
|
||||||
def append_header(self, config, path_output):
|
def append_header(self, config, path_output):
|
||||||
|
def _opt_defined(opt):
|
||||||
|
if not opt.visibility:
|
||||||
|
return False
|
||||||
|
return not (opt.orig_type in (kconfiglib.BOOL, kconfiglib.TRISTATE) and opt.str_value == "n")
|
||||||
|
|
||||||
if len(self.r_dic) > 0:
|
if len(self.r_dic) > 0:
|
||||||
with open(path_output, 'a') as f_o:
|
with open(path_output, 'a') as f_o:
|
||||||
f_o.write('\n/* List of deprecated options */\n')
|
f_o.write('\n/* List of deprecated options */\n')
|
||||||
for dep_opt in sorted(self.r_dic):
|
for dep_opt in sorted(self.r_dic):
|
||||||
new_opt = self.r_dic[dep_opt]
|
new_opt = self.r_dic[dep_opt]
|
||||||
f_o.write('#define {}{} {}{}\n'.format(self.config_prefix, dep_opt, self.config_prefix, new_opt))
|
if new_opt in config.syms and _opt_defined(config.syms[new_opt]):
|
||||||
|
f_o.write('#define {}{} {}{}\n'.format(self.config_prefix, dep_opt, self.config_prefix, new_opt))
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
Loading…
Reference in a new issue