summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 21:20:14 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 21:20:14 +0000
commite6ff63ce883c6631405f22b6630e3ab6455cc3a1 (patch)
treedccf4e6196ca9e42fe23eef742aa35f457cdf02e /tools
parent9e932ff8917a84af838160f1c5e88597d9159e92 (diff)
downloadchromium_src-e6ff63ce883c6631405f22b6630e3ab6455cc3a1.zip
chromium_src-e6ff63ce883c6631405f22b6630e3ab6455cc3a1.tar.gz
chromium_src-e6ff63ce883c6631405f22b6630e3ab6455cc3a1.tar.bz2
Have net_resources.grd generate a .pak file too. Since the tld
data is generated and included in the .pak file, we need to add a dependency in the SCons build. Making the corresponding changes to mac/win is harder, so punting for now. Review URL: http://codereview.chromium.org/18127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8220 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rwxr-xr-x[-rw-r--r--]tools/grit/grit/format/data_pack.py3
-rw-r--r--tools/grit/grit/node/include.py12
-rw-r--r--tools/grit/grit/tool/build.py8
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.