FSHARPC(1)
โจ NAME โจ
okay so bestie, this is the manual page for fsharpc โ that's section 1 of the User Commands manual, iykyk โ and it's literally the F# 3.0 Compiler (Open Source Edition). ๐ฆ
๐ DESCRIPTION ๐
It's the compiler for the F# language, version 3.0. That's the whole vibe. It takes your F# and it makes it go. โจ
๐ SYNOPSIS ๐
fsharpc [options...] file [file...]
like, options first, then as many files as your heart desires. no cap. ๐ซถ
๐ OPTIONS ๐
๐ธ OUTPUT FILES ๐ธ
--out:file,-o fileโ names your output file. that's it, that's the whole job. ๐--target:exeโ builds a console executable ๐ฅ๏ธ--target:winexeโ builds a Windows executable ๐ช--target:library,-aโ builds a library ๐--target:moduleโ builds a module that can be added to another assembly ๐งฉ--delaysign[+|-]โ delay-signs the assembly using only the public portion of the strong name key ๐--doc:fileโ writes the xmldoc of the assembly to the given file ๐--keyfile:fileโ specifies a strong name key file ๐--keycontainer:stringโ specifies a strong name key container ๐๏ธ--platform:stringโ limits which platforms this code can run on:x86,Itanium,x64,anycpu32bitpreferred, oranycpu.
the default is anycpu. periodt.
--nooptimizationdataโ only includes optimization information essential for implementing inlined constructs. it inhibits cross-module inlining but improves binary compatibility. it's giving tradeoff energy. โ๏ธ--nointerfacedataโ doesn't add a resource to the generated assembly containing F#-specific metadata ๐--sig:fileโ prints the inferred interface of the assembly to a file ๐จ๏ธ
๐ INPUT FILES ๐
--reference:file,-r fileโ references an assembly ๐
๐ง RESOURCES ๐ง
--win32res:fileโ specifies a Win32 resource file (.res) ๐๏ธ--win32manifest:fileโ specifies a Win32 manifest file ๐--nowin32manifestโ do NOT include the default Win32 manifest ๐ซ--resource:file[,string_name[,public|private]]โ embeds the specified managed resource ๐ฆ--linkresource:file[,string_name[,public|private]]โ links the specified resource to this assembly ๐ชข
๐ CODE GENERATION ๐
--debug[+|-],-gโ emits debug information ๐--debug:[full|pdbonly]โ specifies debugging type:full,pdbonly.fullis the default and enables attaching a debugger to a running program. main character debugger energy fr fr ๐--optimize[+|-],-Oโ enables optimizations โก--tailcalls[+|-]โ enables tailcalls ๐--crossoptimize[+|-]โ enables cross-module optimizations ๐
๐ ERRORS AND WARNINGS ๐
--warnaserror[+|-]โ reports ALL warnings as errors. every single one. no survivors ๐ญ--warnaserror[+|-]:warn[;warn[;...]]โ reports specific warnings as errors ๐ฏ--warn:nโ sets a warning level (0-5) ๐--nowarn:warn[;warn[;...]]โ disables specific warning messages ๐--warnon:warn[;warn[;...]]โ enables specific warnings that may be off by default ๐--consolecolors[+|-]โ outputs warning and error messages in color ๐ (yes bestie, the errors are pretty now)
๐ฆ LANGUAGE ๐ฆ
--checked[+|-]โ generates overflow checks ๐งฎ--define:string,-d stringโ defines conditional compilation symbols ๐ท๏ธ--mlcompatibilityโ ignores ML compatibility warnings ๐ค
โญ MISCELLANEOUS โญ
--nologoโ suppresses the compiler copyright message ๐--help,-?โ displays this usage message ๐
๐ฅ ADVANCED ๐ฅ
--codepage:nโ specifies the codepage used to read source files ๐ค--utf8outputโ outputs messages in UTF-8 encoding ๐--fullpathsโ outputs messages with fully qualified paths ๐ฃ๏ธ--lib:dir[;dir[;...]],-I dir[;dir[;...]]โ specifies a directory for the include path, which is used to resolve source files and assemblies ๐--baseaddress:addressโ base address for the library to be built ๐--noframeworkโ does not reference the default CLI assemblies by default ๐ท--standaloneโ statically links the F# library and all referenced DLLs that depend on it into the assembly being generated ๐งท--staticlink:assemblyโ statically links the given assembly and all referenced DLLs that depend on this assembly. use an assembly name e.g.mylib, not a DLL name. โ ๏ธ (like, actually, use the assembly name, not the DLL name โ the manpage is being so serious about this)
bestie if you pass a DLL name here you're gonna have a bad time, the page literally says assembly name, ok? ๐
--residentโ uses a resident background compilation service to improve compiler startup times ๐โ๏ธ--pdb:fileโ names the output debug file ๐--simpleresolutionโ resolves assembly references using directory-based rules rather than MSBuild resolution ๐งญ--highentropyva[+|-]โ enables high-entropy ASLR ๐ฒ--subsystemversion:stringโ specifies subsystem version of this assembly ๐๏ธ
and that's the whole page, bestie. every flag, every default, every little detail โ preserved with love, no cap. ๐
this was fsharpc 3.0.34, dated February 2014 โ shoutout to the iconique FSHARPC(1) era, you ate and left no crumbs. ๐ซถโจ๐
๐ฆ where this page comes from
- ubuntu jammy: fsharp 4.0.0.4+dfsg2-2 ยท Apache-2.0
- ubuntu noble: fsharp 4.0.0.4+dfsg2-2build1 ยท Apache-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms