#ifdef JAVA
import JavaGen ( javaGen )
-import OccurAnal ( occurAnalyseBinds )
import qualified PrintJava
import OccurAnal ( occurAnalyseBinds )
#endif
+import Distribution.Package ( showPackageId )
import PprC ( writeCs )
import CmmLint ( cmmLint )
import Packages
-import DriverState ( getExplicitPackagesAnd, getPackageCIncludes )
import DriverUtil ( filenameOf )
import FastString ( unpackFS )
import Cmm ( Cmm )
; showPass dflags "CodeOutput"
; let filenm = dopt_OutName dflags
; stubs_exist <- outputForeignStubs dflags foreign_stubs
- ; case dopt_HscLang dflags of {
+ ; case dopt_HscTarget dflags of {
HscInterpreted -> return ();
HscAsm -> outputAsm dflags filenm flat_abstractC;
HscC -> outputC dflags filenm flat_abstractC stubs_exist
-- * the _stub.h file, if there is one.
--
let packages = dep_pkgs dependencies
- pkg_configs <- getExplicitPackagesAnd packages
- let pkg_names = map name pkg_configs
+ pkg_configs <- getExplicitPackagesAnd dflags packages
+ let pkg_names = map (showPackageId.package) pkg_configs
c_includes <- getPackageCIncludes pkg_configs
let cmdline_includes = cmdlineHcIncludes dflags -- -#include options
"Foreign export header file" stub_h_output_d
-- we need the #includes from the rts package for the stub files
- rts_pkgs <- getPackageDetails [rtsPackage]
- let rts_includes = concatMap mk_include (concatMap c_includes rts_pkgs)
+ let rtsid = rtsPackageId (pkgState dflags)
+ rts_includes
+ | ExtPackage pid <- rtsid =
+ let rts_pkg = getPackageDetails (pkgState dflags) pid in
+ concatMap mk_include (includes rts_pkg)
+ | otherwise = []
mk_include i = "#include \"" ++ i ++ "\"\n"
stub_h_file_exists