diff options
author | Feng, Bob C <bob.c.feng@intel.com> | 2019-04-03 10:17:02 +0800 |
---|---|---|
committer | Feng, Bob C <bob.c.feng@intel.com> | 2019-04-10 13:32:10 +0800 |
commit | b1e27d175abbb42c4bcc8565a3e0e622d643c40f (patch) | |
tree | d9a1ae34cf5d8173384b536b884d86502a26503b /BaseTools/Source/Python/GenFds | |
parent | ae2fb9ead47b5abaf2a4e815b5f57c8f4838b221 (diff) | |
download | edk2-b1e27d175abbb42c4bcc8565a3e0e622d643c40f.tar.gz edk2-b1e27d175abbb42c4bcc8565a3e0e622d643c40f.tar.bz2 edk2-b1e27d175abbb42c4bcc8565a3e0e622d643c40f.zip |
BaseTools: Fixed issue in MultiThread Genfds function
https://bugzilla.tianocore.org/show_bug.cgi?id=1450
In the Multiple thread Genfds feature, build tool generates
GenSec, GenFFS command in Makefile.
The Non-Hii Driver does not generate .offset file for uni string offset,
but the build tool has not knowledge about this in autogen phase. So
in this patch, I add a check in Makefile for GenSec command. If the GenSec
input file does not exist, the GenSec will not be called. And if GenSec
command is not called, its output file, which is also the input file of
GenFfs command, will also not exist.So for GenFfs command,
I add a new command parameter -oi which means
the input file is an optional input file which would not exist. so
that I can generate GenFfs command with "-oi" parameter in Makefile.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/GenFds')
-rw-r--r-- | BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py index eb7a56d252..c9c476cf61 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -29,6 +29,7 @@ import Common.DataType as DataType from Common.Misc import PathClass
from Common.LongFilePathSupport import OpenLongFilePath as open
from Common.MultipleWorkspace import MultipleWorkspace as mws
+import Common.GlobalData as GlobalData
## Global variables
#
@@ -495,6 +496,10 @@ class GenFdsGlobalVariable: SaveFileOnChange(CommandFile, ' '.join(Cmd), False)
if IsMakefile:
+ if GlobalData.gGlobalDefines.get("FAMILY") == "MSFT":
+ Cmd = ['if', 'exist', Input[0]] + Cmd
+ else:
+ Cmd = ['test', '-e', Input[0], "&&"] + Cmd
if ' '.join(Cmd).strip() not in GenFdsGlobalVariable.SecCmdList:
GenFdsGlobalVariable.SecCmdList.append(' '.join(Cmd).strip())
elif GenFdsGlobalVariable.NeedsUpdate(Output, list(Input) + [CommandFile]):
@@ -536,7 +541,10 @@ class GenFdsGlobalVariable: Cmd += ("-o", Output)
for I in range(0, len(Input)):
- Cmd += ("-i", Input[I])
+ if MakefilePath:
+ Cmd += ("-oi", Input[I])
+ else:
+ Cmd += ("-i", Input[I])
if SectionAlign and SectionAlign[I]:
Cmd += ("-n", SectionAlign[I])
|