comparison m4/acinclude.m4 @ 18840:4a4edf0f2077 nkf-ready

fix LLVM 3.4 build (bug #41061) * configure.ac: Call new functions OCTAVE_LLVM_RAW_FD_OSTREAM_API and OCTAVE_LLVM_LEGACY_PASSMANAGER_API, check for Verifier.h header file * m4/acinclude.m4 (OCTAVE_LLVM_RAW_FD_OSTREAM_API): New function to detect correct raw_fd_ostream API * m4/acinclude.m4 (OCTAVE_LLVM_LEGACY_PASSMANAGER_API): New function to detect legacy passmanager API * libinterp/corefcn/jit-util.h: Use legacy passmanager namespace if necessary * libinterp/corefcn/pt-jit.h (class tree_jit): Use legacy passmanager class if necessary * libinterp/corefcn/pt-jit.cc: Include appropriate header files * libinterp/corefcn/pt-jit.cc (tree_jit::initialize): Use legacy passmanager if necessary * libinterp/corefcn/pt-jit.cc (tree_jit::optimize): Use correct API * libinterp/corefcn/jit-typeinfo.cc: Include appropriate header file
author Stefan Mahr <dac922@gmx.de>
date Sun, 11 May 2014 02:28:33 +0200
parents e54cfaae830b
children 2b82d2f29a7b
comparison
equal deleted inserted replaced
18839:3af93835be56 18840:4a4edf0f2077
1739 AC_LANG_POP(C++) 1739 AC_LANG_POP(C++)
1740 ]) 1740 ])
1741 if test $octave_cv_function_addfnattr_arg_is_attributes = yes; then 1741 if test $octave_cv_function_addfnattr_arg_is_attributes = yes; then
1742 AC_DEFINE(FUNCTION_ADDFNATTR_ARG_IS_ATTRIBUTES, 1, 1742 AC_DEFINE(FUNCTION_ADDFNATTR_ARG_IS_ATTRIBUTES, 1,
1743 [Define to 1 if llvm::Function:addFnAttr arg type is llvm::Attributes.]) 1743 [Define to 1 if llvm::Function:addFnAttr arg type is llvm::Attributes.])
1744 fi
1745 ])
1746 dnl
1747 dnl Check for raw_fd_ostream API
1748 dnl
1749 AC_DEFUN([OCTAVE_LLVM_RAW_FD_OSTREAM_API], [
1750 AC_CACHE_CHECK([check LLVM::raw_fd_ostream arg type is llvm::sys:fs],
1751 [octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs],
1752 [AC_LANG_PUSH(C++)
1753 AC_COMPILE_IFELSE(
1754 [AC_LANG_PROGRAM([[
1755 #include <llvm/Support/raw_os_ostream.h>
1756 ]], [[
1757 std::string str;
1758 llvm::raw_fd_ostream fout ("", str, llvm::sys::fs::F_Binary);
1759 ]])],
1760 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=yes,
1761 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=no)
1762 AC_LANG_POP(C++)
1763 ])
1764 if test $octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs = yes; then
1765 AC_DEFINE(RAW_FD_OSTREAM_ARG_IS_LLVM_SYS_FS, 1,
1766 [Define to 1 if LLVM::raw_fd_ostream arg type is llvm::sys:fs.])
1767 fi
1768 ])
1769 dnl
1770 dnl Check for legacy::PassManager API
1771 dnl
1772 AC_DEFUN([OCTAVE_LLVM_LEGACY_PASSMANAGER_API], [
1773 AC_CACHE_CHECK([check for LLVM::legacy::PassManager],
1774 [octave_cv_legacy_passmanager],
1775 [AC_LANG_PUSH(C++)
1776 save_LIBS="$LIBS"
1777 LIBS="$LLVM_LIBS $LIBS"
1778 AC_LINK_IFELSE(
1779 [AC_LANG_PROGRAM([[
1780 #include <llvm/IR/LegacyPassManager.h>
1781 ]], [[
1782 llvm::Module *module;
1783 llvm::legacy::PassManager *module_pass_manager;
1784 llvm::legacy::FunctionPassManager *pass_manager;
1785 module_pass_manager = new llvm::legacy::PassManager ();
1786 pass_manager = new llvm::legacy::FunctionPassManager (module);
1787 ]])],
1788 octave_cv_legacy_passmanager=yes,
1789 octave_cv_legacy_passmanager=no)
1790 LIBS="$save_LIBS"
1791 AC_LANG_POP(C++)
1792 ])
1793 if test $octave_cv_legacy_passmanager = yes; then
1794 AC_DEFINE(LEGACY_PASSMANAGER, 1,
1795 [Define to 1 if LLVM::legacy::PassManager exists.])
1744 fi 1796 fi
1745 ]) 1797 ])
1746 dnl 1798 dnl
1747 dnl Check for ar. 1799 dnl Check for ar.
1748 dnl 1800 dnl