Mercurial > octave-antonio
diff configure.ac @ 14899:f25d2224fa02
Initial JIT support
build-aux/common.mk: Add llvm flags.
configure.ac: Link with llvm.
src/Makefile: Add pt-jit.
src/link-deps.mk: Link with llvm.
src/oct-conf.in.h: Add llvm flags.
src/toplev.cc: Add llvm flags.
src/pt-eval.cc: Try to jit statements.
src/pt-jit.cc: New file.
src/pt-jit.h: New file
author | Max Brister <max@2bass.com> |
---|---|
date | Sun, 06 May 2012 20:17:30 -0600 |
parents | 4dc85c4f151b |
children | 82429f3c1005 |
line wrap: on
line diff
--- a/configure.ac Sun May 06 21:14:55 2012 -0400 +++ b/configure.ac Sun May 06 20:17:30 2012 -0600 @@ -711,6 +711,58 @@ [ZLIB library not found. Octave will not be able to save or load compressed data files or HDF5 files.], [zlib.h], [gzclearerr]) +### Check for the llvm library +dnl +dnl +dnl llvm is odd and has its own pkg-config like script. We should probably check +dnl for existance and +dnl + +LLVM_CONFIG=llvm-config +LLVM_CPPFLAGS= +LLVM_LDFLAGS= +LLVM_LIBS= + +LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` +LLVM_LIBS=`$LLVM_CONFIG --libs` +LLVM_CPPFLAGS=`$LLVM_CONFIG --cxxflags` + +warn_llvm="LLVM library fails tests. JIT compilation will be disabled." + +save_CPPFLAGS="$CPPFLAGS" +save_LIBS="$LIBS" +save_LDFLAGS="$LDFLAGS" +CPPFLAGS="$LLVM_CPPFLAGS $CPPFLAGS" +LIBS="$LLVM_LIBS $LIBS" +LDFLAGS="$LLVM_LDFLAGS $LDFLAGS" +AC_LANG_PUSH(C++) + AC_CHECK_HEADER([llvm/LLVMContext.h], [ + AC_MSG_CHECKING([for llvm::getGlobalContext in llvm/LLVMContext.h]) + AC_TRY_LINK([#include <llvm/LLVMContext.h>], [llvm::getGlobalContext ()], [ + AC_MSG_RESULT(yes) + warn_llvm= + ], [ + AC_MSG_RESULT(no) + ]) + ]) +AC_LANG_POP(C++) +CPPFLAGS="$save_CPPFLAGS" +LIBS="$save_LIBS" +LDFLAGS="$save_LDFLAGS" + +if test -z "$warn_llvm"; then + AC_DEFINE(HAVE_LLVM, 1, [Define if LLVM is available.]) +else + LLVM_CPPFLAGS= + LLVM_LDFLAGS= + LLVM_LIBS= +fi +AC_DEFINE(HAVE_LLVM, 1, [Define if LLVM is available.]) + +AC_SUBST(LLVM_CPPFLAGS) +AC_SUBST(LLVM_LDFLAGS) +AC_SUBST(LLVM_LIBS) + ### Check for HDF5 library. save_CPPFLAGS="$CPPFLAGS" @@ -2222,6 +2274,9 @@ Magick++ CPPFLAGS: $MAGICK_CPPFLAGS Magick++ LDFLAGS: $MAGICK_LDFLAGS Magick++ libraries: $MAGICK_LIBS + LLVM CPPFLAGS: $LLVM_CPPFLAGS + LLVM LDFLAGS: $LLVM_LDFLAGS + LLVM Libraries: $LLVM_LIBS HDF5 CPPFLAGS: $HDF5_CPPFLAGS HDF5 LDFLAGS: $HDF5_LDFLAGS HDF5 libraries: $HDF5_LIBS @@ -2392,6 +2447,11 @@ warn_msg_printed=true fi +if test -n "$warn_llvm"; then + AC_MSG_WARN([$warn_llvm]) + warn_msg_printed=true +fi + if test -n "$warn_ghostscript"; then AC_MSG_WARN([$warn_ghostscript]) warn_msg_printed=true