# HG changeset patch # User Doug Simon # Date 1363367359 -3600 # Node ID b246434a3e4aab4e10f68780358ccada50e9e9e7 # Parent 950cc0d8bc7c5d5ce1b12619af33763a451fb82e made build-graal.xml be generated by mx diff -r 950cc0d8bc7c -r b246434a3e4a make/build-graal.xml --- a/make/build-graal.xml Fri Mar 15 15:38:55 2013 +0100 +++ b/make/build-graal.xml Fri Mar 15 18:09:19 2013 +0100 @@ -23,33 +23,54 @@ or visit www.oracle.com if you need additional information or have any questions. --> - - - + + - - - - - + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + - - + diff -r 950cc0d8bc7c -r b246434a3e4a mx/commands.py --- a/mx/commands.py Fri Mar 15 15:38:55 2013 +0100 +++ b/mx/commands.py Fri Mar 15 18:09:19 2013 +0100 @@ -52,31 +52,6 @@ _make_eclipse_launch = False -_copyrightTemplate = """/* - * Copyright (c) {0}, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -""" - _minVersion = mx.JavaVersion('1.7.0_04') def _chmodDir(chmodFlags, dirname, fnames): @@ -462,6 +437,71 @@ build = _vmbuild if _vmSourcesAvailable else 'product' print join(_graal_home, 'jdk' + str(mx.java().version), build) +def initantbuild(args): + """(re)generates an ant build file for producing graal.jar""" + parser=ArgumentParser(prog='mx initantbuild') + parser.add_argument('-f', '--buildfile', help='file to generate', default=join(_graal_home, 'make', 'build-graal.xml')) + + args = parser.parse_args(args) + + out = mx.XMLDoc() + + out.comment(""" + Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + + This code is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License version 2 only, as + published by the Free Software Foundation. Oracle designates this + particular file as subject to the "Classpath" exception as provided + by Oracle in the LICENSE file that accompanied this code. + + This code is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + version 2 for more details (a copy is included in the LICENSE file that + accompanied this code). + + You should have received a copy of the GNU General Public License version + 2 along with this work; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + + Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + or visit www.oracle.com if you need additional information or have any + questions. +""") + + out.open('project', {'name' : 'graal', 'default' : 'main', 'basedir' : '.'}) + out.element('property', {'name' : 'src.dir', 'value' : '${gamma.dir}/graal'}) + out.element('property', {'name' : 'classes.dir', 'value' : '${shared.dir}/graal'}) + out.element('property', {'name' : 'jar.dir', 'value' : '${shared.dir}'}) + out.element('property', {'name' : 'jar.file', 'value' : '${jar.dir}/graal.jar'}) + + out.element('target', {'name' : 'main', 'depends' : 'jar'}) + + out.open('target', {'name' : 'compile'}) + out.element('mkdir', {'dir' : '${classes.dir}'}) + out.open('javac', {'destdir' : '${classes.dir}', 'debug' : 'on', 'includeantruntime' : 'false', }) + for p in mx.sorted_deps(mx.distribution('GRAAL').deps): + out.element('src', {'path' : '${src.dir}/' + p.name}) + out.element('compilerarg', {'value' : '-XDignore.symbol.file'}) + out.close('javac') + out.close('target') + + out.open('target', {'name' : 'jar', 'depends' : 'compile'}) + out.element('mkdir', {'dir' : '${jar.dir}'}) + out.element('jar', {'destfile' : '${jar.file}', 'basedir' : '${classes.dir}'}) + out.close('target') + + out.open('target', {'name' : 'clean'}) + out.element('delete', {'dir' : '${classes.dir}'}) + out.element('delete', {'file' : '${jar.filr}'}) + out.close('target') + + out.close('project') + + mx.update_file(args.buildfile, out.xml(indent=' ', newl='\n')) + def build(args, vm=None): """build the VM binary @@ -490,6 +530,8 @@ else: assert vm == 'graal', vm buildSuffix = 'graal' + + initantbuild([]) for build in builds: if build == 'ide-build-target': @@ -1132,6 +1174,7 @@ 'clean': [clean, ''], 'hsdis': [hsdis, '[att]'], 'hcfdis': [hcfdis, ''], + 'initantbuild' : [initantbuild, '[-options]'], 'igv' : [igv, ''], 'jdkhome': [jdkhome, ''], 'dacapo': [dacapo, '[[n] benchmark] [VM options|@DaCapo options]'], diff -r 950cc0d8bc7c -r b246434a3e4a mxtool/mx.py --- a/mxtool/mx.py Fri Mar 15 15:38:55 2013 +0100 +++ b/mxtool/mx.py Fri Mar 15 18:09:19 2013 +0100 @@ -630,6 +630,9 @@ e.ownerDocument = self return e + def comment(self, txt): + self.current.appendChild(self.createComment(txt)) + def open(self, tag, attributes={}, data=None): element = self.createElement(tag) for key, value in attributes.items():