Rewritten Javascript autoconfiguration.

This commit is contained in:
Oliver Buchtala 2013-09-06 00:41:18 +03:00
commit 962207e0f3

View file

@ -1078,17 +1078,212 @@ AC_SUBST(JAVACXXSHARED)
AC_SUBST(JAVACFLAGS)
#----------------------------------------------------------------
# Look for JAVASCRIPT [JavaScriptCore Headers and Library]
# Look for JAVASCRIPT
#----------------------------------------------------------------
AC_ARG_WITH(javascript, AS_HELP_STRING([--without-javascript], [Disable JAVASCRIPT]), [with_javascript="$withval"], [with_javascript=yes])
AC_ARG_VAR(JSDEFAULT, "The default engine to use ( v8 | jsc ).")
# First, check for "--without-javascript" or "--with-javascript=no".
if test x"${with_javascript}" = xno -o x"${with_alllang}" = xno ; then
if test x"${with_javascript}" = xno -o x"${with_alllang}" = xno ; then
AC_MSG_NOTICE([Disabling Javascript])
JAVASCRIPT=
else
#----------------------------------------------------------------
# General Javascript settings shared by JSC and V8
#----------------------------------------------------------------
case $host in
*-*-cygwin* | *-*-mingw*)
JSLIBRARYPREFIX=""
;;
*)
JSLIBRARYPREFIX="lib"
;;
esac
case $host in
*-*-darwin*)
JSSO=".dylib"
JSLDSHARED='$(CC) -dynamiclib'
JSCXXSHARED='$(CXX) -dynamiclib'
;;
*)
JSSO=$SO
JSLDSHARED='$(LDSHARED)'
JSCXXSHARED='$(CXXSHARED)'
;;
esac
#----------------------------------------------------------------
# Look for JavascriptCore (Webkit) settings (JSCOREINCDIR, JSCOREDYNAMICLINKING)
#----------------------------------------------------------------
# check for include files
AC_MSG_CHECKING(for include file JavaScriptCore/JavaScript.h)
AC_ARG_WITH(jscoreinc, [ --with-jscinc=path Set location of Javascript include directory], [JSCOREINCDIR="$withval"], [JSCOREINCDIR=])
if test -z "$JSCOREINCDIR"; then
JSCOREINCDIR="/usr/include/ /usr/local/include/"
# Add in default directory for JavaScriptCore headers for Linux and MacOSX
case $host in
*-*-linux*)
JSCOREINCDIR="/usr/include/webkit-1.0/ /usr/include/webkitgtk-1.0/ /usr/local/include/webkit-1.0/JavaScriptCore/ $JSCOREINCDIR"
;;
*-*-darwin*)
JSCOREINCDIR="/System/Library/Frameworks/JavaScriptCore.framework/Headers/ $JSCOREINCDIR"
;;
*)
;;
esac
fi
for d in $JSCOREINCDIR ; do
if test -r "$d/JavaScriptCore/JavaScript.h" || test -r "$d/JavaScript.h" ; then
AC_MSG_RESULT($d)
JSCOREINCDIR=$d
JSCOREINC=-I\"$d\"
break
fi
done
if test "$JSCOREINC" = "" ; then
AC_MSG_RESULT(not found)
fi
# check for JavaScriptCore/Webkit libraries
AC_ARG_WITH(jscorelib,[ --with-jsclib =path Set location of the JavaScriptCore/Webkit library directory],[JSCORELIB="-L$withval"], [JSCORELIB=])
AC_MSG_CHECKING(for JavaScriptCore/Webkit library)
# look for the library when not provided
if test -z "$JSCORELIB"; then
case $host in
*-*-linux*)
dirs="/usr/lib/ /usr/local/lib/"
for i in $dirs ; do
if test -r $i/libwebkit-1.0.la; then
AC_MSG_RESULT($i)
JSCORELIB="-L$i -lwebkit-1.0"
break
fi
if test -r $i/libjavascriptcoregtk-1.0.so; then
AC_MSG_RESULT($i)
JSCORELIB="-L$i -ljavascriptcoregtk-1.0"
break
fi
if test -r $i/libwebkitgtk-1.0.so; then
AC_MSG_RESULT($i)
JSCORELIB="-L$i -lwebkitgtk-1.0"
break
fi
done
if test -z "$JSCORELIB"; then
AC_MSG_RESULT(not found)
JSCENABLED=0
else
JSCOREDYNAMICLINKING="$JSCORELIB"
JSCENABLED=1
fi
;;
*-*-darwin*)
JSCOREDYNAMICLINKING="-framework JavaScriptCore"
;;
*)
;;
esac
fi
#----------------------------------------------------------------
# Look for V8 settings (JSV8INCDIR, JSV8DYNAMICLINKING)
#----------------------------------------------------------------
# check for include files
AC_MSG_CHECKING(for include file v8.h)
AC_ARG_WITH(jsv8inc, [ --with-v8inc=path Set location of Javascript include directory], [JSV8INCDIR="$withval"])
# if not include dir is specified we try to find
if test -z "$JSV8INCDIR"; then
# Add in default directory for JavaScriptCore headers for Linux and MacOSX
case $host in
*-*-linux*)
JSV8INCDIR="/usr/include /usr/local/include/ $JSV8INCDIR"
;;
*-*-darwin*)
JSV8INCDIR="$JSV8INCDIR"
;;
*)
;;
esac
fi
for d in $JSV8INCDIR ; do
if test -r "$d/v8.h" ; then
JSV8INCDIR=$d
JSV8INC=-I\"$d\"
break
fi
done
if test "$JSV8INC" = "" ; then
AC_MSG_RESULT(not found)
else
AC_MSG_RESULT($JSV8INCDIR)
fi
# check for V8 library
AC_MSG_CHECKING(for v8 library)
AC_ARG_WITH(jsv8lib,[ --with-v8lib=path Set location of V8 library directory],[JSV8LIBDIR="$withval"], [JSV8LIB=])
v8libdirs="$JSV8LIBDIR /usr/lib/ /usr/local/lib/"
for d in $v8libdirs ; do
if test -r $d/libv8.so; then
JSV8LIBDIR=$d
JSV8LIB="-L$d -lv8"
break
fi
done
if test "$JSV8LIB" = "" ; then
AC_MSG_RESULT(not found)
JSV8ENABLED=0
else
AC_MSG_RESULT($JSV8LIBDIR)
JSV8ENABLED=1
fi
# linking options
case $host in
*-*-darwin*)
JSV8DYNAMICLINKING="" # TODO: add osx configuration
;;
*-*-linux*)
JSV8DYNAMICLINKING="$JSV8LIB"
;;
*)
JSV8DYNAMICLINKING=""
;;
esac
fi
AC_SUBST(JSCFLAGS)
AC_SUBST(JSCXXFLAGS)
AC_SUBST(JSLIBRARYPREFIX)
AC_SUBST(JSSO)
AC_SUBST(JSLDSHARED)
AC_SUBST(JSCXXSHARED)
AC_SUBST(JSCOREINC)
AC_SUBST(JSCOREDYNAMICLINKING)
AC_SUBST(JSV8INC)
AC_SUBST(JSV8DYNAMICLINKING)
AC_SUBST(JSCENABLED)
AC_SUBST(JSV8ENABLED)
#----------------------------------------------------------------
# Look for gcj
#----------------------------------------------------------------