summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Joseph Davis <davisp@apache.org>2012-01-21 16:08:58 -0600
committerPaul Joseph Davis <davisp@apache.org>2012-01-21 16:08:58 -0600
commit10047e75935818e0421bdd9ac96dc21334f90e95 (patch)
treebb85ee01e272ecda597d39655c566b00036fd942
parentda33e344705cda3f205e278cfb278513e7a7c03d (diff)
downloadcouchdb-10047e75935818e0421bdd9ac96dc21334f90e95.tar.gz
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.
-rw-r--r--configure.ac41
1 files changed, 22 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index c6d564ae2..adfd7405c 100644
--- a/configure.ac
+++ b/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"