Handle modules.
[reactos.git] / reactos / tools / rbuild / backend / mingw / mingw.cpp
1
2 #include "../../pch.h"
3
4 #include "mingw.h"
5
6 using std::string;
7 using std::vector;
8
9 MingwBackend::MingwBackend ( Project& project )
10 : Backend ( project )
11 {
12 }
13
14 void MingwBackend::Process ()
15 {
16 for ( size_t i = 0; i < ProjectNode.modules.size (); i++ )
17 {
18 Module& module = *ProjectNode.modules[i];
19 ProcessModule ( module );
20 }
21 }
22
23 void MingwBackend::ProcessModule ( Module& module )
24 {
25 MingwModuleHandlerList moduleHandlers;
26 GetModuleHandlers ( moduleHandlers );
27 for (size_t i = 0; i < moduleHandlers.size(); i++)
28 {
29 MingwModuleHandler& moduleHandler = *moduleHandlers[i];
30 if (moduleHandler.CanHandleModule ( module ) )
31 {
32 moduleHandler.Process ( module );
33 return;
34 }
35 }
36 }
37
38 void MingwBackend::GetModuleHandlers ( MingwModuleHandlerList& moduleHandlers )
39 {
40 moduleHandlers.push_back ( new MingwKernelModuleHandler () );
41 }