summary refs log blame commit diff stats
path: root/config/nimrod.cfg
blob: 947054ab482eab67622565bb9fc5a77407495494 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                             
                        






                                                               
        
 



                                           



                                                         
 
                
                
                            
                  
                    




                           
                             





                        
                          
                                 



















                                                   
                                                             





                              
              
                               
                               
                                 
                               


                                                                        

                                                             



                                             



                                      


                                           
                                       


                   
    
 
           
                 

                                        
      

                           
    
 

                                              




                                              







                                          





                                            
                                              
                                                                                                 
                                                 










                                                    
# Configuration file for the Nimrod Compiler.
# (c) 2012 Andreas Rumpf

# Feel free to edit the default values as you need.

# You may set environment variables with
# @putenv "key" "val"
# Environment variables cannot be used in the options, however!

cc = gcc

# example of how to setup a cross-compiler:
arm.linux.gcc.exe = "arm-linux-gcc"
arm.linux.gcc.linkerexe = "arm-linux-gcc"

@if nim: 
  # use the old fixed library for bootstrapping with Nim:
  lib = "nimlib"
@end

path="$lib/core"
path="$lib/pure"
path="$lib/pure/collections"
path="$lib/impure"
path="$lib/wrappers"
path="$lib/wrappers/cairo"
path="$lib/wrappers/gtk"
path="$lib/wrappers/lua"
path="$lib/wrappers/opengl"
path="$lib/wrappers/pcre"
path="$lib/wrappers/readline"
path="$lib/wrappers/sdl"
path="$lib/wrappers/x11"
path="$lib/wrappers/zip"
path="$lib/windows"
path="$lib/posix"
path="$lib/ecmas"
path="$lib/pure/unidecode"
#recursivePath:"$home/.babel/lib"

@if release or quick:
  obj_checks:off
  field_checks:off
  range_checks:off
  bound_checks:off
  overflow_checks:off
  assertions:off
  stacktrace:off
  debugger:off
  line_dir:off
  dead_code_elim:on
@end

@if release:
  opt:speed
@end

# additional options always passed to the compiler:
--verbosity: "1"
--parallel_build: "0" # 0 to auto-detect number of processors

hint[LineTooLong]=off
#hint[XDeclaredButNotUsed]=off

@if unix:
  @if not bsd:
    # -fopenmp
    gcc.options.linker = "-ldl"
    gpp.options.linker = "-ldl"
    clang.options.linker = "-ldl"
    tcc.options.linker = "-ldl"
  @else:
    # BSD got posix_spawn only recently, so we deactivate it for osproc:
    define:useFork
    # at least NetBSD has problems with thread local storage:
    tlsEmulation:on
  @end
@end

# Configuration for the Intel C/C++ compiler:
@if windows:
  icl.options.speed = "/Ox /arch:SSE2"
  icl.options.always = "/nologo"
@end

# Configuration for the GNU C/C++ compiler:
@if windows:
  #gcc.path = r"$nimrod\dist\mingw\bin"
  @if gcc:
    tlsEmulation:on
  @end
@end

@if macosx:
  tlsEmulation:on
  gcc.options.always = "-w -fasm-blocks"
  gpp.options.always = "-w -fasm-blocks"
@else:
  gcc.options.always = "-w"
  gpp.options.always = "-w"
@end

gcc.options.speed = "-O3 -fno-strict-aliasing"
gcc.options.size = "-Os"
gcc.options.debug = "-g3 -O0"

gpp.options.speed = "-O3 -fno-strict-aliasing"
gpp.options.size = "-Os"
gpp.options.debug = "-g3 -O0"
#passl = "-pg"

# Configuration for the LLVM GCC compiler:
llvm_gcc.options.debug = "-g"
llvm_gcc.options.always = "-w"
llvm_gcc.options.speed = "-O2"
llvm_gcc.options.size = "-Os"

# Configuration for the LLVM CLang compiler:
clang.options.debug = "-g"
clang.options.always = "-w"
clang.options.speed = "-O3"
clang.options.size = "-Os"

# Configuration for the Visual C/C++ compiler:
vcc.options.linker = "/DEBUG /Zi /Fd\"$projectName.pdb\" /F33554432" # set the stack size to 8 MB
vcc.options.debug = "/Zi /Fd\"$projectName.pdb\""
vcc.options.always = "/nologo"
vcc.options.speed = "/Ox /arch:SSE2"
vcc.options.size = "/O1"

# Configuration for the Digital Mars C/C++ compiler:
@if windows:
  dmc.path = r"$nimrod\dist\dm\bin"
@end

# Configuration for the Tiny C Compiler:
tcc.options.always = "-w"