[RTL]
[reactos.git] / reactos / tools / sysgen / SysGen.BuildEngine / Backends / Mingw / ModuleHandlers / MingwKernelModeDLLModuleHandler.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 using SysGen.RBuild.Framework;
6
7 namespace SysGen.BuildEngine.Backends
8 {
9 public class MingwKernelModeDLLModuleHandler : MingwRBuildModuleHandler
10 {
11 public MingwKernelModeDLLModuleHandler(RBuildModule module)
12 : base(module)
13 {
14 }
15
16 protected override bool CanCompile(RBuildSourceFile file)
17 {
18 return (file.IsHeader || file.IsC || file.IsCPP || file.IsWindResource || file.IsAssembler || file.IsWidl || file.IsNASM || file.IsWineBuild);
19 }
20
21 protected override void WriteFileBuildInstructions(SourceFile sourceFile)
22 {
23 if (sourceFile.File.IsHeader)
24 {
25 WritePCH(sourceFile);
26 }
27
28 if (sourceFile.File.IsC)
29 {
30 WriteCCompiler(sourceFile);
31 }
32
33 if (sourceFile.File.IsCPP)
34 {
35 WriteCPPCompiler(sourceFile);
36 }
37
38 if (sourceFile.File.IsWindResource)
39 {
40 WriteWindResCompiler(sourceFile);
41 }
42
43 if (sourceFile.File.IsNASM)
44 {
45 WriteNASMCompiler(sourceFile);
46 }
47
48 if (sourceFile.File.IsAssembler)
49 {
50 WriteASMCompiler(sourceFile);
51 }
52
53 if (sourceFile.File.IsWidl)
54 {
55 WriteWIDLHeader(sourceFile);
56 }
57
58 if (sourceFile.File.IsWineBuild)
59 {
60 WriteWineBuild(sourceFile);
61 }
62 }
63
64 protected override string SubSystem
65 {
66 get { return "native"; }
67 }
68 }
69 }