Skip to content
Browse files

Fix SpiderMonkey version detection

Randall's last patch to only test for JSOPTION_ANONFUNFIX ended up
reordering the test before the headers were located. This ran into
errors in version detection. This patch reorders the header location as
well as adds a few more default search paths when no --with-js-include
option is specified to account for newer SpiderMonkeys that puth their
headers into $PREFIX/include/js.
  • Loading branch information...
1 parent da33e34 commit 10047e75935818e0421bdd9ac96dc21334f90e95 @davisp davisp committed Jan 21, 2012
Showing with 22 additions and 19 deletions.
  1. +22 −19 configure.ac
View
41 configure.ac
@@ -177,8 +177,11 @@ AS_CASE([$(uname -s)],
[CYGWIN*], [] ,
[*], [
CPPFLAGS="$CPPFLAGS -I/opt/local/include"
+ CPPFLAGS="$CPPFLAGS -I/opt/local/include/js"
CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include/js"
CPPFLAGS="$CPPFLAGS -I/usr/include"
+ CPPFLAGS="$CPPFLAGS -I/usr/include/js"
LDFLAGS="$LDFLAGS -L/opt/local/lib"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
])
@@ -203,6 +206,17 @@ AS_CASE([$(uname -s)],
AM_CONDITIONAL([WINDOWS], [test x$IS_WINDOWS = xTRUE])
+AC_CHECK_HEADER([jsapi.h], [], [
+ AC_CHECK_HEADER([js/jsapi.h],
+ [
+ CPPFLAGS="$CPPFLAGS -I$JS_INCLUDE/js"
+ ],
+ [
+ AC_MSG_ERROR([Could not find the jsapi header.
+
+Are the Mozilla SpiderMonkey headers installed?])
+ ])])
+
OLD_LIBS="$LIBS"
LIBS="$JS_LIBS $LIBS"
OLD_CPPFLAGS="$CPPFLAGS"
@@ -247,6 +261,14 @@ AC_CHECK_LIB([$JS_LIB_BASE], [JS_GetStringCharsAndLength],
# Else, hope that 1.7.0 works
+# Deal with JSScript -> JSObject -> JSScript switcheroo
+
+AC_CHECK_TYPE([JSScript*],
+ [AC_DEFINE([JSSCRIPT_TYPE], [JSScript*], [Use JSObject* for scripts])],
+ [AC_DEFINE([JSSCRIPT_TYPE], [JSObject*], [Use JSScript* for scripts])],
+ [[#include <jsapi.h>]]
+)
+
AC_DEFINE([COUCHJS_NAME], ["couchjs"], ["CouchJS executable name."])
if test x${IS_WINDOWS} = xTRUE; then
@@ -298,25 +320,6 @@ fi
JS_LIBS="-l$JS_LIB_BASE -lm $JS_LIBS"
AC_SUBST(JS_LIBS)
-AC_CHECK_HEADER([jsapi.h], [], [
- AC_CHECK_HEADER([js/jsapi.h],
- [
- CPPFLAGS="$CPPFLAGS -I$JS_INCLUDE/js"
- ],
- [
- AC_MSG_ERROR([Could not find the jsapi header.
-
-Are the Mozilla SpiderMonkey headers installed?])
- ])])
-
-# Deal with JSScript -> JSObject -> JSScript switcheroo
-
-AC_CHECK_TYPE([JSScript*],
- [AC_DEFINE([JSSCRIPT_TYPE], [JSScript*], [Use JSObject* for scripts])],
- [AC_DEFINE([JSSCRIPT_TYPE], [JSObject*], [Use JSScript* for scripts])],
- [[#include <jsapi.h>]]
-)
-
LIBS="$OLD_LIBS"
CPPFLAGS="$OLD_CPPFLAGS"

0 comments on commit 10047e7

Please sign in to comment.
Something went wrong with that request. Please try again.