From: Yonghong Zhu <yonghong.zhu@intel.com>
To: edk2-devel@lists.01.org
Cc: Liming Gao <liming.gao@intel.com>,
Michael Kinney <michael.d.kinney@intel.com>,
Kevin W Shaw <kevin.w.shaw@intel.com>
Subject: [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive
Date: Mon, 3 Sep 2018 15:52:47 +0800 [thread overview]
Message-ID: <1535961167-13636-1-git-send-email-yonghong.zhu@intel.com> (raw)
This patch add some description for "!include", "!error", "!if", etc,
to extend those statement's keyword to case-insensitive.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
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
`<IncludeStatement> ::= <TS> "!include" <MTS> <Filename> <EOL>`
#### 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
`<ErrorStatement> ::= <TS> "!error" <MTS> <ErrorMessage> <EOL>`
`<ErrorMessage> ::= <AsciiString>`
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
next reply other threads:[~2018-09-03 7:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-03 7:52 Yonghong Zhu [this message]
2018-09-06 5:16 ` [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive Gao, Liming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1535961167-13636-1-git-send-email-yonghong.zhu@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox