diff configure.ac @ 20654:b65888ec820e draft default tip gccjit

dmalcom gcc jit import
author Stefan Mahr <dac922@gmx.de>
date Fri, 27 Feb 2015 16:59:36 +0100
parents bf47ac616bc0
children
line wrap: on
line diff
--- a/configure.ac	Tue Oct 13 11:40:05 2015 +0100
+++ b/configure.ac	Fri Feb 27 16:59:36 2015 +0100
@@ -863,7 +863,6 @@
   if test -z "$warn_llvm"; then
     AC_DEFINE(HAVE_LLVM, 1, [Define to 1 if LLVM is available.])
   else
-    build_jit=no
     LLVM_CPPFLAGS=
     LLVM_CXXFLAGS=
     LLVM_LDFLAGS=
@@ -883,6 +882,73 @@
 AC_SUBST(LLVM_LIBS)
 AM_CONDITIONAL([AMCOND_HAVE_LLVM], [test -z "$warn_llvm"])
 
+
+LIBGCCJIT_CPPFLAGS=
+LIBGCCJIT_CXXFLAGS=
+LIBGCCJIT_LDFLAGS=
+LIBGCCJIT_LIBS=
+
+if test $build_jit = yes; then
+
+  AC_ARG_VAR([LIBGCCJIT_PREFIX], [path to libgccjit build directory])
+
+  save_CPPFLAGS="$CPPFLAGS"
+  save_CXXFLAGS="$CXXFLAGS"
+  save_LDFLAGS="$LDFLAGS"
+
+  if test -z "$LIBGCCJIT_PREFIX"; then
+    warn_libgccjit="LIBGCCJIT prefix path not set. trying defaul"
+  else
+    LIBGCCJIT_CPPFLAGS="-I${LIBGCCJIT_PREFIX}/include"
+    LIBGCCJIT_CXXFLAGS=""
+    LIBGCCJIT_LDFLAGS="-L${LIBGCCJIT_PREFIX}/lib"
+
+    CPPFLAGS="$LIBGCCJIT_CPPFLAGS $CPPFLAGS"
+    CXXFLAGS="$LIBGCCJIT_CXXFLAGS $CXXFLAGS"
+    LDFLAGS="$LIBGCCJIT_LDFLAGS $LDFLAGS"
+  fi
+
+  AC_LANG_PUSH(C++)
+
+  AC_CHECK_HEADER([libgccjit++.h], [],
+                  [warn_libgccjit="LIBGCCJIT header file missing"])
+
+  AC_CHECK_LIB(gccjit, gcc_jit_context_zero,
+               [LIBGCCJIT_LIBS=-lgccjit],
+               [warn_libgccjit="LIBGCCJIT library missing"])
+
+  AC_LANG_POP(C++)
+  CPPFLAGS="$save_CPPFLAGS"
+  CXXFLAGS="$save_CXXFLAGS"
+  LDFLAGS="$save_LDFLAGS"
+
+  if test -z "$warn_libgccjit"; then
+    AC_DEFINE(HAVE_GCCJIT, 1, [Define to 1 if libgccjit is available).])
+  else
+    LIBGCCJIT_CPPFLAGS=
+    LIBGCCJIT_CXXFLAGS=
+    LIBGCCJIT_LDFLAGS=
+    LIBGCCJIT_LIBS=
+    OCTAVE_CONFIGURE_WARNING([warn_libgccjit])
+  fi
+
+fi
+
+AC_SUBST(LIBGCCJIT_CPPFLAGS)
+AC_SUBST(LIBGCCJIT_CXXFLAGS)
+AC_SUBST(LIBGCCJIT_LDFLAGS)
+AC_SUBST(LIBGCCJIT_LIBS)
+AM_CONDITIONAL([AMCOND_HAVE_LIBGCCJIT], [test -z "$warn_libgccjit"])
+
+###if test -z "$warn_libgccjit" -o -z "$warn_llvm"; then
+if test -z "$warn_llvm"; then
+  AC_DEFINE(HAVE_JIT, 1, [Define to 1 if using a JIT (LLVM or LLVM and libgccjit).])
+else
+  build_jit=no
+fi
+
+
+
 ### Check for HDF5 library.
 
 save_CPPFLAGS="$CPPFLAGS"
@@ -3074,6 +3140,10 @@
   Java CPPFLAGS:               $JAVA_CPPFLAGS
   Java libraries:              $JAVA_LIBS
   LAPACK libraries:            $LAPACK_LIBS
+  libgccjit CPPFLAGS:          $LIBGCCJIT_CPPFLAGS
+  libgccjit CXXFLAGS:          $LIBGCCJIT_CXXFLAGS
+  libgccjit LDFLAGS:           $LIBGCCJIT_LDFLAGS
+  libgccjit libraries:         $LIBGCCJIT_LIBS
   LLVM CPPFLAGS:               $LLVM_CPPFLAGS
   LLVM LDFLAGS:                $LLVM_LDFLAGS
   LLVM libraries:              $LLVM_LIBS