Mercurial > hg > truffle
comparison mx/commands.py @ 9935:2a091d2987bd
added graal.options mechanism for being able to override default option values
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 07 Jun 2013 15:59:09 +0200 |
parents | 6fa4b4933892 |
children | e2068bbf4c0d |
comparison
equal
deleted
inserted
replaced
9920:44fcf49b746f | 9935:2a091d2987bd |
---|---|
341 | 341 |
342 return jdk | 342 return jdk |
343 | 343 |
344 def _installGraalJarInJdks(graalDist): | 344 def _installGraalJarInJdks(graalDist): |
345 graalJar = graalDist.path | 345 graalJar = graalDist.path |
346 graalOptions = join(_graal_home, 'graal.options') | |
346 jdks = join(_graal_home, 'jdk' + str(mx.java().version)) | 347 jdks = join(_graal_home, 'jdk' + str(mx.java().version)) |
347 if exists(jdks): | 348 if exists(jdks): |
348 for e in os.listdir(jdks): | 349 for e in os.listdir(jdks): |
349 jreLibDir = join(jdks, e, 'jre', 'lib') | 350 jreLibDir = join(jdks, e, 'jre', 'lib') |
350 if exists(jreLibDir): | 351 if exists(jreLibDir): |
351 # do a copy and then a move to get atomic updating (on Unix) of graal.jar in the JRE | 352 # do a copy and then a move to get atomic updating (on Unix) of graal.jar in the JRE |
352 fd, tmp = tempfile.mkstemp(suffix='', prefix='graal.jar', dir=jreLibDir) | 353 fd, tmp = tempfile.mkstemp(suffix='', prefix='graal.jar', dir=jreLibDir) |
353 shutil.copyfile(graalJar, tmp) | 354 shutil.copyfile(graalJar, tmp) |
354 os.close(fd) | 355 os.close(fd) |
355 shutil.move(tmp, join(jreLibDir, 'graal.jar')) | 356 shutil.move(tmp, join(jreLibDir, 'graal.jar')) |
357 | |
358 if exists(graalOptions): | |
359 shutil.copy(graalOptions, join(jreLibDir, 'graal.options')) | |
356 | 360 |
357 # run a command in the windows SDK Debug Shell | 361 # run a command in the windows SDK Debug Shell |
358 def _runInDebugShell(cmd, workingDir, logFile=None, findInOutput=None, respondTo={}): | 362 def _runInDebugShell(cmd, workingDir, logFile=None, findInOutput=None, respondTo={}): |
359 newLine = os.linesep | 363 newLine = os.linesep |
360 STARTTOKEN = 'RUNINDEBUGSHELL_STARTSEQUENCE' | 364 STARTTOKEN = 'RUNINDEBUGSHELL_STARTSEQUENCE' |
456 out.element('property', {'name' : 'src.dir', 'value' : '${gamma.dir}/graal'}) | 460 out.element('property', {'name' : 'src.dir', 'value' : '${gamma.dir}/graal'}) |
457 out.element('property', {'name' : 'classes.dir', 'value' : '${shared.dir}/graal'}) | 461 out.element('property', {'name' : 'classes.dir', 'value' : '${shared.dir}/graal'}) |
458 out.element('property', {'name' : 'jar.dir', 'value' : '${shared.dir}'}) | 462 out.element('property', {'name' : 'jar.dir', 'value' : '${shared.dir}'}) |
459 out.element('property', {'name' : 'jar.file', 'value' : '${jar.dir}/graal.jar'}) | 463 out.element('property', {'name' : 'jar.file', 'value' : '${jar.dir}/graal.jar'}) |
460 | 464 |
461 out.element('target', {'name' : 'main', 'depends' : 'jar'}) | 465 out.element('target', {'name' : 'main', 'depends' : 'jar,options'}) |
462 | 466 |
463 serviceMap = {}; | 467 serviceMap = {}; |
464 def addService(service, provider): | 468 def addService(service, provider): |
465 if service not in serviceMap: | 469 if service not in serviceMap: |
466 serviceMap[service] = set(); | 470 serviceMap[service] = set(); |
509 out.close('jar'); | 513 out.close('jar'); |
510 out.close('target') | 514 out.close('target') |
511 | 515 |
512 out.open('target', {'name' : 'cleanclasses'}) | 516 out.open('target', {'name' : 'cleanclasses'}) |
513 out.element('delete', {'dir' : '${classes.dir}'}) | 517 out.element('delete', {'dir' : '${classes.dir}'}) |
518 out.close('target') | |
519 | |
520 out.open('target', {'name' : 'options'}) | |
521 out.open('copy', {'todir' : '${jar.dir}'}) | |
522 out.element('filelist', {'dir' : '${gamma.dir}', 'files' : 'graal.options'}) | |
523 out.close('copy') | |
514 out.close('target') | 524 out.close('target') |
515 | 525 |
516 out.open('target', {'name' : 'clean', 'depends' : 'cleanclasses'}) | 526 out.open('target', {'name' : 'clean', 'depends' : 'cleanclasses'}) |
517 out.element('delete', {'file' : '${jar.file}'}) | 527 out.element('delete', {'file' : '${jar.file}'}) |
518 out.close('target') | 528 out.close('target') |