X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FCodeOutput.lhs;h=395341040ac4d17a341714150bddedf36e28c181;hb=53ce311e219dcccf4d205f573c16e23a5c44265e;hp=4f569c799563caa1ee6d19c658f356249f10d319;hpb=9d708897cab4d6a2627363143c92462b16e0fe10;p=ghc-hetmet.git diff --git a/ghc/compiler/main/CodeOutput.lhs b/ghc/compiler/main/CodeOutput.lhs index 4f569c7..3953410 100644 --- a/ghc/compiler/main/CodeOutput.lhs +++ b/ghc/compiler/main/CodeOutput.lhs @@ -17,8 +17,10 @@ import AsmCodeGen ( nativeCodeGen ) import IlxGen ( ilxGen ) #endif +#ifdef JAVA import JavaGen ( javaGen ) import qualified PrintJava +#endif import DriverState ( v_HCHeader ) import TyCon ( TyCon ) @@ -32,6 +34,7 @@ import Module ( Module ) import CmdLineOpts import ErrUtils ( dumpIfSet_dyn, showPass ) import Outputable +import Pretty ( Mode(..), printDoc ) import CmdLineOpts ( DynFlags, HscLang(..), dopt_OutName ) import IOExts @@ -73,8 +76,13 @@ codeOutput dflags mod_name tycons core_binds stg_binds >> return stub_names HscC -> outputC dflags filenm flat_abstractC stub_names >> return stub_names - HscJava -> outputJava dflags filenm mod_name tycons core_binds + HscJava -> +#ifdef JAVA + outputJava dflags filenm mod_name tycons core_binds >> return stub_names +#else + panic "Java support not compiled into this ghc" +#endif HscILX -> #ifdef ILX outputIlx dflags filenm mod_name tycons stg_binds @@ -127,8 +135,9 @@ outputAsm dflags filenm flat_absC let (stix_final, ncg_output_d) = _scc_ "NativeCodeGen" nativeCodeGen flat_absC ncg_uniqs dumpIfSet_dyn dflags Opt_D_dump_stix "Final stix code" stix_final - dumpIfSet_dyn dflags Opt_D_dump_asm "Asm code" ncg_output_d - _scc_ "OutputAsm" doOutput filenm ( \f -> printForAsm f ncg_output_d) + dumpIfSet_dyn dflags Opt_D_dump_asm "Asm code" (docToSDoc ncg_output_d) + _scc_ "OutputAsm" doOutput filenm $ + \f -> printDoc LeftMode f ncg_output_d where #else /* OMIT_NATIVE_CODEGEN */ @@ -147,6 +156,7 @@ outputAsm dflags filenm flat_absC %************************************************************************ \begin{code} +#ifdef JAVA outputJava dflags filenm mod tycons core_binds = doOutput filenm (\ f -> printForUser f alwaysQualify pp_java) -- User style printing for now to keep indentation @@ -155,6 +165,7 @@ outputJava dflags filenm mod tycons core_binds -- Make sure we have up to date dead-var information java_code = javaGen mod [{- Should be imports-}] tycons occ_anal_binds pp_java = PrintJava.compilationUnit java_code +#endif \end{code}