This is a compiler wrapper for DMD that creates executables with a single line. Take the examples programs command:
digc halhello.d / cartoon.d -then=cartoon -windowed -O -release
This first builds halhello.exe using halhello.d as source. The "/" separates programs; they share options. Then it builds cartoon.exe using cartoon.d as source, IF halhello.exe compiled successfully. The "-then" indicates a command to run if all compilation succeeded; in this case it runs the cartoon example.
-windowed compiles these programs as windowed programs; if it's not given, console programs are made instead. You do not need to use "WinMain"; the normal main will work properly.
-O and -release are arguments for DMD; any argument digc doesn't understand is passed along. Note that you don't specify the libraries to use. Instead, digc identifies the necessary libraries automatically, and I'll describe this presently.
To build an executable of a certain name, use "-exe=" followed by the name without extension; for example, "-exe=halhello".
This information is used in later compilations to discover what libraries the executable needs to be linked with. digc does this by searching the files for import statements and seeing whether the import file is mentioned in the registry; if so, it includes the library and its dependencies in the command line.
You can create shared libraries - DLLs in Windows - by adding the "-shared" option. For those who have been doing this before: digc automatically creates a DllMain and exports all public symbols. For those who haven't done it before, it makes the program behave similarly to Linux. However, the main program and each DLL will have their own independent GC, so data can't be shared between them.
1.3.2