# Java Configuration File For llvmc

##########################################################
# Language definitions
##########################################################
  lang.name=Java
  lang.opt1=-simplifycfg -mem2reg -instcombine
  lang.opt2=
  lang.opt3=
  lang.opt4=
  lang.opt5=
#  lang.libs=@LLVM_OBJ_ROOT@/projects/Java/Debug/lib

##########################################################
# Pre-processor definitions
##########################################################

  # Java doesn't have a preprocessor but the following
  # allows the -E option to be supported
  preprocessor.command=cp %in% %out%
  preprocessor.required=false

##########################################################
# Translator definitions
##########################################################

  # To compile java class files, we just run the
  # class2llvm compiler with the correct classpath.
  translator.command=class2llvm \
      %in% %force% -o %out% %time% %stats% %args%

  # class2llvm doesn't preprocess but we set this to true
  # so that we don't run the cp command by default.
  translator.preprocesses=true

  # The translator is required to run.
  translator.required=true

  # class2llvm outputs llvm bytecode
  translator.output=bytecode

##########################################################
# Optimizer definitions
##########################################################
  
  # For optimization, we use the LLVM "opt" program
  optimizer.command=opt \
    %in% %force% -o %out% %opt% %time% %stats% %args%

  optimizer.required = true

  # opt doesn't translate
  optimizer.translates=false

  # opt doesn't preprocess
  optimizer.preprocesses=false

  # opt produces bytecode
  optimizer.output=bytecode

##########################################################
# Assembler definitions
##########################################################
  assembler.command=llc \
      %in% %force% -o %out% %target% %time% %stats% %args%
