Merge remote-tracking branch 'origin/master' into error-sets
This commit is contained in:
33
src/main.cpp
33
src/main.cpp
@@ -341,6 +341,7 @@ int main(int argc, char **argv) {
|
||||
const char *zig_exe_path = arg0;
|
||||
const char *build_file = "build.zig";
|
||||
bool asked_for_help = false;
|
||||
bool asked_to_init = false;
|
||||
|
||||
init_all_targets();
|
||||
|
||||
@@ -352,6 +353,9 @@ int main(int argc, char **argv) {
|
||||
if (strcmp(argv[i], "--help") == 0) {
|
||||
asked_for_help = true;
|
||||
args.append(argv[i]);
|
||||
} else if (strcmp(argv[i], "--init") == 0) {
|
||||
asked_to_init = true;
|
||||
args.append(argv[i]);
|
||||
} else if (i + 1 < argc && strcmp(argv[i], "--build-file") == 0) {
|
||||
build_file = argv[i + 1];
|
||||
i += 1;
|
||||
@@ -416,6 +420,7 @@ int main(int argc, char **argv) {
|
||||
"\n"
|
||||
"General Options:\n"
|
||||
" --help Print this help and exit\n"
|
||||
" --init Generate a build.zig template\n"
|
||||
" --build-file [file] Override path to build.zig\n"
|
||||
" --cache-dir [path] Override path to cache directory\n"
|
||||
" --verbose Print commands before executing them\n"
|
||||
@@ -428,7 +433,6 @@ int main(int argc, char **argv) {
|
||||
" --prefix [path] Override default install prefix\n"
|
||||
"\n"
|
||||
"Project-specific options become available when the build file is found.\n"
|
||||
"Run this command with no options to generate a build.zig template.\n"
|
||||
"\n"
|
||||
"Advanced Options:\n"
|
||||
" --build-file [file] Override path to build.zig\n"
|
||||
@@ -441,17 +445,26 @@ int main(int argc, char **argv) {
|
||||
" --verbose-cimport Enable compiler debug output for C imports\n"
|
||||
"\n"
|
||||
, zig_exe_path);
|
||||
return 0;
|
||||
}
|
||||
Buf *build_template_path = buf_alloc();
|
||||
os_path_join(special_dir, buf_create_from_str("build_file_template.zig"), build_template_path);
|
||||
return EXIT_SUCCESS;
|
||||
} else if (asked_to_init) {
|
||||
Buf *build_template_path = buf_alloc();
|
||||
os_path_join(special_dir, buf_create_from_str("build_file_template.zig"), build_template_path);
|
||||
|
||||
if ((err = os_copy_file(build_template_path, &build_file_abs))) {
|
||||
fprintf(stderr, "Unable to write build.zig template: %s\n", err_str(err));
|
||||
} else {
|
||||
fprintf(stderr, "Wrote build.zig template\n");
|
||||
if ((err = os_copy_file(build_template_path, &build_file_abs))) {
|
||||
fprintf(stderr, "Unable to write build.zig template: %s\n", err_str(err));
|
||||
} else {
|
||||
fprintf(stderr, "Wrote build.zig template\n");
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
return 1;
|
||||
|
||||
fprintf(stderr,
|
||||
"No 'build.zig' file found.\n"
|
||||
"Initialize a 'build.zig' template file with `zig build --init`,\n"
|
||||
"or build an executable directly with `zig build-exe $FILENAME.zig`.\n"
|
||||
"See: `zig build --help` or `zig help` for more options.\n"
|
||||
);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
PackageTableEntry *build_pkg = codegen_create_package(g, buf_ptr(&build_file_dirname),
|
||||
|
||||
Reference in New Issue
Block a user