diff options
author | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 19:03:11 +0000 |
---|---|---|
committer | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 19:03:11 +0000 |
commit | 42dbdc3e3a1e81c7e4b3945b858ebec13c37110e (patch) | |
tree | 972d1c912ea5a478708a26c9bc0d2947a97af263 /o3d/gypbuild.py | |
parent | 49a3e5b02b1e1ef4d8518b50a41129215c616116 (diff) | |
download | chromium_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.py | 55 |
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)
+
|