add generated interfaces
[isl.git] / Makefile.am
blob5818bf838afc1c52ffc252f6d34de66fdb097ac2
1 if HAVE_CLANG
2 if HAVE_CXX11
3 MAYBE_INTERFACE = interface
4 FORCE:
5 interface/extract_interface$(BUILD_EXEEXT): FORCE
6         $(MAKE) $(AM_MAKEFLAGS) -C interface extract_interface$(BUILD_EXEEXT)
7 endif
8 endif
9 SUBDIRS = . $(MAYBE_INTERFACE) doc
10 DIST_SUBDIRS = $(MAYBE_INTERFACE) doc
12 ACLOCAL_AMFLAGS = -I m4
13 AUTOMAKE_OPTIONS = nostdinc subdir-objects
15 lib_LTLIBRARIES = libisl.la
16 noinst_PROGRAMS = isl_test isl_polyhedron_sample isl_pip \
17         isl_polyhedron_minimize isl_polytope_scan \
18         isl_polyhedron_detect_equalities \
19         isl_polyhedron_remove_redundant_equalities isl_cat \
20         isl_closure isl_bound isl_schedule isl_codegen isl_test_int \
21         isl_flow isl_flow_cmp isl_schedule_cmp
22 TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh isl_test_int \
23         flow_test.sh schedule_test.sh
24 if HAVE_CPP_ISL_H
25   CPP_H = $(srcdir)/include/isl/cpp.h $(srcdir)/include/isl/typed_cpp.h
26 if HAVE_CXX11
27   noinst_PROGRAMS += isl_test2 isl_test_cpp
28   TESTS += isl_test2 isl_test_cpp isl_test_cpp_failed.sh
29 endif
30 if HAVE_CXX17
31   noinst_PROGRAMS += isl_test_cpp17 isl_test_cpp17-checked
32   TESTS += isl_test_cpp17 isl_test_cpp17-checked
33 endif
34 endif
35 if HAVE_CLANG
36 if HAVE_CXX11
37   noinst_PROGRAMS += isl_test_cpp-checked isl_test_cpp-checked-conversion
38   TESTS += isl_test_cpp-checked isl_test_cpp-checked-conversion
39 if HAVE_PYTHON
40   TESTS += isl_test_python.py
41   noinst_PYTHON = interface/isl.py
42   isl_test_python.py: interface/isl.py libisl.la
43 endif
44 endif
45 endif
46 TEST_EXTENSIONS = .py
47 AM_TESTS_ENVIRONMENT = \
48         export PYTHONPATH=interface; \
49         export ISL_DYLD_LIBRARY_PATH=.libs; \
50         export LD_LIBRARY_PATH=".libs:$(LD_LIBRARY_PATH)";
51 PY_LOG_COMPILER = $(PYTHON)
53 if IMATH_FOR_MP
55 MP_SRC = \
56         isl_imath.c \
57         isl_imath.h \
58         isl_int_imath.h \
59         imath_wrap/gmp_compat.h \
60         imath_wrap/imath.h \
61         imath_wrap/imrat.h \
62         imath_wrap/wrap.h \
63         imath_wrap/gmp_compat.c \
64         imath_wrap/imath.c \
65         imath_wrap/imrat.c
67 noinst_PROGRAMS += isl_test_imath
68 TESTS += isl_test_imath
70 if SMALL_INT_OPT
71 MP_SRC += isl_int_sioimath.h \
72         isl_int_sioimath.c \
73         isl_val_sioimath.c
74 else
75 MP_SRC += isl_val_imath.c
76 endif
78 MP_INCLUDE_H =
79 endif
81 if GMP_FOR_MP
82 if NEED_GET_MEMORY_FUNCTIONS
83 GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c
84 endif
86 MP_SRC = \
87         $(GET_MEMORY_FUNCTIONS) \
88         isl_int_gmp.h \
89         isl_gmp.c \
90         isl_val_gmp.c
92 MP_INCLUDE_H = include/isl/val_gmp.h
93 endif
95 includes = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/
96 AM_CPPFLAGS = $(includes) @MP_CPPFLAGS@
97 AM_CFLAGS = @WARNING_FLAGS@ @MP_CFLAGS@
99 libisl_la_SOURCES = \
100         $(MP_SRC) \
101         isl_aff.c \
102         isl_aff_map.c \
103         isl_aff_private.h \
104         isl_affine_hull.c \
105         isl_arg.c \
106         isl_ast.c \
107         isl_ast_private.h \
108         isl_ast_build.c \
109         isl_ast_build_private.h \
110         isl_ast_build_expr.c \
111         isl_ast_build_expr.h \
112         isl_ast_codegen.c \
113         isl_ast_graft.c \
114         isl_ast_graft_private.h \
115         isl_basis_reduction.h \
116         basis_reduction_tab.c \
117         isl_bernstein.c \
118         isl_bernstein.h \
119         isl_blk.c \
120         isl_blk.h \
121         isl_bound.c \
122         isl_bound.h \
123         isl_box.c \
124         isl_coalesce.c \
125         isl_constraint.c \
126         isl_constraint_private.h \
127         isl_convex_hull.c \
128         isl_ctx.c \
129         isl_ctx_private.h \
130         isl_deprecated.c \
131         isl_dim_map.h \
132         isl_dim_map.c \
133         isl_equalities.c \
134         isl_equalities.h \
135         isl_factorization.c \
136         isl_factorization.h \
137         isl_farkas.c \
138         isl_ffs.c \
139         isl_flow.c \
140         isl_fold.c \
141         isl_hash.c \
142         isl_hash_private.h \
143         isl_id_to_ast_expr.c \
144         isl_id_to_id.c \
145         isl_id_to_pw_aff.c \
146         isl_ilp.c \
147         isl_ilp_private.h \
148         isl_input.c \
149         isl_int.h \
150         isl_list_private.h \
151         isl_local_private.h \
152         isl_local.h \
153         isl_local.c \
154         isl_local_space_private.h \
155         isl_local_space.c \
156         isl_lp.c \
157         isl_lp_private.h \
158         isl_map.c \
159         isl_map_list.c \
160         isl_map_simplify.c \
161         isl_map_subtract.c \
162         isl_map_private.h \
163         isl_map_to_basic_set.c \
164         isl_mat.c \
165         isl_mat_private.h \
166         isl_morph.c \
167         isl_morph.h \
168         isl_id.c \
169         isl_id_private.h \
170         isl_obj.c \
171         isl_options.c \
172         isl_options_private.h \
173         isl_output.c \
174         isl_output_private.h \
175         isl_point_private.h \
176         isl_point.c \
177         isl_polynomial_private.h \
178         isl_polynomial.c \
179         isl_printer_private.h \
180         isl_printer.c \
181         print.c \
182         isl_range.c \
183         isl_range.h \
184         isl_reordering.c \
185         isl_reordering.h \
186         isl_sample.h \
187         isl_sample.c \
188         isl_scan.c \
189         isl_scan.h \
190         isl_schedule.c \
191         isl_schedule_band.c \
192         isl_schedule_band.h \
193         isl_schedule_node.c \
194         isl_schedule_node_private.h \
195         isl_schedule_read.c \
196         isl_schedule_tree.c \
197         isl_schedule_tree.h \
198         isl_schedule_private.h \
199         isl_schedule_constraints.c \
200         isl_schedule_constraints.h \
201         isl_scheduler.c \
202         isl_scheduler.h \
203         isl_scheduler_clustering.c \
204         isl_scheduler_clustering.h \
205         isl_scheduler_scc.c \
206         isl_scheduler_scc.h \
207         isl_set_list.c \
208         isl_sort.c \
209         isl_sort.h \
210         isl_space.c \
211         isl_space_private.h \
212         isl_stream.c \
213         isl_stream_private.h \
214         isl_seq.c \
215         isl_seq.h \
216         isl_set_to_ast_graft_list.c \
217         isl_set_to_ast_graft_list.h \
218         isl_stride.c \
219         isl_tab.c \
220         isl_tab.h \
221         isl_tab_pip.c \
222         isl_tarjan.c \
223         isl_tarjan.h \
224         isl_transitive_closure.c \
225         isl_union_map.c \
226         isl_union_map_private.h \
227         isl_union_set_private.h \
228         isl_val.c \
229         isl_val_private.h \
230         isl_vec_private.h \
231         isl_vec.c \
232         isl_version.c \
233         isl_vertices_private.h \
234         isl_vertices.c \
235         isl_yaml.h
236 libisl_la_LIBADD = @MP_LIBS@
237 libisl_la_LDFLAGS = -version-info @versioninfo@ \
238         @MP_LDFLAGS@
240 isl_test_LDFLAGS = @MP_LDFLAGS@
241 isl_test_LDADD = libisl.la @MP_LIBS@
243 isl_test2_SOURCES = \
244         isl_test2.cc \
245         $(srcdir)/include/isl/cpp.h
246 isl_test2_LDFLAGS = @MP_LDFLAGS@
247 isl_test2_LDADD = libisl.la @MP_LIBS@
249 isl_test_int_LDFLAGS = @MP_LDFLAGS@
250 isl_test_int_LDADD = libisl.la @MP_LIBS@
252 if IMATH_FOR_MP
253 isl_test_imath_LDFLAGS = @MP_LDFLAGS@
254 isl_test_imath_LDADD = libisl.la @MP_LIBS@
255 endif
257 isl_polyhedron_sample_LDADD = libisl.la
258 isl_polyhedron_sample_SOURCES = \
259         polyhedron_sample.c
261 isl_pip_LDFLAGS = @MP_LDFLAGS@
262 isl_pip_LDADD = libisl.la @MP_LIBS@
263 isl_pip_SOURCES = \
264         pip.c
266 isl_schedule_LDFLAGS = @MP_LDFLAGS@
267 isl_schedule_LDADD = libisl.la @MP_LIBS@
268 isl_schedule_SOURCES = \
269         schedule.c
271 isl_schedule_cmp_LDFLAGS = @MP_LDFLAGS@
272 isl_schedule_cmp_LDADD = libisl.la @MP_LIBS@
273 isl_schedule_cmp_SOURCES = \
274         schedule_cmp.c
276 isl_flow_LDFLAGS = @MP_LDFLAGS@
277 isl_flow_LDADD = libisl.la @MP_LIBS@
278 isl_flow_SOURCES = \
279         flow.c
281 isl_flow_cmp_LDFLAGS = @MP_LDFLAGS@
282 isl_flow_cmp_LDADD = libisl.la @MP_LIBS@
283 isl_flow_cmp_SOURCES = \
284         flow_cmp.c
286 isl_codegen_LDFLAGS = @MP_LDFLAGS@
287 isl_codegen_LDADD = libisl.la @MP_LIBS@
288 isl_codegen_SOURCES = \
289         codegen.c
291 isl_bound_LDFLAGS = @MP_LDFLAGS@
292 isl_bound_LDADD = libisl.la @MP_LIBS@
293 isl_bound_SOURCES = \
294         bound.c
296 isl_polyhedron_minimize_LDFLAGS = @MP_LDFLAGS@
297 isl_polyhedron_minimize_LDADD = libisl.la @MP_LIBS@
298 isl_polyhedron_minimize_SOURCES = \
299         polyhedron_minimize.c
301 isl_polytope_scan_LDADD = libisl.la
302 isl_polytope_scan_SOURCES = \
303         polytope_scan.c
305 isl_polyhedron_detect_equalities_LDADD = libisl.la
306 isl_polyhedron_detect_equalities_SOURCES = \
307         polyhedron_detect_equalities.c
309 isl_polyhedron_remove_redundant_equalities_LDADD = libisl.la
310 isl_polyhedron_remove_redundant_equalities_SOURCES = \
311         polyhedron_remove_redundant_equalities.c
313 isl_cat_LDADD = libisl.la
314 isl_cat_SOURCES = \
315         cat.c
317 isl_closure_LDADD = libisl.la
318 isl_closure_SOURCES = \
319         closure.c
321 isl_test_cpp_CPPFLAGS = $(AM_CPPFLAGS) -UCOMPILE_ERROR
322 isl_test_cpp_SOURCES = \
323         isl_test_cpp.cc \
324         $(srcdir)/include/isl/cpp.h
325 isl_test_cpp_LDFLAGS = @MP_LDFLAGS@
326 isl_test_cpp_LDADD = libisl.la @MP_LIBS@
328 # This program is not meant to be compiled by default.
329 # In fact it is meant not to be compilable.
330 # It is identical to isl_test_cpp, except that it gets compiled
331 # with the COMPILE_ERROR flag set.
332 EXTRA_PROGRAMS = isl_test_cpp_failed
333 isl_test_cpp_failed_CPPFLAGS = $(AM_CPPFLAGS) -DCOMPILE_ERROR
334 isl_test_cpp_failed_SOURCES = \
335         isl_test_cpp.cc \
336         $(srcdir)/include/isl/cpp.h
337 isl_test_cpp_failed_LDFLAGS = @MP_LDFLAGS@
338 isl_test_cpp_failed_LDADD = libisl.la @MP_LIBS@
340 isl_test_cpp17_SOURCES = \
341         isl_test_cpp17.cc \
342         $(srcdir)/include/isl/cpp.h
343 isl_test_cpp17_LDFLAGS = @MP_LDFLAGS@
344 isl_test_cpp17_LDADD = libisl.la @MP_LIBS@
346 isl_test_cpp_checked_SOURCES = \
347         isl_test_cpp-checked.cc \
348         $(srcdir)/include/isl/cpp-checked.h
349 isl_test_cpp_checked_LDFLAGS = @MP_LDFLAGS@
350 isl_test_cpp_checked_LDADD = libisl.la @MP_LIBS@
352 isl_test_cpp17_checked_SOURCES = \
353         isl_test_cpp17-checked.cc \
354         $(srcdir)/include/isl/cpp.h
355 isl_test_cpp17_checked_LDFLAGS = @MP_LDFLAGS@
356 isl_test_cpp17_checked_LDADD = libisl.la @MP_LIBS@
358 isl_test_cpp_checked_conversion_SOURCES = \
359         isl_test_cpp-checked-conversion.cc \
360         $(srcdir)/include/isl/cpp-checked-conversion.h
361 isl_test_cpp_checked_conversion_LDFLAGS = @MP_LDFLAGS@
362 isl_test_cpp_checked_conversion_LDADD = libisl.la @MP_LIBS@
364 # dummy library that captures the dependencies on all headers
365 # that are relevant for the bindings
366 noinst_LIBRARIES = libdep.a
367 libdep_a_SOURCES = dep.c
369 if HAVE_CLANG
370 if HAVE_CXX11
371 interface/isldlname.py: libisl.la
372         $(AM_V_GEN)$(MKDIR_P) "interface" && \
373                 $(GREP) dlname libisl.la | \
374                 $(SED) -e 's/dlname/isl_dlname/' > $@
375 $(srcdir)/interface/isl.py.core: interface/extract_interface$(BUILD_EXEEXT) \
376                 libdep.a
377         $(AM_V_GEN)interface/extract_interface$(BUILD_EXEEXT) \
378                 --language=python $(includes) $(srcdir)/all.h \
379                 > interface/isl.py.Tcore && mv interface/isl.py.Tcore $@
380 interface/isl.py: python/isl.py.top interface/isldlname.py \
381                 $(srcdir)/interface/isl.py.core
382         $(AM_V_GEN)cat interface/isldlname.py $(srcdir)/python/isl.py.top \
383                 $(srcdir)/interface/isl.py.core > interface/isl.Tpy && \
384                 mv interface/isl.Tpy $@
386 $(srcdir)/include/isl/cpp.h: interface/extract_interface$(BUILD_EXEEXT) \
387                 libdep.a cpp/cpp.h.top cpp/cpp.h.bot
388         $(AM_V_GEN)$(MKDIR_P) "include/isl" && \
389         (cat $(srcdir)/cpp/cpp.h.top $(srcdir)/all.h && \
390                 interface/extract_interface$(BUILD_EXEEXT) --language=cpp \
391                         $(includes) $(srcdir)/all.h && \
392                 cat $(srcdir)/cpp/cpp.h.bot) \
393                         > interface/cpp.Th && mv interface/cpp.Th $@
395 $(srcdir)/include/isl/cpp-checked.h: \
396                 interface/extract_interface$(BUILD_EXEEXT) libdep.a \
397                 cpp/cpp-checked.h.top cpp/cpp-checked.h.bot
398         $(AM_V_GEN)$(MKDIR_P) "include/isl" && \
399         (cat $(srcdir)/cpp/cpp-checked.h.top $(srcdir)/all.h && \
400                 interface/extract_interface$(BUILD_EXEEXT) \
401                         --language=cpp-checked \
402                         $(includes) $(srcdir)/all.h && \
403                 cat $(srcdir)/cpp/cpp-checked.h.bot) \
404                         > interface/cpp-checked.Th && \
405                         mv interface/cpp-checked.Th $@
407 $(srcdir)/include/isl/cpp-checked-conversion.h: \
408                 interface/extract_interface$(BUILD_EXEEXT) \
409                 libdep.a \
410                 cpp/cpp-checked-conversion.h.top \
411                 cpp/cpp-checked-conversion.h.bot
412         $(AM_V_GEN)$(MKDIR_P) "include/isl" && \
413         (cat $(srcdir)/cpp/cpp-checked-conversion.h.top && \
414                 interface/extract_interface$(BUILD_EXEEXT) \
415                         --language=cpp-checked-conversion \
416                         $(includes) $(srcdir)/all.h && \
417                 cat $(srcdir)/cpp/cpp-checked-conversion.h.bot) \
418                         > interface/cpp-checked-conversion.Th && \
419                         mv interface/cpp-checked-conversion.Th $@
421 $(srcdir)/include/isl/typed_cpp.h: interface/extract_interface$(BUILD_EXEEXT) \
422                 libdep.a cpp/typed_cpp.h.top cpp/typed_cpp.h.bot
423         $(AM_V_GEN)$(MKDIR_P) "include/isl" && \
424         (cat $(srcdir)/cpp/typed_cpp.h.top && \
425                 interface/extract_interface$(BUILD_EXEEXT) \
426                         --language=template-cpp \
427                         $(includes) $(srcdir)/all.h && \
428                 cat $(srcdir)/cpp/typed_cpp.h.bot) \
429                         > interface/typed_cpp.Th && mv interface/typed_cpp.Th $@
430 endif
431 endif
433 nodist_pkginclude_HEADERS = \
434         include/isl/stdint.h
435 pkginclude_HEADERS = \
436         $(CPP_H) \
437         $(MP_INCLUDE_H) \
438         include/isl/aff.h \
439         include/isl/aff_type.h \
440         include/isl/arg.h \
441         include/isl/ast.h \
442         include/isl/ast_type.h \
443         include/isl/ast_build.h \
444         include/isl/constraint.h \
445         include/isl/ctx.h \
446         include/isl/fixed_box.h \
447         include/isl/flow.h \
448         include/isl/id.h \
449         include/isl/id_type.h \
450         include/isl/id_to_ast_expr.h \
451         include/isl/id_to_id.h \
452         include/isl/id_to_pw_aff.h \
453         include/isl/ilp.h \
454         include/isl/hash.h \
455         include/isl/hmap.h \
456         include/isl/hmap_templ.c \
457         include/isl/list.h \
458         include/isl/local_space.h \
459         include/isl/lp.h \
460         include/isl/mat.h \
461         include/isl/map.h \
462         include/isl/map_to_basic_set.h \
463         include/isl/map_type.h \
464         include/isl/maybe.h \
465         include/isl/maybe_ast_expr.h \
466         include/isl/maybe_basic_set.h \
467         include/isl/maybe_id.h \
468         include/isl/maybe_pw_aff.h \
469         include/isl/maybe_templ.h \
470         include/isl/multi.h \
471         include/isl/obj.h \
472         include/isl/options.h \
473         include/isl/point.h \
474         include/isl/polynomial.h \
475         include/isl/polynomial_type.h \
476         include/isl/printer.h \
477         include/isl/printer_type.h \
478         include/isl/schedule.h \
479         include/isl/schedule_node.h \
480         include/isl/schedule_type.h \
481         include/isl/set.h \
482         include/isl/set_type.h \
483         include/isl/space.h \
484         include/isl/space_type.h \
485         include/isl/stream.h \
486         include/isl/stride_info.h \
487         include/isl/union_map.h \
488         include/isl/union_map_type.h \
489         include/isl/union_set.h \
490         include/isl/union_set_type.h \
491         include/isl/val.h \
492         include/isl/val_type.h \
493         include/isl/vec.h \
494         include/isl/version.h \
495         include/isl/vertices.h
497 CPP_INTERFACES = \
498         $(srcdir)/include/isl/cpp.h \
499         $(srcdir)/include/isl/cpp-checked.h \
500         $(srcdir)/include/isl/cpp-checked-conversion.h \
501         $(srcdir)/include/isl/typed_cpp.h
502 if HAVE_CLANG
503 if HAVE_CXX11
504     BUILT_CPP_INTERFACES = $(CPP_INTERFACES)
505     INTERFACES = $(BUILT_CPP_INTERFACES) interface/isl.py
506 endif
507 endif
508 BUILT_SOURCES = gitversion.h $(INTERFACES)
509 CLEANFILES = \
510         gitversion.h \
511         interface/isldlname.py \
512         interface/isl.py \
513         interface/isl.pyc \
514         interface/__pycache__/*.pyc
516 DISTCLEANFILES = \
517         isl-uninstalled.sh \
518         isl-uninstalled.pc \
519         isl.pc \
520         isl.pc.in \
521         include/isl/stdint.h
523 EXTRA_DIST = \
524         LICENSE \
525         isl_config_post.h \
526         isl_aff_lex_templ.c \
527         isl_align_params_templ.c \
528         isl_align_params_bin_templ.c \
529         isl_ast_node_set_field_templ.c \
530         basis_reduction_templ.c \
531         isl_bind_domain_templ.c \
532         bset_to_bmap.c \
533         bset_from_bmap.c \
534         isl_check_named_params_templ.c \
535         check_parse_fail_test_templ.c \
536         check_reparse_templ.c \
537         check_reparse_test_templ.c \
538         check_single_reference_templ.c \
539         check_type_range_templ.c \
540         isl_copy_tuple_id_templ.c \
541         isl_domain_factor_templ.c \
542         isl_drop_unused_params_templ.c \
543         extract_key.c \
544         isl_from_range_templ.c \
545         isl_ilp_opt_fn_val_templ.c \
546         isl_ilp_opt_multi_val_templ.c \
547         isl_ilp_opt_val_templ.c \
548         has_single_reference_templ.c \
549         isl_insert_domain_templ.c \
550         isl_list_macro.h \
551         isl_list_templ.c \
552         isl_list_templ.h \
553         isl_list_read_templ.c \
554         isl_list_read_yaml_templ.c \
555         isl_map_bound_templ.c \
556         isl_map_lexopt_templ.c \
557         isl_maybe_ast_graft_list.h \
558         isl_maybe_map.h \
559         isl_multi_macro.h \
560         isl_multi_bind_templ.c \
561         isl_multi_explicit_domain.c \
562         isl_multi_pw_aff_explicit_domain.c \
563         isl_multi_union_pw_aff_explicit_domain.c \
564         isl_multi_no_explicit_domain.c \
565         isl_multi_no_domain_templ.c \
566         isl_multi_templ.c \
567         isl_multi_templ.h \
568         isl_multi_add_constant_templ.c \
569         isl_multi_align_set.c \
570         isl_multi_align_union_set.c \
571         isl_multi_apply_templ.c \
572         isl_multi_apply_explicit_domain_templ.c \
573         isl_multi_apply_no_explicit_domain_templ.c \
574         isl_multi_apply_set_explicit_domain_templ.c \
575         isl_multi_apply_set_no_explicit_domain_templ.c \
576         isl_multi_apply_union_set_explicit_domain_templ.c \
577         isl_multi_arith_templ.c \
578         isl_multi_bin_val_templ.c \
579         isl_multi_bind_domain_templ.c \
580         isl_multi_check_domain_templ.c \
581         isl_multi_cmp.c \
582         isl_multi_coalesce.c \
583         isl_multi_dim_id_templ.c \
584         isl_multi_dims.c \
585         isl_multi_domain_templ.c \
586         isl_multi_domain_reverse_templ.c \
587         isl_multi_floor.c \
588         isl_multi_from_base_templ.c \
589         isl_multi_from_tuple_templ.c \
590         isl_multi_gist.c \
591         isl_multi_hash.c \
592         isl_multi_insert_domain_templ.c \
593         isl_multi_intersect.c \
594         isl_multi_identity_templ.c \
595         isl_multi_locals_templ.c \
596         isl_multi_min_max_templ.c \
597         isl_multi_move_dims_templ.c \
598         isl_multi_nan_templ.c \
599         isl_multi_param_templ.c \
600         isl_multi_product_templ.c \
601         isl_multi_pw_aff_pullback_templ.c \
602         isl_multi_read_no_explicit_domain_templ.c \
603         isl_multi_splice_templ.c \
604         isl_multi_tuple_id_templ.c \
605         isl_multi_un_op_templ.c \
606         isl_multi_unbind_params_templ.c \
607         isl_multi_union_add_templ.c \
608         isl_multi_zero_templ.c \
609         isl_multi_zero_space_templ.c \
610         isl_opt_mpa_templ.c \
611         opt_type.h \
612         print_templ.c \
613         print_templ_yaml.c \
614         print_yaml_field_templ.c \
615         isl_power_templ.c \
616         isl_project_out_all_params_templ.c \
617         isl_project_out_param_templ.c \
618         isl_pw_macro.h \
619         isl_pw_templ.c \
620         isl_pw_templ.h \
621         isl_pw_add_constant_templ.c \
622         isl_pw_add_constant_multi_val_templ.c \
623         isl_pw_add_constant_val_templ.c \
624         isl_pw_add_disjoint_templ.c \
625         isl_pw_bind_domain_templ.c \
626         isl_pw_domain_reverse_templ.c \
627         isl_pw_eval.c \
628         isl_pw_fix_templ.c \
629         isl_pw_from_range_templ.c \
630         isl_pw_hash.c \
631         isl_pw_insert_dims_templ.c \
632         isl_pw_insert_domain_templ.c \
633         isl_pw_lift_templ.c \
634         isl_pw_locals_templ.c \
635         isl_pw_morph_templ.c \
636         isl_pw_move_dims_templ.c \
637         isl_pw_neg_templ.c \
638         isl_pw_opt_templ.c \
639         isl_pw_print_templ.c \
640         isl_pw_pullback_templ.c \
641         isl_pw_range_tuple_id_templ.c \
642         isl_pw_scale_templ.c \
643         isl_pw_split_dims_templ.c \
644         isl_pw_sub_templ.c \
645         isl_pw_un_op_templ.c \
646         isl_pw_union_opt.c \
647         isl_read_from_str_templ.c \
648         read_in_string_templ.c \
649         set_to_map.c \
650         set_from_map.c \
651         set_list_from_map_list_inl.c \
652         isl_stream_read_pw_with_params_templ.c \
653         isl_stream_read_with_params_templ.c \
654         isl_tab_lexopt_templ.c \
655         isl_test_list_templ.c \
656         isl_test_plain_equal_templ.c \
657         isl_type_check_equal_space_templ.c \
658         isl_type_check_match_range_multi_val.c \
659         isl_type_has_equal_space_bin_templ.c \
660         isl_type_has_equal_space_templ.c \
661         isl_type_has_space_templ.c \
662         isl_unbind_params_templ.c \
663         uset_to_umap.c \
664         uset_from_umap.c \
665         isl_union_macro.h \
666         isl_union_templ.c \
667         isl_union_single.c \
668         isl_union_multi.c \
669         isl_union_domain_reverse_templ.c \
670         isl_union_eval.c \
671         isl_union_locals_templ.c \
672         isl_union_map_lex_templ.c \
673         isl_union_neg.c \
674         isl_union_print_templ.c \
675         isl_union_pw_templ.c \
676         isl_union_sub_templ.c \
677         libisl-gdb.py \
678         doc/CodingStyle \
679         doc/SubmittingPatches \
680         doc/implementation.tex \
681         doc/isl.bib \
682         doc/mypod2latex \
683         doc/manual.tex \
684         doc/reading.tex \
685         doc/user.pod \
686         imath/gmp_compat.c \
687         imath/gmp_compat.h \
688         imath/imath.c \
689         imath/imath.h \
690         imath/imrat.c \
691         imath/imrat.h \
692         interface/isl.py.core \
693         all.h \
694         cpp \
695         python \
696         isl_test_cpp-generic.cc \
697         isl_test_cpp_failed.sh \
698         isl_test_cpp17-generic.cc \
699         isl_test_python.py \
700         test_inputs
702 dist-hook:
703         echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID
704         (cd doc; make manual.pdf)
705         cp doc/manual.pdf $(distdir)/doc/
706         chmod -R u+w $(distdir)/include/isl
707         cp $(CPP_INTERFACES) $(distdir)/include/isl
709 pkgconfigdir=$(pkgconfig_libdir)
710 pkgconfig_DATA = $(pkgconfig_libfile)
712 gitversion.h: @GIT_HEAD@
713         $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
715 install-data-local: $(srcdir)/libisl-gdb.py
716         @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
717                  $(builddir)/libisl.la`; \
718         case $$libisl in \
719         '') echo Cannot find isl library name. GDB bindings not installed.;; \
720         *) echo $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
721                 $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
722         test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
723         $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
724             $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
725         esac
727 uninstall-local:
728         @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
729                  $(builddir)/libisl.la`; \
730         if test -n "$${libisl}"; then \
731                 rm -f $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
732         fi