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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to