javac.py (scons-4.2.0) | : | javac.py (SCons-4.3.0) | ||
---|---|---|---|---|
"""SCons.Tool.javac | # MIT License | |||
Tool-specific initialization for javac. | ||||
There normally shouldn't be any need to import this module directly. | ||||
It will usually be imported through the generic SCons.Tool.Tool() | ||||
selection method. | ||||
""" | ||||
# | # | |||
# __COPYRIGHT__ | # Copyright The SCons Foundation | |||
# | # | |||
# Permission is hereby granted, free of charge, to any person obtaining | # Permission is hereby granted, free of charge, to any person obtaining | |||
# a copy of this software and associated documentation files (the | # a copy of this software and associated documentation files (the | |||
# "Software"), to deal in the Software without restriction, including | # "Software"), to deal in the Software without restriction, including | |||
# without limitation the rights to use, copy, modify, merge, publish, | # without limitation the rights to use, copy, modify, merge, publish, | |||
# distribute, sublicense, and/or sell copies of the Software, and to | # distribute, sublicense, and/or sell copies of the Software, and to | |||
# permit persons to whom the Software is furnished to do so, subject to | # permit persons to whom the Software is furnished to do so, subject to | |||
# the following conditions: | # the following conditions: | |||
# | # | |||
# The above copyright notice and this permission notice shall be included | # The above copyright notice and this permission notice shall be included | |||
# in all copies or substantial portions of the Software. | # in all copies or substantial portions of the Software. | |||
# | # | |||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY | |||
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | |||
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" | """SCons.Tool.javac | |||
Tool-specific initialization for javac. | ||||
There normally shouldn't be any need to import this module directly. | ||||
It will usually be imported through the generic SCons.Tool.Tool() | ||||
selection method. | ||||
""" | ||||
import os | import os | |||
import os.path | import os.path | |||
from collections import OrderedDict | from collections import OrderedDict | |||
import SCons.Action | import SCons.Action | |||
import SCons.Builder | import SCons.Builder | |||
from SCons.Node.FS import _my_normcase | from SCons.Node.FS import _my_normcase | |||
from SCons.Tool.JavaCommon import parse_java_file, get_java_install_dirs, get_ja va_include_paths | from SCons.Tool.JavaCommon import parse_java_file, get_java_install_dirs, get_ja va_include_paths | |||
import SCons.Util | import SCons.Util | |||
skipping to change at line 223 | skipping to change at line 222 | |||
if env['PLATFORM'] == 'win32': | if env['PLATFORM'] == 'win32': | |||
# Ensure that we have a proper path for javac | # Ensure that we have a proper path for javac | |||
paths = get_java_install_dirs('win32', version=version) | paths = get_java_install_dirs('win32', version=version) | |||
javac = SCons.Tool.find_program_path(env, 'javac', default_paths=paths) | javac = SCons.Tool.find_program_path(env, 'javac', default_paths=paths) | |||
if javac: | if javac: | |||
javac_bin_dir = os.path.dirname(javac) | javac_bin_dir = os.path.dirname(javac) | |||
env.AppendENVPath('PATH', javac_bin_dir) | env.AppendENVPath('PATH', javac_bin_dir) | |||
else: | else: | |||
javac = SCons.Tool.find_program_path(env, 'javac') | javac = SCons.Tool.find_program_path(env, 'javac') | |||
env['JAVAINCLUDES'] = get_java_include_paths(env, javac, version) | env.SetDefault( | |||
JAVAC='javac', | ||||
env['JAVAC'] = 'javac' | JAVACFLAGS=SCons.Util.CLVar(''), | |||
env['JAVACFLAGS'] = SCons.Util.CLVar('') | JAVAINCLUDES=get_java_include_paths(env, javac, version), | |||
env['JAVABOOTCLASSPATH'] = [] | JAVACLASSSUFFIX='.class', | |||
env['JAVACLASSPATH'] = [] | JAVASUFFIX='.java', | |||
env['JAVASOURCEPATH'] = [] | JAVABOOTCLASSPATH=[], | |||
env['_javapathopt'] = pathopt | JAVACLASSPATH=[], | |||
env['_JAVABOOTCLASSPATH'] = '${_javapathopt("-bootclasspath", "JAVABOO | JAVASOURCEPATH=[], | |||
TCLASSPATH")} ' | ) | |||
env['_JAVACLASSPATH'] = '${_javapathopt("-classpath", "JAVACLASSPA | env['_javapathopt'] = pathopt | |||
TH")} ' | env['_JAVABOOTCLASSPATH'] = '${_javapathopt("-bootclasspath", "JAVABOOTCLASS | |||
env['_JAVASOURCEPATH'] = '${_javapathopt("-sourcepath", "JAVASOURCE | PATH")} ' | |||
PATH", "_JAVASOURCEPATHDEFAULT")} ' | env['_JAVACLASSPATH'] = '${_javapathopt("-classpath", "JAVACLASSPATH")} ' | |||
env['_JAVASOURCEPATHDEFAULT'] = '${TARGET.attributes.java_sourcedir}' | env['_JAVASOURCEPATH'] = '${_javapathopt("-sourcepath", "JAVASOURCEPATH", "_ | |||
env['_JAVACCOM'] = '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_ | JAVASOURCEPATHDEFAULT")} ' | |||
JAVACLASSPATH -d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES' | env['_JAVASOURCEPATHDEFAULT'] = '${TARGET.attributes.java_sourcedir}' | |||
env['JAVACCOM'] = "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}" | env['_JAVACCOM'] = '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH - | |||
env['JAVACLASSSUFFIX'] = '.class' | d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES' | |||
env['JAVASUFFIX'] = '.java' | env['JAVACCOM'] = "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}" | |||
def exists(env): | def exists(env): | |||
return 1 | return 1 | |||
# Local Variables: | # Local Variables: | |||
# tab-width:4 | # tab-width:4 | |||
# indent-tabs-mode:nil | # indent-tabs-mode:nil | |||
# End: | # End: | |||
# vim: set expandtab tabstop=4 shiftwidth=4: | # vim: set expandtab tabstop=4 shiftwidth=4: | |||
End of changes. 4 change blocks. | ||||
32 lines changed or deleted | 31 lines changed or added |