virtual void Process () = 0;\r
virtual std::string TypeSpecificCFlags() { return ""; }\r
virtual std::string TypeSpecificNasmFlags() { return ""; }\r
+ virtual std::string TypeSpecificLinkerFlags() { return ""; }\r
void GenerateInvocations () const;\r
void GenerateCleanTarget () const;\r
static bool ReferenceObjects ( const Module& module );\r
MingwKernelModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
+ std::string TypeSpecificCFlags() { return "-D_SEH_NO_NATIVE_NLG"; }\r
private:\r
void GenerateKernelModuleTarget ();\r
};\r
MingwKernelModeDLLModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
+ std::string TypeSpecificCFlags() { return "-D_SEH_NO_NATIVE_NLG"; }\r
+ std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }\r
private:\r
void GenerateKernelModeDLLModuleTarget ();\r
};\r
MingwKernelModeDriverModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
- std::string TypeSpecificCFlags() { return "-D__NTDRIVER__"; }\r
+ std::string TypeSpecificCFlags() { return "-D__NTDRIVER__ -D_SEH_NO_NATIVE_NLG"; }\r
+ std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }\r
private:\r
void GenerateKernelModeDriverModuleTarget ();\r
};\r
MingwNativeDLLModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
+ std::string TypeSpecificCFlags() { return "-D_SEH_NO_NATIVE_NLG"; }\r
+ std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }\r
private:\r
void GenerateNativeDLLModuleTarget ();\r
};\r
MingwNativeCUIModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
- std::string TypeSpecificCFlags() { return "-D__NTAPP__"; }\r
+ std::string TypeSpecificCFlags() { return "-D__NTAPP__ -D_SEH_NO_NATIVE_NLG"; }\r
+ std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }\r
private:\r
void GenerateNativeCUIModuleTarget ();\r
};\r
MingwBootLoaderModuleHandler ( const Module& module );\r
virtual HostType DefaultHost() { return HostFalse; }\r
virtual void Process ();\r
+ std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }\r
private:\r
void GenerateBootLoaderModuleTarget ();\r
};\r