optionally use imath for arbitrary precision integers
[isl.git] / Makefile.am
blob4152d80b3bf7463051885b1f7dbeb0739d533af2
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_codegen
15 TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh
17 if IMATH_FOR_MP
19 MP_SRC = \
20         isl_hide_deprecated.h \
21         isl_imath.c \
22         isl_imath.h \
23         isl_int_imath.h \
24         isl_val_imath.c \
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 DEPRECATED_SRC =
34 MP_INCLUDE_H =
35 endif
37 if GMP_FOR_MP
38 if NEED_GET_MEMORY_FUNCTIONS
39 GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c
40 endif
42 MP_SRC = \
43         $(GET_MEMORY_FUNCTIONS) \
44         isl_int_gmp.h \
45         isl_gmp.c \
46         isl_val_gmp.c
48 DEPRECATED_SRC = isl_ast_int.c
49 MP_INCLUDE_H = include/isl/val_gmp.h
50 endif
52 AM_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ @MP_CPPFLAGS@
53 AM_CFLAGS = @WARNING_FLAGS@
55 libisl_la_SOURCES = \
56         $(MP_SRC) \
57         $(DEPRECATED_SRC) \
58         isl_aff.c \
59         isl_aff_private.h \
60         isl_affine_hull.c \
61         isl_arg.c \
62         isl_ast.c \
63         isl_ast_private.h \
64         isl_ast_build.c \
65         isl_ast_build_private.h \
66         isl_ast_build_expr.c \
67         isl_ast_build_expr.h \
68         isl_ast_codegen.c \
69         isl_ast_graft.c \
70         isl_ast_graft_private.h \
71         isl_band.c \
72         isl_band_private.h \
73         isl_basis_reduction.h \
74         basis_reduction_tab.c \
75         isl_bernstein.c \
76         isl_bernstein.h \
77         isl_blk.c \
78         isl_blk.h \
79         isl_bound.c \
80         isl_bound.h \
81         isl_coalesce.c \
82         isl_constraint.c \
83         isl_constraint_private.h \
84         isl_convex_hull.c \
85         isl_ctx.c \
86         isl_ctx_private.h \
87         isl_deprecated.c \
88         isl_dim.c \
89         isl_dim_map.h \
90         isl_dim_map.c \
91         isl_equalities.c \
92         isl_equalities.h \
93         isl_factorization.c \
94         isl_factorization.h \
95         isl_farkas.c \
96         isl_flow.c \
97         isl_fold.c \
98         isl_hash.c \
99         isl_id_to_ast_expr.c \
100         isl_id_to_pw_aff.c \
101         isl_ilp.c \
102         isl_ilp_private.h \
103         isl_input.c \
104         isl_int.h \
105         isl_local_space_private.h \
106         isl_local_space.c \
107         isl_lp.c \
108         isl_lp_private.h \
109         isl_map.c \
110         isl_map_simplify.c \
111         isl_map_subtract.c \
112         isl_map_private.h \
113         isl_map_to_basic_set.c \
114         isl_mat.c \
115         isl_mat_private.h \
116         isl_morph.c \
117         isl_morph.h \
118         isl_id.c \
119         isl_id_private.h \
120         isl_obj.c \
121         isl_options.c \
122         isl_options_private.h \
123         isl_output.c \
124         isl_point_private.h \
125         isl_point.c \
126         isl_polynomial_private.h \
127         isl_polynomial.c \
128         isl_printer_private.h \
129         isl_printer.c \
130         print.c \
131         isl_range.c \
132         isl_range.h \
133         isl_reordering.c \
134         isl_reordering.h \
135         isl_sample.h \
136         isl_sample.c \
137         isl_scan.c \
138         isl_scan.h \
139         isl_schedule.c \
140         isl_schedule_private.h \
141         isl_set_list.c \
142         isl_sort.c \
143         isl_sort.h \
144         isl_space.c \
145         isl_space_private.h \
146         isl_stream.c \
147         isl_stream_private.h \
148         isl_seq.c \
149         isl_seq.h \
150         isl_tab.c \
151         isl_tab.h \
152         isl_tab_pip.c \
153         isl_tarjan.c \
154         isl_tarjan.h \
155         isl_transitive_closure.c \
156         isl_union_map.c \
157         isl_union_map_private.h \
158         isl_val.c \
159         isl_val_private.h \
160         isl_vec_private.h \
161         isl_vec.c \
162         isl_version.c \
163         isl_vertices_private.h \
164         isl_vertices.c
165 libisl_la_LIBADD = @MP_LIBS@
166 libisl_la_LDFLAGS = -version-info @versioninfo@ \
167         @MP_LDFLAGS@
169 isl_test_LDFLAGS = @MP_LDFLAGS@
170 isl_test_LDADD = libisl.la @MP_LIBS@
172 isl_polyhedron_sample_LDADD = libisl.la
173 isl_polyhedron_sample_SOURCES = \
174         polyhedron_sample.c
176 isl_pip_LDFLAGS = @MP_LDFLAGS@
177 isl_pip_LDADD = libisl.la @MP_LIBS@
178 isl_pip_SOURCES = \
179         pip.c
181 isl_codegen_LDFLAGS = @MP_LDFLAGS@
182 isl_codegen_LDADD = libisl.la @MP_LIBS@
183 isl_codegen_SOURCES = \
184         codegen.c
186 isl_bound_LDFLAGS = @MP_LDFLAGS@
187 isl_bound_LDADD = libisl.la @MP_LIBS@
188 isl_bound_SOURCES = \
189         bound.c
191 isl_polyhedron_minimize_LDFLAGS = @MP_LDFLAGS@
192 isl_polyhedron_minimize_LDADD = libisl.la @MP_LIBS@
193 isl_polyhedron_minimize_SOURCES = \
194         polyhedron_minimize.c
196 isl_polytope_scan_LDADD = libisl.la
197 isl_polytope_scan_SOURCES = \
198         polytope_scan.c
200 isl_polyhedron_detect_equalities_LDADD = libisl.la
201 isl_polyhedron_detect_equalities_SOURCES = \
202         polyhedron_detect_equalities.c
204 isl_cat_LDADD = libisl.la
205 isl_cat_SOURCES = \
206         cat.c
208 isl_closure_LDADD = libisl.la
209 isl_closure_SOURCES = \
210         closure.c
212 nodist_pkginclude_HEADERS = \
213         include/isl/stdint.h
214 pkginclude_HEADERS = \
215         $(MP_INCLUDE_H) \
216         include/isl/aff.h \
217         include/isl/aff_type.h \
218         include/isl/arg.h \
219         include/isl/ast.h \
220         include/isl/ast_type.h \
221         include/isl/ast_build.h \
222         include/isl/band.h \
223         include/isl/constraint.h \
224         include/isl/ctx.h \
225         include/isl/dim.h \
226         include/isl/flow.h \
227         include/isl/id.h \
228         include/isl/id_to_ast_expr.h \
229         include/isl/id_to_pw_aff.h \
230         include/isl/ilp.h \
231         include/isl/hash.h \
232         include/isl/hmap.h \
233         include/isl/list.h \
234         include/isl/local_space.h \
235         include/isl/lp.h \
236         include/isl/mat.h \
237         include/isl/map.h \
238         include/isl/map_to_basic_set.h \
239         include/isl/map_type.h \
240         include/isl/multi.h \
241         include/isl/obj.h \
242         include/isl/options.h \
243         include/isl/point.h \
244         include/isl/polynomial.h \
245         include/isl/polynomial_type.h \
246         include/isl/printer.h \
247         include/isl/schedule.h \
248         include/isl/set.h \
249         include/isl/set_type.h \
250         include/isl/space.h \
251         include/isl/stream.h \
252         include/isl/union_map.h \
253         include/isl/union_map_type.h \
254         include/isl/union_set.h \
255         include/isl/union_set_type.h \
256         include/isl/val.h \
257         include/isl/vec.h \
258         include/isl/version.h \
259         include/isl/vertices.h
260 deprecateddir = $(pkgincludedir)/deprecated
261 deprecated_HEADERS = \
262         include/isl/deprecated/int.h \
263         include/isl/deprecated/aff_int.h \
264         include/isl/deprecated/ast_int.h \
265         include/isl/deprecated/constraint_int.h \
266         include/isl/deprecated/ilp_int.h \
267         include/isl/deprecated/map_int.h \
268         include/isl/deprecated/mat_int.h \
269         include/isl/deprecated/point_int.h \
270         include/isl/deprecated/polynomial_int.h \
271         include/isl/deprecated/set_int.h \
272         include/isl/deprecated/union_map_int.h \
273         include/isl/deprecated/val_int.h \
274         include/isl/deprecated/vec_int.h
276 EXTRA_DIST = \
277         LICENSE \
278         isl_config_post.h \
279         basis_reduction_templ.c \
280         isl_hmap_templ.c \
281         isl_list_templ.c \
282         isl_list_templ.h \
283         isl_map_lexopt_templ.c \
284         isl_multi_templ.c \
285         isl_multi_templ.h \
286         print_templ.c \
287         isl_power_templ.c \
288         isl_pw_templ.c \
289         isl_union_templ.c \
290         isl.py \
291         doc/SubmittingPatches \
292         doc/chicago.bst \
293         doc/chicago.sty \
294         doc/implementation.tex \
295         doc/isl.bib \
296         doc/mypod2latex \
297         doc/manual.tex \
298         doc/user.pod \
299         imath/gmp_compat.c \
300         imath/gmp_compat.h \
301         imath/imath.c \
302         imath/imath.h \
303         imath/imrat.c \
304         imath/imrat.h \
305         interface/all.h \
306         interface/isl.py.top \
307         test_inputs
309 dist-hook:
310         echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID
311         (cd doc; make manual.pdf)
312         cp doc/manual.pdf $(distdir)/doc/
314 pkgconfigdir=$(pkgconfig_libdir)
315 pkgconfig_DATA = $(pkgconfig_libfile)
317 gitversion.h: @GIT_HEAD@
318         $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
320 install-data-local: $(srcdir)/isl.py
321         @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
322                  $(builddir)/libisl.la`; \
323         case $$libisl in \
324         '') echo Cannot find isl library name. GDB bindings not installed.;; \
325         *) echo $(INSTALL_DATA) $(srcdir)/isl.py \
326                 $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
327         test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
328         $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac