mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 07:33:20 +00:00
add a 'unicode' property to modules (not yet supported by mingw, need to add a library for unicode builds some day)
svn path=/trunk/; revision=18633
This commit is contained in:
parent
068ceb8c0f
commit
f7dd935bcd
2 changed files with 26 additions and 2 deletions
|
@ -248,6 +248,23 @@ Module::Module ( const Project& project,
|
||||||
else
|
else
|
||||||
extension = GetDefaultModuleExtension ();
|
extension = GetDefaultModuleExtension ();
|
||||||
|
|
||||||
|
att = moduleNode.GetAttribute ( "unicode", false );
|
||||||
|
if ( att != NULL )
|
||||||
|
{
|
||||||
|
const char* p = att->value.c_str();
|
||||||
|
if ( !stricmp ( p, "true" ) || !stricmp ( p, "yes" ) )
|
||||||
|
isUnicode = true;
|
||||||
|
else if ( !stricmp ( p, "false" ) || !stricmp ( p, "no" ) )
|
||||||
|
isUnicode = false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw InvalidAttributeValueException (
|
||||||
|
moduleNode.location,
|
||||||
|
"unicode",
|
||||||
|
att->value );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
att = moduleNode.GetAttribute ( "entrypoint", false );
|
att = moduleNode.GetAttribute ( "entrypoint", false );
|
||||||
if ( att != NULL )
|
if ( att != NULL )
|
||||||
entrypoint = att->value;
|
entrypoint = att->value;
|
||||||
|
@ -680,9 +697,15 @@ Module::GetDefaultModuleEntrypoint () const
|
||||||
return "_DllMain@12";
|
return "_DllMain@12";
|
||||||
case Win32CUI:
|
case Win32CUI:
|
||||||
case Test:
|
case Test:
|
||||||
return "_mainCRTStartup";
|
if ( isUnicode )
|
||||||
|
return "_wmainCRTStartup";
|
||||||
|
else
|
||||||
|
return "_mainCRTStartup";
|
||||||
case Win32GUI:
|
case Win32GUI:
|
||||||
return "_WinMainCRTStartup";
|
if ( isUnicode )
|
||||||
|
return "_wWinMainCRTStartup";
|
||||||
|
else
|
||||||
|
return "_WinMainCRTStartup";
|
||||||
case KernelModeDriver:
|
case KernelModeDriver:
|
||||||
return "_DriverEntry@8";
|
return "_DriverEntry@8";
|
||||||
case BuildTool:
|
case BuildTool:
|
||||||
|
|
|
@ -222,6 +222,7 @@ public:
|
||||||
ModuleType type;
|
ModuleType type;
|
||||||
ImportLibrary* importLibrary;
|
ImportLibrary* importLibrary;
|
||||||
bool mangledSymbols;
|
bool mangledSymbols;
|
||||||
|
bool isUnicode;
|
||||||
Bootstrap* bootstrap;
|
Bootstrap* bootstrap;
|
||||||
IfableData non_if_data;
|
IfableData non_if_data;
|
||||||
std::vector<Invoke*> invocations;
|
std::vector<Invoke*> invocations;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue