comparison mx/commands.py @ 4302:b3c3d1b1ddfa

Merge
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 13 Jan 2012 15:23:40 +0100
parents f8f262212aa4
children 063ea022532c
comparison
equal deleted inserted replaced
4301:fad6f1ebeb44 4302:b3c3d1b1ddfa
24 # or visit www.oracle.com if you need additional information or have any 24 # or visit www.oracle.com if you need additional information or have any
25 # questions. 25 # questions.
26 # 26 #
27 # ---------------------------------------------------------------------------------------------------- 27 # ----------------------------------------------------------------------------------------------------
28 28
29 import os, sys, shutil, zipfile, tempfile, re, time, datetime, platform, subprocess 29 import os, sys, shutil, zipfile, tempfile, re, time, datetime, platform, subprocess, StringIO
30 from os.path import join, exists, dirname, basename 30 from os.path import join, exists, dirname, basename
31 from argparse import ArgumentParser, REMAINDER 31 from argparse import ArgumentParser, REMAINDER
32 import mx 32 import mx
33 import sanitycheck 33 import sanitycheck
34 34
35 _graal_home = dirname(dirname(__file__)) 35 _graal_home = dirname(dirname(__file__))
36 _vmSourcesAvailable = exists(join(_graal_home, 'make')) and exists(join(_graal_home, 'src')) 36 _vmSourcesAvailable = exists(join(_graal_home, 'make')) and exists(join(_graal_home, 'src'))
37 _vmbuild = 'product' 37 _vmbuild = 'product'
38
39 _copyrightTemplate = """/*
40 * Copyright (c) {0}, Oracle and/or its affiliates. All rights reserved.
41 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
42 *
43 * This code is free software; you can redistribute it and/or modify it
44 * under the terms of the GNU General Public License version 2 only, as
45 * published by the Free Software Foundation.
46 *
47 * This code is distributed in the hope that it will be useful, but WITHOUT
48 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
49 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
50 * version 2 for more details (a copy is included in the LICENSE file that
51 * accompanied this code).
52 *
53 * You should have received a copy of the GNU General Public License version
54 * 2 along with this work; if not, write to the Free Software Foundation,
55 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
56 *
57 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
58 * or visit www.oracle.com if you need additional information or have any
59 * questions.
60 */
61
62 """
38 63
39 def clean(args): 64 def clean(args):
40 """cleans the GraalVM source tree""" 65 """cleans the GraalVM source tree"""
41 opts = mx.clean(args, parser=ArgumentParser(prog='mx clean')) 66 opts = mx.clean(args, parser=ArgumentParser(prog='mx clean'))
42 if opts.native: 67 if opts.native:
302 327
303 def filterXusage(line): 328 def filterXusage(line):
304 if not 'Xusage.txt' in line: 329 if not 'Xusage.txt' in line:
305 sys.stderr.write(line + os.linesep) 330 sys.stderr.write(line + os.linesep)
306 331
332 # Update graal_paths.hpp
333 out = StringIO.StringIO()
334 out.write(_copyrightTemplate.format(time.strftime('%Y')))
335 for p in mx.project('com.oracle.max.graal.hotspot').all_deps([], False):
336 out.write(' prepend_to_graal_classpath(scp_compiler, graal_dir, "' + p.name + '");\n')
337 graalPaths = join(_graal_home, 'src', 'share', 'vm', 'graal', 'graal_paths.hpp')
338 assert exists(graalPaths), 'File does not exist: ' + graalPaths
339 mx.update_file(graalPaths, out.getvalue())
340 out.close()
341
307 if platform.system() == 'Windows': 342 if platform.system() == 'Windows':
308 compilelogfile = _graal_home + '/graalCompile.log' 343 compilelogfile = _graal_home + '/graalCompile.log'
309 mksHome = mx.get_env('MKS_HOME', 'C:\\cygwin\\bin') 344 mksHome = mx.get_env('MKS_HOME', 'C:\\cygwin\\bin')
310 345
311 _runInDebugShell('msbuild ' + _graal_home + r'\build\vs-amd64\jvm.vcproj /p:Configuration=compiler1_product /target:clean', _graal_home) 346 _runInDebugShell('msbuild ' + _graal_home + r'\build\vs-amd64\jvm.vcproj /p:Configuration=compiler1_product /target:clean', _graal_home)