isl_basic_set_opt: avoid invalid access on error path
[platform/upstream/isl.git] / Makefile.am
index e0e0534..7218498 100644 (file)
@@ -1,14 +1,18 @@
-SUBDIRS = . doc
-DIST_SUBDIRS = doc
+if HAVE_CLANG
+    MAYBE_INTERFACE = interface
+endif
+SUBDIRS = . $(MAYBE_INTERFACE) doc
+DIST_SUBDIRS = $(MAYBE_INTERFACE) doc
 
 ACLOCAL_AMFLAGS = -I m4
+AUTOMAKE_OPTIONS = nostdinc
 
 lib_LTLIBRARIES = libisl.la
 noinst_PROGRAMS = isl_test isl_polyhedron_sample isl_pip \
        isl_polyhedron_minimize isl_polytope_scan \
        isl_polyhedron_detect_equalities isl_cat \
-       isl_closure isl_bound
-TESTS = isl_test pip_test.sh bound_test.sh
+       isl_closure isl_bound isl_codegen
+TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh
 
 if HAVE_PIPLIB
 ISL_PIPLIB = \
@@ -28,11 +32,27 @@ if NEED_GET_MEMORY_FUNCTIONS
 GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c
 endif
 
+INCLUDES = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ 
+AM_CFLAGS = @WARNING_FLAGS@
+
 libisl_la_SOURCES = \
        $(ISL_PIPLIB) \
        $(GET_MEMORY_FUNCTIONS) \
+       isl_aff.c \
+       isl_aff_private.h \
        isl_affine_hull.c \
        isl_arg.c \
+       isl_ast.c \
+       isl_ast_private.h \
+       isl_ast_build.c \
+       isl_ast_build_private.h \
+       isl_ast_build_expr.c \
+       isl_ast_build_expr.h \
+       isl_ast_codegen.c \
+       isl_ast_graft.c \
+       isl_ast_graft_private.h \
+       isl_band.c \
+       isl_band_private.h \
        isl_basis_reduction.h \
        basis_reduction_tab.c \
        isl_bernstein.c \
@@ -42,22 +62,31 @@ libisl_la_SOURCES = \
        isl_bound.h \
        isl_coalesce.c \
        isl_constraint.c \
+       isl_constraint_private.h \
        isl_convex_hull.c \
        isl_ctx.c \
+       isl_ctx_private.h \
+       isl_deprecated.c \
        isl_dim.c \
-       isl_dim_private.h \
-       isl_div.c \
+       isl_dim_map.h \
+       isl_dim_map.c \
        isl_equalities.c \
        isl_equalities.h \
        isl_factorization.c \
        isl_factorization.h \
+       isl_farkas.c \
        isl_flow.c \
        isl_fold.c \
        isl_gmp.c \
        isl_hash.c \
+       isl_hmap_map_basic_set.c \
+       isl_hmap_map_basic_set.h \
        isl_ilp.c \
        isl_input.c \
        isl_list.c \
+       isl_list_private.h \
+       isl_local_space_private.h \
+       isl_local_space.c \
        isl_lp.c \
        isl_lp_piplib.h \
        isl_map.c \
@@ -66,12 +95,14 @@ libisl_la_SOURCES = \
        isl_map_private.h \
        isl_map_piplib.h \
        isl_mat.c \
+       isl_mat_private.h \
        isl_morph.c \
        isl_morph.h \
-       isl_name.c \
-       isl_name.h \
+       isl_id.c \
+       isl_id_private.h \
        isl_obj.c \
        isl_options.c \
+       isl_options_private.h \
        isl_output.c \
        isl_piplib.h \
        isl_point_private.h \
@@ -80,18 +111,32 @@ libisl_la_SOURCES = \
        isl_polynomial.c \
        isl_printer_private.h \
        isl_printer.c \
+       print.c \
        isl_range.c \
        isl_range.h \
+       isl_reordering.c \
+       isl_reordering.h \
        isl_sample.h \
        isl_sample.c \
        isl_scan.c \
        isl_scan.h \
