New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Chrome 35 #47

Merged
merged 55 commits into from Jun 27, 2014
Commits
Jump to file or symbol
Failed to load files and symbols.
+13 −0
Diff settings

Always

Just for now

Viewing a subset of changes. View all

Try not exporting media:: and ppapi:: symbols

These seem unlikely to be needed by embedding apps. Together they
account for ~6600 symbols. Hopefully this will keep us under the Windows
linker's export limit.
  • Loading branch information...
aroben committed Jun 24, 2014
commit d2fed090e47392254f2981a56fe4208938e538cd
View
@@ -8,6 +8,12 @@ import sys
WIN_TOOL = os.path.abspath(os.path.join(os.path.dirname(__file__),
'gyp-win-tool-original'))
# These are namespaces whose symbols aren't needed by embedding apps. We don't
# export them to keep the number of exports under the linker's limit (65535).
UNEXPORTED_NAMESPACES = set([
'media',
'ppapi',
])
def main(args):
@@ -71,6 +77,7 @@ def add_definition_file(args):
rsp = [arg for arg in args if arg.endswith('.rsp')][0][1:]
libs = libs_from_rsp(rsp)
exports = read_saved_exports_from_libs(libs)
exports = filter(exports, should_reexport_symbol)
lines = ['EXPORTS'] + sorted(exports)
with open('chromiumcontent.def', 'w') as f:
for line in lines:
@@ -79,6 +86,12 @@ def add_definition_file(args):
r.write('{0}/DEF:chromiumcontent.def{0}'.format(os.linesep))
def should_reexport_symbol(symbol):
mangled_namespaces = ['@{0}@@'.format(namespace) for namespace in
UNEXPORTED_NAMESPACES]
return not any(namespace in symbol for namespace in mangled_namespaces)
def libs_from_rsp(rsp):
libs = []
with open(rsp, 'r') as r:
ProTip! Use n and p to navigate between commits in a pull request.