1<?xml version="1.0" encoding="utf-8"?> 2<Project InitialTargets="PreBuild" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 4 <!-- normalize configuration case --> 5 <PropertyGroup Condition="'$(CONFIGURATION)'=='Release'"> 6 <CONFIG>Production</CONFIG> 7 </PropertyGroup> 8 <PropertyGroup Condition="'$(CONFIGURATION)'=='Debug'"> 9 <CONFIG>DebugSuffix</CONFIG> 10 </PropertyGroup> 11 12 <!-- Wrapper to build JavaScriptCore for both win32 and x64. --> 13 <PropertyGroup> 14 <OFFICIAL_BUILD>1</OFFICIAL_BUILD> 15 <WebKit_Libraries>$(SRCROOT)\AppleInternal</WebKit_Libraries> 16 <WebKit_OutputDir>$(OBJROOT)</WebKit_OutputDir> 17 <AppleInternal>$(DSTROOT)\AppleInternal</AppleInternal> 18 <AppleInternalLib32>$(AppleInternal)\lib32</AppleInternalLib32> 19 <AppleInternalLib64>$(AppleInternal)\lib64</AppleInternalLib64> 20 <AppleInternalBin32>$(AppleInternal)\bin32</AppleInternalBin32> 21 <AppleInternalBin64>$(AppleInternal)\bin64</AppleInternalBin64> 22 <AppleInternal32Symbols>$(AppleInternal)\public32\sym</AppleInternal32Symbols> 23 <AppleInternal64Symbols>$(AppleInternal)\public64\sym</AppleInternal64Symbols> 24 <ProgramFilesAAS32>Program Files (x86)\Common Files\Apple\Apple Application Support</ProgramFilesAAS32> 25 <ProgramFilesAAS64>Program Files\Common Files\Apple\Apple Application Support</ProgramFilesAAS64> 26 <ConfigurationBuildDir>$(OBJROOT)\$(CONFIG)</ConfigurationBuildDir> 27 <OutputDirectory>$(DSTROOT)</OutputDirectory> 28 </PropertyGroup> 29 30 <ItemGroup> 31 <JavaScriptCore Include="JavaScriptCore.submit.sln"> 32 <AdditionalProperties>Platform=Win32;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)</AdditionalProperties> 33 </JavaScriptCore> 34 <JavaScriptCore Include="JavaScriptCore.submit.sln"> 35 <AdditionalProperties>Platform=x64;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)</AdditionalProperties> 36 </JavaScriptCore> 37 </ItemGroup> 38 39 <!-- Prepare for build --> 40 <Target Name="PreBuild" BeforeTargets="Build"> 41 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> 42 <Error Text="OBJROOT property or environment variable must be defined." Condition="'$(OBJROOT)' == ''" /> 43 <Message Text="Copying necessary headers to $(ConfigurationBuildDir)" /> 44 <MakeDir Directories="$(DSTROOT);$(OBJROOT);$(ConfigurationBuildDir)\include\private" /> 45 46 <CreateItem Include="$(WebKit_Libraries)\include\private\**\*.*"> 47 <Output TaskParameter="Include" ItemName="PrivateIncFiles" /> 48 </CreateItem> 49 50 <Copy SourceFiles="@(PrivateIncFiles)" DestinationFiles="@(PrivateIncFiles->'$(ConfigurationBuildDir)\include\private\%(RecursiveDir)%(Filename)%(Extension)')" /> 51 <Message Text="Build output -> $(OBJROOT)" /> 52 <Message Text="Final output -> $(DSTROOT)" /> 53 <MakeDir Directories="$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)" /> 54 <MakeDir Directories="$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources;$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources" /> 55 <MakeDir Directories="$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore;$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore" /> 56 </Target> 57 58 <!-- Build JavaScriptCore Software --> 59 <Target Name="Build" AfterTargets="PreBuild"> 60 <Message Text="Building $(CONFIGURATION) Solution" /> 61 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> 62 <Message Text="Output=$(WebKit_OutputDir)" /> 63 <MSBuild Projects="@(JavaScriptCore)" Properties="Configuration=$(CONFIG)" Targets="ReBuild" /> 64 </Target> 65 66 <Target Name="PostBuild" AfterTargets="Build"> 67 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" /> 68 <Message Text="Moving $(CONFIG) build results to $(DSTROOT)" /> 69 70 <!-- Identify the files to copy over --> 71 <CreateItem Include="$(ConfigurationBuildDir)\include\**\*.*"> 72 <Output TaskParameter="Include" ItemName="IncFiles" /> 73 </CreateItem> 74 <CreateItem Include="$(ConfigurationBuildDir)\bin32\*"> 75 <Output TaskParameter="Include" ItemName="Bin32Files" /> 76 </CreateItem> 77 <CreateItem Include="$(ConfigurationBuildDir)\bin64\*"> 78 <Output TaskParameter="Include" ItemName="Bin64Files" /> 79 </CreateItem> 80 <CreateItem Include="$(ConfigurationBuildDir)\bin32\*.pdb"> 81 <Output TaskParameter="Include" ItemName="Bin32SymbolFiles" /> 82 </CreateItem> 83 <CreateItem Include="$(ConfigurationBuildDir)\bin64\*.pdb"> 84 <Output TaskParameter="Include" ItemName="Bin64SymbolFiles" /> 85 </CreateItem> 86 <CreateItem Include="$(ConfigurationBuildDir)\bin32\JavaScriptCore.resources\**\*.*"> 87 <Output TaskParameter="Include" ItemName="Bin32Resources" /> 88 </CreateItem> 89 <CreateItem Include="$(ConfigurationBuildDir)\bin64\JavaScriptCore.resources\**\*.*"> 90 <Output TaskParameter="Include" ItemName="Bin64Resources" /> 91 </CreateItem> 92 <CreateItem Include="$(ConfigurationBuildDir)\lib32\*"> 93 <Output TaskParameter="Include" ItemName="Lib32Files" /> 94 </CreateItem> 95 <CreateItem Include="$(ConfigurationBuildDir)\lib64\*"> 96 <Output TaskParameter="Include" ItemName="Lib64Files" /> 97 </CreateItem> 98 <CreateItem Include="$(ConfigurationBuildDir)\obj32\JavaScriptCore\DerivedSources\**\*.*"> 99 <Output TaskParameter="Include" ItemName="Derived32Sources" /> 100 </CreateItem> 101 <CreateItem Include="$(ConfigurationBuildDir)\obj64\JavaScriptCore\DerivedSources\**\*.*"> 102 <Output TaskParameter="Include" ItemName="Derived64Sources" /> 103 </CreateItem> 104 105 <Copy SourceFiles="@(IncFiles)" DestinationFiles="@(IncFiles->'$(DSTROOT)\AppleInternal\include\%(RecursiveDir)%(Filename)%(Extension)')" /> 106 <Copy SourceFiles="@(Lib32Files)" DestinationFolder="$(AppleInternalLib32)" /> 107 <Copy SourceFiles="@(Lib64Files)" DestinationFolder="$(AppleInternalLib64)" /> 108 <Copy SourceFiles="@(Bin32Files)" DestinationFolder="$(AppleInternalBin32)" /> 109 <Copy SourceFiles="@(Bin32Files)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS32)" /> 110 <Copy SourceFiles="@(Bin32SymbolFiles)" DestinationFolder="$(AppleInternal32Symbols)" /> 111 <Copy SourceFiles="@(Bin32Resources)" DestinationFiles="@(Bin32Resources->'$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')" /> 112 <Copy SourceFiles="@(Bin64Files)" DestinationFolder="$(AppleInternalBin64)" /> 113 <Copy SourceFiles="@(Bin64Files)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS64)" /> 114 <Copy SourceFiles="@(Bin64SymbolFiles)" DestinationFolder="$(AppleInternal64Symbols)" /> 115 <Copy SourceFiles="@(Bin64Resources)" DestinationFiles="@(Bin64Resources->'$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')" /> 116 <Copy SourceFiles="@(Derived32Sources)" DestinationFiles="@(Derived32Sources->'$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')" /> 117 <Copy SourceFiles="@(Derived64Sources)" DestinationFiles="@(Derived64Sources->'$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')" /> 118 </Target> 119 120</Project> 121 122