+       isl_schedule.c \
+       isl_schedule_private.h \
+       isl_sort.c \
+       isl_sort.h \
+       isl_space.c \
+       isl_space_private.h \
        isl_stream.c \
+       isl_stream_private.h \
        isl_seq.c \
        isl_tab.c \
        isl_tab.h \
        isl_tab_pip.c \
+       isl_tarjan.c \
+       isl_tarjan.h \
        isl_transitive_closure.c \
+       isl_union_map.c \
+       isl_union_map_private.h \
        isl_vec.c \
        isl_version.c \
        isl_vertices_private.h \
@@ -105,96 +150,125 @@ EXTRA_libisl_la_SOURCES = \
        isl_sample_piplib.c \
        isl_sample_piplib.h \
        isl_piplib.c
-libisl_la_LIBADD = @PIPLIB_LIBS@ -lgmp
+libisl_la_LIBADD = @PIPLIB_LIBS@ @GMP_LIBS@
 libisl_la_LDFLAGS = -version-info @versioninfo@ \
        @PIPLIB_LDFLAGS@ @GMP_LDFLAGS@
-libisl_la_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @PIPLIB_CPPFLAGS@ @GMP_CPPFLAGS@
+libisl_la_CPPFLAGS = $(INCLUDES) @PIPLIB_CPPFLAGS@ @GMP_CPPFLAGS@
 
-isl_test_CPPFLAGS = -I$(srcdir)/include -Iinclude/ @GMP_CPPFLAGS@
-isl_test_LDADD = libisl.la
+isl_test_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
+isl_test_LDFLAGS = @GMP_LDFLAGS@
+isl_test_LDADD = libisl.la @GMP_LIBS@
 
-isl_polyhedron_sample_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
+isl_polyhedron_sample_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
 isl_polyhedron_sample_LDADD = libisl.la
 isl_polyhedron_sample_SOURCES = \
        polyhedron_sample.c
 
-isl_pip_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
-isl_pip_LDADD = libisl.la
+isl_pip_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
+isl_pip_LDFLAGS = @GMP_LDFLAGS@
+isl_pip_LDADD = libisl.la @GMP_LIBS@
 isl_pip_SOURCES = \
        pip.c
 
-isl_bound_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
-isl_bound_LDADD = libisl.la
+isl_codegen_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
+isl_codegen_LDFLAGS = @GMP_LDFLAGS@
+isl_codegen_LDADD = libisl.la @GMP_LIBS@
+isl_codegen_SOURCES = \
+       codegen.c
+
+isl_bound_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
+isl_bound_LDFLAGS = @GMP_LDFLAGS@
+isl_bound_LDADD = libisl.la @GMP_LIBS@
 isl_bound_SOURCES = \
        bound.c
 
-isl_polyhedron_minimize_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
-isl_polyhedron_minimize_LDADD = libisl.la
+isl_polyhedron_minimize_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
+isl_polyhedron_minimize_LDFLAGS = @GMP_LDFLAGS@
+isl_polyhedron_minimize_LDADD = libisl.la @GMP_LIBS@
 isl_polyhedron_minimize_SOURCES = \
        polyhedron_minimize.c
 
-isl_polytope_scan_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
+isl_polytope_scan_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
 isl_polytope_scan_LDADD = libisl.la
 isl_polytope_scan_SOURCES = \
        polytope_scan.c
 
-isl_polyhedron_detect_equalities_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
+isl_polyhedron_detect_equalities_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
 isl_polyhedron_detect_equalities_LDADD = libisl.la
 isl_polyhedron_detect_equalities_SOURCES = \
        polyhedron_detect_equalities.c
 
-isl_cat_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
+isl_cat_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
 isl_cat_LDADD = libisl.la
 isl_cat_SOURCES = \
        cat.c
 
-isl_closure_CPPFLAGS = -I$(srcdir)/include -Iinclude/ \
-       @GMP_CPPFLAGS@
+isl_closure_CPPFLAGS = $(INCLUDES) @GMP_CPPFLAGS@
 isl_closure_LDADD = libisl.la
 isl_closure_SOURCES = \
        closure.c
 
 nodist_pkginclude_HEADERS = \
