add isl_*_list_size as an alternative name for isl_*_list_n_*
[isl.git] / Makefile.am
blob70d36f7e287b0780369291bfe5c23f0f6a88f0d5
1 if HAVE_CLANG
2     MAYBE_INTERFACE = interface
3 endif
4 SUBDIRS = . $(MAYBE_INTERFACE) doc
5 DIST_SUBDIRS = $(MAYBE_INTERFACE) doc
7 ACLOCAL_AMFLAGS = -I m4
8 AUTOMAKE_OPTIONS = nostdinc subdir-objects
10 lib_LTLIBRARIES = libisl.la
11 noinst_PROGRAMS = isl_test isl_polyhedron_sample isl_pip \
12         isl_polyhedron_minimize isl_polytope_scan \
13         isl_polyhedron_detect_equalities isl_cat \
14         isl_closure isl_bound isl_schedule isl_codegen isl_test_int \
15         isl_flow isl_flow_cmp isl_schedule_cmp
16 TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh isl_test_int \
17         flow_test.sh schedule_test.sh
19 if IMATH_FOR_MP
21 MP_SRC = \
22         isl_imath.c \
23         isl_imath.h \
24         isl_int_imath.h \
25         imath_wrap/gmp_compat.h \
26         imath_wrap/imath.h \
27         imath_wrap/imrat.h \
28         imath_wrap/wrap.h \
29         imath_wrap/gmp_compat.c \
30         imath_wrap/imath.c \
31         imath_wrap/imrat.c
33 noinst_PROGRAMS += isl_test_imath
34 TESTS += isl_test_imath
36 if SMALL_INT_OPT
37 MP_SRC += isl_int_sioimath.h \
38         isl_int_sioimath.c \
39         isl_val_sioimath.c
40 else
41 MP_SRC += isl_val_imath.c
42 endif
44 MP_INCLUDE_H =
45 endif
47 if GMP_FOR_MP
48 if NEED_GET_MEMORY_FUNCTIONS
49 GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c
50 endif
52 MP_SRC = \
53         $(GET_MEMORY_FUNCTIONS) \
54         isl_int_gmp.h \
55         isl_gmp.c \
56         isl_val_gmp.c
58 MP_INCLUDE_H = include/isl/val_gmp.h
59 endif
61 AM_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ @MP_CPPFLAGS@
62 AM_CFLAGS = @WARNING_FLAGS@
64 libisl_la_SOURCES = \
65         $(MP_SRC) \
66         isl_aff.c \
67         isl_aff_map.c \
68         isl_aff_private.h \
69         isl_affine_hull.c \
70         isl_arg.c \
71         isl_ast.c \
72         isl_ast_private.h \
73         isl_ast_build.c \
74         isl_ast_build_private.h \
75         isl_ast_build_expr.c \
76         isl_ast_build_expr.h \
77         isl_ast_codegen.c \
78         isl_ast_graft.c \
79         isl_ast_graft_private.h \
80         isl_basis_reduction.h \
81         basis_reduction_tab.c \
82         isl_bernstein.c \
83         isl_bernstein.h \
84         isl_blk.c \
85         isl_blk.h \
86         isl_bound.c \
87         isl_bound.h \
88         isl_box.c \
89         isl_coalesce.c \
90         isl_constraint.c \
91         isl_constraint_private.h \
92         isl_convex_hull.c \
93         isl_ctx.c \
94         isl_ctx_private.h \
95         isl_deprecated.c \
96         isl_dim_map.h \
97         isl_dim_map.c \
98         isl_equalities.c \
99         isl_equalities.h \
100         isl_factorization.c \
101         isl_factorization.h \
102         isl_farkas.c \
103         isl_ffs.c \
104         isl_flow.c \
105         isl_fold.c \
106         isl_hash.c \
107         isl_hash_private.h \
108         isl_id_to_ast_expr.c \
109         isl_id_to_id.c \
110         isl_id_to_pw_aff.c \
111         isl_ilp.c \
112         isl_ilp_private.h \
113         isl_input.c \
114         isl_int.h \
115         isl_local.h \
116         isl_local.c \
117         isl_local_space_private.h \
118         isl_local_space.c \
119         isl_lp.c \
120         isl_lp_private.h \
121         isl_map.c \
122         isl_map_list.c \
123         isl_map_simplify.c \
124         isl_map_subtract.c \
125         isl_map_private.h \
126         isl_map_to_basic_set.c \
127         isl_mat.c \
128         isl_mat_private.h \
129         isl_morph.c \
130         isl_morph.h \
131         isl_id.c \
132         isl_id_private.h \
133         isl_obj.c \
134         isl_options.c \
135         isl_options_private.h \
136         isl_output.c \
137         isl_output_private.h \
138         isl_point_private.h \
139         isl_point.c \
140         isl_polynomial_private.h \
141         isl_polynomial.c \
142         isl_printer_private.h \
143         isl_printer.c \
144         print.c \
145         isl_range.c \
146         isl_range.h \
147         isl_reordering.c \
148         isl_reordering.h \
149         isl_sample.h \
150         isl_sample.c \
151         isl_scan.c \
152         isl_scan.h \
153         isl_schedule.c \
154         isl_schedule_band.c \
155         isl_schedule_band.h \
156         isl_schedule_node.c \
157         isl_schedule_node_private.h \
158         isl_schedule_read.c \
159         isl_schedule_tree.c \
160         isl_schedule_tree.h \
161         isl_schedule_private.h \
162         isl_schedule_constraints.c \
163         isl_schedule_constraints.h \
164         isl_scheduler.c \
165         isl_set_list.c \
166         isl_sort.c \
167         isl_sort.h \
168         isl_space.c \
169         isl_space_private.h \
170         isl_stream.c \
171         isl_stream_private.h \
172         isl_seq.c \
173         isl_seq.h \
174         isl_stride.c \
175         isl_tab.c \
176         isl_tab.h \
177         isl_tab_pip.c \
178         isl_tarjan.c \
179         isl_tarjan.h \
180         isl_transitive_closure.c \
181         isl_union_map.c \
182         isl_union_map_private.h \
183         isl_union_set_private.h \
184         isl_val.c \
185         isl_val_private.h \
186         isl_vec_private.h \
187         isl_vec.c \
188         isl_version.c \
189         isl_vertices_private.h \
190         isl_vertices.c \
191         isl_yaml.h
192 libisl_la_LIBADD = @MP_LIBS@
193 libisl_la_LDFLAGS = -version-info @versioninfo@ \
194         @MP_LDFLAGS@
196 isl_test_LDFLAGS = @MP_LDFLAGS@
197 isl_test_LDADD = libisl.la @MP_LIBS@
199 isl_test_int_LDFLAGS = @MP_LDFLAGS@
200 isl_test_int_LDADD = libisl.la @MP_LIBS@
202 if IMATH_FOR_MP
203 isl_test_imath_LDFLAGS = @MP_LDFLAGS@
204 isl_test_imath_LDADD = libisl.la @MP_LIBS@
205 endif
207 isl_polyhedron_sample_LDADD = libisl.la
208 isl_polyhedron_sample_SOURCES = \
209         polyhedron_sample.c
211 isl_pip_LDFLAGS = @MP_LDFLAGS@
212 isl_pip_LDADD = libisl.la @MP_LIBS@
213 isl_pip_SOURCES = \
214         pip.c
216 isl_schedule_LDFLAGS = @MP_LDFLAGS@
217 isl_schedule_LDADD = libisl.la @MP_LIBS@
218 isl_schedule_SOURCES = \
219         schedule.c
221 isl_schedule_cmp_LDFLAGS = @MP_LDFLAGS@
222 isl_schedule_cmp_LDADD = libisl.la @MP_LIBS@
223 isl_schedule_cmp_SOURCES = \
224         schedule_cmp.c
226 isl_flow_LDFLAGS = @MP_LDFLAGS@
227 isl_flow_LDADD = libisl.la @MP_LIBS@
228 isl_flow_SOURCES = \
229         flow.c
231 isl_flow_cmp_LDFLAGS = @MP_LDFLAGS@
232 isl_flow_cmp_LDADD = libisl.la @MP_LIBS@
233 isl_flow_cmp_SOURCES = \
234         flow_cmp.c
236 isl_codegen_LDFLAGS = @MP_LDFLAGS@
237 isl_codegen_LDADD = libisl.la @MP_LIBS@
238 isl_codegen_SOURCES = \
239         codegen.c
241 isl_bound_LDFLAGS = @MP_LDFLAGS@
242 isl_bound_LDADD = libisl.la @MP_LIBS@
243 isl_bound_SOURCES = \
244         bound.c
246 isl_polyhedron_minimize_LDFLAGS = @MP_LDFLAGS@
247 isl_polyhedron_minimize_LDADD = libisl.la @MP_LIBS@
248 isl_polyhedron_minimize_SOURCES = \
249         polyhedron_minimize.c
251 isl_polytope_scan_LDADD = libisl.la
252 isl_polytope_scan_SOURCES = \
253         polytope_scan.c
255 isl_polyhedron_detect_equalities_LDADD = libisl.la
256 isl_polyhedron_detect_equalities_SOURCES = \
257         polyhedron_detect_equalities.c
259 isl_cat_LDADD = libisl.la
260 isl_cat_SOURCES = \
261         cat.c
263 isl_closure_LDADD = libisl.la
264 isl_closure_SOURCES = \
265         closure.c
267 nodist_pkginclude_HEADERS = \
268         include/isl/stdint.h
269 pkginclude_HEADERS = \
270         $(MP_INCLUDE_H) \
271         include/isl/aff.h \
272         include/isl/aff_type.h \
273         include/isl/arg.h \
274         include/isl/ast.h \
275         include/isl/ast_type.h \
276         include/isl/ast_build.h \
277         include/isl/constraint.h \
278         include/isl/ctx.h \
279         include/isl/fixed_box.h \
280         include/isl/flow.h \
281         include/isl/id.h \
282         include/isl/id_type.h \
283         include/isl/id_to_ast_expr.h \
284         include/isl/id_to_id.h \
285         include/isl/id_to_pw_aff.h \
286         include/isl/ilp.h \
287         include/isl/hash.h \
288         include/isl/hmap.h \
289         include/isl/hmap_templ.c \
290         include/isl/list.h \
291         include/isl/local_space.h \
292         include/isl/lp.h \
293         include/isl/mat.h \
294         include/isl/map.h \
295         include/isl/map_to_basic_set.h \
296         include/isl/map_type.h \
297         include/isl/maybe.h \
298         include/isl/maybe_ast_expr.h \
299         include/isl/maybe_basic_set.h \
300         include/isl/maybe_id.h \
301         include/isl/maybe_pw_aff.h \
302         include/isl/maybe_templ.h \
303         include/isl/multi.h \
304         include/isl/obj.h \
305         include/isl/options.h \
306         include/isl/point.h \
307         include/isl/polynomial.h \
308         include/isl/polynomial_type.h \
309         include/isl/printer.h \
310         include/isl/printer_type.h \
311         include/isl/schedule.h \
312         include/isl/schedule_node.h \
313         include/isl/schedule_type.h \
314         include/isl/set.h \
315         include/isl/set_type.h \
316         include/isl/space.h \
317         include/isl/space_type.h \
318         include/isl/stream.h \
319         include/isl/stride_info.h \
320         include/isl/union_map.h \
321         include/isl/union_map_type.h \
322         include/isl/union_set.h \
323         include/isl/union_set_type.h \
324         include/isl/val.h \
325         include/isl/val_type.h \
326         include/isl/vec.h \
327         include/isl/version.h \
328         include/isl/vertices.h
330 BUILT_SOURCES = gitversion.h
332 CLEANFILES = \
333         gitversion.h
335 DISTCLEANFILES = \
336         isl-uninstalled.sh \
337         isl-uninstalled.pc \
338         isl.pc \
339         isl.pc.in \
340         include/isl/stdint.h
342 EXTRA_DIST = \
343         LICENSE \
344         isl_config_post.h \
345         basis_reduction_templ.c \
346         bset_to_bmap.c \
347         bset_from_bmap.c \
348         extract_key.c \
349         isl_list_templ.c \
350         isl_list_templ.h \
351         isl_map_lexopt_templ.c \
352         isl_maybe_map.h \
353         isl_multi_macro.h \
354         isl_multi_explicit_domain.c \
355         isl_multi_pw_aff_explicit_domain.c \
356         isl_multi_union_pw_aff_explicit_domain.c \
357         isl_multi_no_explicit_domain.c \
358         isl_multi_templ.c \
359         isl_multi_templ.h \
360         isl_multi_align_templ.c \
361         isl_multi_align_set.c \
362         isl_multi_align_union_set.c \
363         isl_multi_apply_templ.c \
364         isl_multi_apply_set.c \
365         isl_multi_apply_union_set.c \
366         isl_multi_cmp.c \
367         isl_multi_coalesce.c \
368         isl_multi_dims.c \
369         isl_multi_floor.c \
370         isl_multi_gist.c \
371         isl_multi_hash.c \
372         isl_multi_intersect.c \
373         print_templ.c \
374         print_templ_yaml.c \
375         isl_power_templ.c \
376         isl_pw_macro.h \
377         isl_pw_templ.c \
378         isl_pw_templ.h \
379         isl_pw_eval.c \
380         isl_pw_hash.c \
381         isl_pw_union_opt.c \
382         read_in_string_templ.c \
383         set_to_map.c \
384         set_from_map.c \
385         set_list_from_map_list_inl.c \
386         isl_tab_lexopt_templ.c \
387         uset_to_umap.c \
388         uset_from_umap.c \
389         isl_union_macro.h \
390         isl_union_templ.c \
391         isl_union_single.c \
392         isl_union_multi.c \
393         isl_union_eval.c \
394         isl_union_neg.c \
395         libisl-gdb.py \
396         doc/CodingStyle \
397         doc/SubmittingPatches \
398         doc/implementation.tex \
399         doc/isl.bib \
400         doc/mypod2latex \
401         doc/manual.tex \
402         doc/reading.tex \
403         doc/user.pod \
404         imath/gmp_compat.c \
405         imath/gmp_compat.h \
406         imath/imath.c \
407         imath/imath.h \
408         imath/imrat.c \
409         imath/imrat.h \
410         interface/all.h \
411         interface/isl.py.top \
412         interface/isl_test_python.py \
413         test_inputs
415 dist-hook:
416         echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID
417         (cd doc; make manual.pdf)
418         cp doc/manual.pdf $(distdir)/doc/
420 pkgconfigdir=$(pkgconfig_libdir)
421 pkgconfig_DATA = $(pkgconfig_libfile)
423 gitversion.h: @GIT_HEAD@
424         $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
426 install-data-local: $(srcdir)/libisl-gdb.py
427         @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
428                  $(builddir)/libisl.la`; \
429         case $$libisl in \
430         '') echo Cannot find isl library name. GDB bindings not installed.;; \
431         *) echo $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
432                 $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
433         test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
434         $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \
435             $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
436         esac
438 uninstall-local:
439         @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
440                  $(builddir)/libisl.la`; \
441         if test -n "$${libisl}"; then \
442                 rm -f $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
443         fi