Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Unified Diff: tools/telemetry/telemetry/core/build_extension.py

Issue 136753005: [telemetry] convert bitmaptools to use gyp (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: another attempt Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/telemetry/telemetry/core/bitmaptools/bitmaptools.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/core/build_extension.py
diff --git a/tools/telemetry/telemetry/core/build_extension.py b/tools/telemetry/telemetry/core/build_extension.py
index 38a635fc4c24ce1423009e5b8725ae74308cfe03..201563923c13199024ae3ff662a8faff7b0ee1e5 100644
--- a/tools/telemetry/telemetry/core/build_extension.py
+++ b/tools/telemetry/telemetry/core/build_extension.py
@@ -2,6 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import os
+import sys
+import tempfile
+
def _FixDistutilsMsvcCompiler():
# To avoid runtime mismatch, distutils should use the compiler which was used
@@ -12,8 +16,9 @@ def _FixDistutilsMsvcCompiler():
for version in [msvc9compiler.get_build_version(), 9.0, 10.0, 11.0, 12.0]:
msvc9compiler.VERSION = version
try:
- msvc9compiler.MSVCCompiler().initialize()
- return
+ compiler = msvc9compiler.MSVCCompiler()
+ compiler.initialize()
+ return compiler
except Exception:
pass
raise Exception('Could not initialize MSVC compiler for distutils.')
@@ -22,8 +27,6 @@ def _FixDistutilsMsvcCompiler():
def BuildExtension(sources, output_dir, extension_name):
from distutils import log
from distutils.core import Distribution, Extension
- import os
- import tempfile
build_dir = tempfile.mkdtemp()
# Source file paths must be relative to current path.
@@ -52,9 +55,27 @@ def BuildExtension(sources, output_dir, extension_name):
if __name__ == '__main__':
- import sys
- assert len(sys.argv) > 3, (
- 'Usage: build.py source-files output-dir ext-name\n'
- 'got: ' + str(sys.argv)
- )
- BuildExtension(sys.argv[1:-2], sys.argv[-2], sys.argv[-1])
+ from distutils import sysconfig
+
+ if os.name == 'nt':
+ msvc_compiler = _FixDistutilsMsvcCompiler()
+ cflags = ' '.join(msvc_compiler.compile_options)
+ ldflags = ' '.join(msvc_compiler.ldflags_shared)
+ else:
+ cflags = sysconfig.get_config_var('CFLAGS')
+ ldflags = sysconfig.get_config_var('LDFLAGS')
+ # Remove redundant flag in C++ builds.
+ cflags = cflags.replace('-Wstrict-prototypes', '')
+
+ cmd = sys.argv[1] if len(sys.argv) > 1 else ''
+ values = {
+ 'cflags': cflags,
+ 'ldflags': ldflags,
+ 'include_dirs': sysconfig.get_python_inc(),
+ }
+ try:
+ print values[cmd]
+ except KeyError:
+ print >> sys.stderr, 'Usage: %s (%s)' % (
+ sys.argv[0], '|'.join(values.keys()))
+ sys.exit(-1)
« no previous file with comments | « tools/telemetry/telemetry/core/bitmaptools/bitmaptools.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698