1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-09-27 02:56:18 -04:00

[configure.ac] Allow to build --without-spidermonkey, but with --enable-sm-scripting

So one can build ELinks:
a) --with-spidermonkey
   --disable-sm-scripting
...
b) --with-spidermonkey
   --enable-sm-scripting
...
c) --without-spidermonkey
   --enable-sm-scripting
...
d) --without-spidermonkey
   --disable-sm-scripting

In abc) you must compile by C++ compiler
In d) you must compile by C compiler
This commit is contained in:
Witold Filipczyk 2022-07-11 21:23:18 +02:00
parent a5c6641403
commit c604740a10

View File

@ -714,8 +714,18 @@ AC_ARG_WITH([spidermonkey],
# (features.conf is not supposed to define it.) # (features.conf is not supposed to define it.)
CONFIG_SPIDERMONKEY= CONFIG_SPIDERMONKEY=
CONFIG_XML= CONFIG_XML=
CONFIG_SCRIPTING_SPIDERMONKEY=
EL_SAVE_FLAGS EL_SAVE_FLAGS
# ===================================================================
# Optional Spidermonkey-based ECMAScript browser scripting
# ===================================================================
AC_ARG_ENABLE(sm-scripting,
[ --enable-sm-scripting enable ECMAScript browser scripting],
[if test "$enableval" != no; then enableval="yes"; fi
CONFIG_SCRIPTING_SPIDERMONKEY="$enableval";])
case "$with_spidermonkey" in case "$with_spidermonkey" in
"" | no) "" | no)
# The user specified --without-spidermonkey. # The user specified --without-spidermonkey.
@ -725,39 +735,41 @@ case "$with_spidermonkey" in
CONFIG_SPIDERMONKEY="no" CONFIG_SPIDERMONKEY="no"
;; ;;
yes) yes)
CONFIG_SPIDERMONKEY="yes"
;; ;;
*) *)
AC_MSG_WARN([This version of ELinks does not support --with-spidermonkey=DIRECTORY.]) AC_MSG_WARN([This version of ELinks does not support --with-spidermonkey=DIRECTORY.])
;; ;;
esac esac
for package in mozjs-78; do SPIDERMONKEY_FOUND=
if test -n "$CONFIG_SPIDERMONKEY"; then
break if test "x$CONFIG_SPIDERMONKEY" = xyes ||
test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
package=mozjs-78
AC_MSG_CHECKING([for SpiderMonkey (mozjs-78) in pkg-config $package])
if $PKG_CONFIG $pkg_config_static --cflags --libs $package > /dev/null 2>&AS_MESSAGE_LOG_FD; then
DB_LOCALSTORAGE_LIBS="$($PKG_CONFIG $pkg_config_static --libs sqlite3)"
XMLPLUSPLUS_LIBS="$($PKG_CONFIG $pkg_config_static --libs libxml++-5.0)"
SPIDERMONKEY_LIBS="$($PKG_CONFIG $pkg_config_static --libs $package) $DB_LOCALSTORAGE_LIBS $XMLPLUSPLUS_LIBS"
DB_LOCALSTORAGE_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags sqlite3)"
XMLPLUSPLUS_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags libxml++-5.0)"
SPIDERMONKEY_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags $package) $DB_LOCALSTORAGE_CFLAGS $XMLPLUSPLUS_CFLAGS"
LIBS="$SPIDERMONKEY_LIBS $LIBS_X"
CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS"
CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
SPIDERMONKEY_FOUND=yes
AC_MSG_RESULT([yes])
else else
AC_MSG_CHECKING([for SpiderMonkey (mozjs-78) in pkg-config $package]) AC_MSG_RESULT([no])
if $PKG_CONFIG $pkg_config_static --cflags --libs $package > /dev/null 2>&AS_MESSAGE_LOG_FD; then
DB_LOCALSTORAGE_LIBS="$($PKG_CONFIG $pkg_config_static --libs sqlite3)"
XMLPLUSPLUS_LIBS="$($PKG_CONFIG $pkg_config_static --libs libxml++-5.0)"
SPIDERMONKEY_LIBS="$($PKG_CONFIG $pkg_config_static --libs $package) $DB_LOCALSTORAGE_LIBS $XMLPLUSPLUS_LIBS"
DB_LOCALSTORAGE_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags sqlite3)"
XMLPLUSPLUS_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags libxml++-5.0)"
SPIDERMONKEY_CFLAGS="$($PKG_CONFIG $pkg_config_static --cflags $package) $DB_LOCALSTORAGE_CFLAGS $XMLPLUSPLUS_CFLAGS"
LIBS="$SPIDERMONKEY_LIBS $LIBS_X"
CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS"
CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
CONFIG_SPIDERMONKEY=yes
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
fi fi
done fi
if test -z "$CONFIG_SPIDERMONKEY"; then if test -z "$SPIDERMONKEY_FOUND"; then
# Didn't find SpiderMonkey anywhere. # Didn't find SpiderMonkey anywhere.
CONFIG_SPIDERMONKEY=no CONFIG_SPIDERMONKEY=no
CONFIG_SCRIPTING_SPIDERMONKEY=no
fi fi
EL_RESTORE_FLAGS EL_RESTORE_FLAGS
@ -769,7 +781,7 @@ else
CONFIG_ECMASCRIPT_SMJS=no CONFIG_ECMASCRIPT_SMJS=no
fi fi
EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SMJS CONFIG_QUICKJS], [ECMAScript (JavaScript)]) EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SMJS CONFIG_QUICKJS CONFIG_SCRIPTING_SPIDERMONKEY], [ECMAScript (JavaScript)])
AC_SUBST(CONFIG_ECMASCRIPT_SMJS) AC_SUBST(CONFIG_ECMASCRIPT_SMJS)
if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes && if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes &&
@ -781,18 +793,7 @@ else
fi fi
AC_SUBST(CONFIG_ECMASCRIPT_SMJS_HEARTBEAT) AC_SUBST(CONFIG_ECMASCRIPT_SMJS_HEARTBEAT)
if test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
# ===================================================================
# Optional Spidermonkey-based ECMAScript browser scripting
# ===================================================================
AC_ARG_ENABLE(sm-scripting,
[ --disable-sm-scripting disable ECMAScript browser scripting],
[if test "$enableval" != no; then enableval="yes"; fi
CONFIG_SCRIPTING_SPIDERMONKEY="$enableval";])
if test "x$CONFIG_SPIDERMONKEY" = xyes &&
test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
EL_CONFIG(CONFIG_SCRIPTING_SPIDERMONKEY, [SpiderMonkey]) EL_CONFIG(CONFIG_SCRIPTING_SPIDERMONKEY, [SpiderMonkey])
else else
CONFIG_SCRIPTING_SPIDERMONKEY=no CONFIG_SCRIPTING_SPIDERMONKEY=no
@ -801,7 +802,6 @@ fi
if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes || if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes ||
test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
LIBS="$LIBS $SPIDERMONKEY_LIBS" LIBS="$LIBS $SPIDERMONKEY_LIBS"
EL_CONFIG(CONFIG_XML, [libxml++5.0])
AC_SUBST(SPIDERMONKEY_LIBS) AC_SUBST(SPIDERMONKEY_LIBS)
AC_SUBST(SPIDERMONKEY_CFLAGS) AC_SUBST(SPIDERMONKEY_CFLAGS)
AC_SUBST(CONFIG_SPIDERMONKEY) AC_SUBST(CONFIG_SPIDERMONKEY)