> On May 15, 2016, at 7:24 PM, Gao, Liming <liming....@intel.com> wrote: > > Andrew: > I add the case to !include StdLib/StdLib.inc in Nt32Pkg.dsc, and I configure > PACKAGES_PATH. It can build pass. There is no error. Here is my tree layout. > Could you share your tree layout that expose this issue? > > Root > -->edk2-BaseTools-win32 > -->edk2 > -->Conf > -->Build >
The DSC file that was including, that failed, was also in an alternate path. So try moving things in parts. Move the Nt32 to one PACKAGE_PATH and the StdLib to another. Thanks, Andrew Fish > set WORKSPACE=ROOT > set PACKAGES_PATH=Root\edk2 > set edk-tools-bin=Root\edk2-BaseTools-win32 > > edksetup.bat --nt32 > build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -t VS2015x86 > > Thanks > Liming >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Andrew Fish >> Sent: Saturday, May 14, 2016 6:42 AM >> To: edk2-devel <edk2-devel@lists.01.org> >> Subject: [edk2] [BaseTools] Does PACKAGES_PATH support !include ? >> >> I was looking into using PACKAGES_PATH in our Tree and it seems to fail on >> a !include statement in DSC files that depend on PACKAGES_PATH. >> >> I'm not sure how to fix it as the error is coming from PathClass::Validate in >> code that is using that as a probe to try the workspace. >> >> BaseTools/Source/Python/Workspace/MetaFileParser.py >> IncludedFile = NormPath(ReplaceMacro(self._ValueList[1], >> __IncludeMacros, RaiseError=True)) >> # >> # First search the include file under the same directory as DSC >> file >> # >> IncludedFile1 = PathClass(IncludedFile, self.MetaFile.Dir) >> ErrorCode, ErrorInfo1 = IncludedFile1.Validate() >> if ErrorCode != 0: >> # >> # Also search file under the WORKSPACE directory >> # >> IncludedFile1 = PathClass(IncludedFile, GlobalData.gWorkspace) >> ErrorCode, ErrorInfo2 = IncludedFile1.Validate() >> if ErrorCode != 0: >> EdkLogger.error('parser', ErrorCode, >> File=self._FileWithError, >> Line=self._LineIndex + 1, >> ExtraData=ErrorInfo1 + "\n" + >> ErrorInfo2) >> >> Should invoking PathClass() abstract the PACKAGES_PATH? I see it calling >> mws.getWs()? >> >> It looks like the PathClass() is invoked like (FYI /Volumes/Case/edk2- >> git/edk2/StdLib/StdLib.inc): >> PathClass self.Root = /Volumes/Case/edk2-git/Vendor/X/XPkg self.File = >> StdLib/StdLib.inc >> >> getWs() Ws=/Volumes/Case/Janus/Vendor/X/XPkg Path=StdLib/StdLib.inc >> getWs() /Volumes/Case/edk2-git/Vendor/X/XPkg >> >> For a test case you can shift to an edk2/ and then try to include StdLib.inc. >> !include StdLib/StdLib.inc >> >> Thanks, >> >> Andrew Fish >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel