コード例 #1
0
ファイル: javac.py プロジェクト: mwichmann/scons
def generate(env):
    """Add Builders and construction variables for javac to an Environment."""
    java_file = SCons.Tool.CreateJavaFileBuilder(env)
    java_class = SCons.Tool.CreateJavaClassFileBuilder(env)
    java_class_dir = SCons.Tool.CreateJavaClassDirBuilder(env)
    java_class.add_emitter(None, emit_java_classes)
    java_class.add_emitter(env.subst('$JAVASUFFIX'), emit_java_classes)
    java_class_dir.emitter = emit_java_classes

    env.AddMethod(Java)

    version = env.get('JAVAVERSION', None)

    if env['PLATFORM'] == 'win32':
        # Ensure that we have a proper path for javac
        paths = get_java_install_dirs('win32', version=version)
        javac = SCons.Tool.find_program_path(env, 'javac', default_paths=paths)
        if javac:
            javac_bin_dir = os.path.dirname(javac)
            env.AppendENVPath('PATH', javac_bin_dir)
    else:
        javac = SCons.Tool.find_program_path(env, 'javac')

    env.SetDefault(
        JAVAC='javac',
        JAVACFLAGS=SCons.Util.CLVar(''),
        JAVAINCLUDES=get_java_include_paths(env, javac, version),
        JAVACLASSSUFFIX='.class',
        JAVASUFFIX='.java',
        JAVABOOTCLASSPATH=[],
        JAVACLASSPATH=[],
        JAVASOURCEPATH=[],
    )
    env['_javapathopt'] = pathopt
    env['_JAVABOOTCLASSPATH'] = '${_javapathopt("-bootclasspath", "JAVABOOTCLASSPATH")} '
    env['_JAVACLASSPATH'] = '${_javapathopt("-classpath", "JAVACLASSPATH")} '
    env['_JAVASOURCEPATH'] = '${_javapathopt("-sourcepath", "JAVASOURCEPATH", "_JAVASOURCEPATHDEFAULT")} '
    env['_JAVASOURCEPATHDEFAULT'] = '${TARGET.attributes.java_sourcedir}'
    env['_JAVACCOM'] = '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH -d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES'
    env['JAVACCOM'] = "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}"
コード例 #2
0
ファイル: javac.py プロジェクト: mongodb/mongo
def generate(env):
    """Add Builders and construction variables for javac to an Environment."""
    java_file = SCons.Tool.CreateJavaFileBuilder(env)
    java_class = SCons.Tool.CreateJavaClassFileBuilder(env)
    java_class_dir = SCons.Tool.CreateJavaClassDirBuilder(env)
    java_class.add_emitter(None, emit_java_classes)
    java_class.add_emitter(env.subst('$JAVASUFFIX'), emit_java_classes)
    java_class_dir.emitter = emit_java_classes

    env.AddMethod(Java)

    version = env.get('JAVAVERSION', None)

    javac = SCons.Tool.find_program_path(env, 'javac')
    if env['PLATFORM'] == 'win32':
        # Ensure that we have a proper path for javac
        paths=get_java_install_dirs(env['PLATFORM'], version=version)
        javac = SCons.Tool.find_program_path(env, 'javac',
                                             default_paths=paths)
        if javac:
            javac_bin_dir = os.path.dirname(javac)
            env.AppendENVPath('PATH', javac_bin_dir)

    env['JAVAINCLUDES'] = get_java_include_paths(env, javac, version)


    env['JAVAC']                    = 'javac'
    env['JAVACFLAGS']               = SCons.Util.CLVar('')
    env['JAVABOOTCLASSPATH']        = []
    env['JAVACLASSPATH']            = []
    env['JAVASOURCEPATH']           = []
    env['_javapathopt']             = pathopt
    env['_JAVABOOTCLASSPATH']       = '${_javapathopt("-bootclasspath", "JAVABOOTCLASSPATH")} '
    env['_JAVACLASSPATH']           = '${_javapathopt("-classpath", "JAVACLASSPATH")} '
    env['_JAVASOURCEPATH']          = '${_javapathopt("-sourcepath", "JAVASOURCEPATH", "_JAVASOURCEPATHDEFAULT")} '
    env['_JAVASOURCEPATHDEFAULT']   = '${TARGET.attributes.java_sourcedir}'
    env['_JAVACCOM']                = '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH -d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES'
    env['JAVACCOM']                 = "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}"
    env['JAVACLASSSUFFIX']          = '.class'
    env['JAVASUFFIX']               = '.java'