|
@@ -5719,6 +5719,22 @@ ParseFileError parse_packages(Parser *p, String init_filename) {
|
|
|
error_line("Expected either a directory or a .odin file, got '%.*s'\n", LIT(init_filename));
|
|
|
return ParseFile_WrongExtension;
|
|
|
}
|
|
|
+ } else if (init_fullpath.len != 0) {
|
|
|
+ String path = init_fullpath;
|
|
|
+ if (path[path.len-1] == '/') {
|
|
|
+ path.len -= 1;
|
|
|
+ }
|
|
|
+ if ((build_context.command_kind & Command__does_build) &&
|
|
|
+ build_context.build_mode == BuildMode_Executable) {
|
|
|
+ String short_path = filename_from_path(path);
|
|
|
+ char *cpath = alloc_cstring(heap_allocator(), short_path);
|
|
|
+ defer (gb_free(heap_allocator(), cpath));
|
|
|
+
|
|
|
+ if (gb_file_exists(cpath)) {
|
|
|
+ error_line("Please specify the executable name with -out:<string> as a directory exists with the same name in the current working directory");
|
|
|
+ return ParseFile_DirectoryAlreadyExists;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|