diff options
author | Adam Mitz <mitza-oci@users.noreply.github.com> | 2010-08-30 19:27:46 +0000 |
---|---|---|
committer | Adam Mitz <mitza-oci@users.noreply.github.com> | 2010-08-30 19:27:46 +0000 |
commit | 0fdb82c097151cdb9ec35e235af5a45b42b45493 (patch) | |
tree | 927ca1b56a29eb1c4e322e8c5f678f3cadc28566 | |
parent | c1c69534e864dacd134cc150ce9fcd0e01d08b99 (diff) | |
download | MPC-0fdb82c097151cdb9ec35e235af5a45b42b45493.tar.gz |
ChangeLogTag: Mon Aug 30 19:21:23 UTC 2010 Adam Mitz <mitza@ociweb.com>
-rw-r--r-- | ChangeLog | 27 | ||||
-rw-r--r-- | modules/CDT6ProjectCreator.pm | 5 | ||||
-rw-r--r-- | modules/ProjectCreator.pm | 10 | ||||
-rw-r--r-- | modules/VC10ProjectCreator.pm | 8 | ||||
-rw-r--r-- | templates/nmake.mpd | 58 |
5 files changed, 78 insertions, 30 deletions
@@ -1,3 +1,30 @@ +Mon Aug 30 19:21:23 UTC 2010 Adam Mitz <mitza@ociweb.com> + + * modules/CDT6ProjectCreator.pm: + + Added the ability to override platform auto-detection using an + environment variable. + + * modules/ProjectCreator.pm: + + Added pre_write_output_file() as a hook method that can be overriden + by specific ProjectCreators. + + * modules/VC10ProjectCreator.pm: + + Override pre_write_output_file(), but it doesn't do anything yet. + + * templates/nmake.mpd: + + - Normalized start-of-line whitespace to be a tab for all lines that + start commands (not inline script files). Nmake itself doesn't + care about the start-of-line whitespace but it helps editors. + - Use /GX- to disable /EHsc when managed. + - Generate a unique temp file name instead of always using + tempfile.bat. There appears to be a bug with nmake on some + machines where it still has an open file handle and it's trying to + delete/overwrite the temp file. + Mon Aug 30 15:38:18 UTC 2010 Adam Mitz <mitza@ociweb.com> * config/qt4_gui.mpb: diff --git a/modules/CDT6ProjectCreator.pm b/modules/CDT6ProjectCreator.pm index 118b5dc3..c73c294f 100644 --- a/modules/CDT6ProjectCreator.pm +++ b/modules/CDT6ProjectCreator.pm @@ -56,7 +56,10 @@ sub fill_value { my($self, $name) = @_; if ($name eq 'platforms') { - if ($^O eq 'darwin') { + if (defined $ENV{'MPC_CDT_PLATFORMS'}) { + return $ENV{'MPC_CDT_PLATFORMS'}; + } + elsif ($^O eq 'darwin') { return 'macosx'; } elsif ($^O eq 'MSWin32') { diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm index fbe33455..45231ef1 100644 --- a/modules/ProjectCreator.pm +++ b/modules/ProjectCreator.pm @@ -4760,6 +4760,12 @@ sub write_project { } } + ## Hook for implementing type-specific behavior. + ($status, $error) = $self->pre_write_output_file($webapp); + if (!$status) { + return $status, $error; + } + ## We don't need to pass a file name here. write_output_file() ## will determine the file name for itself. ($status, $error) = $self->write_output_file($webapp); @@ -5567,4 +5573,8 @@ sub warn_useless_project { return 1; } +sub pre_write_output_file { + return 1; +} + 1; diff --git a/modules/VC10ProjectCreator.pm b/modules/VC10ProjectCreator.pm index 11707d73..c5fe6797 100644 --- a/modules/VC10ProjectCreator.pm +++ b/modules/VC10ProjectCreator.pm @@ -83,4 +83,12 @@ sub project_file_name { return $project_file_name; } +sub pre_write_output_file { + my($self, $webapp) = @_; + my $status = 1; + my $error; + + return $status, $error; +} + 1; diff --git a/templates/nmake.mpd b/templates/nmake.mpd index bb173ddf..dd0ac08f 100644 --- a/templates/nmake.mpd +++ b/templates/nmake.mpd @@ -92,34 +92,34 @@ REALCLEAN : CLEAN <%if(pdbl)%> -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb" <%endif%> - -@del /f/q "<%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>" - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>" - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.exp" - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.ilk" + -@del /f/q "<%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.exp" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.ilk" <%else%> <%if(staticname && type_is_dynamic)%> <%if(pdbl || pdbc)%> -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb" <%endif%> - -@del /f/q "<%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>" + -@del /f/q "<%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>" <%endif%> <%endif%> <%if(staticname && type_is_static || !sharedname && type_is_dynamic)%> - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>" - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.exp" - -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.ilk" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.exp" + -@del /f/q "$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.ilk" <%endif%> <%if(pdbc && type_is_static)%> -@del /f/q "<%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb" <%endif%> <%if(exename)%> - -@del /f/q "$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>" - -@del /f/q "$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%>.ilk" + -@del /f/q "$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>" + -@del /f/q "$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%>.ilk" <%endif%> <%foreach(custom_types)%> <%foreach(custom_type->input_files)%> <%foreach(custom_type->input_file->output_files)%> - -@del /f/q "<%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%>" + -@del /f/q "<%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%>" <%endfor%> <%endfor%> <%endfor%> @@ -128,12 +128,12 @@ REALCLEAN : CLEAN <%endif%> "$(INTDIR)" : - if not exist "<%intermediate_dir%>\$(NULL)" mkdir "<%intermediate_dir%>" - if not exist "<%intermediate_dir%>\<%project_name%>\$(NULL)" mkdir "<%intermediate_dir%>\<%project_name%>" - if not exist "$(INTDIR)\$(NULL)" mkdir "$(INTDIR)" + if not exist "<%intermediate_dir%>\$(NULL)" mkdir "<%intermediate_dir%>" + if not exist "<%intermediate_dir%>\<%project_name%>\$(NULL)" mkdir "<%intermediate_dir%>\<%project_name%>" + if not exist "$(INTDIR)\$(NULL)" mkdir "$(INTDIR)" CPP=<%cc("cl.exe")%> -CPP_COMMON=<%if(TreatWChar_tAsBuiltInType)%>/Zc:wchar_t <%endif%>/nologo <%if(add_compile)%><%add_compile%> <%endif%><%if(optimize)%><%optimize_flags("/O2")%><%else%><%debug_flags("/Ob0")%><%endif%> <%compile_flags%><%foreach(DisableSpecificWarnings)%> /wd<%DisableSpecificWarning%><%endfor%><%if(managed)%> /EHsc- /Gm- /clr<%endif%><%if(pdbc)%> /Fd"<%if(type_is_static)%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb<%else%>$(INTDIR)/<%endif%>"<%endif%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines cpu_defines common_defines platform_defines macros)%>/D <%define%> <%endfor%><%if(unicode)%>/D UNICODE /D _UNICODE <%endif%><%if(type_is_dynamic)%><%foreach(dynamicflags)%>/D <%dynamicflag%> <%endfor%><%endif%><%if(need_staticflags)%><%foreach(staticflags)%>/D <%staticflag%> <%endfor%><%endif%><%if(macro_for_lib_modifier)%><%if(use_lib_modifier)%><%if(lib_modifier)%>/D MPC_LIB_MODIFIER=\"<%lib_modifier%>\"<%endif%><%endif%><%endif%> /FD /c +CPP_COMMON=<%if(TreatWChar_tAsBuiltInType)%>/Zc:wchar_t <%endif%>/nologo <%if(add_compile)%><%add_compile%> <%endif%><%if(optimize)%><%optimize_flags("/O2")%><%else%><%debug_flags("/Ob0")%><%endif%> <%compile_flags%><%foreach(DisableSpecificWarnings)%> /wd<%DisableSpecificWarning%><%endfor%><%if(managed)%> /GX- /Gm- /clr<%endif%><%if(pdbc)%> /Fd"<%if(type_is_static)%><%libout%>\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%>.pdb<%else%>$(INTDIR)/<%endif%>"<%endif%> <%foreach(includes)%>/I "<%include%>" <%endfor%><%foreach(defines cpu_defines common_defines platform_defines macros)%>/D <%define%> <%endfor%><%if(unicode)%>/D UNICODE /D _UNICODE <%endif%><%if(type_is_dynamic)%><%foreach(dynamicflags)%>/D <%dynamicflag%> <%endfor%><%endif%><%if(need_staticflags)%><%foreach(staticflags)%>/D <%staticflag%> <%endfor%><%endif%><%if(macro_for_lib_modifier)%><%if(use_lib_modifier)%><%if(lib_modifier)%>/D MPC_LIB_MODIFIER=\"<%lib_modifier%>\"<%endif%><%endif%><%endif%> /FD /c <%if(pch_header)%>CPP_PCH=<%foreach(pch_defines)%>/D <%pch_define%> <%endfor%><%if(pch_source)%>/Yu<%else%>/YX<%endif%>"<%pch_header%>" /Fp"$(INTDIR)\<%transdir(pch_header)%><%basenoextension(pch_header)%>.pch"<%endif%> CPP_PROJ=$(CPP_COMMON) <%if(pch_header)%>$(CPP_PCH) <%endif%>/Fo"<%fo_flag("$(INTDIR)\\\\")%>" @@ -165,12 +165,12 @@ LINK32_OBJS= \ "<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%libname_prefix%><%if(sharedname)%><%sharedname%><%else%><%staticname%><%endif%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%endif%><%if(type_is_static)%>$(OUTDIR)\<%libname_prefix%><%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%><%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%><%endif%>" : $(DEF_FILE) $(LINK32_OBJS) <%if(prelink)%> - <%eval(prelink)%> + <%eval(prelink)%> <%endif%> - $(LINK32) @<< + $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) << - if exist "<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>.manifest<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>.manifest<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>.manifest<%endif%>" mt.exe -manifest "<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>.manifest<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>.manifest<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>.manifest<%endif%>" -outputresource:$@;<%if(type_is_dynamic)%>2<%endif%><%if(exename)%>1<%endif%><%if(type_is_static)%>2<%endif%> + if exist "<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>.manifest<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>.manifest<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>.manifest<%endif%>" mt.exe -manifest "<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>.manifest<%endif%><%if(exename)%>$(INSTALLDIR)\<%exename%><%if(use_exe_modifier)%><%lib_modifier%><%endif%><%exe_ext%>.manifest<%endif%><%if(type_is_static)%>$(OUTDIR)\<%staticname%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%lib_ext%>.manifest<%endif%>" -outputresource:$@;<%if(type_is_dynamic)%>2<%endif%><%if(exename)%>1<%endif%><%if(type_is_static)%>2<%endif%> <%endif%> <%if(prebuild)%> @@ -192,39 +192,39 @@ CLEAN : <%if(exeout)%> "$(INSTALLDIR)" : - if not exist "$(INSTALLDIR)\$(NULL)" mkdir "$(INSTALLDIR)" + if not exist "$(INSTALLDIR)\$(NULL)" mkdir "$(INSTALLDIR)" <%endif%> "$(OUTDIR)" : - if not exist "$(OUTDIR)\$(NULL)" mkdir "$(OUTDIR)" + if not exist "$(OUTDIR)\$(NULL)" mkdir "$(OUTDIR)" .c{$(INTDIR)}.obj:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << .cpp{$(INTDIR)}.obj:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << .cxx{$(INTDIR)}.obj:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << .c{$(INTDIR)}.sbr:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << .cpp{$(INTDIR)}.sbr:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << .cxx{$(INTDIR)}.sbr:: - $(CPP) @<< + $(CPP) @<< $(CPP_PROJ) $< << @@ -247,7 +247,7 @@ CPP_SWITCHES=<%if(TreatWChar_tAsBuiltInType)%>/Zc:wchar_t <%endif%>/nologo <%if( "$(INTDIR)\<%transdir(pch_source)%><%basenoextension(pch_source)%>.obj" "$(INTDIR)\<%transdir(pch_header)%><%basenoextension(pch_header)%>.pch" : $(SOURCE) <%if(transdir(pch_source))%> - @if not exist "$(INTDIR)\<%transdir(pch_source)%>$(NULL)" mkdir "$(INTDIR)\<%transdir(pch_source)%>" + @if not exist "$(INTDIR)\<%transdir(pch_source)%>$(NULL)" mkdir "$(INTDIR)\<%transdir(pch_source)%>" <%endif%> $(CPP) @<< $(CPP_SWITCHES) /Fo"$(INTDIR)\<%transdir(pch_source)%><%basenoextension(pch_source)%>.obj" $(SOURCE) @@ -265,7 +265,7 @@ SOURCE="<%source_file%>" <%if(transdir(source_file))%> @if not exist "$(INTDIR)\<%transdir(source_file)%>$(NULL)" mkdir "$(INTDIR)\<%transdir(source_file)%>" <%endif%> - $(CPP) <%if(pch_header && !flag_overrides(source_file, no_pch))%>$(CPP_PCH) <%endif%>$(CPP_COMMON) <%if(flag_overrides(source_file, buildflags))%><%flag_overrides(source_file, buildflags)%> <%endif%><%if(flag_overrides(source_file, managed))%>/EHsc- /Gm- /clr <%endif%>/Fo"$(INTDIR)\<%transdir(source_file)%><%basenoextension(source_file)%>.obj" $(SOURCE) + $(CPP) <%if(pch_header && !flag_overrides(source_file, no_pch))%>$(CPP_PCH) <%endif%>$(CPP_COMMON) <%if(flag_overrides(source_file, buildflags))%><%flag_overrides(source_file, buildflags)%> <%endif%><%if(flag_overrides(source_file, managed))%>/GX- /Gm- /clr <%endif%>/Fo"$(INTDIR)\<%transdir(source_file)%><%basenoextension(source_file)%>.obj" $(SOURCE) <%endfor%> <%endif%> @@ -281,7 +281,7 @@ SOURCE="<%custom_type->input_file%>" InputPath=<%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%>" <%endfor%>: $(SOURCE) <%foreach(custom_type->input_file->dependencies)%> "<%custom_type->input_file->dependencie%>"<%endfor%><%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%>"<%endfor%><%else%><%if(custom_type->dependent)%><%foreach(custom_type->dependent)%> "<%custom_type->dependent%><%if(!has_extension(custom_type->dependent))%><%exe_ext%><%endif%>"<%endfor%><%endif%><%endif%><%if(!need_staticflags)%><%if(flag_overrides(custom_type->input_file, dependent_libs))%><%foreach(dep_lib, flag_overrides(custom_type->input_file, dependent_libs))%> "<%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)%> "<%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%> - <<tempfile.bat + <<tempfile-<%normalize(platform)%>-<%normalize(configuration)%>-<%normalize(custom_type)%>-<%normalize(custom_type->input_file)%>.bat @echo off <%if(custom_type->libpath)%> PATH=%PATH%;<%custom_type->libpath%> |