diff options
Diffstat (limited to 'tools')
-rwxr-xr-x[-rw-r--r--] | tools/grit/grit/format/data_pack.py | 3 | ||||
-rw-r--r-- | tools/grit/grit/node/include.py | 12 | ||||
-rw-r--r-- | tools/grit/grit/tool/build.py | 8 |
3 files changed, 20 insertions, 3 deletions
diff --git a/tools/grit/grit/format/data_pack.py b/tools/grit/grit/format/data_pack.py index 1f11a9b..797c23e 100644..100755 --- a/tools/grit/grit/format/data_pack.py +++ b/tools/grit/grit/format/data_pack.py @@ -22,12 +22,13 @@ class DataPack(interface.ItemFormatter): def Format(self, item, lang='en', begin_item=True, output_dir='.'): if not begin_item: return '' + assert isinstance(item, misc.ReleaseNode) nodes = DataPack.GetDataNodes(item) data = {} for node in nodes: - id, value = node.GetDataPackPair() + id, value = node.GetDataPackPair(output_dir) data[id] = value return DataPack.WriteDataPack(data) diff --git a/tools/grit/grit/node/include.py b/tools/grit/grit/node/include.py index d50e7a6..6ff560a 100644 --- a/tools/grit/grit/node/include.py +++ b/tools/grit/grit/node/include.py @@ -6,6 +6,7 @@ '''Handling of the <include> element. ''' +import os import grit.format.rc_header import grit.format.rc @@ -46,16 +47,23 @@ class IncludeNode(base.Node): ''' return self.FilenameToOpen() - def GetDataPackPair(self): + def GetDataPackPair(self, output_dir): '''Returns a (id, string) pair that represents the resource id and raw bytes of the data. This is used to generate the data pack data file. ''' from grit.format import rc_header id_map = rc_header.Item.tids_ id = id_map[self.GetTextualIds()[0]] - file = open(self.FilenameToOpen(), 'rb') + filename = self.FilenameToOpen() + if not os.path.exists(filename): + # Try to open the file relative to the output dir if it's not relative to + # the grd file. + filename = os.path.join(output_dir, self.attrs['file']) + + file = open(filename, 'rb') data = file.read() file.close() + return id, data # static method diff --git a/tools/grit/grit/tool/build.py b/tools/grit/grit/tool/build.py index 30d2fb3..e2115ee 100644 --- a/tools/grit/grit/tool/build.py +++ b/tools/grit/grit/tool/build.py @@ -156,6 +156,14 @@ are exported to translation interchange files (e.g. XMB files), etc. for output in self.res.GetOutputFiles(): self.VerboseOut('Creating %s...' % output.GetFilename()) + + # Don't build data package files on mac/windows because it's not used and + # there are project dependency issues. We still need to create the file + # to satisfy build dependencies. + if output.GetType() == 'data_package' and sys.platform != 'linux2': + f = open(output.GetOutputFilename(), 'wb') + f.close() + # Microsoft's RC compiler can only deal with single-byte or double-byte # files (no UTF-8), so we make all RC files UTF-16 to support all # character sets. |