allow seperate random instances
[vg.git] / vg_build.h
index c3ca828c6ba1f45f3005505559621b0fa377b887..f7a641ec2d13a5f573a5735b5e77ed31058c2bf0 100644 (file)
@@ -32,9 +32,12 @@ struct compiler_info
    {
       k_compiler_clang,
       k_compiler_gcc,
-      k_compiler_mingw
+      k_compiler_mingw,
+      k_compiler_none
    }
    compiler;
+
+   int clean;
 }
 
 static vg_compiler;
@@ -77,7 +80,7 @@ void vg_build_include( const char *inc )
 
 const char *vg_compiler_str(void)
 {
-   return (const char *[]){ "clang", "gcc", "i686-w64-mingw32-gcc" }
+   return (const char *[]){ "clang", "gcc", "i686-w64-mingw32-gcc", "none" }
                           [vg_compiler.compiler];
 }
 
@@ -88,7 +91,6 @@ void vg_build_start( const char *name, enum compiler compiler )
    vg_compiler.include[0] = '\0';
    vg_compiler.library[0] = '\0';
    vg_compiler.compiler = compiler;
-
    strcpy( vg_compiler.name, name );
 
    snprintf( vg_compiler.build_dir, 512, 
@@ -96,6 +98,10 @@ void vg_build_start( const char *name, enum compiler compiler )
                                     name,
                                     vg_compiler_str() );
 
+   if( vg_compiler.clean ){
+      vg_build_syscall( "rm -rf %s", vg_compiler.build_dir );
+   }
+
    vg_build_syscall( "mkdir -p %s", vg_compiler.build_dir );
    vg_build_include( "-I. -I./vg " );
    vg_build_library_dir( "-L. " );
@@ -199,6 +205,10 @@ void vg_build_mode_debug(void)
    vg_compiler.optimization_profile = k_optimization_profile_debug;
 }
 
+void vg_build_clean(void){
+   vg_compiler.clean = 1;
+}
+
 void vg_build(void)
 {
    char cmd[8192];