1@echo off
2
3set PublicHeadersDirectory=%CONFIGURATIONBUILDDIR%\include\JavaScriptCore
4set PrivateHeadersDirectory=%CONFIGURATIONBUILDDIR%\include\private\JavaScriptCore
5set ResourcesDirectory=%CONFIGURATIONBUILDDIR%\bin%PlatformArchitecture%\JavaScriptCore.resources
6set DerivedSourcesDirectory=%CONFIGURATIONBUILDDIR%\obj%PlatformArchitecture%\JavaScriptCore\DerivedSources
7
8if "%1" EQU "clean" goto :clean
9if "%1" EQU "rebuild" call :clean
10
11echo Copying public headers...
12mkdir "%PublicHeadersDirectory%" 2>NUL
13for %%f in (
14    APICast.h
15    APIShims.h
16    JSBase.h
17    JSClassRef.h
18    JSContextRef.h
19    JSContextRefPrivate.h
20	JSCTestRunnerUtils.h
21    JSObjectRef.h
22    JSObjectRefPrivate.h
23    JSRetainPtr.h
24    JSRetainPtr.h
25    JSStringRef.h
26    JSStringRefBSTR.h
27    JSStringRefCF.h
28    JSValueRef.h
29    JSWeakObjectMapRefInternal.h
30    JSWeakObjectMapRefPrivate.h
31    JavaScript.h
32    JavaScriptCore.h
33    OpaqueJSString.h
34    WebKitAvailability.h
35) do (
36    xcopy /y /d ..\API\%%f "%PublicHeadersDirectory%" >NUL
37)
38
39echo Copying private headers...
40mkdir "%PrivateHeadersDirectory%" 2>NUL
41for %%d in (
42    assembler
43    bindings
44    bytecode
45    builtins
46    dfg
47    disassembler
48    heap
49    debugger
50    inspector
51    inspector\agents
52    interpreter
53    jit
54    llint
55    parser
56    profiler
57    replay
58    runtime
59    yarr
60) do (
61    xcopy /y /d ..\%%d\*.h "%PrivateHeadersDirectory%" >NUL
62)
63
64echo Copying Inspector scripts as if they were private headers...
65for %%d in (
66    inspector\scripts
67) do (
68    xcopy /y /d ..\%%d\* "%PrivateHeadersDirectory%" >NUL
69)
70
71echo Copying Inspector generated files as if they were private headers...
72xcopy /y "%DerivedSourcesDirectory%\InspectorJS.json" "%PrivateHeadersDirectory%" >NUL
73xcopy /y "%DerivedSourcesDirectory%\InspectorJSTypeBuilders.h" "%PrivateHeadersDirectory%" >NUL
74xcopy /y "%DerivedSourcesDirectory%\InspectorJSBackendDispatchers.h" "%PrivateHeadersDirectory%" >NUL
75xcopy /y "%DerivedSourcesDirectory%\InspectorJSFrontendDispatchers.h" "%PrivateHeadersDirectory%" >NUL
76xcopy /y "%DerivedSourcesDirectory%\InspectorJSBackendCommands.js" "%PrivateHeadersDirectory%" >NUL
77
78echo Copying Web Replay scripts as if they were private headers...
79for %%d in (
80    replay\scripts
81) do (
82    xcopy /y /d ..\%%d\* "%PrivateHeadersDirectory%" >NUL
83)
84
85echo Copying Web Replay generated headers as if they were private headers...
86xcopy /y "%DerivedSourcesDirectory%\JSReplayInputs.h" "%PrivateHeadersDirectory%" >NUL
87
88echo Copying builtins header as if it were a private header...
89xcopy /y "%DerivedSourcesDirectory%\JSCBuiltins.h" "%PrivateHeadersDirectory%" >NUL
90xcopy /y "%DerivedSourcesDirectory%\Bytecodes.h" "%PrivateHeadersDirectory%" >NUL
91
92echo Copying resources...
93mkdir "%ResourcesDirectory%" 2>NUL
94xcopy /y /d JavaScriptCore.resources\* "%ResourcesDirectory%" >NUL
95
96goto :EOF
97
98:clean
99
100echo Deleting copied files...
101if exist "%PublicHeadersDirectory%" rmdir /s /q "%PublicHeadersDirectory%" >NUL
102if exist "%PrivateHeadersDirectory%" rmdir /s /q "%PrivateHeadersDirectory%" >NUL
103if exist "%ResourcesDirectory%" rmdir /s /q "%ResourcesDirectory%" >NUL
104