soc_core: generate extra string-based config defines
authorMateusz Holenko <mholenko@antmicro.com>
Thu, 11 Jul 2019 08:13:54 +0000 (10:13 +0200)
committerMateusz Holenko <mholenko@antmicro.com>
Mon, 15 Jul 2019 13:58:54 +0000 (15:58 +0200)
C preprocessor does not allow to compare strings, so
the current defines are not usable at the compile time.
This adds new defines that can be ifdefed.

litex/soc/integration/soc_core.py

index 1fd7917f1706711ab85c98705937d89703a897ac..50ff64efb0e7b923ff0acc7fd19b019b519cd906 100644 (file)
@@ -530,6 +530,8 @@ class SoCCore(Module):
             self._constants.append(((name + "_" + constant.name).upper(), constant.value.value))
         for name, value in sorted(self.config.items(), key=itemgetter(0)):
             self._constants.append(("CONFIG_" + name.upper(), value))
+            if isinstance(value, str):
+                self._constants.append(("CONFIG_" + name.upper() + "_" + value, 1))
 
         # Connect interrupts
         if hasattr(self, "cpu"):