I have verified that the EDK2 basetools does not process `SPEC` under the `DEFINES` section as mentioned in the documentation and it does not work. I went through the commit history of basetools around this, it looks like this has not worked pretty much ever, (I went only as far as GitHub would allow me.) There are multiple points of failures, *Failure 1: Suggested example format* SPEC USB_SPECIFICATION_VERSION = 2.0 * * This example is wrong, as this format will cause build failure, as the basetools do larger processing based on the `=` sign. .OrderedDict({'INF_VERSION': '0x00010005', 'BASE_NAME': 'ExampleCode', 'FILE_GUID': '51C7D5B0-4E8F-4F3E-80C9-E6CCEAAE1EC1', 'MODULE_TYPE': 'DXE_SMM_DRIVER', *'SPEC                           USB_SPECIFICATION_VERSION ': '2.0'* , 'VERSION_STRING': '1.0'}) The surrounding infrastructure cannot process this format. *Failure 2 : GenMake.py* It adds it to the Makefile, which is not necessary. *module_extra_defines"      : ["%s = %s" % (k, v) for k, v in MyAgo.Module.Defines.items()]* We can skip loading of SPEC here, solves the issue around the `=` sign also. *Failure 3 :  GenC.py* According to the documentation, it is supposed to add it to the header file (Autogen.h). There is no code support for it. You can manipulate the *`Info.Module._Defs`* object  and add it to the generated file. *Failure 4 : Documentation Information* https://github.com/tianocore-docs/edk2-InfSpecification/blob/master/3_edk_ii_inf_file_format/34_%5Bdefines%5D_section.md Shows this format for SPEC [ < TS > "SPEC" < MTS > < Spec > < EOL > ] * The `*` at the end means you can have multiple SPEC declarations, this is not true, the current basetools code just replaces to use the last one. < Spec > :: = < Identifier > < Eq > < DecimalVersion > The `DecimalVersion` format is idetified as below,     ::= {"0"} {(0-9) (0-9)*} ["." (0-9)+] The curly braces format suggests that you can have a blank string as input, This should be ::= "0" (0-9)* ["." (0-9)+] Will make a bugzilla on this and maybe a PR with my version of the solution. Ashwin -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119541): https://edk2.groups.io/g/devel/message/119541 Mute This Topic: https://groups.io/mt/105184345/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-