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