MESCC(1)
π MESCC π
okay bestie, so you know how the GNU system had to bootstrap itself from basically nothing?? this is the compiler that did it β a C99 compiler written in Scheme, and she's serving main character energy in the manual pages under section 1 (User Commands). pull up a chair, we're getting into it π«Ά
β¨ NAME β¨
mescc β a C99 compiler in Scheme, and her whole job is bootstrapping the GNU system. iconic behaviour, honestly π
πΈ SYNOPSIS πΈ
mescc [OPTION]... FILE...
like. give her some options, give her some files, she'll handle it π
π¦ DESCRIPTION π¦
mescc is a C99 compiler written in Scheme, and its purpose β its entire why β is bootstrapping the GNU system. that's it. that's the vibe. no cap. π₯
π OPTIONS π
okay so here's the whole menu, no skips, no "oh you probably won't need that one" β we're listing every single one because you deserve the full picture π
--align=SYMBOLβ alignSYMBOL. your choices are{functions,globals,none}, and the default is[functions].--arch=ARCHβ compile forARCH, default[x86_64].--kernel=ARCHβ compile forKERNEL, default[linux].-dumpmachineβ display the compiler's target machine. she's telling you who she is today β¨--base-address=ADDRESSβ use BaseAddressADDRESS, default[0x1000000].-D DEFINE[=VALUE]β defineDEFINE, and if you don't hand her a value,[VALUE=1]is what you get.-Eβ preprocess only. do not compile, do not assemble, do not link. just preprocess and chill π-gβ add debug info (call stack in GDB). lowkey essential when things go sideways.-h,--helpβ display this help and exit. the classic escape hatch π-I DIRβ appendDIRto the include path.-L DIRβ appendDIRto the library path.-l LIBNAMEβ link withLIBNAME.-m BITSβ compile forBITSbits, default[32].-nodefaultlibsβ do not uselibc.onorlibmescc.awhen linking.-nostartfilesβ do not usecrt1.owhen linking.-nostdlibβ do not usecrt1.oorlibc.oorlibmescc.awhen linking. full bare-metal moment, we love a minimalist queen β-o FILEβ write output toFILE.-O LEVELβ use optimizingLEVEL.-Sβ preprocess and compile only; do not assemble or link.--std=STANDARDβ assume that the input sources are forSTANDARD.-V,--versionβ display version and exit.-w,--write=TYPEβ dump Nyacc AST usingTYPE, andTYPEis one of{pretty-print,write}.-x LANGUAGEβ specifyLANGUAGEof the following input files.
π Ignored for GCC compatibility π
these ones are just here so that things expecting GCC don't get their feelings hurt. they exist, they're accepted, they do nothing:
-fno-builtin-fno-stack-protector-no-pie-nostdinc-static
π Environment variables π
because sometimes the vibe is set from outside the command line, yk?
MES=BINARYβ run onmes-executableBINARY, and your options are{mes,guile}.MES_DEBUG=LEVELβ show debug output with verbosityLEVEL, which ranges{0..5}. crank it up when you're lost, no shame π«ΆNYACC_TRACE=1β show Nyacc progress. set it to1and watch her narrate her own life β¨
π REPORTING BUGS π
found something cursed? tell the humans, they wanna know:
- Report bugs to:
bug-mes@gnu.org - GNU Mes home page: <http://gnu.org/software/mes/>
- General help using GNU software: <http://gnu.org/gethelp/>
π SEE ALSO π
the full documentation for mescc is maintained as a Texinfo manual. if the info and mescc programs are properly installed at your site, this command
info mescc
should give you access to the complete manual. go read it, bestie, she has layers π
and that's the whole page, fr fr πΈ β this was GNU Mes 0.27, dated January 1970 (yes really, that date is doing its own thing and we respect it π). stay bootstrapping, stay slaying. periodt. ππ¦
π¦ where this page comes from
- ubuntu questing: mes 0.27-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms