---
name: "gdmd"
section: "1"
platform: "linux"
package: "gdmd"
version: "2.100+git240529-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gdmd"
---

# gdmd(1)

wrapper script for gdc that emulates the dmd command

## NAME

gdmd - wrapper script for gdc that emulates the dmd command

## SYNOPSIS

**gdmd** files.d *{ -switch }*

## OPTIONS

- 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 -arch option to gdc

- \-c

  compile only, do not link

- \-cov

  do code coverage analysis

- \-D

  generate documentation

- \-Dddocdir

  write documentation file to docdir directory

- \-Dffilename

  write documentation file to filename

- \-d

  allow deprecated features

- \-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 'header' file

- \-Hdhdrdir

  write 'header' file to hdrdir directory

- \-Hffilename

  write '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 linker

- \-lib

  generate library

- \-m...

  pass an -m... option to gdc

- \-man

  open web browser on manual page

- \-map

  generate 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 directory objdir

- \-offilename

  name output file to 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 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

  - \-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

## SEE ALSO

**[gdc(1)](/gdc/1.md)**

## AUTHOR

Copyright

(C) 2007 David Friedman

Maintained by:

(C) 2011 Iain Buclaw
