dsForeigns :: [TypecheckedForeignDecl]
-> DsM (ForeignStubs, [Binding])
+dsForeigns []
+ = returnDs (NoStubs, [])
dsForeigns fos
= foldlDs combine (ForeignStubs empty empty [] [], []) fos
where
\begin{code}
outputC dflags filenm flat_absC
- (stub_h_exists, _) dependencies (ForeignStubs _ _ ffi_decl_headers _ )
+ (stub_h_exists, _) dependencies foreign_stubs
= do dumpIfSet_dyn dflags Opt_D_dump_realC "Real C" (dumpRealC flat_absC)
-- figure out which header files to #include in the generated .hc file:
c_includes <- getPackageCIncludes pkg_configs
let cmdline_includes = cmdlineHcIncludes dflags -- -#include options
+ ffi_decl_headers = case foreign_stubs of
+ NoStubs -> []
+ ForeignStubs _ _ fdhs _ -> fdhs
+
all_headers = c_includes
++ reverse cmdline_includes
++ reverse (map unpackFS ffi_decl_headers)