Paul, after this change I'm no longer able to build master (haven't tried other branches however).
configure can't find js/jsapi.h, this is because my jsapi.h doesn't live inside a js directory. Ubuntu 10.10 jsapi.h full path: /usr/include/xulrunner-1.9.2.24/jsapi.h flags passed to configure: configure --with-js-include=/usr/include/xulrunner-1.9.2.24 --with-js-lib=/usr/lib/xulrunner-1.9.2.24 It's the only spidermonkey version I have installed. Without this commit, configure doesn't complain and everything works fine. Is this a local issue or something missing in the autotools config? On Sat, Jan 21, 2012 at 10:10 PM, <[email protected]> wrote: > Updated Branches: > refs/heads/master da33e3447 -> 10047e759 > > > 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. > > > Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo > Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/10047e75 > Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/10047e75 > Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/10047e75 > > Branch: refs/heads/master > Commit: 10047e75935818e0421bdd9ac96dc21334f90e95 > Parents: da33e34 > Author: Paul Joseph Davis <[email protected]> > Authored: Sat Jan 21 16:08:58 2012 -0600 > Committer: Paul Joseph Davis <[email protected]> > Committed: Sat Jan 21 16:08:58 2012 -0600 > > ---------------------------------------------------------------------- > configure.ac | 41 ++++++++++++++++++++++------------------- > 1 files changed, 22 insertions(+), 19 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/couchdb/blob/10047e75/configure.ac > ---------------------------------------------------------------------- > diff --git a/configure.ac b/configure.ac > index c6d564a..adfd740 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" > > -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men."
