* [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive
@ 2018-09-03 7:52 Yonghong Zhu
2018-09-06 5:16 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2018-09-03 7:52 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao, Michael Kinney, Kevin W Shaw
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive
2018-09-03 7:52 [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive Yonghong Zhu
@ 2018-09-06 5:16 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2018-09-06 5:16 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org; +Cc: Kinney, Michael D, Shaw, Kevin W
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Monday, September 03, 2018 3:53 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D
><michael.d.kinney@intel.com>; Shaw, Kevin W <kevin.w.shaw@intel.com>
>Subject: [Patch] DSC Spec: Extend exclamation statement's keyword to case-
>insensitive
>
>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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-09-06 5:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-03 7:52 [Patch] DSC Spec: Extend exclamation statement's keyword to case-insensitive Yonghong Zhu
2018-09-06 5:16 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox