Mike: Sorry. This edk2\BaseTools\get_vsvars.bat can set VS host env. Thanks Liming > -----Original Message----- > From: Kinney, Michael D <michael.d.kin...@intel.com> > Sent: Saturday, February 1, 2020 12:43 AM > To: Gao, Liming <liming....@intel.com>; devel@edk2.groups.io; Kinney, Michael > D <michael.d.kin...@intel.com> > Cc: Feng, Bob C <bob.c.f...@intel.com> > Subject: RE: [Patch] BaseTools/Build: Fix Structured PCD app host env issues > > Liming, > > That script does not set everything up to build > host apps for all VS20xx tool chains. It works > for VS2017, VS2019, but not any of the others. > It sets env vars for those other tool chains but > Does not run the VS environment setup script that > updates PATH and sets LIBS and INC to support > build of POSIX apps. > > Mike > > > -----Original Message----- > > From: Gao, Liming <liming....@intel.com> > > Sent: Friday, January 31, 2020 12:27 AM > > To: Kinney, Michael D <michael.d.kin...@intel.com>; > > devel@edk2.groups.io > > Cc: Feng, Bob C <bob.c.f...@intel.com> > > Subject: RE: [Patch] BaseTools/Build: Fix Structured > > PCD app host env issues > > > > Mike: > > I suggest to call BaseTools\set_vsprefix_envs.bat to > > setup VS environment. Its input parameter is VS2012, > > VS2013, VS2015, VS2017, VS2019. If so, we don't need to > > add VS installation path in Build python script. > > > > Thanks > > Liming > > > -----Original Message----- > > > From: Kinney, Michael D <michael.d.kin...@intel.com> > > > Sent: Thursday, January 30, 2020 10:38 AM > > > To: devel@edk2.groups.io > > > Cc: Feng, Bob C <bob.c.f...@intel.com>; Gao, Liming > > <liming....@intel.com> > > > Subject: [Patch] BaseTools/Build: Fix Structured PCD > > app host env issues > > > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=2495 > > > https://bugzilla.tianocore.org/show_bug.cgi?id=2496 > > > > > > Structured PCD processing requires a host POSIX build > > > environment. If the Structure PCD application can > > not > > > be built using the default environment under Windows, > > then > > > retry the build after setting up the host environment > > for > > > the current tool chain tag. > > > > > > Also reduce the build dependencies for the Structured > > PCD > > > application to increase compiler compatibility. > > > > > > Cc: Bob Feng <bob.c.f...@intel.com> > > > Cc: Liming Gao <liming....@intel.com> > > > Signed-off-by: Michael D Kinney > > <michael.d.kin...@intel.com> > > > --- > > > .../Source/Python/Workspace/DscBuildData.py | 35 > > +++++++++++++++---- > > > 1 file changed, 28 insertions(+), 7 deletions(-) > > > > > > diff --git > > a/BaseTools/Source/Python/Workspace/DscBuildData.py > > b/BaseTools/Source/Python/Workspace/DscBuildData.py > > > index c65a0dd346..bc3f32bb1d 100644 > > > --- > > a/BaseTools/Source/Python/Workspace/DscBuildData.py > > > +++ > > b/BaseTools/Source/Python/Workspace/DscBuildData.py > > > @@ -91,9 +91,6 @@ WindowsCFLAGS = 'CFLAGS = $(CFLAGS) > > /wd4200 /wd4034 /wd4101 ' > > > LinuxCFLAGS = 'BUILD_CFLAGS += -Wno-pointer-to-int- > > cast -Wno-unused-variable ' > > > PcdMakefileEnd = ''' > > > !INCLUDE > > $(BASE_TOOLS_PATH)\Source\C\Makefiles\ms.common > > > - > > > -LIBS = $(LIB_PATH)\Common.lib > > > - > > > !INCLUDE > > $(BASE_TOOLS_PATH)\Source\C\Makefiles\ms.app > > > ''' > > > > > > @@ -2637,10 +2634,10 @@ class > > DscBuildData(PlatformBuildClassObject): > > > > > > MakeApp = PcdMakefileHeader > > > if sys.platform == "win32": > > > - MakeApp = MakeApp + 'APPFILE = > > %s\%s.exe\n' % (self.OutputPath, PcdValueInitName) + > > 'APPNAME = %s\n' % > > > (PcdValueInitName) + 'OBJECTS = %s\%s.obj\n' % > > (self.OutputPath, PcdValueInitName) + 'INC = ' > > > + MakeApp = MakeApp + 'APPFILE = > > %s\%s.exe\n' % (self.OutputPath, PcdValueInitName) + > > 'APPNAME = %s\n' % > > > (PcdValueInitName) + 'OBJECTS = %s\%s.obj %s.obj\n' % > > (self.OutputPath, PcdValueInitName, > > > > > os.path.normpath(mws.join(GlobalData.gGlobalDefines["ED > > K_TOOLS_PATH"], "Source/C/Common/PcdValueCommon"))) + > > 'INC = ' > > > else: > > > MakeApp = MakeApp + PcdGccMakefile > > > - MakeApp = MakeApp + 'APPFILE = %s/%s\n' > > % (self.OutputPath, PcdValueInitName) + 'APPNAME = > > %s\n' % (PcdValueInitName) > > > + 'OBJECTS = %s/%s.o\n' % (self.OutputPath, > > PcdValueInitName) + \ > > > + MakeApp = MakeApp + 'APPFILE = %s/%s\n' > > % (self.OutputPath, PcdValueInitName) + 'APPNAME = > > %s\n' % > > > (PcdValueInitName) + 'OBJECTS = %s/%s.o %s.o\n' % > > (self.OutputPath, PcdValueInitName, > > > > > os.path.normpath(mws.join(GlobalData.gGlobalDefines["ED > > K_TOOLS_PATH"], "Source/C/Common/PcdValueCommon"))) + \ > > > 'include > > $(MAKEROOT)/Makefiles/app.makefile\n' + 'INCLUDE +=' > > > > > > IncSearchList = [] > > > @@ -2723,8 +2720,8 @@ class > > DscBuildData(PlatformBuildClassObject): > > > > > IncludeFileFullPaths.append(os.path.normpath(includeful > > lpath)) > > > break > > > SearchPathList = [] > > > - > > SearchPathList.append(os.path.normpath(mws.join(GlobalD > > ata.gWorkspace, "BaseTools/Source/C/Include"))) > > > - > > SearchPathList.append(os.path.normpath(mws.join(GlobalD > > ata.gWorkspace, "BaseTools/Source/C/Common"))) > > > + > > SearchPathList.append(os.path.normpath(mws.join(GlobalD > > ata.gGlobalDefines["EDK_TOOLS_PATH"], > > > "BaseTools/Source/C/Include"))) > > > + > > SearchPathList.append(os.path.normpath(mws.join(GlobalD > > ata.gGlobalDefines["EDK_TOOLS_PATH"], > > > "BaseTools/Source/C/Common"))) > > > SearchPathList.extend(str(item) for item in > > IncSearchList) > > > IncFileList = > > GetDependencyList(IncludeFileFullPaths, SearchPathList) > > > for include_file in IncFileList: > > > @@ -2743,9 +2740,33 @@ class > > DscBuildData(PlatformBuildClassObject): > > > else: > > > Dest_PcdValueInitExe = > > os.path.join(self.OutputPath, PcdValueInitName) +".exe" > > > Messages = '' > > > + > > > + VsDevCmd = { > > > + "VS2019" : '"C:\\Program Files > > (x86)\\Microsoft Visual > > Studio\\2019\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" > > ', > > > + "VS2017" : '"C:\\Program Files > > (x86)\\Microsoft Visual > > Studio\\2017\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" > > ', > > > + "VS2015" : '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 14.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2015x86": '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 14.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2013" : '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 12.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2013x86": '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 12.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2012" : '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 11.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2012x86": '"C:\\Program Files > > (x86)\\Microsoft Visual Studio > > 11.0\\Common7\\Tools\\VsDevCmd.bat"', > > > + "VS2010" : '"C:\\Program Files > > (x86)\\Microsoft Visual Studio 10.0\\VC\\vcvarsall.bat" > > x86', > > > + "VS2010x86": '"C:\\Program Files > > (x86)\\Microsoft Visual Studio 10.0\\VC\\vcvarsall.bat" > > x86' > > > + } > > > + > > > if sys.platform == "win32": > > > MakeCommand = 'nmake -f %s' % > > (MakeFileName) > > > returncode, StdOut, StdErr = > > DscBuildData.ExecuteCommand (MakeCommand) > > > + if returncode != 0: > > > + # > > > + # If the nmake command failed, then > > lookup and run the VS > > > + # Development Environment script for > > the current ToolChain and > > > + # try the nmake command again. > > > + # > > > + if self._Toolchain in VsDevCmd: > > > + MakeCommand = > > VsDevCmd[self._Toolchain] + '&' + MakeCommand > > > + if os.path.exists > > (MakeCommand.split('"')[1]): > > > + returncode, StdOut, StdErr = > > DscBuildData.ExecuteCommand (MakeCommand) > > > Messages = StdOut > > > else: > > > MakeCommand = 'make -f %s' % > > (MakeFileName) > > > -- > > > 2.21.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#53639): https://edk2.groups.io/g/devel/message/53639 Mute This Topic: https://groups.io/mt/70263619/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-