From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Permerror (SPF Permanent Error: Two or more type TXT spf records found.) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E365421103DD8 for ; Mon, 3 Sep 2018 00:53:17 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Sep 2018 00:53:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,324,1531810800"; d="scan'208";a="70151815" Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.129]) by orsmga008.jf.intel.com with ESMTP; 03 Sep 2018 00:53:16 -0700 From: Yonghong Zhu To: edk2-devel@lists.01.org Cc: Liming Gao , Michael Kinney , Kevin W Shaw Date: Mon, 3 Sep 2018 15:53:14 +0800 Message-Id: <1535961194-876-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [Patch] FDF Spec: Extend exclamation statement's keyword to case-insensitive X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2018 07:53:18 -0000 This patch add some description for "!include", "!error", "!if", etc, to extend those statement's keyword to case-insensitive. Cc: Liming Gao Cc: Michael Kinney Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu --- 2_fdf_design_discussion/22_flash_description_file_format.md | 8 +++++--- 3_edk_ii_fdf_file_format/32_fdf_definition.md | 6 ++++++ README.md | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/2_fdf_design_discussion/22_flash_description_file_format.md b/2_fdf_design_discussion/22_flash_description_file_format.md index 1092f00..3ea818f 100644 --- a/2_fdf_design_discussion/22_flash_description_file_format.md +++ b/2_fdf_design_discussion/22_flash_description_file_format.md @@ -209,11 +209,12 @@ directory this INF file is in or in sub-directories of this directory. ### 2.2.5 !include Statements The `!include` statement may appear within an EDK II FDF file. The included file content must match the content type of the current section definition, -contain complete sections, or combination of both. +contain complete sections, or combination of both. The keyword `!include` +is case-insensitive. The argument of this statement is a filename. The file is relative to the directory that contains this DSC file, and if not found the tool must attempt to find the file relative to paths listed in the system environment variables, `$(WORKSPACE)`, `$(PACKAGES_PATH)`, `$(EFI_SOURCE)`, `$(EDK_SOURCE)`, and @@ -523,11 +524,11 @@ statements may appear anywhere within the FDF file. ********** **Note:** A limited number of statements are supported. This specification does not support every conditional statement that C programmers are familiar with. ********** -Supported statements are: +Supported following statements and the keyword are case-insensitive: `!ifdef, !ifndef, !if, !elseif, !else and !endif` Refer to the Macro Statement section for information on using Macros in conditional directives. @@ -620,11 +621,12 @@ The following is an example of conditional statements. ### 2.2.9 !error Statement The `!error` statement may appear within any section of EDK II FDF file. The argument of this statement is an error message, it causes build tool to stop at the location where the statement is encountered and error message following -the `!error` statement is output as a message. +the `!error` statement is output as a message. The keyword `!error` is not +case-sensitive. The following example show the valid usage of the `!error` statement. ```ini !if $(FEATURE_ENABLE) == TRUE diff --git a/3_edk_ii_fdf_file_format/32_fdf_definition.md b/3_edk_ii_fdf_file_format/32_fdf_definition.md index 39d211d..4c323c5 100644 --- a/3_edk_ii_fdf_file_format/32_fdf_definition.md +++ b/3_edk_ii_fdf_file_format/32_fdf_definition.md @@ -425,10 +425,12 @@ C pre-processor. * Zero or more `!elseif` statements are permitted; only one `!else` statement is permitted. * Conditional directive blocks may be nested. +* Keyword `!ifdef, !ifndef, !if, !elseif, !else, !endif` are case-insensitive. + * Directives can be used to encapsulate entire sections or elements within a single section, such that they do not break the integrity of the section definitions. * Directives are in-fix expressions that are evaluated left to right; content @@ -658,10 +660,12 @@ to locate the file relaitive to the directory that contains the DSC file. If none of these methods find the file, and a directory separator is in ``, the tools attempt to find the file in a WORKSPACE (or a directory listed in the PACKAGES_PATH) relative path. If the file cannot be found, the build system must exit with an appropriate error message. +The keyword `!include` is case-insensitive. + #### Prototype ` ::= "!include" ` ###### Example (EDK II FDF) @@ -681,10 +685,12 @@ Use of this statement is optional. This section defines the `!error` statement in EDK II FDF files. This statement is used to cause build tool to stop at the location where the statement is encountered and error message following the `!error` statement is output as a message. +The keyword `!error` is case-insensitive. + #### Prototype ` ::= "!error" ` ` ::= ` diff --git a/README.md b/README.md index cd489ee..5928df8 100644 --- a/README.md +++ b/README.md @@ -213,5 +213,6 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved. | | Per PI 1.6 to support FV extended header entry contain the used size of FV | | | | Add !error statement section | | | | clean up the and usage in spec | | | | document WEAK_ALIGNMENT attribute | | | | support varstore template generation with a [FV] section | | +| | Extend exclamation statement's keyword to case-insensitive | | -- 2.6.1.windows.1