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