jit: irlower-call: Do proper loading in cgCheckRefs to eliminate truncation
[hiphop-php.git] / hphp / hack / build.ocp
blobacdd045daf72e6b7ff6d6dc89fe12fdb93524c7e
1 (**
2  * Copyright (c) 2015, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the "hack" directory of this source tree. An additional grant
7  * of patent rights can be found in the PATENTS file in the same directory.
8  *
9  *)
11 begin library "ROOTPROJECT"
12   files = []
13 end
15 ccopt = "-I%{ROOTPROJECT_FULL_SRC_DIR}%/../.."
17 begin library "hh-hhi"
18   requires = [ "hh-globals" "hh-utils" "hh-find" "bigarray" ]
19   files = [
20     "src/hhi/hhi_elf.c"
21     "src/hhi/hhi_win32res_stubs.c"
22     "src/hhi/hhi_win32res.ml"
23     "src/hhi/hhi.ml"
24   ]
25   if (os_type = "Win32") then {
26     (* Embed resources *)
27     hhi_source = "./hhi.rc"
28     hhi_target = "%{hh-hhi_FULL_DST_DIR}%/hhi_res.o"
29     cclib = [ hhi_target ]
30     build_rules = [
31       hhi_target (
32         sources = [ hhi_source ]
33         commands = [
34           { "windres"
35             "--preprocessor=x86_64-w64-mingw32-gcc.exe"
36             "--preprocessor-arg=-E"
37             "--preprocessor-arg=-xc-header"
38             hhi_source hhi_target }
39         ]
40         build_target = true
41       )
42     ]
43   } else if (system = "macosx" && os_type = "Unix") then {
44     cclib = [
45       "-sectcreate" "-__text" "hhi"
46       "%{ROOTPROJECT_FULL_SRC_DIR}%/bin/hhi.tar.gz"
47       "-framework" "CoreServices"
48       "-framework" "CoreFoundation"
49     ]
50   }
52 end
54 begin library "hh-server-base"
55   requires = [ "hh-third-party" "hh-utils" "hh-typing"  "hh-search"
56                 "hh-stubs" "hh-stubs-ai"  "hh-socket" "hh-dfind" "hh-hhi" ]
57   files = [
58     "src/server/serverFiles.ml"
59     "src/server/serverArgs.ml"
60     "src/server/serverConfig.ml"
61     "src/server/serverEnv.ml"
62     "src/server/serverUtils.ml"
63     "src/server/argumentInfoService.ml"
64     "src/server/autocompleteService.ml"
65     "src/server/fileOutline.ml"
66     "src/server/serverIdeUtils.ml"
67     "src/server/findRefsService.ml"
68     "src/server/fullFidelityParseService.ml"
69     "src/server/identifySymbolService.ml"
70     "src/server/inferAtPosService.ml"
71     "src/server/methodJumps.ml"
72     "src/server/serverArgumentInfo.ml"
73     "src/server/serverAutoComplete.ml"
74     "src/server/serverBuild.ml"
75     "src/server/serverCheckpoint.ml"
76     "src/server/serverColorFile.ml"
77     "src/server/serverCoverageMetric.ml"
78     "src/server/serverError.ml"
79     "src/server/serverFindRefs.ml"
80     "src/server/serverIdentifyFunction.ml"
81     "src/server/serverInferType.ml"
82     "src/server/serverLocalConfig.ml"
83     "src/server/serverLint.ml"
84     "src/server/serverProcessTools.ml"
85     "src/server/serverRefactor.ml"
86     "src/server/serverSearch.ml"
87     "src/server/symbolUtils.ml"
88     "src/server/symbolFunCallService.ml"
89     "src/server/symbolTypeService.ml"
90     "src/server/symbolInfoService.ml"
91     "src/server/serverIdle.ml"
92     "src/server/serverRpc.ml"
93     "src/server/serverCheckUtils.ml"
94     "src/server/serverTypeCheck.ml"
95     "src/server/serverCommand.ml"
96     "src/server/serverConvert.ml"
97     "src/server/serverStamp.ml"
98   ]
99 end
101 begin library "hh-server"
102   requires = [
103     "hh-third-party" "hh-utils" "hh-typing"
104     "hh-search"  "hh-stubs"  "hh-stubs-ai"
105     "hh-socket"  "hh-dfind" "hh-watchman" "hh-server-base"
106     "libancillary"
107   ]
108   files = [
109     "src/server/serverEnvBuild.ml"
110     "src/server/serverInit.ml"
111     "src/server/serverMain.ml"
112     "src/server/serverMonitor.ml"
113   ]
116 begin library "hh-client"
117   requires = [
118     "hh-deps"  "hh-heap"  "hh-parsing"
119     "hh-globals"  "hh-search"  "hh-stubs"
120     "hh-socket"  "hh-server-base"
121   ]
122   files = [
123     "src/client/clientConnectSimple.ml"
124     "src/client/clientStop.ml"
125     "src/client/clientStart.ml"
126     "src/client/clientConnect.ml"
127     "src/client/clientLogCommand.ml"
128     "src/client/clientBuild.ml"
129     "src/client/clientEnv.ml"
130     "src/client/clientCommand.ml"
131     "src/client/clientArgs.ml"
132     "src/client/clientArgumentInfo.ml"
133     "src/client/clientAutocomplete.ml"
134     "src/client/clientCheckStatus.ml"
135     "src/client/colorFile.ml"
136     "src/client/clientColorFile.ml"
137     "src/client/clientCoverageMetric.ml"
138     "src/client/clientFindRefs.ml"
139     "src/client/clientLint.ml"
140     "src/client/clientMethodJumps.ml"
141     "src/client/clientOutline.ml"
142     "src/client/clientRefactor.ml"
143     "src/client/clientSearch.ml"
144     "src/client/clientAiInfo.ml"
145     "src/client/clientSymbolInfo.ml"
146     "src/client/clientFullFidelityParse.ml"
147     "src/client/clientTypeAtPos.ml"
148     "src/client/clientCheck.ml"
149     "src/client/clientRestart.ml"
150   ]
153 begin program "hh_client"
154   requires = [ "hh-client" ]
155   files = [ "src/hh_client.ml" ]
158 begin program "hh_server"
159   requires = [ "hh-server" ]
160   files = [ "src/hh_server.ml" ]
163 begin library "hh-emitter"
164   requires = [ "hh-naming" "hh-typing" ]
166   files = [
167     "src/emitter/emitter_core.ml"
168     "src/emitter/emitter_consts.ml"
169     "src/emitter/emitter_xhp.ml"
170     "src/emitter/emitter_expr.ml"
171     "src/emitter/emitter_lit.ml"
172     "src/emitter/emitter_stmt.ml"
173     "src/emitter/emitter_types.ml"
174     "src/emitter/emitter.ml"
175   ]
178 begin library "hh-format"
179   requires = [ "hh-typing-base" ]
180   files = [
181     "src/diff/parse_diff.ml"
182     "src/stubs/formatEventLogger.ml"
183     "src/format/format_hack.ml"
184     "src/format/format_diff.ml"
185     "src/format/format_mode.ml"
186   ]
189 begin program "hh_format"
190   requires = [ "hh-format" "hh-client" ]
191   files = [ "src/hh_format.ml" ]
194 begin program "hh_single_type_check"
195   requires = [ "hh-client"  "hh-emitter" ]
196   files = [
197     "src/hh_single_type_check.ml"
198   ]
201 begin library "hh-match"
202   requires = [ "hh-parsing" "hh-typing-base" ]
203   files = [
204     "src/hh_matcher/astConstructor.ml"
205     "src/hh_matcher/ast_code_extent.ml"
206     "src/hh_matcher/hh_match_utils.ml"
207     "src/hh_matcher/hh_match_test_utils.ml"
208     "src/hh_matcher/patcher.ml"
209     "src/hh_matcher/matcher.ml"
210   ]
213 begin program "hh_match"
214   requires = [ "hh-match" "hh-client" ]
215   files = [ "src/hh_match.ml" ]
218 begin program "code_extent_tests"
219   requires = [ "hh-match" "hh-hhi" ]
220   files = [
221     "src/hh_matcher/test/code_extent_tests.ml"
222   ]
225 begin program "matcher_test"
226   requires = [ "hh-match" "hh-hhi" ]
227   files = [
228     "src/hh_matcher/test/matcher_test.ml"
229   ]
232 begin program "patcher_module_test"
233   requires = [ "hh-match" "hh-hhi" ]
234   files = [
235     "src/hh_matcher/test/patcher_module_test.ml"
236   ]
239 begin program "patcher_api_test"
240   requires = [ "hh-match" "hh-hhi" ]
241   files = [
242     "src/hh_matcher/test/patcher_api_test.ml"
243   ]
246 begin program "patcher_test"
247   requires = [ "hh-match" "hh-hhi" ]
248   files = [
249     "src/hh_matcher/test/patcher_test.ml"
250   ]