summaryrefslogtreecommitdiffstats
path: root/o3d/gypbuild.py
diff options
context:
space:
mode:
authorgman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-29 19:03:11 +0000
committergman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-29 19:03:11 +0000
commit42dbdc3e3a1e81c7e4b3945b858ebec13c37110e (patch)
tree972d1c912ea5a478708a26c9bc0d2947a97af263 /o3d/gypbuild.py
parent49a3e5b02b1e1ef4d8518b50a41129215c616116 (diff)
downloadchromium_src-42dbdc3e3a1e81c7e4b3945b858ebec13c37110e.zip
chromium_src-42dbdc3e3a1e81c7e4b3945b858ebec13c37110e.tar.gz
chromium_src-42dbdc3e3a1e81c7e4b3945b858ebec13c37110e.tar.bz2
Adds "gypbuild" command so developer does not have to
know the details of how to build and run tests on every platform. This is just the initial checkin with lots of TODOs Review URL: http://codereview.chromium.org/248030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27521 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/gypbuild.py')
-rw-r--r--o3d/gypbuild.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/o3d/gypbuild.py b/o3d/gypbuild.py
new file mode 100644
index 0000000..2724bda
--- /dev/null
+++ b/o3d/gypbuild.py
@@ -0,0 +1,55 @@
+#!/usr/bin/python2.4
+# Copyright 2009 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builds a particlar platform so the user does not have to know platform
+# specific build commands for every single platform.
+
+# TODO(gman): Add help.
+# TODO(gman): Add cross platform modes like "debug", "opt", "test", "docs"
+# TODO(gman): Add cross platform switches like "-clean" and "-rebuild".
+# TODO(gman): Add cross platform options like "-verbose".
+# TODO(gman): Add cross platform options like "-presubmit", "-selenium",
+# "-unit_tests"
+
+import os
+import os.path
+import sys
+import subprocess
+
+
+def Execute(args):
+ """Executes an external program."""
+ # Comment the next line in for debugging.
+ # print "Execute: ", ' '.join(args)
+ print " ".join(args)
+ if subprocess.call(args) > 0:
+ raise RuntimeError('FAILED: ' + ' '.join(args))
+
+
+def main(args):
+ if os.name == 'nt':
+ os.chdir('build')
+ Execute(['msbuild',
+ os.path.abspath('all.sln')] + args[1:])
+ elif os.name == 'mac':
+ print "Error: Need code for mac"
+ elif os.name == 'posix':
+ print "Error: Need code for posix"
+ else:
+ print "Error: Unknown platform", os.name
+
+if __name__ == '__main__':
+ main(sys.argv)
+