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
- SWIGLANG: javascript
ENGINE: jsc
VER: '4.0'
- SWIGLANG: javascript
ENGINE: jsc
VER: '4.1'
os: ubuntu-22.04
- SWIGLANG: lua
- SWIGLANG: lua
VER: '5.3'

View file

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

View file

@ -1640,69 +1640,60 @@ else
fi
#----------------------------------------------------------------
# Look for JavascriptCore (Webkit) settings (JSCOREINCDIR, JSCOREDYNAMICLINKING)
# Look for JavaScriptCore (Webkit) settings
#----------------------------------------------------------------
# check for include files
AC_MSG_CHECKING(for JavaScriptCore/JavaScript.h)
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
AC_ARG_WITH(jscoreinc, [ --with-jscoreinc=path Set location of JavaScriptCore/Webkit include directory], [JSCOREINCDIR="$withval"], [JSCOREINCDIR=])
# check for JavaScriptCore/Webkit libraries
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
AC_MSG_CHECKING(for JavaScriptCore/Webkit library)
if $PKG_CONFIG javascriptcoregtk-4.0 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-4.0`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0`
elif $PKG_CONFIG javascriptcoregtk-3.0 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-3.0`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-3.0`
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([$JSCORELIB])
JSCOREDYNAMICLINKING="$JSCORELIB"
JSCENABLED=1
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
AC_MSG_CHECKING(for JavaScriptCore/Webkit)
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`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-4.0`
JSCOREVERSION=`$PKG_CONFIG --modversion javascriptcoregtk-4.0`
elif $PKG_CONFIG javascriptcoregtk-3.0 2>/dev/null ; then
JSCORELIB=`$PKG_CONFIG --libs javascriptcoregtk-3.0`
JSCOREINC=`$PKG_CONFIG --cflags-only-I javascriptcoregtk-3.0`
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
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
#----------------------------------------------------------------