2 * Copyright (c) 2015, Facebook, Inc.
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.
11 begin library "ROOTPROJECT"
15 ccopt = "-I%{ROOTPROJECT_FULL_SRC_DIR}%/../.."
17 begin library "hh-hhi"
18 requires = [ "hh-globals" "hh-utils" "hh-find" "bigarray" ]
21 "src/hhi/hhi_win32res_stubs.c"
22 "src/hhi/hhi_win32res.ml"
25 if (os_type = "Win32") then {
27 hhi_source = "./hhi.rc"
28 hhi_target = "%{hh-hhi_FULL_DST_DIR}%/hhi_res.o"
29 cclib = [ hhi_target ]
32 sources = [ hhi_source ]
35 "--preprocessor=x86_64-w64-mingw32-gcc.exe"
36 "--preprocessor-arg=-E"
37 "--preprocessor-arg=-xc-header"
38 hhi_source hhi_target }
43 } else if (system = "macosx" && os_type = "Unix") then {
45 "-sectcreate" "-__text" "hhi"
46 "%{ROOTPROJECT_FULL_SRC_DIR}%/bin/hhi.tar.gz"
47 "-framework" "CoreServices"
48 "-framework" "CoreFoundation"
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" ]
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"
101 begin library "hh-server"
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"
109 "src/server/serverEnvBuild.ml"
110 "src/server/serverInit.ml"
111 "src/server/serverMain.ml"
112 "src/server/serverMonitor.ml"
116 begin library "hh-client"
118 "hh-deps" "hh-heap" "hh-parsing"
119 "hh-globals" "hh-search" "hh-stubs"
120 "hh-socket" "hh-server-base"
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"
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" ]
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"
178 begin library "hh-format"
179 requires = [ "hh-typing-base" ]
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"
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" ]
197 "src/hh_single_type_check.ml"
201 begin library "hh-match"
202 requires = [ "hh-parsing" "hh-typing-base" ]
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"
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" ]
221 "src/hh_matcher/test/code_extent_tests.ml"
225 begin program "matcher_test"
226 requires = [ "hh-match" "hh-hhi" ]
228 "src/hh_matcher/test/matcher_test.ml"
232 begin program "patcher_module_test"
233 requires = [ "hh-match" "hh-hhi" ]
235 "src/hh_matcher/test/patcher_module_test.ml"
239 begin program "patcher_api_test"
240 requires = [ "hh-match" "hh-hhi" ]
242 "src/hh_matcher/test/patcher_api_test.ml"
246 begin program "patcher_test"
247 requires = [ "hh-match" "hh-hhi" ]
249 "src/hh_matcher/test/patcher_test.ml"