<<
path:
root/public/blog.git/html/modules/uniform/first.jai
blob: beee2aa05a75544a8da9289b1f1fb260f73a6fc1
[raw]
[clear marker]
0#load "modules/stubborn/run.jai";
3 options := get_build_options();
4 args := options.compile_time_command_line;
6 entrypoint := ifx args.count then args[0] else "";
7 if entrypoint == "test" {
12 base_path := path_strip_filename(#filepath);
14 build_tests(options, "tests", tprint(#string END
16 // #load "char_class.jai";
18 END, base_path), get_absolute_path("./modules"), args = test_args, run = true);
20 build("module.jai", .NO_OUTPUT);
24build :: (filename: string, output_type: type_of(Build_Options.output_type) = .EXECUTABLE, executable := "") {
25 set_build_options_dc(.{do_output = false});
27 w := compiler_create_workspace(tprint("Compile %", filename));
28 build_options := get_build_options(w);
29 build_options.output_type = output_type;
30 build_options.output_executable_name = ifx executable then executable else basename(filename);
31 // build_options.backend = .X64;
32 // build_options.optimization_level = Optimization_Level.RELEASE;
34 // llvm_args: [..] string;
35 // array_add(*llvm_args, "-fasdgasgsanitize=address");
36 // build_options.llvm_options.debug_options = llvm_args;
37 import_path: [..] string;
38 array_add(*import_path, .. build_options.import_path);
39 array_add(*import_path, "modules");
40 build_options.import_path = import_path;
41 set_build_options(build_options, w);
43 add_build_file(filename, w);