summary refs log tree commit diff stats
path: root/rod
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-03-24 01:26:52 +0100
committerAraq <rumpf_a@web.de>2011-03-24 01:26:52 +0100
commit220dd54acfd5527c7c569811013b178fc462898e (patch)
tree2ab165c0e317e4cf236cccd2116cae006ae4c0a4 /rod
parent368bb3b5e24b555a64584b9cfaa3de6be68b4787 (diff)
downloadNim-220dd54acfd5527c7c569811013b178fc462898e.tar.gz
support for clang
Diffstat (limited to 'rod')
-rwxr-xr-xrod/extccomp.nim18
1 files changed, 16 insertions, 2 deletions
diff --git a/rod/extccomp.nim b/rod/extccomp.nim
index ea64c16b6..a673c5ca0 100755
--- a/rod/extccomp.nim
+++ b/rod/extccomp.nim
@@ -15,8 +15,8 @@ import
 
 type 
   TSystemCC* = enum 
-    ccNone, ccGcc, ccLLVM_Gcc, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, ccTcc, ccPcc, 
-    ccUcc, ccIcc, ccGpp
+    ccNone, ccGcc, ccLLVM_Gcc, ccCLang, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, 
+    ccTcc, ccPcc, ccUcc, ccIcc, ccGpp
   TInfoCCProp* = enum         # properties of the C compiler:
     hasSwitchRange,           # CC allows ranges in switch statements (GNU C)
     hasComputedGoto,          # CC has computed goto (GNU C extension)
@@ -72,6 +72,20 @@ const
      debug: "", pic: "-fPIC", 
      asmStmtFrmt: "asm($1);$n", 
      props: {hasSwitchRange, hasComputedGoto, hasCpp}), 
+    (name: "clang", 
+     objExt: "o", 
+     optSpeed: " -O3 -ffast-math ", 
+     optSize: " -Os -ffast-math ", 
+     compilerExe: "clang", 
+     compileTmpl: "-c $options $include -o $objfile $file", 
+     buildGui: " -mwindows", 
+     buildDll: " -shared", 
+     linkerExe: "clang", 
+     linkTmpl: "$options $buildgui $builddll -o $exefile $objfiles", 
+     includeCmd: " -I", 
+     debug: "", pic: "-fPIC", 
+     asmStmtFrmt: "asm($1);$n", 
+     props: {hasSwitchRange, hasComputedGoto, hasCpp}), 
     (name: "lcc", 
      objExt: "obj", 
      optSpeed: " -O -p6 ",