JavaScript Webkit testing and detection changes

Add testing for javascriptcoregtk-4.1.
Simplify configure detection of JSC, relying only only pkg-config.
Add javascriptcoregtk-4.1 tests to GHA.
This commit is contained in:
William S Fulton 2022-08-03 23:07:02 +01:00
commit 662b88b605
3 changed files with 53 additions and 57 deletions

View file

@ -97,6 +97,11 @@ jobs:
CPPSTD: c++14 CPPSTD: c++14
- SWIGLANG: javascript - SWIGLANG: javascript
ENGINE: jsc ENGINE: jsc
VER: '4.0'
- SWIGLANG: javascript
ENGINE: jsc
VER: '4.1'
os: ubuntu-22.04
- SWIGLANG: lua - SWIGLANG: lua
- SWIGLANG: lua - SWIGLANG: lua
VER: '5.3' VER: '5.3'

View file

@ -54,7 +54,7 @@ case "$SWIGLANG" in
fi fi
;; ;;
"jsc") "jsc")
$RETRY sudo apt-get install -qq libjavascriptcoregtk-4.0-dev $RETRY sudo apt-get install -qq libjavascriptcoregtk-${VER}-dev
;; ;;
"v8") "v8")
$RETRY sudo apt-get install -qq libv8-dev $RETRY sudo apt-get install -qq libv8-dev

View file

@ -1640,69 +1640,60 @@ else
fi fi
#---------------------------------------------------------------- #----------------------------------------------------------------
# Look for JavascriptCore (Webkit) settings (JSCOREINCDIR, JSCOREDYNAMICLINKING) # Look for JavaScriptCore (Webkit) settings
#---------------------------------------------------------------- #----------------------------------------------------------------
# check for include files # check for include files
AC_MSG_CHECKING(for JavaScriptCore/JavaScript.h) AC_ARG_WITH(jscoreinc, [ --with-jscoreinc=path Set location of JavaScriptCore/Webkit include directory], [JSCOREINCDIR="$withval"], [JSCOREINCDIR=])
AC_ARG_WITH(jscoreinc, [ --with-jscoreinc=path Set location of Javascript include directory], [JSCOREINCDIR="$withval"], [JSCOREINCDIR=])
JSCOREVERSION=
if test -z "$JSCOREINCDIR"; then
JSCOREINCDIR="/usr/include/ /usr/local/include/"
# Add in default directory for JavaScriptCore headers for Linux and Mac OS X
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 # check for JavaScriptCore/Webkit libraries
AC_ARG_WITH(jscorelib,[ --with-jscorelib=path Set location of the JavaScriptCore/Webkit library directory],[JSCORELIB="-L$withval"], [JSCORELIB=]) AC_ARG_WITH(jscorelib,[ --with-jscorelib=path Set location of the JavaScriptCore/Webkit library directory],[JSCORELIB="-L$withval"], [JSCORELIB=])
if test -z "$JSCORELIB" -a -n "$PKG_CONFIG "; then JSCOREVERSION=
AC_MSG_CHECKING(for JavaScriptCore/Webkit library)
if $PKG_CONFIG javascriptcoregtk-4.0 2>/dev/null ; then if test -z "$JSCOREINCDIR" -a -n "$JSCORELIB"; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.0` AC_MSG_ERROR([Either both or none of --with-jcoreinc --with-jscorelib should be specified])
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0` elif test -n "$JSCOREINCDIR" -a -z "$JSCORELIB"; then
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0` AC_MSG_ERROR([Either both or none of --with-jcoreinc --with-jscorelib should be specified])
elif $PKG_CONFIG javascriptcoregtk-3.0 2>/dev/null ; then elif test -z "$JSCOREINCDIR" -a -z "$JSCORELIB"; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-3.0` if test -z "$JSCORELIB" -a -n "$PKG_CONFIG "; then
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-3.0` AC_MSG_CHECKING(for JavaScriptCore/Webkit)
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-3.0` if $PKG_CONFIG javascriptcoregtk-4.1 2>/dev/null ; then
elif $PKG_CONFIG javascriptcoregtk-1.0 2>/dev/null ; then JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.1`
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-1.0` JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.1`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-1.0` JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.1`
fi elif $PKG_CONFIG javascriptcoregtk-4.0 2>/dev/null ; then
if test -z "$JSCORELIB"; then JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.0`
AC_MSG_RESULT(not found) JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0`
JSCENABLED= JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0`
else elif $PKG_CONFIG javascriptcoregtk-3.0 2>/dev/null ; then
AC_MSG_RESULT([$JSCORELIB]) JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-3.0`
JSCOREDYNAMICLINKING="$JSCORELIB" JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-3.0`
JSCENABLED=1 JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-3.0`
elif $PKG_CONFIG javascriptcoregtk-1.0 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-1.0`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-1.0`
fi
if test -z "$JSCORELIB"; then
AC_MSG_RESULT(not found)
JSCENABLED=
else
AC_MSG_RESULT([version $JSCOREVERSION])
AC_MSG_CHECKING(for JavaScriptCore/Webkit include flags)
AC_MSG_RESULT([$JSCOREINC])
AC_MSG_CHECKING(for JavaScriptCore/Webkit link flags)
AC_MSG_RESULT([$JSCORELIB])
JSCOREDYNAMICLINKING="$JSCORELIB"
JSCENABLED=1
fi
fi fi
else
AC_MSG_CHECKING(for JavaScriptCore/Webkit include flags)
JSCOREINC=-I\"$JSCOREINCDIR\"
AC_MSG_RESULT([$JSCOREINC])
AC_MSG_CHECKING(for JavaScriptCore/Webkit link flags)
AC_MSG_RESULT([$JSCORELIB])
JSCOREDYNAMICLINKING="$JSCORELIB"
JSCENABLED=1
fi fi
#---------------------------------------------------------------- #----------------------------------------------------------------