package cc import ( "github.com/versenilvis/iris/spec" ) func init() { spec.Register(&spec.Spec{ Name: "zig", Description: "Enable or disable colored message", Subcommands: []spec.Subcommand{ {Name: "build", Description: "Build project from build.zig"}, {Name: "install", Description: "Copy build artifacts to prefix path"}, {Name: "uninstall", Description: "Remove build artifacts from prefix path"}, {Name: "run", Description: "Run the app"}, {Name: "test", Description: "Run unit tests"}, {Name: "init-exe", Description: "Initializes a `zig build` project in the current working directory"}, {Name: "init-lib", Description: "Initializes a `zig build` project in the current working directory"}, {Name: "ast-check", Description: "Given a .zig source file, reports any compile errors that"}, {Name: "build-exe", Description: "Create executable from source or object files"}, {Name: "build-lib", Description: "Create library from source or object files"}, {Name: "build-obj", Description: "Create library from source or object files"}, {Name: "fmt", Description: "Reformat Zig source into canonical form"}, {Name: "translate-c", Description: "Convert C code to Zig code"}, {Name: "ar", Description: "LLVM Archiver"}, {Name: "default", Description: "Default"}, {Name: "gnu", Description: "GNU"}, {Name: "darwin", Description: "Darwin"}, {Name: "bsd", Description: "BSD"}, {Name: "bigarchive", Description: "Big archive (AIX OS)"}, {Name: "cc", Description: "Use Zig as a drop-in C compiler"}, {Name: "c++", Description: "Use Zig as a drop-in C++ compiler"}, {Name: "dll-tool", Description: "LLVM dll tool"}, {Name: "lib", Description: "Use Zig as a drop-in lib.exe"}, {Name: "ranlib", Description: "LLVM Ranlib : This program generates an index to speed access to archives"}, {Name: "env", Description: "Print lib path, std path, cache directory, and version"}, {Name: "help", Description: "Print help and exit"}, {Name: "libc", Description: "Detect the native libc installation and print the resulting paths to stdout"}, {Name: "targets", Description: "List available compilation targets"}, {Name: "version", Description: "Print version number and exit"}, {Name: "zen", Description: "Print Zen of Zig and exit"}, }, Options: []spec.Option{ {Name: "--color", Description: "Enable or disable colored message"}, {Name: "--cache-dir", Description: "Override path to local Zig cache directory"}, {Name: "--global-cache-dir", Description: "Override path to global Zig cache directory"}, {Name: "-fstage1", Description: "Force using bootstrap compiler as the codegen backend"}, {Name: "-fno-stage1", Description: "Prevent using bootstrap compiler as the codegen backend"}, {Name: "--zig-lib-dir", Description: "Override path to Zig lib directory"}, {Name: "-freference-trace", Description: "How many lines of reference trace should be shown per compile error"}, {Name: "-fno-reference-trace", Description: "Disable reference trace"}, {Name: "-h", Description: "Print help and exit"}, {Name: "-v", Description: "Display the version of this program"}, {Name: "--watch", Description: "Enable compiler REPL"}, {Name: "-femit-bin", Description: "(default) Output machine code"}, {Name: "-fno-emit-bin", Description: "Do not output machine code"}, {Name: "-femit-asm", Description: "Output .s (assembly code)"}, {Name: "-fno-emit-asm", Description: "(default) Do not output .s (assembly code)"}, {Name: "-femit-llvm-ir", Description: "Produce a .ll file with LLVM IR (requires LLVM extensions)"}, {Name: "-fno-emit-llvm-ir", Description: "(default) Do not produce a .ll file with LLVM IR"}, {Name: "-femit-llvm-bc", Description: "Produce a LLVM module as a .bc file (requires LLVM extensions)"}, {Name: "-fno-emit-llvm-bc", Description: "(default) Do not produce a LLVM module as a .bc file"}, {Name: "-femit-h", Description: "Generate a C header file (.h)"}, {Name: "-fno-emit-h", Description: "(default) Do not generate a C header file (.h)"}, {Name: "-femit-docs", Description: "Create a docs/ dir with html documentation"}, {Name: "-fno-emit-docs", Description: "(default) Do not produce docs/ dir with html documentation"}, {Name: "-femit-analysis", Description: "Write analysis JSON file with type information"}, {Name: "-fno-emit-analysis", Description: "(default) Do not write analysis JSON file with type information"}, {Name: "-femit-implib", Description: "(default) Produce an import .lib when building a Windows DLL"}, {Name: "-fno-emit-implib", Description: "Do not produce an import .lib when building a Windows DLL"}, {Name: "--show-builtin", Description: "Output to cache directory; print path to stdout"}, {Name: "-target", Description: "-- see the targets command"}, {Name: "-mcpu", Description: "Specify target CPU and feature set"}, {Name: "-mcmodel", Description: "Limit range of code and data virtual addresses"}, {Name: "-mred-zone", Description: "Omit the stack frame pointer"}, {Name: "-fno-omit-frame-pointer", Description: "Store the stack frame pointer"}, {Name: "-mexec-model", Description: "(WASI) Execution model"}, {Name: "--name", Description: "Override root name (not a file path)"}, {Name: "-O", Description: "Choose what to optimize for"}, {Name: "--pkg-begin", Description: "Make pkg available to import and push current pkg"}, {Name: "--pkg-end", Description: "Pop current pkg"}, {Name: "--main-pkg-path", Description: "Set the directory of the root package"}, {Name: "-fPIC", Description: "Force-enable Position Independent Code"}, }, }) }