infer-compile(1)
π infer-compile(1) β like, the Infer Project Compilation girlies β¨
okay so bestie, welcome to infer-compile(1) β that's the manpage name AND the manual name, we're keeping it cute and official up top π This one's from the Infer Project Compilation corner of the universe and she's here to help you compile stuff from inside the infer environment. slay.
πΈ NAME πΈ
infer-compile β compile your project from within the infer environment, no cap π
β¨ SYNOPSIS β¨
infer compile -- [compile command]
that's it. that's the whole vibe check. the -- is doing main character work, don't leave her out π«Ά
π¦ DESCRIPTION π¦
so here's the tea β: infer-compile intercepts your compilation commands similarly to infer-capture β like, same energy, same interception moment β BUT it justβ¦ runs them. straight up executes the compilation commands and does not perform any translation of the source files. none. zero. not a single line π«β¨
which, lowkey, makes it super useful for configuring build systems or for debugging purposes. it's giving "I'm just here to make sure the compiler paths are right, bestie" vibes πββοΈ
π₯ OPTIONS π₯
--debug,-gβ turns on Debug mode and honestly she does the MOST. she also sets--debug-level 2,--developer-mode,--print-buckets,--print-types,--reports-include-ml-loc,--no-only-cheap-debug,--trace-error, and--write-htmlall at once. iconic behavior, truly. (Conversely:--no-debug|-G) π--debug-levellevel β your debug level, bestie. this one sets--bo-debuglevel,--debug-level-analysislevel, and--debug-level-capturelevel. the accepted levels are:0: only basic debugging enabled1: verbose debugging enabled2: very verbose debugging enabled
--debug-level-analysisint β debug level for the analysis. see--debug-levelfor the accepted values π--debug-level-captureint β debug level for the capture. again, see--debug-levelfor accepted values π--debug-level-reportint β debug level for the report. yes, same deal, see--debug-levelπΈ--force-delete-results-dirβ activates: do not refuse to delete the results directory if it doesn't look like an infer results directory. i.e. she'll delete it even if it's not giving infer results dir, periodt. (Conversely:--no-force-delete-results-dir) β οΈ--helpβ show this manual, bestie. the whole thing. π«Ά--help-format { auto | groff | pager | plain }β show this help in the specified format.autosets the format toplainif the environment variableTERMis"dumb"or undefined, and topagerotherwise. she reads the room π--help-fullβ show this manual with all the internal options in the INTERNAL OPTIONS section. the director's cut, if you will π
π ENVIRONMENT π
INFER_ARGS,INFERCONFIG,INFER_STRICT_MODEβ see the ENVIRONMENT section in the manual ofinfer(1). go read it, i'll wait π§
π FILES π
.inferconfigβ see the FILES section in the manual ofinfer(1). same page, same vibe, go look π
π EXAMPLES π
okay so this is where it gets juicy π cmake(1) hardcodes the absolute paths to the compiler inside the Makefiles it generates, which defeats the later capture of compilation commands by infer. rude, honestly. so to capture a CMake project, one should configure the project from within the infer build environment, for instance:
mkdir build && cd build
infer compile -- cmake ..
infer capture -- make
the same solution can be used for projects whose "./configure" script hardcodes the paths to the compilers, for instance:
infer compile -- ./configure
infer capture -- make
another solution for CMake projects is to use CMake's compilation databases, for instance:
mkdir build && cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
infer capture --compilation-database compile_commands.json
three options, all valid, pick your fighter π₯
π SEE ALSO π
infer-capture(1)β the sibling, the icon, the legend π
ngl bestie, if you made it this far you're basically a build systems expert now. mwah π«Άβ¨
v1.3.0-unknown Β· 2026-10-27 β that's the version and the date, and that's the whole page, bestie πΈπ slay and goodbye! π
π¦ where this page comes from
- nixpkgs unstable: infer 1.3.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms