diff --git a/templates/vc10.mpd b/templates/vc10.mpd
index 7c4358c2e..ffdf124d6 100644
--- a/templates/vc10.mpd
+++ b/templates/vc10.mpd
@@ -24,16 +24,18 @@
ManagedCProj
v<%TargetFrameworkVersion("4.0")%>
<%else%>
- <%if(UseOfMFC)%>MFCProj<%else%><%platform("Win32")%>Proj<%endif%>
+ <%if(activex)%>MFCActiveXProj<%else%><%if(UseOfMFC)%>MFCProj<%else%><%platform("Win32")%>Proj<%endif%><%endif%>
<%endif%>
<%foreach(platforms)%>
<%foreach(configurations)%>
- <%if(type_is_dynamic)%>DynamicLibrary<%else%><%if(type_is_static && staticname)%>StaticLibrary<%else%><%if(custom_only)%>Utility<%else%><%if(makeoutput)%>Makefile<%else%>Application<%endif%><%endif%><%endif%><%endif%>
+ <%if(type_is_static && staticname)%>StaticLibrary<%else%><%if(type_is_dynamic)%>DynamicLibrary<%else%><%if(custom_only)%>Utility<%else%><%if(makeoutput)%>Makefile<%else%>Application<%endif%><%endif%><%endif%><%endif%>
<%if(UseOfMFC)%>
- <%UseOfMFC%>
+ <%if(compares(UseOfMFC,1))%>Static<%else%><%if(compares(UseOfMFC,2))%>Dynamic<%endif%><%endif%>
+<%else%>
+ false
<%endif%>
<%if(UseOfATL)%>
<%UseOfATL%>
@@ -105,8 +107,12 @@
<%else%>
<%if(!type_is_static)%>
<%if(exename || sharedname || staticname)%>
-<%if(type_is_dynamic && !compares(dll_ext, .dll))%>
- <%dll_ext%>
+<%if(type_is_dynamic && (!compares(dll_ext, .dll) || activex))%>
+<%if(activex)%>
+ .ocx
+<%else%>
+ <%if(!compares(dll_ext, .dll))%><%dll_ext%><%endif%>
+<%endif%>
<%else%>
<%if(!type_is_dynamic && !compares(exe_ext, .exe))%>
<%exe_ext%>
@@ -139,21 +145,7 @@
<%eval(prebuild)%>
<%endif%>
-
- <%foreach(midl_defines)%><%midl_define%>;<%endfor%>%(PreprocessorDefinitions)
- <%foreach(midl_includes)%><%midl_include%>;<%endfor%>%(AdditionalIncludeDirectories)
- <%platform%>
-<%if(midl_notlb)%>
- false
-<%endif%>
- %(Filename).tlb
- %(Filename).h
- %(Filename)_i.c
- %(Filename)_p.c
-<%if(midl_flags)%>
- <%midl_flags%>
-<%endif%>
-
+
<%optimize("Disabled")%>
<%if(InlineFunctionExpansion)%>
@@ -199,7 +191,12 @@
<%if(SmallerTypeCheck)%>
true
<%endif%>
+
+<%if(runtime_library)%>
+ <%if(compares(runtime_library,0))%>MultiThreaded<%else%><%if(compares(runtime_library,1))%>MultiThreadedDebug<%else%><%if(compares(runtime_library,2))%>MultiThreadedDLL<%else%><%if(compares(runtime_library,3))%>MultiThreadedDebugDLL<%endif%><%endif%><%endif%><%endif%>
+<%else%>
<%if(runtime_library)%><%runtime_library%><%else%><%if(type_is_static || need_staticflags)%><%if(debug_prj)%>MultiThreadedDebug<%else%>MultiThreaded<%endif%><%else%><%if(debug_prj)%>MultiThreadedDebugDLL<%else%>MultiThreadedDLL<%endif%><%endif%><%endif%>
+<%endif%>
<%if(StructMemberAlignment)%>
<%StructMemberAlignment%>
<%endif%>
@@ -262,7 +259,8 @@
<%ObjectFileName%>
<%endif%>
<%if(pdbc)%>
- <%if(type_is_static)%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb<%else%><%intermediate_dir%>\<%noextension(project_file)%><%if(output_subdir)%>\<%output_subdir%><%endif%>\<%endif%>
+ <%if(lib_full)%><%lib_full%><%lib_ext%><%else%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endif%>
+ <%if(lib_full)%><%lib_full%>.pdb<%else%><%if(type_is_static)%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb<%else%><%intermediate_dir%>\<%noextension(project_file)%><%if(output_subdir)%>\<%output_subdir%><%endif%>\<%endif%><%endif%>
<%else%>
<%if(ProgramDataBaseFileName)%>
<%ProgramDataBaseFileName%>
@@ -282,7 +280,7 @@
<%endif%>
<%if(compares(warning_level, all))%>EnableAllWarnings<%else%><%if(compares(warning_level, none) || compares(warning_level, 0))%>TurnOffAllWarnings<%else%>Level<%warning_level("3")%><%endif%><%endif%>
<%if(!managed && debug_format)%>
- <%debug_format%>
+ <%if(compares(debug_format, 0))%>None<%else%><%if(compares(debug_format, 1))%>OldStyle<%else%><%if(compares(debug_format, 2))%>ProgramDatabase<%else%><%if(compares(debug_format, 3))%>EditAndContinue<%endif%><%endif%><%endif%><%endif%>
<%endif%>
<%if(CallingConvention)%>
<%CallingConvention%>
@@ -334,6 +332,9 @@
<%endif%>
<%if(compile_flags)%>
<%compile_flags%> %(AdditionalOptions)
+<%endif%>
+<%if(activex)%>
+ true
<%endif%>
@@ -349,9 +350,9 @@
<%if(type_is_static)%>
<%if(staticname)%>
- <%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>
+ <%if(lib_full)%><%lib_full%><%lib_ext%><%else%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endif%>
<%endif%>
- %(AdditionalDependencies)
+ <%foreach(reverse(libs))%><%fornotfirst(";")%><%libname_prefix%><%lib%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endfor%><%foreach(reverse(lit_libs))%>;<%lit_lib%>.lib<%endfor%><%foreach(reverse(pure_libs))%> <%pure_lib%><%endfor%>;%(AdditionalDependencies)
<%foreach(libpaths)%><%libpath%>;<%endfor%>%(AdditionalLibraryDirectories)
<%if(SuppressStartupBanner)%>
true
@@ -415,9 +416,10 @@
<%if(GenerateDebugInformation)%>
<%GenerateDebugInformation%>
<%endif%>
- <%foreach(reverse(libs))%><%libname_prefix%><%lib%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>;<%endfor%><%foreach(reverse(lit_libs))%><%lit_lib%>.lib;<%endfor%><%foreach(reverse(pure_libs))%> <%pure_lib%>;<%endfor%>%(AdditionalDependencies)
+ <%foreach(reverse(libs))%><%fornotfirst(";")%><%libname_prefix%><%lib%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endfor%><%foreach(reverse(lit_libs))%>;<%lit_lib%>.lib<%endfor%><%foreach(reverse(pure_libs))%> <%pure_lib%><%endfor%>;%(AdditionalDependencies)
+ <%foreach(libpaths)%><%libpath%>;<%endfor%>%(AdditionalLibraryDirectories)
<%if(exename || sharedname || staticname)%>
- $(OutDir)<%if(type_is_dynamic)%><%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%else%><%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%><%endif%>
+ $(OutDir)<%if(type_is_dynamic)%><%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%if(activex)%>.ocx<%else%><%dll_ext%><%endif%><%else%><%exename%><%if(use_exe_modifier)%><%exe_modifier%><%endif%><%exe_ext%><%endif%>
<%endif%>
<%if(ShowProgress)%>
<%ShowProgress%>
@@ -626,7 +628,7 @@
<%ImportLibrary%>
<%else%>
<%if(type_is_dynamic && sharedname)%>
- <%libout%>\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>
+ <%if(lib_full)%><%lib_full%><%lib_ext%><%else%><%libout%>\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endif%>
<%endif%>
<%endif%>
<%if(MergeSections)%>
@@ -682,6 +684,26 @@
<%endif%>
<%endif%>
+<%if(activex)%>
+
+ false
+ true
+ <%foreach(midl_defines)%><%midl_define%>;<%endfor%>%(PreprocessorDefinitions)
+ $(IntDir)\<%project_name%>.tlb
+ $(ProjectName)idl.h
+
+<%endif%>
+
+ <%if(unicode)%>UNICODE;_UNICODE;<%endif%><%foreach(defines macros platform_defines)%><%define%>;<%endfor%>%(PreprocessorDefinitions)
+ <%culture("1033")%>
+<%if(activex)%>
+ $(IntDir);<%foreach(includes)%><%include%>;<%endfor%>%(AdditionalIncludeDirectories)
+<%else%>
+ <%foreach(includes)%><%include%>;<%endfor%>%(AdditionalIncludeDirectories)
+<%endif%>
+
+
+
<%if(postbuild)%>
<%eval(postbuild)%>
@@ -708,6 +730,21 @@
<%endfor%>
<%endfor%>
+
+
+<%if(activex)%>
+
+
+
+
+
+
+
+
+
+
+<%endif%>
+
<%if(after && add_references)%>
@@ -801,6 +838,9 @@
<%endif%>
<%if(header_files)%>
+ <%if(pch_header)%>
+
+ <%endif%>
<%foreach(uniq(header_files))%>
<%if(!is_custom_input(header_file))%>
@@ -820,7 +860,7 @@
Invoking "<%if(custom_type->input_file->commands)%><%foreach(custom_type->input_file->commands)%><%custom_type->input_file->command%><%fornotlast(" and ")%><%endfor%><%else%><%if(flag_overrides(custom_type->input_file, command))%><%flag_overrides(custom_type->input_file, command)%><%else%><%custom_type->command%><%endif%><%endif%> on <%custom_type->input_file%>"
<%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>\<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(";")%><%endfor%>
<%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent || custom_type->input_file->dependencies || (!need_staticflags && (flag_overrides(custom_type->input_file, dependent_libs) || custom_type->dependent_libs)))%>
- <%if(flag_overrides(custom_type->input_file, dependent))%><%foreach(dep, flag_overrides(custom_type->input_file, dependent))%><%dep%><%if(!has_extension(dep))%><%exe_ext%><%endif%><%fornotlast(";")%><%endfor%><%else%><%if(custom_type->dependent)%><%foreach(custom_type->dependent)%><%custom_type->dependent%><%if(!has_extension(custom_type->dependent))%><%exe_ext%><%endif%><%fornotlast(";")%><%endfor%><%endif%><%endif%><%foreach(custom_type->input_file->dependencies)%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent)%>;<%else%><%fornotfirst(";")%><%endif%><%custom_type->input_file->dependencie%><%endfor%><%if(!need_staticflags)%><%if(flag_overrides(custom_type->input_file, dependent_libs))%><%foreach(dep_lib, flag_overrides(custom_type->input_file, dependent_libs))%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent || custom_type->input_file->dependencies)%>;<%else%><%fornotfirst(";")%><%endif%><%dirname(dep_lib)%>\<%libname_prefix%><%basename(dep_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%endfor%><%else%><%if(custom_type->dependent_libs)%><%foreach(custom_type->dependent_libs)%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent || custom_type->input_file->dependencies)%>;<%else%><%fornotfirst(";")%><%endif%><%dirname(custom_type->dependent_lib)%>\<%libname_prefix%><%basename(custom_type->dependent_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%endfor%><%endif%><%endif%><%endif%>
+ <%if(flag_overrides(custom_type->input_file, dependent))%><%foreach(dep, flag_overrides(custom_type->input_file, dependent))%><%dep%><%if(!has_extension(dep))%><%exe_ext%><%endif%><%fornotlast(";")%><%endfor%><%else%><%if(custom_type->dependent)%><%foreach(custom_type->dependent)%><%custom_type->dependent%><%if(!has_extension(custom_type->dependent))%><%exe_ext%><%endif%><%fornotlast(";")%><%endfor%><%endif%><%endif%><%foreach(custom_type->input_file->dependencies)%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent)%>;<%else%><%fornotfirst(";")%><%endif%><%custom_type->input_file->dependencie%><%endfor%><%if(!need_staticflags)%><%if(flag_overrides(custom_type->input_file, dependent_libs))%><%foreach(dep_lib, flag_overrides(custom_type->input_file, dependent_libs))%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent || custom_type->input_file->dependencies)%>;<%else%><%fornotfirst(";")%><%endif%><%dirname(dep_lib)%>\<%libname_prefix%><%basename(dep_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%if(activex)%>.ocx<%else%><%dll_ext%><%endif%><%endfor%><%else%><%if(custom_type->dependent_libs)%><%foreach(custom_type->dependent_libs)%><%if(flag_overrides(custom_type->input_file, dependent) || custom_type->dependent || custom_type->input_file->dependencies)%>;<%else%><%fornotfirst(";")%><%endif%><%dirname(custom_type->dependent_lib)%>\<%libname_prefix%><%basename(custom_type->dependent_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%if(activex)%>.ocx<%else%><%dll_ext%><%endif%><%endfor%><%endif%><%endif%><%endif%>
<%endif%>
<%endfor%>
<%endfor%>
diff --git a/templates/vc8.mpd b/templates/vc8.mpd
index a7ad5263b..a30c32569 100644
--- a/templates/vc8.mpd
+++ b/templates/vc8.mpd
@@ -5,7 +5,7 @@
Name="<%project_name%>"
ProjectGUID="{<%guid%>}"
RootNamespace="<%project_name%>"
- Keyword="<%if(UseOfMFC)%>MFCProj<%else%><%platform("Win32")%>Proj<%endif%>"
+ Keyword="<%if(UseOfMFC)%><%if(activex)%>MFCActiveXProj<%else%>MFCProj<%endif%><%else%><%platform("Win32")%>Proj<%endif%>"
SignManifests="true"
>
@@ -80,10 +80,17 @@
<%if(midl_notlb)%>
GenerateTypeLibrary="false"
<%endif%>
+<%if(activex)%>
+ MkTypLibCompatible="false"
+ TypeLibraryName="$(IntDir)/$(InputName).tlb"
+ HeaderFileName="$(ProjectName)idl.h"
+ ValidateParameters="true"
+<%else%>
TypeLibraryName="$(InputName).tlb"
HeaderFileName="$(InputName).h"
InterfaceIdentifierFileName="$(InputName)_i.c"
ProxyFileName="$(InputName)_p.c"
+<%endif%>
/>
<%endfor%>"
Culture="<%culture("1033")%>"
+<%if(activex)%>
+ AdditionalIncludeDirectories="$(IntDir)<%foreach(includes)%><%fornotlast(",")%><%include%><%endfor%>"
+<%else%>
AdditionalIncludeDirectories="<%foreach(includes)%><%include%><%fornotlast(",")%><%endfor%>"
+<%endif%>
/>
Name="VCLinkerTool"
<%if(RegisterOutput)%>
- RegisterOutput="<%RegisterOutput%>"
+ RegisterOutput="<%if(compares(RegisterOutput,1))%>true<%else%>false<%endif%>"
<%endif%>
<%if(IgnoreImportLibrary)%>
IgnoreImportLibrary="<%IgnoreImportLibrary%>"
@@ -323,7 +334,7 @@
AdditionalDependencies="<%foreach(reverse(libs))%><%fornotfirst(" ")%><%libname_prefix%><%lib%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endfor%><%foreach(reverse(lit_libs))%> <%lit_lib%>.lib<%endfor%><%foreach(reverse(pure_libs))%> <%pure_lib%><%endfor%>"
<%endif%>
<%if(exename || sharedname || staticname)%>
- OutputFile="$(OutDir)\<%if(type_is_dynamic)%><%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%else%><%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%><%endif%>"
+ OutputFile="$(OutDir)\<%if(type_is_dynamic)%><%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%if(activex)%>.ocx<%else%><%dll_ext%><%endif%><%else%><%exename%><%if(use_exe_modifier)%><%exe_modifier%><%endif%><%exe_ext%><%endif%>"
<%endif%>
<%if(win_version)%>
Version="<%win_version%>"
@@ -537,7 +548,7 @@
<%endif%>