{
u32 optimization;
bool debug_asan;
+ bool pdb;
enum platform
{
vg_strcat( &cmd, architecture_names[env->arch] );
vg_strcat( &cmd, "-" );
vg_strcat( &cmd, platform_names[env->platform] );
+ vg_strcat( &cmd, " -fno-sanitize=undefined " );
if( env->platform == k_platform_linux )
{
if( type == k_obj_type_exe )
{
- vg_strcat( &cmd, " /pdb:/dev/null" );
+ if( !env->pdb )
+ vg_strcat( &cmd, " /pdb:/dev/null" );
vg_strcat( &cmd, " /SUBSYSTEM:windows" );
}
}
{
vg_strcat( &conf->link, "-lSDL2 -lGL -lX11 -lXxf86vm "
"-lXrandr -lXi -ldl -pthread " );
-
- return vg_compiler_run( proj, env, conf, components.buffer,
- appname, k_obj_type_exe );
+ return vg_compiler_run( proj, env, conf, components.buffer, appname, k_obj_type_exe );
}
else if( env->platform == k_platform_windows )
{
vg_strcat( &conf->link, "vg/dep/sdl/SDL2.dll " );
vg_add_blob( proj, "vg/dep/sdl/SDL2.dll ", "" );
vg_strcat( &conf->library, "-L./vg/dep/sdl " );
-
- return vg_compiler_run( proj, env, conf, components.buffer,
- appname, k_obj_type_exe );
+ return vg_compiler_run( proj, env, conf, components.buffer, appname, k_obj_type_exe );
}
else
{
vg_fatal_condition();
- vg_info( "No compile procedure set for platform '%s'\n",
- platform_names[env->platform] );
+ vg_info( "No compile procedure set for platform '%s'\n", platform_names[env->platform] );
vg_fatal_exit();
}
void vg_add_controller_database( struct vg_project *proj )
{
- vg_add_blob( proj,
- "vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt", "" );
+ vg_add_blob( proj, "vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt", "" );
}
vg_str q;
vg_strnull( &q, q_buf, 4096 );
vg_strcat( &q, name );
- vg_strcat( &q, "/*" );
- if( !vg_strgood(&q) )
- return k_dir_open_path_too_long;
DWORD attributes = GetFileAttributes( q.buffer );
if( attributes == INVALID_FILE_ATTRIBUTES )
+ {
+ vg_error( "Big problem: %d\n", GetLastError() );
return k_dir_open_invalid_path;
+ }
if( !(attributes & FILE_ATTRIBUTE_DIRECTORY) )
return k_dir_open_is_file;
+ vg_strcat( &q, "/*" );
+ if( !vg_strgood(&q) )
+ return k_dir_open_path_too_long;
+
vg_info( "FindFirstFile( '%s' )\n", q.buffer );
dir->h = FindFirstFile( q.buffer, &dir->data );
if( dir->h == INVALID_HANDLE_VALUE )