The IDL compiler's output normally goes into a .hs file (and
, possibly, a .c file), whose name is derived from the name of
the input files. The -o whale option
overrides the default behaviour and re-directs the output to the file
whale instead.
If you should happen to give more than one input file on the command
line, the use of the -o doesn't make any sense, so please
don't (if you do, it will just be ignored).
On Win32 platforms, the option --output-tlb=foo.tlb
redirects the type library output to the file foo.tlb.
The option --output-h=foo.h tells the compiler to output
any C header file output to file foo.h. The default behaviour
is for the name of the header file to be derived from the name of the
Haskell output file.
The option -odir <dir> prepends the directory
path dir to all output filenames.
Notice that if you invoke the compiler as follows:
exa$ ihc path/to/my.idl
HaskellDirect will output the generated files in the directory
path/to. Should you want to put them in the current
working directory instead, use "-odir .".
The option --output-module=<name> can be used to change
the name of the Haskell module. For instance,
exa$ ihc --hugs path/to/my.idl -o myHugs.hs --output-module=My
the file myHugs.hs, but instead of deriving the name of the
Haskell module from the output filename (MyHugs),
My is used instead.