summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/rmic.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Tool/rmic.py')
-rw-r--r--src/engine/SCons/Tool/rmic.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/engine/SCons/Tool/rmic.py b/src/engine/SCons/Tool/rmic.py
index 4d1bd28..173ef5f 100644
--- a/src/engine/SCons/Tool/rmic.py
+++ b/src/engine/SCons/Tool/rmic.py
@@ -40,6 +40,9 @@ import SCons.Builder
import SCons.Node.FS
import SCons.Util
+from SCons.Tool.JavaCommon import get_java_install_dirs
+
+
def emit_rmic_classes(target, source, env):
"""Create and return lists of Java RMI stub and skeleton
class files to be created from a set of class files.
@@ -105,6 +108,18 @@ def generate(env):
"""Add Builders and construction variables for rmic to an Environment."""
env['BUILDERS']['RMIC'] = RMICBuilder
+ if env['PLATFORM'] == 'win32':
+ version = env.get('JAVAVERSION', None)
+ default_paths=get_java_install_dirs(env['PLATFORM'], version=version)
+
+ # Ensure that we have a proper path for rmic
+ rmic = SCons.Tool.find_program_path(env, 'rmic', default_paths=default_paths)
+
+ # print("RMIC: %s"%rmic)
+ if rmic:
+ rmic_bin_dir = os.path.dirname(rmic)
+ env.AppendENVPath('PATH', rmic_bin_dir)
+
env['RMIC'] = 'rmic'
env['RMICFLAGS'] = SCons.Util.CLVar('')
env['RMICCOM'] = '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir} -classpath ${SOURCE.attributes.java_classdir} ${SOURCES.attributes.java_classname}'