<?xml version="1.0" encoding="utf-8"?> | |
<Project InitialTargets="PreBuild" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<!-- normalize configuration case --> | |
<PropertyGroup Condition="'$(CONFIGURATION)'=='Release'"> | |
<CONFIG>Production</CONFIG> | |
<DebugSuffix></DebugSuffix> | |
</PropertyGroup> | |
<PropertyGroup Condition="'$(CONFIGURATION)'=='Debug'"> | |
<CONFIG>DebugSuffix</CONFIG> | |
<DebugSuffix>_debug</DebugSuffix> | |
</PropertyGroup> | |
<!-- Wrapper to build JavaScriptCore for both win32 and x64. --> | |
<PropertyGroup> | |
<OFFICIAL_BUILD>1</OFFICIAL_BUILD> | |
<WebKit_Libraries>$(SRCROOT)\AppleInternal</WebKit_Libraries> | |
<WebKit_OutputDir>$(OBJROOT)</WebKit_OutputDir> | |
<AppleInternal>$(DSTROOT)\AppleInternal</AppleInternal> | |
<AppleInternalLib32>$(AppleInternal)\lib32</AppleInternalLib32> | |
<AppleInternalLib64>$(AppleInternal)\lib64</AppleInternalLib64> | |
<AppleInternalBin32>$(AppleInternal)\bin32</AppleInternalBin32> | |
<AppleInternalBin64>$(AppleInternal)\bin64</AppleInternalBin64> | |
<AppleInternal32Symbols>$(AppleInternal)\public32\sym</AppleInternal32Symbols> | |
<AppleInternal64Symbols>$(AppleInternal)\public64\sym</AppleInternal64Symbols> | |
<ProgramFilesAAS32>Program Files (x86)\Common Files\Apple\Apple Application Support</ProgramFilesAAS32> | |
<ProgramFilesAAS64>Program Files\Common Files\Apple\Apple Application Support</ProgramFilesAAS64> | |
<ConfigurationBuildDir>$(OBJROOT)\$(CONFIG)</ConfigurationBuildDir> | |
<OutputDirectory>$(DSTROOT)</OutputDirectory> | |
</PropertyGroup> | |
<ItemGroup> | |
<JavaScriptCore Include="JavaScriptCore.submit.sln"> | |
<AdditionalProperties>Platform=Win32;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)</AdditionalProperties> | |
</JavaScriptCore> | |
<JavaScriptCore Include="JavaScriptCore.submit.sln"> | |
<AdditionalProperties>Platform=x64;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)</AdditionalProperties> | |
</JavaScriptCore> | |
</ItemGroup> | |
<!-- Prepare for build --> | |
<Target Name="PreBuild" BeforeTargets="Build"> | |
<Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> | |
<Error Text="OBJROOT property or environment variable must be defined." Condition="'$(OBJROOT)' == ''" /> | |
<Message Text="Copying necessary headers to $(ConfigurationBuildDir)" /> | |
<MakeDir Directories="$(DSTROOT);$(OBJROOT);$(ConfigurationBuildDir)\include\private" /> | |
<CreateItem Include="$(WebKit_Libraries)\include\private\**\*.*"> | |
<Output TaskParameter="Include" ItemName="PrivateIncFiles" /> | |
</CreateItem> | |
<Copy SourceFiles="@(PrivateIncFiles)" DestinationFiles="@(PrivateIncFiles->'$(ConfigurationBuildDir)\include\private\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
<Message Text="Build output -> $(OBJROOT)" /> | |
<Message Text="Final output -> $(DSTROOT)" /> | |
<MakeDir Directories="$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)" /> | |
<MakeDir Directories="$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources;$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources" /> | |
<MakeDir Directories="$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore;$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore" /> | |
</Target> | |
<!-- Build JavaScriptCore Software --> | |
<Target Name="Build" AfterTargets="PreBuild"> | |
<Message Text="Building $(CONFIGURATION) Solution" /> | |
<Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> | |
<Message Text="Output=$(WebKit_OutputDir)" /> | |
<MSBuild Projects="@(JavaScriptCore)" Properties="Configuration=$(CONFIG)" Targets="Build" /> | |
</Target> | |
<Target Name="PostBuild" AfterTargets="Build"> | |
<Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> | |
<Message Text="Moving $(CONFIG) build results to $(DSTROOT)" /> | |
<!-- Identify the files to copy over --> | |
<CreateItem Include="$(ConfigurationBuildDir)\include\**\*.*"> | |
<Output TaskParameter="Include" ItemName="IncFiles" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin32\*"> | |
<Output TaskParameter="Include" ItemName="Bin32Files" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin64\*"> | |
<Output TaskParameter="Include" ItemName="Bin64Files" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin32\*.pdb"> | |
<Output TaskParameter="Include" ItemName="Bin32SymbolFiles" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin64\*.pdb"> | |
<Output TaskParameter="Include" ItemName="Bin64SymbolFiles" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin32\JavaScriptCore$(DebugSuffix).dll"> | |
<Output TaskParameter="Include" ItemName="Bin32DLLFiles" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin64\JavaScriptCore$(DebugSuffix).dll"> | |
<Output TaskParameter="Include" ItemName="Bin64DLLFiles" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin32\*.resources"> | |
<Output TaskParameter="Include" ItemName="Bin32ResourceFolders" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin64\*.resources"> | |
<Output TaskParameter="Include" ItemName="Bin64ResourceFolders" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin32\JavaScriptCore.resources\**\*.*"> | |
<Output TaskParameter="Include" ItemName="Bin32Resources" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\bin64\JavaScriptCore.resources\**\*.*"> | |
<Output TaskParameter="Include" ItemName="Bin64Resources" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\lib32\*"> | |
<Output TaskParameter="Include" ItemName="Lib32Files" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\lib64\*"> | |
<Output TaskParameter="Include" ItemName="Lib64Files" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\obj32\JavaScriptCore\DerivedSources\**\*.*"> | |
<Output TaskParameter="Include" ItemName="Derived32Sources" /> | |
</CreateItem> | |
<CreateItem Include="$(ConfigurationBuildDir)\obj64\JavaScriptCore\DerivedSources\**\*.*"> | |
<Output TaskParameter="Include" ItemName="Derived64Sources" /> | |
</CreateItem> | |
<Copy SourceFiles="@(IncFiles)" DestinationFiles="@(IncFiles->'$(DSTROOT)\AppleInternal\include\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
<Copy SourceFiles="@(Lib32Files)" DestinationFolder="$(AppleInternalLib32)" /> | |
<Copy SourceFiles="@(Lib64Files)" DestinationFolder="$(AppleInternalLib64)" /> | |
<Copy SourceFiles="@(Bin32Files)" DestinationFolder="$(AppleInternalBin32)" /> | |
<Copy SourceFiles="@(Bin32DLLFiles)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS32)" /> | |
<Copy SourceFiles="@(Bin32ResourceFolders)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS32)" /> | |
<Copy SourceFiles="@(Bin32SymbolFiles)" DestinationFolder="$(AppleInternal32Symbols)" /> | |
<Copy SourceFiles="@(Bin32Resources)" DestinationFiles="@(Bin32Resources->'$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
<Copy SourceFiles="@(Bin64Files)" DestinationFolder="$(AppleInternalBin64)" /> | |
<Copy SourceFiles="@(Bin64DLLFiles)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS64)" /> | |
<Copy SourceFiles="@(Bin64ResourceFolders)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS64)" /> | |
<Copy SourceFiles="@(Bin64SymbolFiles)" DestinationFolder="$(AppleInternal64Symbols)" /> | |
<Copy SourceFiles="@(Bin64Resources)" DestinationFiles="@(Bin64Resources->'$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
<Copy SourceFiles="@(Derived32Sources)" DestinationFiles="@(Derived32Sources->'$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
<Copy SourceFiles="@(Derived64Sources)" DestinationFiles="@(Derived64Sources->'$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')" /> | |
</Target> | |
</Project> | |