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,50 +1640,28 @@ 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=])
JSCOREVERSION=
if test -z "$JSCOREINCDIR" -a -n "$JSCORELIB"; then
AC_MSG_ERROR([Either both or none of --with-jcoreinc --with-jscorelib should be specified])
elif test -n "$JSCOREINCDIR" -a -z "$JSCORELIB"; then
AC_MSG_ERROR([Either both or none of --with-jcoreinc --with-jscorelib should be specified])
elif test -z "$JSCOREINCDIR" -a -z "$JSCORELIB"; then
if test -z "$JSCORELIB" -a -n "$PKG_CONFIG "; then if test -z "$JSCORELIB" -a -n "$PKG_CONFIG "; then
AC_MSG_CHECKING(for JavaScriptCore/Webkit library) AC_MSG_CHECKING(for JavaScriptCore/Webkit)
if $PKG_CONFIG javascriptcoregtk-4.0 2>/dev/null ; then if $PKG_CONFIG javascriptcoregtk-4.1 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.1`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.1`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.1`
elif $PKG_CONFIG javascriptcoregtk-4.0 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.0` JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.0`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0` JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0` JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0`
@ -1699,11 +1677,24 @@ else
AC_MSG_RESULT(not found) AC_MSG_RESULT(not found)
JSCENABLED= JSCENABLED=
else 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]) AC_MSG_RESULT([$JSCORELIB])
JSCOREDYNAMICLINKING="$JSCORELIB" JSCOREDYNAMICLINKING="$JSCORELIB"
JSCENABLED=1 JSCENABLED=1
fi 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
#---------------------------------------------------------------- #----------------------------------------------------------------
# Look for V8 settings (JSV8INCDIR, JSV8DYNAMICLINKING) # Look for V8 settings (JSV8INCDIR, JSV8DYNAMICLINKING)