* PACKAGES_PATH in !include path in Dsc files
@ 2018-10-13 9:00 Pankaj Bansal
2018-10-16 1:35 ` Gao, Liming
0 siblings, 1 reply; 7+ messages in thread
From: Pankaj Bansal @ 2018-10-13 9:00 UTC (permalink / raw)
To: Yonghong Zhu, Liming Gao; +Cc: edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
Hello All,
I am trying to add this functionality that we can specify PACKAGES_PATH in !include path in Dsc files just like we can specify WORKSPACE.
I did below changes for it:
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1530,6 +1530,7 @@ class DscParser(MetaFileParser):
# Allow using system environment variables in path after !include
#
__IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE']
+ __IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']^M
if "ECP_SOURCE" in GlobalData.gGlobalDefines:
__IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE']
#
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index d74082fc26..61dce3a856 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -197,6 +197,7 @@ def CheckEnvVariable():
GlobalData.gEcpSource = EcpSourceDir
GlobalData.gGlobalDefines["WORKSPACE"] = WorkspaceDir
+ GlobalData.gGlobalDefines["PACKAGES_PATH"] = PackagesPath^M
GlobalData.gGlobalDefines["EFI_SOURCE"] = EfiSourceDir
GlobalData.gGlobalDefines["EDK_SOURCE"] = EdkSourceDir
GlobalData.gGlobalDefines["ECP_SOURCE"] = EcpSourceDir
With these changes the compilation starts OK, but I get this error later on:
GenFds.py...
: error C0DE: Tools code failure
Please send email to edk2-devel@lists.01.org for help, attaching following call stack trace!
Traceback (most recent call last):
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/GenFds/GenFds.py", line 246, in main
TargetArchList = set(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON, Options.BuildTarget, Options.ToolChain].SupArchList) & set(ArchList)
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", line 132, in __getitem__
Toolchain
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 221, in __init__
self._HandleOverridePath()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 282, in _HandleOverridePath
RecordList = self._RawData[MODEL_META_DATA_COMPONENT, self._Arch]
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 257, in __getitem__
self._PostProcess()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1358, in _PostProcess
Processer[self._ItemType]()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1533, in __ProcessDirective
__IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']
KeyError: 'PACKAGES_PATH'
build.py...
: error 7000: Failed to execute command
GenFds -f /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf --conf=/home/nxa34148/Desktop/uefi/Conf -o /home/nxa34148/Desktop/uefi/Build/LS1043aRdbPkg/RELEASE_GCC49 -t GCC49 -b RELEASE -p /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc -a AARCH64 -D "EFI_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "EDK_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TOOL_CHAIN_TAG=GCC49" -D "TOOLCHAIN=GCC49" -D "FAMILY=GCC" -D "PACKAGES_PATH=/home/nxa34148/Desktop/uefi/edk2-platforms" -D "EDK_TOOLS_PATH=/home/nxa34148/Desktop/uefi/BaseTools" -D "WORKSPACE=/home/nxa34148/Desktop/uefi" -D "ARCH=AARCH64" -D "ECP_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TARGET=RELEASE" [/home/nxa34148/Desktop/uefi]
- Failed -
I am not able to understand the cause of this error.
Can you please help?
Regards,
Pankaj Bansal
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-13 9:00 PACKAGES_PATH in !include path in Dsc files Pankaj Bansal
@ 2018-10-16 1:35 ` Gao, Liming
2018-10-16 2:40 ` Pankaj Bansal
0 siblings, 1 reply; 7+ messages in thread
From: Gao, Liming @ 2018-10-16 1:35 UTC (permalink / raw)
To: Pankaj Bansal, Zhu, Yonghong
Cc: edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
What's your usage model in DSC?
BaseTools will try to replace $(WORKSPACE) with WORKSPACE and PACKAGES_PATH, and find the first existing file. So, if you want to refer to one file in PACKAGES_PATH directory, you can also use $(WORKSPACE) macro to refer to it.
Thanks
Liming
From: Pankaj Bansal [mailto:pankaj.bansal@nxp.com]
Sent: Saturday, October 13, 2018 5:01 PM
To: Zhu, Yonghong <yonghong.zhu@intel.com>; Gao, Liming <liming.gao@intel.com>
Cc: edk2-devel@lists.01.org; Udit Kumar <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
Subject: PACKAGES_PATH in !include path in Dsc files
Hello All,
I am trying to add this functionality that we can specify PACKAGES_PATH in !include path in Dsc files just like we can specify WORKSPACE.
I did below changes for it:
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1530,6 +1530,7 @@ class DscParser(MetaFileParser):
# Allow using system environment variables in path after !include
#
__IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE']
+ __IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']^M
if "ECP_SOURCE" in GlobalData.gGlobalDefines:
__IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE']
#
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index d74082fc26..61dce3a856 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -197,6 +197,7 @@ def CheckEnvVariable():
GlobalData.gEcpSource = EcpSourceDir
GlobalData.gGlobalDefines["WORKSPACE"] = WorkspaceDir
+ GlobalData.gGlobalDefines["PACKAGES_PATH"] = PackagesPath^M
GlobalData.gGlobalDefines["EFI_SOURCE"] = EfiSourceDir
GlobalData.gGlobalDefines["EDK_SOURCE"] = EdkSourceDir
GlobalData.gGlobalDefines["ECP_SOURCE"] = EcpSourceDir
With these changes the compilation starts OK, but I get this error later on:
GenFds.py...
: error C0DE: Tools code failure
Please send email to edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> for help, attaching following call stack trace!
Traceback (most recent call last):
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/GenFds/GenFds.py", line 246, in main
TargetArchList = set(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON, Options.BuildTarget, Options.ToolChain].SupArchList) & set(ArchList)
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", line 132, in __getitem__
Toolchain
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 221, in __init__
self._HandleOverridePath()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 282, in _HandleOverridePath
RecordList = self._RawData[MODEL_META_DATA_COMPONENT, self._Arch]
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 257, in __getitem__
self._PostProcess()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1358, in _PostProcess
Processer[self._ItemType]()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1533, in __ProcessDirective
__IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']
KeyError: 'PACKAGES_PATH'
build.py...
: error 7000: Failed to execute command
GenFds -f /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf --conf=/home/nxa34148/Desktop/uefi/Conf -o /home/nxa34148/Desktop/uefi/Build/LS1043aRdbPkg/RELEASE_GCC49 -t GCC49 -b RELEASE -p /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc -a AARCH64 -D "EFI_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "EDK_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TOOL_CHAIN_TAG=GCC49" -D "TOOLCHAIN=GCC49" -D "FAMILY=GCC" -D "PACKAGES_PATH=/home/nxa34148/Desktop/uefi/edk2-platforms" -D "EDK_TOOLS_PATH=/home/nxa34148/Desktop/uefi/BaseTools" -D "WORKSPACE=/home/nxa34148/Desktop/uefi" -D "ARCH=AARCH64" -D "ECP_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TARGET=RELEASE" [/home/nxa34148/Desktop/uefi]
- Failed -
I am not able to understand the cause of this error.
Can you please help?
Regards,
Pankaj Bansal
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-16 1:35 ` Gao, Liming
@ 2018-10-16 2:40 ` Pankaj Bansal
2018-10-16 3:11 ` Ard Biesheuvel
0 siblings, 1 reply; 7+ messages in thread
From: Pankaj Bansal @ 2018-10-16 2:40 UTC (permalink / raw)
To: Gao, Liming, Zhu, Yonghong, Ard Biesheuvel, Leif Lindholm,
Michael D Kinney
Cc: edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
+edk2-platforms maintainers in To list
Thank you Liming for replying.
Our entire code is in edk2-platforms (https://github.com/tianocore/edk2-platforms) which is denoted by PACKAGES_PATH.
The PACKAGES_PATH directory can be anywhere in WORKSPACE depending on the sync directory defined by user.
i.e. it can be $(WORKSPACE)/edk2-platforms or $(WORKSPACE)/<any directory name that user can define during git sync>
As our dsc files are relative to PACKAGES_PATH, I want to specify their path in dsc file like this:
!include $(PACKAGES_PATH)/Silicon/NXP/<Silicon Name>.dsc
Using $(WORKSPACE), I cannot specify above path, as it can be at place other than $(WORKSPACE)/edk2-platforms
Regards,
Pankaj Bansal
From: Gao, Liming [mailto:liming.gao@intel.com]
Sent: Tuesday, October 16, 2018 7:06 AM
To: Pankaj Bansal <pankaj.bansal@nxp.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
Cc: edk2-devel@lists.01.org; Udit Kumar <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
Subject: RE: PACKAGES_PATH in !include path in Dsc files
What's your usage model in DSC?
BaseTools will try to replace $(WORKSPACE) with WORKSPACE and PACKAGES_PATH, and find the first existing file. So, if you want to refer to one file in PACKAGES_PATH directory, you can also use $(WORKSPACE) macro to refer to it.
Thanks
Liming
From: Pankaj Bansal [mailto:pankaj.bansal@nxp.com]
Sent: Saturday, October 13, 2018 5:01 PM
To: Zhu, Yonghong <yonghong.zhu@intel.com<mailto:yonghong.zhu@intel.com>>; Gao, Liming <liming.gao@intel.com<mailto:liming.gao@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>; Udit Kumar <udit.kumar@nxp.com<mailto:udit.kumar@nxp.com>>; Varun Sethi <V.Sethi@nxp.com<mailto:V.Sethi@nxp.com>>
Subject: PACKAGES_PATH in !include path in Dsc files
Hello All,
I am trying to add this functionality that we can specify PACKAGES_PATH in !include path in Dsc files just like we can specify WORKSPACE.
I did below changes for it:
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -1530,6 +1530,7 @@ class DscParser(MetaFileParser):
# Allow using system environment variables in path after !include
#
__IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE']
+ __IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']^M
if "ECP_SOURCE" in GlobalData.gGlobalDefines:
__IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE']
#
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index d74082fc26..61dce3a856 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -197,6 +197,7 @@ def CheckEnvVariable():
GlobalData.gEcpSource = EcpSourceDir
GlobalData.gGlobalDefines["WORKSPACE"] = WorkspaceDir
+ GlobalData.gGlobalDefines["PACKAGES_PATH"] = PackagesPath^M
GlobalData.gGlobalDefines["EFI_SOURCE"] = EfiSourceDir
GlobalData.gGlobalDefines["EDK_SOURCE"] = EdkSourceDir
GlobalData.gGlobalDefines["ECP_SOURCE"] = EcpSourceDir
With these changes the compilation starts OK, but I get this error later on:
GenFds.py...
: error C0DE: Tools code failure
Please send email to edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> for help, attaching following call stack trace!
Traceback (most recent call last):
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/GenFds/GenFds.py", line 246, in main
TargetArchList = set(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON, Options.BuildTarget, Options.ToolChain].SupArchList) & set(ArchList)
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", line 132, in __getitem__
Toolchain
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 221, in __init__
self._HandleOverridePath()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/DscBuildData.py", line 282, in _HandleOverridePath
RecordList = self._RawData[MODEL_META_DATA_COMPONENT, self._Arch]
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 257, in __getitem__
self._PostProcess()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1358, in _PostProcess
Processer[self._ItemType]()
File "/home/nxa34148/Desktop/uefi/BaseTools/Source/Python/Workspace/MetaFileParser.py", line 1533, in __ProcessDirective
__IncludeMacros['PACKAGES_PATH'] = GlobalData.gGlobalDefines['PACKAGES_PATH']
KeyError: 'PACKAGES_PATH'
build.py...
: error 7000: Failed to execute command
GenFds -f /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf --conf=/home/nxa34148/Desktop/uefi/Conf -o /home/nxa34148/Desktop/uefi/Build/LS1043aRdbPkg/RELEASE_GCC49 -t GCC49 -b RELEASE -p /home/nxa34148/Desktop/uefi/edk2-platforms/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc -a AARCH64 -D "EFI_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "EDK_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TOOL_CHAIN_TAG=GCC49" -D "TOOLCHAIN=GCC49" -D "FAMILY=GCC" -D "PACKAGES_PATH=/home/nxa34148/Desktop/uefi/edk2-platforms" -D "EDK_TOOLS_PATH=/home/nxa34148/Desktop/uefi/BaseTools" -D "WORKSPACE=/home/nxa34148/Desktop/uefi" -D "ARCH=AARCH64" -D "ECP_SOURCE=/home/nxa34148/Desktop/uefi/EdkCompatibilityPkg" -D "TARGET=RELEASE" [/home/nxa34148/Desktop/uefi]
- Failed -
I am not able to understand the cause of this error.
Can you please help?
Regards,
Pankaj Bansal
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-16 2:40 ` Pankaj Bansal
@ 2018-10-16 3:11 ` Ard Biesheuvel
2018-10-16 5:23 ` Pankaj Bansal
0 siblings, 1 reply; 7+ messages in thread
From: Ard Biesheuvel @ 2018-10-16 3:11 UTC (permalink / raw)
To: Pankaj Bansal
Cc: Gao, Liming, Zhu, Yonghong, Leif Lindholm, Michael D Kinney,
edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
On 16 October 2018 at 10:40, Pankaj Bansal <pankaj.bansal@nxp.com> wrote:
> +edk2-platforms maintainers in To list
>
>
>
> Thank you Liming for replying.
>
>
>
> Our entire code is in edk2-platforms
> (https://github.com/tianocore/edk2-platforms) which is denoted by
> PACKAGES_PATH.
>
> The PACKAGES_PATH directory can be anywhere in WORKSPACE depending on the
> sync directory defined by user.
>
> i.e. it can be $(WORKSPACE)/edk2-platforms or $(WORKSPACE)/<any directory
> name that user can define during git sync>
>
> As our dsc files are relative to PACKAGES_PATH, I want to specify their path
> in dsc file like this:
>
>
>
> !include $(PACKAGES_PATH)/Silicon/NXP/<Silicon Name>.dsc
>
>
>
> Using $(WORKSPACE), I cannot specify above path, as it can be at place other
> than $(WORKSPACE)/edk2-platforms
>
But why do you need to !include things in the first place?
Can you explain how you are trying to organize the files, and which
file includes which?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-16 3:11 ` Ard Biesheuvel
@ 2018-10-16 5:23 ` Pankaj Bansal
2018-10-16 5:28 ` Gao, Liming
0 siblings, 1 reply; 7+ messages in thread
From: Pankaj Bansal @ 2018-10-16 5:23 UTC (permalink / raw)
To: Ard Biesheuvel
Cc: Gao, Liming, Zhu, Yonghong, Leif Lindholm, Michael D Kinney,
edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
> Sent: Tuesday, October 16, 2018 8:41 AM
> To: Pankaj Bansal <pankaj.bansal@nxp.com>
> Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
> <yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>; Michael
> D Kinney <michael.d.kinney@intel.com>; edk2-devel@lists.01.org; Udit Kumar
> <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
> Subject: Re: PACKAGES_PATH in !include path in Dsc files
>
> On 16 October 2018 at 10:40, Pankaj Bansal <pankaj.bansal@nxp.com> wrote:
> > +edk2-platforms maintainers in To list
> >
> >
> >
> > Thank you Liming for replying.
> >
> >
> >
> > Our entire code is in edk2-platforms
> > (https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
> > thub.com%2Ftianocore%2Fedk2-
> platforms&data=02%7C01%7Cpankaj.bansal%40nxp.com%7C552da3f22b5
> 84b7fac6008d63315ec8b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> %7C636752566592695047&sdata=JJWbAcZkj%2FtFaZC0bWONPb7ulCcj1L2
> 4VKwCDGDx9OE%3D&reserved=0) which is denoted by PACKAGES_PATH.
> >
> > The PACKAGES_PATH directory can be anywhere in WORKSPACE depending on
> > the sync directory defined by user.
> >
> > i.e. it can be $(WORKSPACE)/edk2-platforms or $(WORKSPACE)/<any
> > directory name that user can define during git sync>
> >
> > As our dsc files are relative to PACKAGES_PATH, I want to specify
> > their path in dsc file like this:
> >
> >
> >
> > !include $(PACKAGES_PATH)/Silicon/NXP/<Silicon Name>.dsc
> >
> >
> >
> > Using $(WORKSPACE), I cannot specify above path, as it can be at place
> > other than $(WORKSPACE)/edk2-platforms
> >
>
> But why do you need to !include things in the first place?
>
> Can you explain how you are trying to organize the files, and which file includes
> which?
I am trying to keep Silicon (SOC) specific dsc file in Silicon/NXP/<Chassis Name>/<Silicon Name>
This silicon can be used in multiple Boards (Platforms).
All these Platforms are present in Platform/NXP/<Platform Name>
fd/fv binaries would be created for each platform.
The chassis dsc file has description of components/PCDs that are specific to chassis to which the silicon belongs. It would be same for all silicons that belong to same chassis.
The Silicon dsc file has description of components/PCDs that are specific to silicon and would be same for all platforms that use this silicon. It would include chassis dsc file
The Platform dsc file would include the silicon dsc file.
___________________________________
| Platform (in Platform/NXP) |
| _____________________________ |
| | Silicon (in Silicon/NXP/<Chassis>) | |
| | _______________________ | |
| | | Chassis (in Silicon/NXP) | | |
| | |______________________| | |
| |____________________________| |
|_________________________________|
Regards,
Pankaj Bansal
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-16 5:23 ` Pankaj Bansal
@ 2018-10-16 5:28 ` Gao, Liming
2018-10-16 6:00 ` Pankaj Bansal
0 siblings, 1 reply; 7+ messages in thread
From: Gao, Liming @ 2018-10-16 5:28 UTC (permalink / raw)
To: Pankaj Bansal, Ard Biesheuvel
Cc: Zhu, Yonghong, Leif Lindholm, Kinney, Michael D,
edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
Hi,
You can directly include it. BaseTools will search it from WORKSPACE and PACKAGES_PATH. So, you only need to set edk2-platforms directory into PACKAGES_PATH env.
!include Silicon/NXP/<Silicon Name>.dsc
Thanks
Liming
>-----Original Message-----
>From: Pankaj Bansal [mailto:pankaj.bansal@nxp.com]
>Sent: Tuesday, October 16, 2018 1:24 PM
>To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
><yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>; Kinney,
>Michael D <michael.d.kinney@intel.com>; edk2-devel@lists.01.org; Udit
>Kumar <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
>Subject: RE: PACKAGES_PATH in !include path in Dsc files
>
>
>
>> -----Original Message-----
>> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>> Sent: Tuesday, October 16, 2018 8:41 AM
>> To: Pankaj Bansal <pankaj.bansal@nxp.com>
>> Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
>> <yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>;
>Michael
>> D Kinney <michael.d.kinney@intel.com>; edk2-devel@lists.01.org; Udit
>Kumar
>> <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
>> Subject: Re: PACKAGES_PATH in !include path in Dsc files
>>
>> On 16 October 2018 at 10:40, Pankaj Bansal <pankaj.bansal@nxp.com>
>wrote:
>> > +edk2-platforms maintainers in To list
>> >
>> >
>> >
>> > Thank you Liming for replying.
>> >
>> >
>> >
>> > Our entire code is in edk2-platforms
>> >
>(https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
>> > thub.com%2Ftianocore%2Fedk2-
>>
>platforms&data=02%7C01%7Cpankaj.bansal%40nxp.com%7C552da3f22b
>5
>> 84b7fac6008d63315ec8b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
>> %7C636752566592695047&sdata=JJWbAcZkj%2FtFaZC0bWONPb7ulCcj1
>L2
>> 4VKwCDGDx9OE%3D&reserved=0) which is denoted by
>PACKAGES_PATH.
>> >
>> > The PACKAGES_PATH directory can be anywhere in WORKSPACE
>depending on
>> > the sync directory defined by user.
>> >
>> > i.e. it can be $(WORKSPACE)/edk2-platforms or $(WORKSPACE)/<any
>> > directory name that user can define during git sync>
>> >
>> > As our dsc files are relative to PACKAGES_PATH, I want to specify
>> > their path in dsc file like this:
>> >
>> >
>> >
>> > !include $(PACKAGES_PATH)/Silicon/NXP/<Silicon Name>.dsc
>> >
>> >
>> >
>> > Using $(WORKSPACE), I cannot specify above path, as it can be at place
>> > other than $(WORKSPACE)/edk2-platforms
>> >
>>
>> But why do you need to !include things in the first place?
>>
>> Can you explain how you are trying to organize the files, and which file
>includes
>> which?
>
>I am trying to keep Silicon (SOC) specific dsc file in Silicon/NXP/<Chassis
>Name>/<Silicon Name>
>This silicon can be used in multiple Boards (Platforms).
>All these Platforms are present in Platform/NXP/<Platform Name>
>fd/fv binaries would be created for each platform.
>The chassis dsc file has description of components/PCDs that are specific to
>chassis to which the silicon belongs. It would be same for all silicons that
>belong to same chassis.
>The Silicon dsc file has description of components/PCDs that are specific to
>silicon and would be same for all platforms that use this silicon. It would
>include chassis dsc file
>The Platform dsc file would include the silicon dsc file.
>
>___________________________________
>| Platform (in Platform/NXP) |
>| _____________________________ |
>| | Silicon (in Silicon/NXP/<Chassis>) | |
>| | _______________________ | |
>| | | Chassis (in Silicon/NXP) | | |
>| | |______________________| | |
>| |____________________________| |
>|_________________________________|
>
>Regards,
>Pankaj Bansal
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PACKAGES_PATH in !include path in Dsc files
2018-10-16 5:28 ` Gao, Liming
@ 2018-10-16 6:00 ` Pankaj Bansal
0 siblings, 0 replies; 7+ messages in thread
From: Pankaj Bansal @ 2018-10-16 6:00 UTC (permalink / raw)
To: Gao, Liming, Ard Biesheuvel
Cc: Zhu, Yonghong, Leif Lindholm, Kinney, Michael D,
edk2-devel@lists.01.org, Udit Kumar, Varun Sethi
> -----Original Message-----
> From: Gao, Liming [mailto:liming.gao@intel.com]
> Sent: Tuesday, October 16, 2018 10:58 AM
> To: Pankaj Bansal <pankaj.bansal@nxp.com>; Ard Biesheuvel
> <ard.biesheuvel@linaro.org>
> Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Kinney, Michael D <michael.d.kinney@intel.com>;
> edk2-devel@lists.01.org; Udit Kumar <udit.kumar@nxp.com>; Varun Sethi
> <V.Sethi@nxp.com>
> Subject: RE: PACKAGES_PATH in !include path in Dsc files
>
> Hi,
> You can directly include it. BaseTools will search it from WORKSPACE and
> PACKAGES_PATH. So, you only need to set edk2-platforms directory into
> PACKAGES_PATH env.
>
> !include Silicon/NXP/<Silicon Name>.dsc
Thanks You Liming Gao.
It worked for me.
>
> Thanks
> Liming
> >-----Original Message-----
> >From: Pankaj Bansal [mailto:pankaj.bansal@nxp.com]
> >Sent: Tuesday, October 16, 2018 1:24 PM
> >To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> >Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
> ><yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>;
> >Kinney, Michael D <michael.d.kinney@intel.com>;
> >edk2-devel@lists.01.org; Udit Kumar <udit.kumar@nxp.com>; Varun Sethi
> ><V.Sethi@nxp.com>
> >Subject: RE: PACKAGES_PATH in !include path in Dsc files
> >
> >
> >
> >> -----Original Message-----
> >> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
> >> Sent: Tuesday, October 16, 2018 8:41 AM
> >> To: Pankaj Bansal <pankaj.bansal@nxp.com>
> >> Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
> >> <yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>;
> >Michael
> >> D Kinney <michael.d.kinney@intel.com>; edk2-devel@lists.01.org; Udit
> >Kumar
> >> <udit.kumar@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
> >> Subject: Re: PACKAGES_PATH in !include path in Dsc files
> >>
> >> On 16 October 2018 at 10:40, Pankaj Bansal <pankaj.bansal@nxp.com>
> >wrote:
> >> > +edk2-platforms maintainers in To list
> >> >
> >> >
> >> >
> >> > Thank you Liming for replying.
> >> >
> >> >
> >> >
> >> > Our entire code is in edk2-platforms
> >> >
> >(https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
> >> > thub.com%2Ftianocore%2Fedk2-
> >>
> >platforms&data=02%7C01%7Cpankaj.bansal%40nxp.com%7C552da3f22b
> >5
> >>
> 84b7fac6008d63315ec8b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> >>
> %7C636752566592695047&sdata=JJWbAcZkj%2FtFaZC0bWONPb7ulCcj1
> >L2
> >> 4VKwCDGDx9OE%3D&reserved=0) which is denoted by
> >PACKAGES_PATH.
> >> >
> >> > The PACKAGES_PATH directory can be anywhere in WORKSPACE
> >depending on
> >> > the sync directory defined by user.
> >> >
> >> > i.e. it can be $(WORKSPACE)/edk2-platforms or $(WORKSPACE)/<any
> >> > directory name that user can define during git sync>
> >> >
> >> > As our dsc files are relative to PACKAGES_PATH, I want to specify
> >> > their path in dsc file like this:
> >> >
> >> >
> >> >
> >> > !include $(PACKAGES_PATH)/Silicon/NXP/<Silicon Name>.dsc
> >> >
> >> >
> >> >
> >> > Using $(WORKSPACE), I cannot specify above path, as it can be at
> >> > place other than $(WORKSPACE)/edk2-platforms
> >> >
> >>
> >> But why do you need to !include things in the first place?
> >>
> >> Can you explain how you are trying to organize the files, and which
> >> file
> >includes
> >> which?
> >
> >I am trying to keep Silicon (SOC) specific dsc file in
> >Silicon/NXP/<Chassis
> >Name>/<Silicon Name>
> >This silicon can be used in multiple Boards (Platforms).
> >All these Platforms are present in Platform/NXP/<Platform Name> fd/fv
> >binaries would be created for each platform.
> >The chassis dsc file has description of components/PCDs that are
> >specific to chassis to which the silicon belongs. It would be same for
> >all silicons that belong to same chassis.
> >The Silicon dsc file has description of components/PCDs that are
> >specific to silicon and would be same for all platforms that use this
> >silicon. It would include chassis dsc file The Platform dsc file would
> >include the silicon dsc file.
> >
> >___________________________________
> >| Platform (in Platform/NXP) |
> >| _____________________________ |
> >| | Silicon (in Silicon/NXP/<Chassis>) | |
> >| | _______________________ | |
> >| | | Chassis (in Silicon/NXP) | | |
> >| | |______________________| | |
> >| |____________________________| |
> >|_________________________________|
> >
> >Regards,
> >Pankaj Bansal
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-10-16 6:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-13 9:00 PACKAGES_PATH in !include path in Dsc files Pankaj Bansal
2018-10-16 1:35 ` Gao, Liming
2018-10-16 2:40 ` Pankaj Bansal
2018-10-16 3:11 ` Ard Biesheuvel
2018-10-16 5:23 ` Pankaj Bansal
2018-10-16 5:28 ` Gao, Liming
2018-10-16 6:00 ` Pankaj Bansal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox