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=192.55.52.136; helo=mga12.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 7F65721103DD8 for ; Mon, 3 Sep 2018 00:52:51 -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 fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Sep 2018 00:52:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,324,1531810800"; d="scan'208";a="70151742" Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.129]) by orsmga008.jf.intel.com with ESMTP; 03 Sep 2018 00:52:49 -0700 From: Yonghong Zhu To: edk2-devel@lists.01.org Cc: Liming Gao , Michael Kinney , Kevin W Shaw Date: Mon, 3 Sep 2018 15:52:47 +0800 Message-Id: <1535961167-13636-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [Patch] DSC 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:52:51 -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_dsc_overview/22_build_description_file_format.md | 8 +++++--- 3_edk_ii_dsc_file_format/33_platform_dsc_definition.md | 6 ++++++ README.md | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/2_dsc_overview/22_build_description_file_format.md b/2_dsc_overview/22_build_description_file_format.md index 9bf46a6..31e23f4 100644 --- a/2_dsc_overview/22_build_description_file_format.md +++ b/2_dsc_overview/22_build_description_file_format.md @@ -223,11 +223,12 @@ names. ### 2.2.5 !include Statement Processing The `!include` statement may appear within any section of EDK II DSC file. The included file content must match the content type of the current section -definition, contain complete sections, or combination of both. +definition, contain complete sections, or combination of both. And 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 the paths listed in the system environment variables `$(WORKSPACE)`, `$(EFI_SOURCE)`, `$(EDK_SOURCE)`, and @@ -502,11 +503,11 @@ statements may appear anywhere within the DSC 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. @@ -646,11 +647,12 @@ The following are examples of conditional directives. ### 2.2.9 !error Statement The `!error` statement may appear within any section of EDK II DSC 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_dsc_file_format/33_platform_dsc_definition.md b/3_edk_ii_dsc_file_format/33_platform_dsc_definition.md index 3bbcd9d..0ff9d9d 100644 --- a/3_edk_ii_dsc_file_format/33_platform_dsc_definition.md +++ b/3_edk_ii_dsc_file_format/33_platform_dsc_definition.md @@ -474,10 +474,12 @@ directive blocks can be nested. * 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 @@ -701,10 +703,12 @@ PACKAGES_PATH) relative path. If the file cannot be found, the build system must exit with an appropriate error message. Statements in the include file are permitted to override previous definitions as well as to define new entries. +The keyword `!include` is case-insensitive. + #### Prototype ` ::= "!include" ` #### Example (EDK II DSC) @@ -730,10 +734,12 @@ Use of this statement is optional. This section defines the `!error` statement in EDK II Platform (DSC) 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 5672273..17d4ebf 100644 --- a/README.md +++ b/README.md @@ -191,5 +191,6 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved. | | Add flexible PCD value format into spec | | | | Add syntax to support SKU ID inherit from another SKU ID | | | | Add DefaultStores section to describe the default setting | | | | Add structure PCD field value assignment syntax | | | | Add !error statement section | | +| | Extend exclamation statement's keyword to case-insensitive | | -- 2.6.1.windows.1