#scope_file; LOWERCASE_FIELD_NAMES :: true; #run { set_build_options_dc(.{ do_output = false }); print("building library\n"); #if OS == { case .WINDOWS; lib_ext :: "dll"; out_base :: "win"; case .MACOS; lib_ext :: "dylib"; out_base :: "mac"; case .LINUX; lib_ext :: "so"; out_base :: "linux"; } out_path := tprint("%/%", out_base, "remotery"); assert(build_cpp(out_path, "lib/Remotery.c", type = .DYNAMIC_LIBRARY)); assert(build_cpp(out_path, "lib/Remotery.c", type = .STATIC_LIBRARY)); print("generating bindings\n"); opts: Generate_Bindings_Options; opts.add_generator_command = false; opts.generate_library_declarations = false; array_add(*opts.strip_prefixes, "rmt_", "RMT_", "rmt", "RMT", "_rmt", "_RMT"); array_add(*opts.extra_clang_arguments, "-x", "c"); array_add(*opts.libpaths, out_base); array_add(*opts.libnames, tprint("remotery.%", lib_ext)); array_add(*opts.source_files, "./lib/remotery.h"); assert(generate_bindings(opts, "remotery.jai")); } #import "File"; #import "Basic"; #import "String"; #import "Compiler"; #import "BuildCpp"; #import "Bindings_Generator";