if HAVE_CLANG if HAVE_CXX11 MAYBE_INTERFACE = interface FORCE: interface/extract_interface$(BUILD_EXEEXT): FORCE $(MAKE) $(AM_MAKEFLAGS) -C interface extract_interface$(BUILD_EXEEXT) endif endif SUBDIRS = . $(MAYBE_INTERFACE) doc DIST_SUBDIRS = $(MAYBE_INTERFACE) doc ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = nostdinc subdir-objects 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 isl_schedule isl_codegen isl_test_int \ isl_flow isl_flow_cmp isl_schedule_cmp TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh isl_test_int \ flow_test.sh schedule_test.sh if HAVE_CPP_ISL_H CPP_H = include/isl/cpp.h if HAVE_CXX11 noinst_PROGRAMS += isl_test_cpp TESTS += isl_test_cpp endif endif if HAVE_CLANG if HAVE_CXX11 noinst_PROGRAMS += isl_test_cpp-checked isl_test_cpp-checked-conversion TESTS += isl_test_cpp-checked isl_test_cpp-checked-conversion if HAVE_PYTHON TESTS += isl_test_python.py noinst_PYTHON = interface/isl.py isl_test_python.py: interface/isl.py libisl.la endif endif endif TEST_EXTENSIONS = .py AM_TESTS_ENVIRONMENT = \ export PYTHONPATH=interface; \ export ISL_DYLD_LIBRARY_PATH=.libs; \ export LD_LIBRARY_PATH=".libs:$(LD_LIBRARY_PATH)"; PY_LOG_COMPILER = $(PYTHON) if IMATH_FOR_MP MP_SRC = \ isl_imath.c \ isl_imath.h \ isl_int_imath.h \ imath_wrap/gmp_compat.h \ imath_wrap/imath.h \ imath_wrap/imrat.h \ imath_wrap/wrap.h \ imath_wrap/gmp_compat.c \ imath_wrap/imath.c \ imath_wrap/imrat.c noinst_PROGRAMS += isl_test_imath TESTS += isl_test_imath if SMALL_INT_OPT MP_SRC += isl_int_sioimath.h \ isl_int_sioimath.c \ isl_val_sioimath.c else MP_SRC += isl_val_imath.c endif MP_INCLUDE_H = endif if GMP_FOR_MP if NEED_GET_MEMORY_FUNCTIONS GET_MEMORY_FUNCTIONS=mp_get_memory_functions.c endif MP_SRC = \ $(GET_MEMORY_FUNCTIONS) \ isl_int_gmp.h \ isl_gmp.c \ isl_val_gmp.c MP_INCLUDE_H = include/isl/val_gmp.h endif includes = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ AM_CPPFLAGS = $(includes) @MP_CPPFLAGS@ AM_CFLAGS = @WARNING_FLAGS@ @MP_CFLAGS@ libisl_la_SOURCES = \ $(MP_SRC) \ isl_aff.c \ isl_aff_map.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_basis_reduction.h \ basis_reduction_tab.c \ isl_bernstein.c \ isl_bernstein.h \ isl_blk.c \ isl_blk.h \ isl_bound.c \ isl_bound.h \ isl_box.c \ 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_map.h \ isl_dim_map.c \ isl_equalities.c \ isl_equalities.h \ isl_factorization.c \ isl_factorization.h \ isl_farkas.c \ isl_ffs.c \ isl_flow.c \ isl_fold.c \ isl_hash.c \ isl_id_to_ast_expr.c \ isl_id_to_id.c \ isl_id_to_pw_aff.c \ isl_ilp.c \ isl_ilp_private.h \ isl_input.c \ isl_int.h \ isl_local_private.h \ isl_local.h \ isl_local.c \ isl_local_space_private.h \ isl_local_space.c \ isl_lp.c \ isl_lp_private.h \ isl_map.c \ isl_map_list.c \ isl_map_simplify.c \ isl_map_subtract.c \ isl_map_private.h \ isl_map_to_basic_set.c \ isl_mat.c \ isl_mat_private.h \ isl_morph.c \ isl_morph.h \ isl_id.c \ isl_id_private.h \ isl_obj.c \ isl_options.c \ isl_options_private.h \ isl_output.c \ isl_output_private.h \ isl_point_private.h \ isl_point.c \ isl_polynomial_private.h \ 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_band.c \ isl_schedule_band.h \ isl_schedule_node.c \ isl_schedule_node_private.h \ isl_schedule_read.c \ isl_schedule_tree.c \ isl_schedule_tree.h \ isl_schedule_private.h \ isl_schedule_constraints.c \ isl_schedule_constraints.h \ isl_scheduler.c \ isl_set_list.c \ isl_sort.c \ isl_sort.h \ isl_space.c \ isl_space_private.h \ isl_stream.c \ isl_stream_private.h \ isl_seq.c \ isl_seq.h \ isl_set_to_ast_graft_list.c \ isl_set_to_ast_graft_list.h \ isl_stride.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_union_set_private.h \ isl_val.c \ isl_val_private.h \ isl_vec_private.h \ isl_vec.c \ isl_version.c \ isl_vertices_private.h \ isl_vertices.c \ isl_yaml.h libisl_la_LIBADD = @MP_LIBS@ libisl_la_LDFLAGS = -version-info @versioninfo@ \ @MP_LDFLAGS@ isl_test_LDFLAGS = @MP_LDFLAGS@ isl_test_LDADD = libisl.la @MP_LIBS@ isl_test_int_LDFLAGS = @MP_LDFLAGS@ isl_test_int_LDADD = libisl.la @MP_LIBS@ if IMATH_FOR_MP isl_test_imath_LDFLAGS = @MP_LDFLAGS@ isl_test_imath_LDADD = libisl.la @MP_LIBS@ endif isl_polyhedron_sample_LDADD = libisl.la isl_polyhedron_sample_SOURCES = \ polyhedron_sample.c isl_pip_LDFLAGS = @MP_LDFLAGS@ isl_pip_LDADD = libisl.la @MP_LIBS@ isl_pip_SOURCES = \ pip.c isl_schedule_LDFLAGS = @MP_LDFLAGS@ isl_schedule_LDADD = libisl.la @MP_LIBS@ isl_schedule_SOURCES = \ schedule.c isl_schedule_cmp_LDFLAGS = @MP_LDFLAGS@ isl_schedule_cmp_LDADD = libisl.la @MP_LIBS@ isl_schedule_cmp_SOURCES = \ schedule_cmp.c isl_flow_LDFLAGS = @MP_LDFLAGS@ isl_flow_LDADD = libisl.la @MP_LIBS@ isl_flow_SOURCES = \ flow.c isl_flow_cmp_LDFLAGS = @MP_LDFLAGS@ isl_flow_cmp_LDADD = libisl.la @MP_LIBS@ isl_flow_cmp_SOURCES = \ flow_cmp.c isl_codegen_LDFLAGS = @MP_LDFLAGS@ isl_codegen_LDADD = libisl.la @MP_LIBS@ isl_codegen_SOURCES = \ codegen.c isl_bound_LDFLAGS = @MP_LDFLAGS@ isl_bound_LDADD = libisl.la @MP_LIBS@ isl_bound_SOURCES = \ bound.c isl_polyhedron_minimize_LDFLAGS = @MP_LDFLAGS@ isl_polyhedron_minimize_LDADD = libisl.la @MP_LIBS@ isl_polyhedron_minimize_SOURCES = \ polyhedron_minimize.c isl_polytope_scan_LDADD = libisl.la isl_polytope_scan_SOURCES = \ polytope_scan.c isl_polyhedron_detect_equalities_LDADD = libisl.la isl_polyhedron_detect_equalities_SOURCES = \ polyhedron_detect_equalities.c isl_cat_LDADD = libisl.la isl_cat_SOURCES = \ cat.c isl_closure_LDADD = libisl.la isl_closure_SOURCES = \ closure.c isl_test_cpp_SOURCES = \ isl_test_cpp.cc \ include/isl/cpp.h isl_test_cpp_LDFLAGS = @MP_LDFLAGS@ isl_test_cpp_LDADD = libisl.la @MP_LIBS@ isl_test_cpp_checked_SOURCES = \ isl_test_cpp-checked.cc \ include/isl/cpp-checked.h isl_test_cpp_checked_LDFLAGS = @MP_LDFLAGS@ isl_test_cpp_checked_LDADD = libisl.la @MP_LIBS@ isl_test_cpp_checked_conversion_SOURCES = \ isl_test_cpp-checked-conversion.cc \ include/isl/cpp-checked-conversion.h isl_test_cpp_checked_conversion_LDFLAGS = @MP_LDFLAGS@ isl_test_cpp_checked_conversion_LDADD = libisl.la @MP_LIBS@ # dummy library that captures the dependencies on all headers # that are relevant for the bindings noinst_LIBRARIES = libdep.a libdep_a_SOURCES = dep.c if HAVE_CLANG if HAVE_CXX11 interface/isldlname.py: libisl.la $(AM_V_GEN) $(GREP) dlname $< | $(SED) -e 's/dlname/isl_dlname/' > $@ interface/isl.py: interface/extract_interface$(BUILD_EXEEXT) libdep.a \ python/isl.py.top interface/isldlname.py (cat interface/isldlname.py $(srcdir)/python/isl.py.top && \ interface/extract_interface$(BUILD_EXEEXT) --language=python \ $(includes) $(srcdir)/all.h) \ > $@ || (rm $@ && false) include/isl/cpp.h: interface/extract_interface$(BUILD_EXEEXT) libdep.a \ cpp/cpp.h.top cpp/cpp.h.pre cpp/cpp.h.bot $(MKDIR_P) "include/isl/cpp" && \ (cat $(srcdir)/cpp/cpp.h.top $(srcdir)/all.h \ $(srcdir)/cpp/cpp.h.pre && \ interface/extract_interface$(BUILD_EXEEXT) --language=cpp \ $(includes) $(srcdir)/all.h && \ cat $(srcdir)/cpp/cpp.h.bot) \ > $@ || (rm $@ && false) include/isl/cpp-checked.h: interface/extract_interface$(BUILD_EXEEXT) libdep.a \ cpp/cpp-checked.h.top \ cpp/cpp-checked.h.pre cpp/cpp-checked.h.bot (cat $(srcdir)/cpp/cpp-checked.h.top $(srcdir)/all.h \ $(srcdir)/cpp/cpp-checked.h.pre && \ interface/extract_interface$(BUILD_EXEEXT) \ --language=cpp-checked \ $(includes) $(srcdir)/all.h && \ cat $(srcdir)/cpp/cpp-checked.h.bot) \ > $@ || (rm $@ && false) include/isl/cpp-checked-conversion.h: \ interface/extract_interface$(BUILD_EXEEXT) \ libdep.a \ cpp/cpp-checked-conversion.h.top \ cpp/cpp-checked-conversion.h.bot (cat $(srcdir)/cpp/cpp-checked-conversion.h.top && \ interface/extract_interface$(BUILD_EXEEXT) \ --language=cpp-checked-conversion \ $(includes) $(srcdir)/all.h && \ cat $(srcdir)/cpp/cpp-checked-conversion.h.bot) \ > $@ || (rm $@ && false) endif endif nodist_pkginclude_HEADERS = \ include/isl/stdint.h pkginclude_HEADERS = \ $(CPP_H) \ $(MP_INCLUDE_H) \ include/isl/aff.h \ include/isl/aff_type.h \ include/isl/arg.h \ include/isl/ast.h \ include/isl/ast_type.h \ include/isl/ast_build.h \ include/isl/constraint.h \ include/isl/ctx.h \ include/isl/fixed_box.h \ include/isl/flow.h \ include/isl/id.h \ include/isl/id_type.h \ include/isl/id_to_ast_expr.h \ include/isl/id_to_id.h \ include/isl/id_to_pw_aff.h \ include/isl/ilp.h \ include/isl/hash.h \ include/isl/hmap.h \ include/isl/hmap_templ.c \ include/isl/list.h \ include/isl/local_space.h \ include/isl/lp.h \ include/isl/mat.h \ include/isl/map.h \ include/isl/map_to_basic_set.h \ include/isl/map_type.h \ include/isl/maybe.h \ include/isl/maybe_ast_expr.h \ include/isl/maybe_basic_set.h \ include/isl/maybe_id.h \ include/isl/maybe_pw_aff.h \ include/isl/maybe_templ.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/printer_type.h \ include/isl/schedule.h \ include/isl/schedule_node.h \ include/isl/schedule_type.h \ include/isl/set.h \ include/isl/set_type.h \ include/isl/space.h \ include/isl/space_type.h \ include/isl/stream.h \ include/isl/stride_info.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/val.h \ include/isl/val_type.h \ include/isl/vec.h \ include/isl/version.h \ include/isl/vertices.h if HAVE_CLANG if HAVE_CXX11 CPP_INTERFACES = \ include/isl/cpp.h \ include/isl/cpp-checked.h \ include/isl/cpp-checked-conversion.h endif endif BUILT_SOURCES = gitversion.h $(CPP_INTERFACES) CLEANFILES = \ gitversion.h \ interface/isldlname.py \ interface/isl.py \ interface/isl.pyc \ $(CPP_INTERFACES) DISTCLEANFILES = \ isl-uninstalled.sh \ isl-uninstalled.pc \ isl.pc \ isl.pc.in \ include/isl/stdint.h EXTRA_DIST = \ LICENSE \ isl_config_post.h \ isl_aff_lex_templ.c \ isl_align_params_templ.c \ isl_align_params_bin_templ.c \ basis_reduction_templ.c \ isl_bind_domain_templ.c \ bset_to_bmap.c \ bset_from_bmap.c \ isl_check_named_params_templ.c \ check_reparse_templ.c \ check_reparse_test_templ.c \ check_type_range_templ.c \ isl_domain_factor_templ.c \ extract_key.c \ isl_ilp_opt_multi_val_templ.c \ isl_ilp_opt_val_templ.c \ has_single_reference_templ.c \ isl_insert_domain_templ.c \ isl_list_macro.h \ isl_list_templ.c \ isl_list_templ.h \ isl_map_bound_templ.c \ isl_map_lexopt_templ.c \ isl_maybe_ast_graft_list.h \ isl_maybe_map.h \ isl_multi_macro.h \ isl_multi_bind_templ.c \ isl_multi_explicit_domain.c \ isl_multi_pw_aff_explicit_domain.c \ isl_multi_union_pw_aff_explicit_domain.c \ isl_multi_no_explicit_domain.c \ isl_multi_no_domain_templ.c \ isl_multi_templ.c \ isl_multi_templ.h \ isl_multi_add_constant_templ.c \ isl_multi_align_templ.c \ isl_multi_align_set.c \ isl_multi_align_union_set.c \ isl_multi_apply_templ.c \ isl_multi_apply_set.c \ isl_multi_apply_union_set.c \ isl_multi_arith_templ.c \ isl_multi_bind_domain_templ.c \ isl_multi_cmp.c \ isl_multi_coalesce.c \ isl_multi_dim_id_templ.c \ isl_multi_dims.c \ isl_multi_domain_templ.c \ isl_multi_floor.c \ isl_multi_from_base_templ.c \ isl_multi_gist.c \ isl_multi_hash.c \ isl_multi_insert_domain_templ.c \ isl_multi_intersect.c \ isl_multi_identity_templ.c \ isl_multi_locals_templ.c \ isl_multi_min_max_templ.c \ isl_multi_move_dims_templ.c \ isl_multi_nan_templ.c \ isl_multi_param_templ.c \ isl_multi_product_templ.c \ isl_multi_read_no_explicit_domain_templ.c \ isl_multi_splice_templ.c \ isl_multi_tuple_id_templ.c \ isl_multi_unbind_params_templ.c \ isl_multi_union_add_templ.c \ isl_multi_zero_templ.c \ isl_opt_mpa_templ.c \ opt_type.h \ print_templ.c \ print_templ_yaml.c \ print_yaml_field_templ.c \ isl_power_templ.c \ isl_project_out_all_params_templ.c \ isl_pw_macro.h \ isl_pw_templ.c \ isl_pw_templ.h \ isl_pw_add_constant_templ.c \ isl_pw_add_constant_multi_val_templ.c \ isl_pw_add_constant_val_templ.c \ isl_pw_bind_domain_templ.c \ isl_pw_eval.c \ isl_pw_hash.c \ isl_pw_insert_dims_templ.c \ isl_pw_insert_domain_templ.c \ isl_pw_lift_templ.c \ isl_pw_locals_templ.c \ isl_pw_morph_templ.c \ isl_pw_move_dims_templ.c \ isl_pw_neg_templ.c \ isl_pw_opt_templ.c \ isl_pw_pullback_templ.c \ isl_pw_sub_templ.c \ isl_pw_union_opt.c \ read_in_string_templ.c \ set_to_map.c \ set_from_map.c \ set_list_from_map_list_inl.c \ isl_tab_lexopt_templ.c \ isl_test_list_templ.c \ isl_test_plain_equal_templ.c \ isl_type_check_equal_space_templ.c \ isl_type_has_equal_space_bin_templ.c \ isl_type_has_equal_space_templ.c \ isl_unbind_params_templ.c \ uset_to_umap.c \ uset_from_umap.c \ isl_union_macro.h \ isl_union_templ.c \ isl_union_single.c \ isl_union_multi.c \ isl_union_eval.c \ isl_union_locals_templ.c \ isl_union_neg.c \ isl_union_pw_templ.c \ libisl-gdb.py \ doc/CodingStyle \ doc/SubmittingPatches \ doc/implementation.tex \ doc/isl.bib \ doc/mypod2latex \ doc/manual.tex \ doc/reading.tex \ doc/user.pod \ imath/gmp_compat.c \ imath/gmp_compat.h \ imath/imath.c \ imath/imath.h \ imath/imrat.c \ imath/imrat.h \ all.h \ cpp \ python \ isl_test_cpp-generic.cc \ isl_test_python.py \ test_inputs dist-hook: echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID (cd doc; make manual.pdf) cp doc/manual.pdf $(distdir)/doc/ pkgconfigdir=$(pkgconfig_libdir) pkgconfig_DATA = $(pkgconfig_libfile) gitversion.h: @GIT_HEAD@ $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@ install-data-local: $(srcdir)/libisl-gdb.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)/libisl-gdb.py \ $(DESTDIR)$(libdir)/$$libisl-gdb.py; \ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \ $(INSTALL_DATA) $(srcdir)/libisl-gdb.py \ $(DESTDIR)$(libdir)/$$libisl-gdb.py; \ esac uninstall-local: @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ $(builddir)/libisl.la`; \ if test -n "$${libisl}"; then \ rm -f $(DESTDIR)$(libdir)/$$libisl-gdb.py; \ fi