FAUCC(1)

πŸ“¦
this version Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– FAUCC(1) β€” the faucc manual, but make it make sense πŸ’–

okay bestie, gather round 🫢 this is the manual page for faucc, section 1 of the manual. She's a C compiler that spits out Intel code for 16-bit and 32-bit CPUs, and honestly? iconic behavior. Let's get into it.


✨ NAME ✨

faucc β€” a C compiler that generates Intel code for 16 bit / 32 bit CPUs. πŸ‘‘


🌸 SYNOPSIS 🌸

faucc [ -B path ] [ -D MACRO [=def]] [ -E ] [ -I path ] [ -L path ]
      [ -MD ] [-MF file ] [ -MP ] [ -MT target ] [ -O level ] [ -S ]
      [ -T script ] [ -U macro ] [ -Wl,arg ] [ -Xlinker arg ]
      [ -b arch ] [ -c ] [ -f arg ] [ -m arch ] [ -nostdlib ]
      [ -o output ] [ -print-lib-faucc-file-name ] [ --freestanding ]
      [ --no-stack-protector ] { file ...}
bestie heads up πŸ’€ the synopsis writes it -print-lib-faucc-file-name but the OPTIONS list below writes it -print-libfaucc-file-name. Same flag, two fits. iykyk, copy carefully.

πŸ¦‹ DESCRIPTION πŸ¦‹

faucc is a C compiler that can generate Intel 16 bit or 32 bit Code. that's it, that's the whole vibe. no cap.


πŸ’… OPTIONS πŸ’…

faucc tries to mimic the options of gcc, because it's giving main character energy and wants to fit in. A number of options will be passed to the C preprocessor cpp or to the linker (done via a call to the c-compiler gcc) in unmodified form. slay.

  • -B path β€” Override the directory prefix where cc1 is looked up with path.
  • -D MACRO, -D MACRO=def β€” Define MACRO with the optional initial definition def. If def is omitted, it defaults to 1.
  • -E β€” Only perform preprocessing, but do not run the compiler. preprocessor girlies stay winning ✨
  • -I path β€” Add path to the include path in which header files are searched.
  • -L path β€” Add path to the library search path, in which the linker will look for libraries.
  • -MD β€” Output dependency information while preprocessing.
  • -MF, file β€” Output dependency information while preprocessing to file.
  • -MP, β€” When the preprocessor should output dependency information, it will generate PHONY targets for each dependency.
  • -MT target β€” When the preprocessor should output dependency information, use target as the dependency rule target.
  • -O level β€” Currently ignored. πŸ™ˆ (yeah, she's just standing there. menacingly. but ignoring you.)
  • -S β€” Output assembly code.
  • -T script β€” Use script as linker script.
  • -U macro β€” Undefine a previously defined macro.
  • -Wl,arg, -Xlinker arg β€” Pass arg to the linker.
  • -b arch β€” Generate code for arch (either i286 or i386). pick your fighter πŸ’–
  • -c β€” Perform compilation, but do not link.
  • -f arg β€” Pass code generation argument arg to the compiler. See the cc1 man page for possible arguments.
  • -m arch β€” Currently ignored. (another one just vibing in the corner πŸ«₯)
  • -nostdlib β€” With this option, the linker will only search for libraries that are passed as command line arguments.
  • -o file β€” Write output to file.
  • -print-libfaucc-file-name β€” Print the full path of the internal compiler library libfaucc.a. queen of knowing where she lives πŸŽ€
  • -static β€” Perform static linking.
  • --freestanding, --no-stack-protector β€” Currently ignored.

🌈 EXAMPLES 🌈

okay so here's how the girlies actually use her:

  1. compile a file, get an object file
faucc -c hello-world.c -o hello-world.o

Compile the program hello-world.c and output the object as hello-wolrd.o.

yes bestie the manual really says hello-wolrd.o up there while the command says hello-world.o. typo spotted, not fixing it, not my business πŸ’€
  1. compile to 16-bit assembly and stop there
faucc -S -b i286 -o test.s test.c

Compile the program test.c to 16 bit code and output the assembly listing to test.s, but do not assemble or link the result yet.


πŸ‘‘ SEE ALSO πŸ‘‘

cc1(1) , cpp(1) , gcc(1) , ld(1)


🫢 CONTACT 🫢

Please report all bugs to FAUcc Team <info@faumachine.org>. FAUcc Homepage[1].


⭐ AUTHOR ⭐

FAUcc Team


Copyright Β© 2009 FAUcc Team. Developed at Friedrich Alexander University Erlangen-Nuremberg.

FAUcc comes with ABSOLUTELY NO WARRANTY. FAUcc is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See COPYING for details.


πŸ’œ NOTES πŸ’œ

  1. FAUcc Homepage http://www.faumachine.org

and that's the whole page bestie, you ate it up fr fr πŸ“βœ¨

cute sign-off time: this was FAUcc Team's manual, dated 02/06/2021, filed under FAUCC(1) in the manual. periodt. πŸ’…πŸ§š

πŸ“¦ where this page comes from