gdmd(1)

πŸŽ€ NAME πŸŽ€

okay so bestie, meet gdmd β€” it's a wrapper script for gdc that emulates the dmd command. that's the whole vibe. she's a translator, a hype-woman, a middle-manager between you and your compiler. πŸ’…

(this page lives in the General Commands Manual, section 1, iykyk.)


✨ SYNOPSIS ✨

gdmd files.d { -switch }

πŸ’– OPTIONS πŸ’–

here's the whole menu, no skips, no cuts, we're eating today πŸ“

  • files.d β€” D source files 🫢
  • files.di β€” D interface files
  • files.o β€” object files to link in
  • files.a β€” library files to link in
  • -arch β€” pass the -arch option to gdc
  • -c β€” compile only, do not link
  • -cov β€” do code coverage analysis
  • -D β€” generate documentation ✨
  • -Dddocdir β€” write the documentation file to the docdir directory
  • -Dffilename β€” write the documentation file to filename
  • -d β€” allow deprecated features (they're deprecated, but ok, go off)
  • -debug β€” compile in debug code
  • -debug=level β€” compile in debug code <= level
  • -debug=ident β€” compile in debug code identified by ident
  • -debuglib=lib β€” debug library to use instead of phobos
  • -defaultlib=lib β€” default library to use instead of phobos
  • -deps=filename β€” write module dependencies to filename
  • -f... β€” pass an -f... option to gdc
  • -fall-sources β€” for every source file, semantically process each file preceding i
  • -framework β€” pass a -framework ... option to gdc
  • -g β€” add symbolic debug info
  • -gs β€” always emit stack frame
  • -H β€” generate a 'header' file
  • -Hdhdrdir β€” write the 'header' file to the hdrdir directory
  • -Hffilename β€” write the 'header' file to filename
  • -Ipath β€” where to look for imports
    • path is a ; separated list of paths. Multiple -I's can be used, and the paths are searched in the same order.
  • -ignore β€” ignore unsupported pragmas πŸ™ˆ
  • -inline β€” do function inlining
  • -Jpath β€” where to look for string imports
  • -Llinkerflag β€” pass linkerflag to the linker
  • -lib β€” generate library
  • -m... β€” pass an -m... option to gdc
  • -man β€” open a web browser on the manual page
  • -map β€” generate a linker .map file
  • -noboundscheck β€” turns off array bounds checking for all functions ⚠️
  • -O β€” optimize πŸ”₯
  • -o- β€” do not write object file
  • -odobjdir β€” write object files to the objdir directory
  • -offilename β€” name the output file filename
  • -op β€” do not strip paths from source file
  • -pipe β€” use pipes instead of intermediate files
  • -profile β€” profile runtime performance
  • -quiet β€” suppress unnecessary error messages 🀫
  • -q,<arg1>[,<arg2>,<arg3>,...] β€” pass the comma-separated arguments to gdc
  • -release β€” compile release version
  • -run β€” run the resulting program, passing args
  • -shared β€” generate shared library (DLL)
  • -unittest β€” compile in unit tests
  • -v β€” verbose
  • -vdmd β€” Print commands executed by this wrapper script
  • --version β€” print compiler version and exit
  • -h|--help β€” Print the usage information and exit
  • -version=level β€” compile in version code >= level
  • version=ident β€” compile in version code identified by ident
  • -vtls β€” list all variables going into thread local storage
  • -w β€” enable warnings
  • -wi β€” enable informational warnings compile in version code identified by ident
  • -X β€” generate JSON file
  • -Xffilename β€” write JSON to filename
not me flagging this but the page literally glues two things together in -wi up there β€” both halves are staying exactly as written, no cap. πŸ’€

🌈 SEE ALSO 🌈


πŸ‘‘ AUTHOR πŸ‘‘

Copyright

(C) 2007 David Friedman

Maintained by:

(C) 2011 Iain Buclaw


and that's the whole page, bestie πŸ¦‹ this was gdmd(1) from the General Commands Manual β€” that bottom-line tag is the source/version marker, so if you see gdmd(1) stamped on it, you know exactly which queen you're reading. slay, go compile something iconic πŸ’œπŸŒΈ