import IlxGen ( ilxGen )
#endif
+#ifdef JAVA
import JavaGen ( javaGen )
import qualified PrintJava
+#endif
import DriverState ( v_HCHeader )
import TyCon ( TyCon )
import CmdLineOpts
import ErrUtils ( dumpIfSet_dyn, showPass )
import Outputable
+import Pretty ( Mode(..), printDoc )
import CmdLineOpts ( DynFlags, HscLang(..), dopt_OutName )
import IOExts
>> 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
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 */
%************************************************************************
\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
-- 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}