# C configuration file for llvmc

##########################################################
# Language definitions
##########################################################
  lang.name=C
  lang.opt1=-O1
  lang.opt2=-O2
  lang.opt3=-O3
  lang.opt4=-O3
  lang.opt5=-O3
  lang.libs=%llvmgccdir%/lib %llvmgccdir%/lib %llvmgccdir%/lib/gcc/%llvmgccarch%

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

  # We use gcc as our pre-processor
  preprocessor.command=llvm-gcc -E %in% -o %out% %incls% %defs%
  preprocessor.required=true

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

  # To compile C source, just use llvm-gcc's cc1
  translator.command=llvm-gcc -fno-builtin -g -x c -emit-llvm -c %in% -o %out%  %incls% %defs% %WOpts% %fOpts% %MOpts% %args% -D_GNU_SOURCE

  # llvm-gcc does not pre-process
  translator.preprocesses=false

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

  # Output of the translator is assembly
  translator.output=bitcode

##########################################################
# Assembler definitions
##########################################################
  assembler.command=%bindir%/llc %in% -o %out% %target% %time% %stats%