-       include/isl_config.h \
-       include/isl_stdint.h
+       include/isl/config.h \
+       include/isl/stdint.h
 pkginclude_HEADERS = \
-       include/isl_arg.h \
-       include/isl_blk.h \
-       include/isl_constraint.h \
-       include/isl_ctx.h \
-       include/isl_dim.h \
-       include/isl_div.h \
-       include/isl_flow.h \
-       include/isl_ilp.h \
-       include/isl_int.h \
-       include/isl_hash.h \
-       include/isl_list.h \
-       include/isl_lp.h \
-       include/isl_mat.h \
-       include/isl_map.h \
-       include/isl_obj.h \
-       include/isl_options.h \
-       include/isl_point.h \
-       include/isl_polynomial.h \
-       include/isl_printer.h \
-       include/isl_seq.h \
-       include/isl_set.h \
-       include/isl_stream.h \
-       include/isl_vec.h \
-       include/isl_version.h
-       include/isl_vertices.h
+       include/isl/aff.h \
+       include/isl/aff_type.h \
+       include/isl/arg.h \
+       include/isl/ast.h \
+       include/isl/ast_build.h \
+       include/isl/band.h \
+       include/isl/blk.h \
+       include/isl/constraint.h \
+       include/isl/ctx.h \
+       include/isl/dim.h \
+       include/isl/flow.h \
+       include/isl/id.h \
+       include/isl/ilp.h \
+       include/isl/int.h \
+       include/isl/hash.h \
+       include/isl/list.h \
+       include/isl/local_space.h \
+       include/isl/lp.h \
+       include/isl/mat.h \
+       include/isl/map.h \
+       include/isl/map_type.h \
+       include/isl/multi.h \
+       include/isl/obj.h \
+       include/isl/options.h \
+       include/isl/point.h \
+       include/isl/polynomial.h \
+       include/isl/polynomial_type.h \
+       include/isl/printer.h \
+       include/isl/schedule.h \
+       include/isl/seq.h \
+       include/isl/set.h \
+       include/isl/set_type.h \
+       include/isl/space.h \
+       include/isl/stream.h \
+       include/isl/union_map.h \
+       include/isl/union_map_type.h \
+       include/isl/union_set.h \
+       include/isl/union_set_type.h \
+       include/isl/vec.h \
+       include/isl/version.h \
+       include/isl/vertices.h
 
 EXTRA_DIST = \
+       LICENSE \
+       isl_config_post.h \
        basis_reduction_templ.c \
+       isl_list_templ.c \
+       isl_list_templ.h \
+       isl_map_lexopt_templ.c \
+       isl_multi_templ.c \
+       isl_multi_templ.h \
+       print_templ.c \
+       isl_power_templ.c \
        isl_pw_templ.c \
+       isl_union_templ.c \
+       isl.py \
+       doc/SubmittingPatches \
        doc/chicago.bst \
        doc/chicago.sty \
        doc/implementation.tex \
@@ -202,8 +276,8 @@ EXTRA_DIST = \
        doc/mypod2latex \
        doc/manual.tex \
        doc/user.pod \
-       bound_test.sh \
-       pip_test.sh \
+       interface/all.h \
+       interface/isl.py.top \
        test_inputs
 
 dist-hook:
@@ -215,4 +289,14 @@ pkgconfigdir=$(pkgconfig_libdir)
 pkgconfig_DATA = $(pkgconfig_libfile)
 
 gitversion.h: @GIT_HEAD@
-       echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
+       $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@
+
+install-data-local: $(srcdir)/isl.py
+       @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+                $(builddir)/libisl.la`; \
+       case $$libisl in \
+       '') echo Cannot find isl library name. GDB bindings not installed.;; \
+       *) echo $(INSTALL_DATA) $(srcdir)/isl.py \
+               $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
+       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
+       $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac