|
@@ -51,7 +51,7 @@ class Benchs {
|
|
|
var targets : Array<Target> = [
|
|
|
{ name : "cpp", out : "cpp", cmd : "cpp/$name" + (isWin ? ".exe" : ""), args : [], extraArgs : "-D HXCPP_SILENT" },
|
|
|
{ name : "hl", out : "bench.hl", cmd : "hl", args : ["bench.hl"] },
|
|
|
- { name : "hlc", out : "bench.c", cmd : isWin ? "hlc":"./hlc", args : [] },
|
|
|
+ { name : "hlc", out : "bench.c", cmd : isWin ? "hlc.exe":"./hlc", args : [] },
|
|
|
{ name : "js", out : "bench.js", cmd : "node", args : ["bench.js"] },
|
|
|
{ name : "neko", out : "bench.n", cmd : "neko", args : ["bench.n"] },
|
|
|
];
|
|
@@ -66,6 +66,20 @@ class Benchs {
|
|
|
var gcc = "gcc";
|
|
|
if( isWin && is32 )
|
|
|
gcc = "i686-pc-cygwin-gcc";
|
|
|
+
|
|
|
+ var useMSVC = isWin;
|
|
|
+ if( useMSVC ) {
|
|
|
+ var path = Sys.getEnv("PATH").split(";");
|
|
|
+ var found = false;
|
|
|
+ for( p in path )
|
|
|
+ if( sys.FileSystem.exists(p+"/cl.exe") ) {
|
|
|
+ trace(p);
|
|
|
+ found = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if( !found )
|
|
|
+ useMSVC = false;
|
|
|
+ }
|
|
|
|
|
|
for( f in all ) {
|
|
|
|
|
@@ -99,7 +113,11 @@ class Benchs {
|
|
|
|
|
|
if( t.name == "hlc" ) {
|
|
|
// build
|
|
|
- var cmd = '$gcc -O3 ${is32?'-m32':''} -std=c11 -o hlc -I ../../src -L ../.. bench.c ../../src/hlc_main.c -lhl -lm';
|
|
|
+ var cmd;
|
|
|
+ if( useMSVC )
|
|
|
+ cmd = 'cl.exe /nologo /Ox /I ../../src /o hlc.exe bench.c ../../src/hlc_main.c ../../Release/std.lib';
|
|
|
+ else
|
|
|
+ cmd = '$gcc -O3 ${is32?'-m32':''} -std=c11 -o hlc -I ../../src -L ../.. bench.c ../../src/hlc_main.c -lhl -lm';
|
|
|
if( Sys.command(cmd) != 0 ) {
|
|
|
Sys.println("Failed to run "+cmd);
|
|
|
Sys.println(t.name+" failed to compile");
|