b60cede211076be4c492c1e959ec9970f7edece1
[cvc5.git] / src / Makefile.am
1 # LIBCVC4_VERSION (-version-info) is in the form current:revision:age
2 #
3 # current -
4 # increment if interfaces have been added, removed or changed
5 # revision -
6 # increment if source code has changed
7 # set to zero if current is incremented
8 # age -
9 # increment if interfaces have been added
10 # set to zero if interfaces have been removed
11 # or changed
12 #
13 LIBCVC4_VERSION = @CVC4_LIBRARY_VERSION@
14
15 AM_CPPFLAGS = \
16 -D__BUILDING_CVC4LIB \
17 -D __STDC_LIMIT_MACROS \
18 -D __STDC_FORMAT_MACROS \
19 -I@builddir@ -I@srcdir@/include -I@srcdir@
20 AM_CXXFLAGS = -Wall -Wno-unknown-pragmas -Wno-parentheses $(FLAG_VISIBILITY_HIDDEN)
21
22 SUBDIRS = lib base options util expr smt_util prop/minisat prop/bvminisat . parser compat bindings main
23 # The THEORIES list has been moved to Makefile.theories
24 include @top_srcdir@/src/Makefile.theories
25
26 lib_LTLIBRARIES = libcvc4.la
27
28 libcvc4_la_LDFLAGS = \
29 -no-undefined \
30 -version-info $(LIBCVC4_VERSION)
31
32 # This "tricks" automake into linking us as a C++ library (rather than
33 # as a C library, which messes up exception handling support)
34 nodist_EXTRA_libcvc4_la_SOURCES = dummy.cpp
35 libcvc4_la_SOURCES = \
36 git_versioninfo.cpp \
37 svn_versioninfo.cpp \
38 context/backtrackable.h \
39 context/cddense_set.h \
40 context/cdhashmap.h \
41 context/cdhashmap_forward.h \
42 context/cdhashset.h \
43 context/cdhashset_forward.h \
44 context/cdinsert_hashmap.h \
45 context/cdinsert_hashmap_forward.h \
46 context/cdlist.h \
47 context/cdlist_forward.h \
48 context/cdmaybe.h \
49 context/cdo.h \
50 context/cdqueue.h \
51 context/cdtrail_hashmap.h \
52 context/cdtrail_hashmap_forward.h \
53 context/cdtrail_queue.h \
54 context/cdvector.h \
55 context/context.cpp \
56 context/context.h \
57 context/context_mm.cpp \
58 context/context_mm.h \
59 decision/decision_attributes.h \
60 decision/decision_engine.cpp \
61 decision/decision_engine.h \
62 decision/decision_strategy.h \
63 decision/justification_heuristic.cpp \
64 decision/justification_heuristic.h \
65 preprocessing/passes/bv_abstraction.cpp \
66 preprocessing/passes/bv_abstraction.h \
67 preprocessing/passes/bv_ackermann.cpp \
68 preprocessing/passes/bv_ackermann.h \
69 preprocessing/passes/bv_gauss.cpp \
70 preprocessing/passes/bv_gauss.h \
71 preprocessing/passes/bv_intro_pow2.cpp \
72 preprocessing/passes/bv_intro_pow2.h \
73 preprocessing/passes/int_to_bv.cpp \
74 preprocessing/passes/int_to_bv.h \
75 preprocessing/passes/pseudo_boolean_processor.cpp \
76 preprocessing/passes/pseudo_boolean_processor.h \
77 preprocessing/passes/bool_to_bv.cpp \
78 preprocessing/passes/bool_to_bv.h \
79 preprocessing/passes/bv_to_bool.cpp \
80 preprocessing/passes/bv_to_bool.h \
81 preprocessing/passes/real_to_int.cpp \
82 preprocessing/passes/real_to_int.h \
83 preprocessing/passes/static_learning.cpp \
84 preprocessing/passes/static_learning.h \
85 preprocessing/passes/symmetry_breaker.cpp \
86 preprocessing/passes/symmetry_breaker.h \
87 preprocessing/passes/symmetry_detect.cpp \
88 preprocessing/passes/symmetry_detect.h \
89 preprocessing/passes/synth_rew_rules.cpp \
90 preprocessing/passes/synth_rew_rules.h \
91 preprocessing/preprocessing_pass.cpp \
92 preprocessing/preprocessing_pass.h \
93 preprocessing/preprocessing_pass_context.cpp \
94 preprocessing/preprocessing_pass_context.h \
95 preprocessing/preprocessing_pass_registry.cpp \
96 preprocessing/preprocessing_pass_registry.h \
97 printer/dagification_visitor.cpp \
98 printer/dagification_visitor.h \
99 printer/printer.cpp \
100 printer/printer.h \
101 printer/sygus_print_callback.cpp \
102 printer/sygus_print_callback.h \
103 printer/ast/ast_printer.cpp \
104 printer/ast/ast_printer.h \
105 printer/cvc/cvc_printer.cpp \
106 printer/cvc/cvc_printer.h \
107 printer/smt2/smt2_printer.cpp \
108 printer/smt2/smt2_printer.h \
109 printer/tptp/tptp_printer.cpp \
110 printer/tptp/tptp_printer.h \
111 proof/arith_proof.cpp \
112 proof/arith_proof.h \
113 proof/array_proof.cpp \
114 proof/array_proof.h \
115 proof/bitvector_proof.cpp \
116 proof/bitvector_proof.h \
117 proof/clause_id.h \
118 proof/cnf_proof.cpp \
119 proof/cnf_proof.h \
120 proof/lemma_proof.cpp \
121 proof/lemma_proof.h \
122 proof/proof.h \
123 proof/proof_manager.cpp \
124 proof/proof_manager.h \
125 proof/proof_output_channel.cpp \
126 proof/proof_output_channel.h \
127 proof/proof_utils.cpp \
128 proof/proof_utils.h \
129 proof/sat_proof.h \
130 proof/sat_proof_implementation.h \
131 proof/simplify_boolean_node.cpp \
132 proof/simplify_boolean_node.h \
133 proof/skolemization_manager.cpp \
134 proof/skolemization_manager.h \
135 proof/theory_proof.cpp \
136 proof/theory_proof.h \
137 proof/uf_proof.cpp \
138 proof/uf_proof.h \
139 proof/unsat_core.cpp \
140 proof/unsat_core.h \
141 prop/cadical.cpp \
142 prop/cadical.h \
143 prop/cnf_stream.cpp \
144 prop/cnf_stream.h \
145 prop/cryptominisat.cpp \
146 prop/cryptominisat.h \
147 prop/prop_engine.cpp \
148 prop/prop_engine.h \
149 prop/registrar.h \
150 prop/sat_solver.h \
151 prop/sat_solver_factory.cpp \
152 prop/sat_solver_factory.h \
153 prop/sat_solver_types.h \
154 prop/theory_proxy.cpp \
155 prop/theory_proxy.h \
156 smt/command.cpp \
157 smt/command.h \
158 smt/command_list.cpp \
159 smt/command_list.h \
160 smt/dump.cpp \
161 smt/dump.h \
162 smt/logic_exception.h \
163 smt/logic_request.cpp \
164 smt/logic_request.h \
165 smt/managed_ostreams.cpp \
166 smt/managed_ostreams.h \
167 smt/model.cpp \
168 smt/model.h \
169 smt/smt_engine.cpp \
170 smt/smt_engine.h \
171 smt/smt_engine_check_proof.cpp \
172 smt/smt_engine_scope.cpp \
173 smt/smt_engine_scope.h \
174 smt/smt_statistics_registry.cpp \
175 smt/smt_statistics_registry.h \
176 smt/term_formula_removal.cpp \
177 smt/term_formula_removal.h \
178 smt/update_ostream.h \
179 theory/assertion.cpp \
180 theory/assertion.h \
181 theory/atom_requests.cpp \
182 theory/atom_requests.h \
183 theory/care_graph.h \
184 theory/evaluator.cpp \
185 theory/evaluator.h \
186 theory/interrupted.h \
187 theory/ite_utilities.cpp \
188 theory/ite_utilities.h \
189 theory/logic_info.cpp \
190 theory/logic_info.h \
191 theory/output_channel.h \
192 theory/quantifiers_engine.cpp \
193 theory/quantifiers_engine.h \
194 theory/rep_set.cpp \
195 theory/rep_set.h \
196 theory/rewriter.cpp \
197 theory/rewriter.h \
198 theory/rewriter_attributes.h \
199 theory/shared_terms_database.cpp \
200 theory/shared_terms_database.h \
201 theory/sort_inference.cpp \
202 theory/sort_inference.h \
203 theory/substitutions.cpp \
204 theory/substitutions.h \
205 theory/term_registration_visitor.cpp \
206 theory/term_registration_visitor.h \
207 theory/theory.cpp \
208 theory/theory.h \
209 theory/theory_engine.cpp \
210 theory/theory_engine.h \
211 theory/theory_model.cpp \
212 theory/theory_model.h \
213 theory/theory_model_builder.cpp \
214 theory/theory_model_builder.h \
215 theory/theory_registrar.h \
216 theory/theory_test_utils.h \
217 theory/type_enumerator.h \
218 theory/type_set.cpp \
219 theory/type_set.h \
220 theory/unconstrained_simplifier.cpp \
221 theory/unconstrained_simplifier.h \
222 theory/valuation.cpp \
223 theory/valuation.h \
224 theory/arith/approx_simplex.cpp \
225 theory/arith/approx_simplex.h \
226 theory/arith/arith_ite_utils.cpp \
227 theory/arith/arith_ite_utils.h \
228 theory/arith/arith_msum.cpp \
229 theory/arith/arith_msum.h \
230 theory/arith/arith_rewriter.cpp \
231 theory/arith/arith_rewriter.h \
232 theory/arith/arith_static_learner.cpp \
233 theory/arith/arith_static_learner.h \
234 theory/arith/arith_utilities.h \
235 theory/arith/arithvar.cpp \
236 theory/arith/arithvar.h \
237 theory/arith/attempt_solution_simplex.cpp \
238 theory/arith/attempt_solution_simplex.h \
239 theory/arith/bound_counts.h \
240 theory/arith/callbacks.cpp \
241 theory/arith/callbacks.h \
242 theory/arith/congruence_manager.cpp \
243 theory/arith/congruence_manager.h \
244 theory/arith/constraint.cpp \
245 theory/arith/constraint.h \
246 theory/arith/constraint_forward.h \
247 theory/arith/cut_log.cpp \
248 theory/arith/cut_log.h \
249 theory/arith/delta_rational.cpp \
250 theory/arith/delta_rational.h \
251 theory/arith/dio_solver.cpp \
252 theory/arith/dio_solver.h \
253 theory/arith/dual_simplex.cpp \
254 theory/arith/dual_simplex.h \
255 theory/arith/error_set.cpp \
256 theory/arith/error_set.h \
257 theory/arith/fc_simplex.cpp \
258 theory/arith/fc_simplex.h \
259 theory/arith/infer_bounds.cpp \
260 theory/arith/infer_bounds.h \
261 theory/arith/linear_equality.cpp \
262 theory/arith/linear_equality.h \
263 theory/arith/matrix.cpp \
264 theory/arith/matrix.h \
265 theory/arith/nonlinear_extension.h \
266 theory/arith/nonlinear_extension.cpp \
267 theory/arith/normal_form.cpp \
268 theory/arith/normal_form.h\
269 theory/arith/partial_model.cpp \
270 theory/arith/partial_model.h \
271 theory/arith/simplex.cpp \
272 theory/arith/simplex.h \
273 theory/arith/simplex_update.cpp \
274 theory/arith/simplex_update.h \
275 theory/arith/soi_simplex.cpp \
276 theory/arith/soi_simplex.h \
277 theory/arith/tableau.cpp \
278 theory/arith/tableau.h \
279 theory/arith/tableau_sizes.cpp \
280 theory/arith/tableau_sizes.h \
281 theory/arith/theory_arith.cpp \
282 theory/arith/theory_arith.h \
283 theory/arith/theory_arith_private.cpp \
284 theory/arith/theory_arith_private.h \
285 theory/arith/theory_arith_private_forward.h \
286 theory/arith/theory_arith_type_rules.h \
287 theory/arith/type_enumerator.h \
288 theory/arrays/array_info.cpp \
289 theory/arrays/array_info.h \
290 theory/arrays/array_proof_reconstruction.cpp \
291 theory/arrays/array_proof_reconstruction.h \
292 theory/arrays/static_fact_manager.cpp \
293 theory/arrays/static_fact_manager.h \
294 theory/arrays/theory_arrays.cpp \
295 theory/arrays/theory_arrays.h \
296 theory/arrays/theory_arrays_rewriter.cpp \
297 theory/arrays/theory_arrays_rewriter.h \
298 theory/arrays/theory_arrays_type_rules.h \
299 theory/arrays/type_enumerator.h \
300 theory/arrays/union_find.cpp \
301 theory/arrays/union_find.h \
302 theory/booleans/circuit_propagator.cpp \
303 theory/booleans/circuit_propagator.h \
304 theory/booleans/theory_bool.cpp \
305 theory/booleans/theory_bool.h \
306 theory/booleans/theory_bool_rewriter.cpp \
307 theory/booleans/theory_bool_rewriter.h \
308 theory/booleans/theory_bool_type_rules.h \
309 theory/booleans/type_enumerator.h \
310 theory/builtin/theory_builtin.cpp \
311 theory/builtin/theory_builtin.h \
312 theory/builtin/theory_builtin_rewriter.cpp \
313 theory/builtin/theory_builtin_rewriter.h \
314 theory/builtin/theory_builtin_type_rules.h \
315 theory/builtin/type_enumerator.cpp \
316 theory/builtin/type_enumerator.h \
317 theory/bv/abstraction.cpp \
318 theory/bv/abstraction.h \
319 theory/bv/bitblast/aig_bitblaster.cpp \
320 theory/bv/bitblast/aig_bitblaster.h \
321 theory/bv/bitblast/bitblast_strategies_template.h \
322 theory/bv/bitblast/bitblast_utils.h \
323 theory/bv/bitblast/bitblaster.h \
324 theory/bv/bitblast/eager_bitblaster.cpp \
325 theory/bv/bitblast/eager_bitblaster.h \
326 theory/bv/bitblast/lazy_bitblaster.cpp \
327 theory/bv/bitblast/lazy_bitblaster.h \
328 theory/bv/bv_eager_solver.cpp \
329 theory/bv/bv_eager_solver.h \
330 theory/bv/bv_inequality_graph.cpp \
331 theory/bv/bv_inequality_graph.h \
332 theory/bv/bv_quick_check.cpp \
333 theory/bv/bv_quick_check.h \
334 theory/bv/bv_subtheory.h \
335 theory/bv/bv_subtheory_algebraic.cpp \
336 theory/bv/bv_subtheory_algebraic.h \
337 theory/bv/bv_subtheory_bitblast.cpp \
338 theory/bv/bv_subtheory_bitblast.h \
339 theory/bv/bv_subtheory_core.cpp \
340 theory/bv/bv_subtheory_core.h \
341 theory/bv/bv_subtheory_inequality.cpp \
342 theory/bv/bv_subtheory_inequality.h \
343 theory/bv/slicer.cpp \
344 theory/bv/slicer.h \
345 theory/bv/theory_bv.cpp \
346 theory/bv/theory_bv.h \
347 theory/bv/theory_bv_rewrite_rules.h \
348 theory/bv/theory_bv_rewrite_rules_constant_evaluation.h \
349 theory/bv/theory_bv_rewrite_rules_core.h \
350 theory/bv/theory_bv_rewrite_rules_normalization.h \
351 theory/bv/theory_bv_rewrite_rules_operator_elimination.h \
352 theory/bv/theory_bv_rewrite_rules_simplification.h \
353 theory/bv/theory_bv_rewriter.cpp \
354 theory/bv/theory_bv_rewriter.h \
355 theory/bv/theory_bv_type_rules.h \
356 theory/bv/theory_bv_utils.cpp \
357 theory/bv/theory_bv_utils.h \
358 theory/bv/type_enumerator.h \
359 theory/datatypes/datatypes_rewriter.cpp \
360 theory/datatypes/datatypes_rewriter.h \
361 theory/datatypes/datatypes_sygus.cpp \
362 theory/datatypes/datatypes_sygus.h \
363 theory/datatypes/theory_datatypes.cpp \
364 theory/datatypes/theory_datatypes.h \
365 theory/datatypes/theory_datatypes_type_rules.h \
366 theory/datatypes/type_enumerator.cpp \
367 theory/datatypes/type_enumerator.h \
368 theory/fp/theory_fp.cpp \
369 theory/fp/theory_fp.h \
370 theory/fp/theory_fp_rewriter.cpp \
371 theory/fp/theory_fp_rewriter.h \
372 theory/fp/theory_fp_type_rules.h \
373 theory/fp/type_enumerator.h \
374 theory/fp/fp_converter.h \
375 theory/fp/fp_converter.cpp \
376 theory/idl/idl_assertion.cpp \
377 theory/idl/idl_assertion.h \
378 theory/idl/idl_assertion_db.cpp \
379 theory/idl/idl_assertion_db.h \
380 theory/idl/idl_model.cpp \
381 theory/idl/idl_model.h \
382 theory/idl/theory_idl.cpp \
383 theory/idl/theory_idl.h \
384 theory/quantifiers/alpha_equivalence.cpp \
385 theory/quantifiers/alpha_equivalence.h \
386 theory/quantifiers/anti_skolem.cpp \
387 theory/quantifiers/anti_skolem.h \
388 theory/quantifiers/bv_inverter.cpp \
389 theory/quantifiers/bv_inverter.h \
390 theory/quantifiers/candidate_rewrite_database.cpp \
391 theory/quantifiers/candidate_rewrite_database.h \
392 theory/quantifiers/cegqi/ceg_instantiator.cpp \
393 theory/quantifiers/cegqi/ceg_instantiator.h \
394 theory/quantifiers/cegqi/ceg_arith_instantiator.cpp \
395 theory/quantifiers/cegqi/ceg_arith_instantiator.h \
396 theory/quantifiers/cegqi/ceg_bv_instantiator.cpp \
397 theory/quantifiers/cegqi/ceg_bv_instantiator.h \
398 theory/quantifiers/cegqi/ceg_dt_instantiator.cpp \
399 theory/quantifiers/cegqi/ceg_dt_instantiator.h \
400 theory/quantifiers/cegqi/ceg_epr_instantiator.cpp \
401 theory/quantifiers/cegqi/ceg_epr_instantiator.h \
402 theory/quantifiers/cegqi/inst_strategy_cbqi.cpp \
403 theory/quantifiers/cegqi/inst_strategy_cbqi.h \
404 theory/quantifiers/conjecture_generator.cpp \
405 theory/quantifiers/conjecture_generator.h \
406 theory/quantifiers/dynamic_rewrite.cpp \
407 theory/quantifiers/dynamic_rewrite.h \
408 theory/quantifiers/ematching/candidate_generator.cpp \
409 theory/quantifiers/ematching/candidate_generator.h \
410 theory/quantifiers/ematching/ho_trigger.cpp \
411 theory/quantifiers/ematching/ho_trigger.h \
412 theory/quantifiers/ematching/inst_match_generator.cpp \
413 theory/quantifiers/ematching/inst_match_generator.h \
414 theory/quantifiers/ematching/inst_strategy_e_matching.cpp \
415 theory/quantifiers/ematching/inst_strategy_e_matching.h \
416 theory/quantifiers/ematching/instantiation_engine.cpp \
417 theory/quantifiers/ematching/instantiation_engine.h \
418 theory/quantifiers/ematching/trigger.cpp \
419 theory/quantifiers/ematching/trigger.h \
420 theory/quantifiers/equality_query.cpp \
421 theory/quantifiers/equality_query.h \
422 theory/quantifiers/equality_infer.cpp \
423 theory/quantifiers/equality_infer.h \
424 theory/quantifiers/extended_rewrite.cpp \
425 theory/quantifiers/extended_rewrite.h \
426 theory/quantifiers/first_order_model.cpp \
427 theory/quantifiers/first_order_model.h \
428 theory/quantifiers/fmf/ambqi_builder.cpp \
429 theory/quantifiers/fmf/ambqi_builder.h \
430 theory/quantifiers/fmf/bounded_integers.cpp \
431 theory/quantifiers/fmf/bounded_integers.h \
432 theory/quantifiers/fmf/full_model_check.cpp \
433 theory/quantifiers/fmf/full_model_check.h \
434 theory/quantifiers/fmf/model_builder.cpp \
435 theory/quantifiers/fmf/model_builder.h \
436 theory/quantifiers/fmf/model_engine.cpp \
437 theory/quantifiers/fmf/model_engine.h \
438 theory/quantifiers/fun_def_process.cpp \
439 theory/quantifiers/fun_def_process.h \
440 theory/quantifiers/global_negate.cpp \
441 theory/quantifiers/global_negate.h \
442 theory/quantifiers/instantiate.cpp \
443 theory/quantifiers/instantiate.h \
444 theory/quantifiers/inst_match.cpp \
445 theory/quantifiers/inst_match.h \
446 theory/quantifiers/inst_match_trie.cpp \
447 theory/quantifiers/inst_match_trie.h \
448 theory/quantifiers/inst_propagator.cpp \
449 theory/quantifiers/inst_propagator.h \
450 theory/quantifiers/inst_strategy_enumerative.cpp \
451 theory/quantifiers/inst_strategy_enumerative.h \
452 theory/quantifiers/lazy_trie.cpp \
453 theory/quantifiers/lazy_trie.h \
454 theory/quantifiers/local_theory_ext.cpp \
455 theory/quantifiers/local_theory_ext.h \
456 theory/quantifiers/macros.cpp \
457 theory/quantifiers/macros.h \
458 theory/quantifiers/quant_conflict_find.cpp \
459 theory/quantifiers/quant_conflict_find.h \
460 theory/quantifiers/quant_epr.cpp \
461 theory/quantifiers/quant_epr.h \
462 theory/quantifiers/quant_relevance.cpp \
463 theory/quantifiers/quant_relevance.h \
464 theory/quantifiers/quant_split.cpp \
465 theory/quantifiers/quant_split.h \
466 theory/quantifiers/quant_util.cpp \
467 theory/quantifiers/quant_util.h \
468 theory/quantifiers/quantifiers_attributes.cpp \
469 theory/quantifiers/quantifiers_attributes.h \
470 theory/quantifiers/quantifiers_rewriter.cpp \
471 theory/quantifiers/quantifiers_rewriter.h \
472 theory/quantifiers/relevant_domain.cpp \
473 theory/quantifiers/relevant_domain.h \
474 theory/quantifiers/rewrite_engine.cpp \
475 theory/quantifiers/rewrite_engine.h \
476 theory/quantifiers/single_inv_partition.cpp \
477 theory/quantifiers/single_inv_partition.h \
478 theory/quantifiers/skolemize.cpp \
479 theory/quantifiers/skolemize.h \
480 theory/quantifiers/sygus/cegis.cpp \
481 theory/quantifiers/sygus/cegis.h \
482 theory/quantifiers/sygus/cegis_unif.cpp \
483 theory/quantifiers/sygus/cegis_unif.h \
484 theory/quantifiers/sygus/ce_guided_conjecture.cpp \
485 theory/quantifiers/sygus/ce_guided_conjecture.h \
486 theory/quantifiers/sygus/ce_guided_instantiation.cpp \
487 theory/quantifiers/sygus/ce_guided_instantiation.h \
488 theory/quantifiers/sygus/ce_guided_single_inv.cpp \
489 theory/quantifiers/sygus/ce_guided_single_inv.h \
490 theory/quantifiers/sygus/sygus_pbe.cpp \
491 theory/quantifiers/sygus/sygus_pbe.h \
492 theory/quantifiers/sygus/ce_guided_single_inv_sol.cpp \
493 theory/quantifiers/sygus/ce_guided_single_inv_sol.h \
494 theory/quantifiers/sygus/sygus_eval_unfold.cpp \
495 theory/quantifiers/sygus/sygus_eval_unfold.h \
496 theory/quantifiers/sygus/sygus_explain.cpp \
497 theory/quantifiers/sygus/sygus_explain.h \
498 theory/quantifiers/sygus/sygus_invariance.cpp \
499 theory/quantifiers/sygus/sygus_invariance.h \
500 theory/quantifiers/sygus/sygus_grammar_cons.cpp \
501 theory/quantifiers/sygus/sygus_grammar_cons.h \
502 theory/quantifiers/sygus/sygus_grammar_norm.cpp \
503 theory/quantifiers/sygus/sygus_grammar_norm.h \
504 theory/quantifiers/sygus/sygus_grammar_red.cpp \
505 theory/quantifiers/sygus/sygus_grammar_red.h \
506 theory/quantifiers/sygus/sygus_module.cpp \
507 theory/quantifiers/sygus/sygus_module.h \
508 theory/quantifiers/sygus/sygus_process_conj.cpp \
509 theory/quantifiers/sygus/sygus_process_conj.h \
510 theory/quantifiers/sygus/sygus_repair_const.cpp \
511 theory/quantifiers/sygus/sygus_repair_const.h \
512 theory/quantifiers/sygus/sygus_unif.cpp \
513 theory/quantifiers/sygus/sygus_unif.h \
514 theory/quantifiers/sygus/sygus_unif_io.cpp \
515 theory/quantifiers/sygus/sygus_unif_io.h \
516 theory/quantifiers/sygus/sygus_unif_rl.cpp \
517 theory/quantifiers/sygus/sygus_unif_rl.h \
518 theory/quantifiers/sygus/sygus_unif_strat.cpp \
519 theory/quantifiers/sygus/sygus_unif_strat.h \
520 theory/quantifiers/sygus/term_database_sygus.cpp \
521 theory/quantifiers/sygus/term_database_sygus.h \
522 theory/quantifiers/sygus_inference.cpp \
523 theory/quantifiers/sygus_inference.h \
524 theory/quantifiers/sygus_sampler.cpp \
525 theory/quantifiers/sygus_sampler.h \
526 theory/quantifiers/term_database.cpp \
527 theory/quantifiers/term_database.h \
528 theory/quantifiers/term_enumeration.cpp \
529 theory/quantifiers/term_enumeration.h \
530 theory/quantifiers/term_util.cpp \
531 theory/quantifiers/term_util.h \
532 theory/quantifiers/theory_quantifiers.cpp \
533 theory/quantifiers/theory_quantifiers.h \
534 theory/quantifiers/theory_quantifiers_type_rules.h \
535 theory/sep/theory_sep.cpp \
536 theory/sep/theory_sep.h \
537 theory/sep/theory_sep_rewriter.cpp \
538 theory/sep/theory_sep_rewriter.h \
539 theory/sep/theory_sep_type_rules.h \
540 theory/sets/normal_form.h \
541 theory/sets/rels_utils.h \
542 theory/sets/theory_sets.cpp \
543 theory/sets/theory_sets.h \
544 theory/sets/theory_sets_private.cpp \
545 theory/sets/theory_sets_private.h \
546 theory/sets/theory_sets_rels.cpp \
547 theory/sets/theory_sets_rels.h \
548 theory/sets/theory_sets_rewriter.cpp \
549 theory/sets/theory_sets_rewriter.h \
550 theory/sets/theory_sets_type_enumerator.h \
551 theory/sets/theory_sets_type_rules.h \
552 theory/strings/regexp_operation.cpp \
553 theory/strings/regexp_operation.h \
554 theory/strings/theory_strings.cpp \
555 theory/strings/theory_strings.h \
556 theory/strings/theory_strings_preprocess.cpp \
557 theory/strings/theory_strings_preprocess.h \
558 theory/strings/theory_strings_rewriter.cpp \
559 theory/strings/theory_strings_rewriter.h \
560 theory/strings/theory_strings_type_rules.h \
561 theory/strings/type_enumerator.h \
562 theory/uf/equality_engine.cpp \
563 theory/uf/equality_engine.h \
564 theory/uf/equality_engine_types.h \
565 theory/uf/symmetry_breaker.cpp \
566 theory/uf/symmetry_breaker.h \
567 theory/uf/theory_uf.cpp \
568 theory/uf/theory_uf.h \
569 theory/uf/theory_uf_model.cpp \
570 theory/uf/theory_uf_model.h \
571 theory/uf/theory_uf_rewriter.h \
572 theory/uf/theory_uf_strong_solver.cpp \
573 theory/uf/theory_uf_strong_solver.h \
574 theory/uf/theory_uf_type_rules.h
575
576 nodist_libcvc4_la_SOURCES = \
577 theory/rewriter_tables.h \
578 theory/theory_traits.h \
579 theory/type_enumerator.cpp
580
581 libcvc4_la_LIBADD = \
582 @builddir@/base/libbase.la \
583 @builddir@/options/liboptions.la \
584 @builddir@/util/libutil.la \
585 @builddir@/expr/libexpr.la \
586 @builddir@/smt_util/libsmtutil.la \
587 @builddir@/prop/minisat/libminisat.la \
588 @builddir@/prop/bvminisat/libbvminisat.la
589 if CVC4_PROOF
590 libcvc4_la_LIBADD += \
591 @top_builddir@/proofs/signatures/libsignatures.la
592 endif
593
594 libcvc4_la_LIBADD += \
595 @builddir@/lib/libreplacements.la
596
597 if CVC4_USE_GLPK
598 libcvc4_la_LIBADD += $(GLPK_LIBS)
599 libcvc4_la_LDFLAGS += $(GLPK_LDFLAGS)
600 endif
601
602 if CVC4_USE_ABC
603 libcvc4_la_LIBADD += $(ABC_LIBS)
604 libcvc4_la_LDFLAGS += $(ABC_LDFLAGS)
605 endif
606
607 if CVC4_USE_CADICAL
608 libcvc4_la_LIBADD += $(CADICAL_LIBS)
609 libcvc4_la_LDFLAGS += $(CADICAL_LDFLAGS)
610 endif
611
612 if CVC4_USE_CRYPTOMINISAT
613 libcvc4_la_LIBADD += $(CRYPTOMINISAT_LIBS)
614 libcvc4_la_LDFLAGS += $(CRYPTOMINISAT_LDFLAGS)
615 endif
616
617 if CVC4_USE_LFSC
618 libcvc4_la_LIBADD += $(LFSC_LIBS)
619 libcvc4_la_LDFLAGS += $(LFSC_LDFLAGS)
620 endif
621
622
623
624 BUILT_SOURCES = \
625 theory/rewriter_tables.h \
626 theory/theory_traits.h \
627 theory/type_enumerator.cpp \
628 $(top_builddir)/src/.subdirs
629
630 CLEANFILES = \
631 svn_versioninfo.cpp \
632 svninfo.tmp \
633 svninfo \
634 git_versioninfo.cpp \
635 gitinfo.tmp \
636 gitinfo \
637 theory/rewriter_tables.h \
638 theory/theory_traits.h \
639 theory/type_enumerator.cpp \
640 $(top_builddir)/src/.subdirs
641
642 EXTRA_DIST = \
643 Makefile.theories \
644 cvc4.i \
645 include/cvc4.h \
646 include/cvc4_private.h \
647 include/cvc4_private_library.h \
648 include/cvc4_public.h \
649 include/cvc4parser_private.h \
650 include/cvc4parser_public.h \
651 mksubdirs \
652 smt/command.i \
653 smt/logic_exception.i \
654 smt/smt_engine.i \
655 proof/unsat_core.i \
656 theory/arith/kinds \
657 theory/arrays/kinds \
658 theory/booleans/kinds \
659 theory/builtin/kinds \
660 theory/bv/kinds \
661 theory/datatypes/kinds \
662 theory/example/ecdata.cpp \
663 theory/example/ecdata.h \
664 theory/example/theory_uf_tim.cpp \
665 theory/example/theory_uf_tim.h \
666 theory/fp/kinds \
667 theory/idl/kinds \
668 theory/logic_info.i \
669 theory/mkrewriter \
670 theory/mktheorytraits \
671 theory/quantifiers/kinds \
672 theory/rewriter_tables_template.h \
673 theory/sep/kinds \
674 theory/sets/kinds \
675 theory/strings/kinds \
676 theory/theory_traits_template.h \
677 theory/type_enumerator_template.cpp \
678 theory/uf/kinds
679
680 svn_versioninfo.cpp: svninfo
681 $(AM_V_GEN)( \
682 if test -s svninfo; then \
683 issvn=true; \
684 branch=`grep '^URL: ' svninfo | sed 's,.*/cvc4/,,'`; \
685 rev=`grep '^Revision: ' svninfo | awk '{print$$2}'`; \
686 mods=`grep '^Modifications: ' svninfo | awk '{print$$2} END { if(!NR) print "false" }'`; \
687 else \
688 issvn=false; \
689 branch=unknown; \
690 rev=0; \
691 mods=false; \
692 fi; \
693 echo "#include \"base/configuration.h\""; \
694 echo "const bool ::CVC4::Configuration::IS_SUBVERSION_BUILD = $$issvn;"; \
695 echo "const char* const ::CVC4::Configuration::SUBVERSION_BRANCH_NAME = \"$$branch\";"; \
696 echo "const unsigned ::CVC4::Configuration::SUBVERSION_REVISION = $$rev;"; \
697 echo "const bool ::CVC4::Configuration::SUBVERSION_HAS_MODIFICATIONS = $$mods;"; \
698 ) >"$@"
699 # This .tmp business is to keep from having to re-compile options.cpp
700 # (and then re-link the libraries) if nothing has changed.
701 svninfo: svninfo.tmp
702 $(AM_V_GEN)if diff -q svninfo.tmp svninfo &>/dev/null; then rm -f svninfo.tmp; else mv svninfo.tmp svninfo; fi
703 # .PHONY ensures the .tmp version is always rebuilt (to check for any changes)
704 .PHONY: svninfo.tmp
705 svninfo.tmp:
706 $(AM_V_GEN)(cd "$(top_srcdir)" && svn info && echo "Modifications: `test -z \"\`svn status -q\`\" && echo false || echo true`") >"$@" 2>/dev/null || true
707
708 git_versioninfo.cpp: gitinfo
709 $(AM_V_GEN)( \
710 if test -s gitinfo; then \
711 isgit=true; \
712 branch=`head -1 gitinfo`; \
713 rev=`head -2 gitinfo | tail -1 | awk '{print$$1}'`; \
714 mods=`grep '^Modifications: ' gitinfo | awk '{print$$2} END { if(!NR) print "false" }'`; \
715 else \
716 isgit=false; \
717 branch=unknown; \
718 rev=unknown; \
719 mods=false; \
720 fi; \
721 echo "#include \"base/configuration.h\""; \
722 echo "const bool ::CVC4::Configuration::IS_GIT_BUILD = $$isgit;"; \
723 echo "const char* const ::CVC4::Configuration::GIT_BRANCH_NAME = \"$$branch\";"; \
724 echo "const char* const ::CVC4::Configuration::GIT_COMMIT = \"$$rev\";"; \
725 echo "const bool ::CVC4::Configuration::GIT_HAS_MODIFICATIONS = $$mods;"; \
726 ) >"$@"
727 # This .tmp business is to keep from having to re-compile options.cpp
728 # (and then re-link the libraries) if nothing has changed.
729 gitinfo: gitinfo.tmp
730 $(AM_V_GEN)if diff -q gitinfo.tmp gitinfo &>/dev/null; then rm -f gitinfo.tmp; else mv gitinfo.tmp gitinfo; fi || true
731 # .PHONY ensures the .tmp version is always rebuilt (to check for any changes)
732 .PHONY: gitinfo.tmp
733 gitinfo.tmp:
734 $(AM_V_GEN)(cd "$(top_srcdir)"; if test -e .git/HEAD; then if ! grep -q '^ref: refs/heads/' .git/HEAD; then echo; fi; sed 's,^ref: refs/heads/,,' .git/HEAD; git show-ref refs/heads/`sed 's,^ref: refs/heads/,,' .git/HEAD`; echo "Modifications: `test -z \"\`git status -s -uno\`\" && echo false || echo true`"; fi) >"$@" 2>/dev/null || true
735
736 install-data-local:
737 (echo include/cvc4.h; \
738 echo include/cvc4_public.h; \
739 echo include/cvc4parser_public.h; \
740 echo util/floatingpoint.h; \
741 echo util/integer.h; \
742 echo util/rational.h; \
743 find * -name '*.h' | \
744 xargs grep -l '^# *include *"cvc4.*_public\.h"'; \
745 (cd "$(srcdir)" && find * -name '*.h' | \
746 xargs grep -l '^# *include *"cvc4.*_public\.h"')) | \
747 while read f; do \
748 if expr "$$f" : ".*_\(template\|private\|private_library\|test_utils\)\.h$$" &>/dev/null; then \
749 continue; \
750 fi; \
751 d="$$(echo "$$f" | sed 's,^include/,,')"; \
752 $(mkinstalldirs) "$$(dirname "$(DESTDIR)$(includedir)/cvc4/$$d")"; \
753 if [ -e "$$f" ]; then \
754 path="$$f"; \
755 else \
756 path="$(srcdir)/$$f"; \
757 fi; \
758 fixpath="$(top_builddir)/header_install.fix"; \
759 sed 's,^\([ \t]*#[ \t]*include[ \t*]\)"\(.*\)"\([ \t]*\)$$,\1<cvc4/\2>\3,' "$$path" > "$$fixpath" || exit 1; \
760 echo $(INSTALL_DATA) "$$fixpath" "$(DESTDIR)$(includedir)/cvc4/$$d"; \
761 if $(INSTALL_DATA) "$$fixpath" "$(DESTDIR)$(includedir)/cvc4/$$d"; then \
762 rm -f "$$fixpath"; \
763 else \
764 rm -f "$$fixpath"; \
765 exit 1; \
766 fi; \
767 done
768
769 uninstall-local:
770 -(echo include/cvc4.h; \
771 echo include/cvc4_public.h; \
772 echo include/cvc4parser_public.h; \
773 echo util/floatingpoint.h; \
774 echo util/integer.h; \
775 echo util/rational.h; \
776 find * -name '*.h' | \
777 xargs grep -l '^# *include *"cvc4.*_public\.h"'; \
778 (cd "$(srcdir)" && find * -name '*.h' | \
779 xargs grep -l '^# *include *"cvc4.*_public\.h"')) | \
780 while read f; do \
781 if expr "$$f" : ".*_\(template\|private\|private_library\|test_utils\)\.h$$" &>/dev/null; then \
782 continue; \
783 fi; \
784 d="$$(echo "$$f" | sed 's,^include/,,')"; \
785 rm -f "$(DESTDIR)$(includedir)/cvc4/$$d"; \
786 done
787 -rmdir "$(DESTDIR)$(includedir)/cvc4/bindings/compat"
788 -rmdir "$(DESTDIR)$(includedir)/cvc4/bindings"
789 -rmdir "$(DESTDIR)$(includedir)/cvc4"
790 -rmdir "$(DESTDIR)$(libdir)/ocaml/cvc4"
791
792 # This rule is ugly. It's needed to ensure that automake's dependence
793 # includes are available during distclean, even though they come from
794 # directories that are cleaned first. Without this rule, "distclean"
795 # fails.
796 %.Plo:; $(MKDIR_P) "$(dir $@)" && : > "$@"
797
798 #include @top_srcdir@/src/theory/Makefile.subdirs
799 $(top_builddir)/src/.subdirs: $(top_srcdir)/src/Makefile.theories @top_srcdir@/src/mksubdirs
800 $(AM_V_at)test -d $(top_builddir)/src || mkdir $(top_builddir)/src
801 $(AM_V_at)chmod +x @top_srcdir@/src/mksubdirs
802 $(AM_V_at)( @top_srcdir@/src/mksubdirs "$(top_srcdir)" ) > $(top_builddir)/src/.subdirs.tmp
803 @if ! diff -q $(top_builddir)/src/.subdirs $(top_builddir)/src/.subdirs.tmp &>/dev/null; then \
804 echo " GEN " $@; \
805 $(am__mv) $(top_builddir)/src/.subdirs.tmp $(top_builddir)/src/.subdirs; \
806 fi
807
808 theory/rewriter_tables.h: theory/rewriter_tables_template.h theory/mkrewriter @top_builddir@/src/.subdirs @top_srcdir@/src/theory/*/kinds
809 $(AM_V_at)test -d $(top_builddir)/src/theory || mkdir -p @top_builddir@/src/theory
810 $(AM_V_at)chmod +x @srcdir@/theory/mkrewriter
811 $(AM_V_at)$(am__mv) $@ $@~ 2>/dev/null || true
812 $(AM_V_GEN)(@srcdir@/theory/mkrewriter \
813 $< \
814 `cat @top_builddir@/src/.subdirs` \
815 > $@) || (rm -f $@ && exit 1)
816
817 theory/theory_traits.h: theory/theory_traits_template.h theory/mktheorytraits @top_builddir@/src/.subdirs @top_srcdir@/src/theory/*/kinds
818 $(AM_V_at)test -d $(top_builddir)/src/theory || mkdir -p @top_builddir@/src/theory
819 $(AM_V_at)chmod +x @srcdir@/theory/mktheorytraits
820 $(AM_V_at)$(am__mv) $@ $@~ 2>/dev/null || true
821 $(AM_V_GEN)(@srcdir@/theory/mktheorytraits \
822 $< \
823 `cat @top_builddir@/src/.subdirs` \
824 > $@) || (rm -f $@ && exit 1)
825
826 theory/type_enumerator.cpp: theory/type_enumerator_template.cpp theory/mktheorytraits @top_builddir@/src/.subdirs @top_srcdir@/src/theory/*/kinds
827 $(AM_V_at)test -d $(top_builddir)/src/theory || mkdir -p @top_builddir@/src/theory
828 $(AM_V_at)chmod +x @srcdir@/theory/mktheorytraits
829 $(AM_V_at)$(am__mv) $@ $@~ 2>/dev/null || true
830 $(AM_V_GEN)(@srcdir@/theory/mktheorytraits \
831 $< \
832 `cat @top_builddir@/src/.subdirs` \
833 > $@) || (rm -f $@ && exit 1)