gecko/js/src
Jim Blandy f83d8c9ea3 Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla.
Give SpiderMonkey its own configure script and top-level Makefile.
Adjust js/src/Makefile as appropriate for life as a stand-alone
makefile, instead of a 'make export; make libs'-style Mozilla tier
makefile.  Have the configure script accept '--with-nspr-cflags' and
'--with-nspr-libs' options for using an in-tree NSPR.  Also accept
'--with-system-nspr', '--with-nspr-prefix', and
'--with-nspr-exec-prefix' flags for using an installed NSPR.  Default
to --disable-jemalloc, assuming we don't have that part of the tree
available; have the top-level configure script pass --enable-jemalloc
as needed.

Since we no longer have an export phase to copy header files into
dist/include/js before we build the library, we need to be able to
find nanojit.h in the nanojit directory; fix references in
jsbuiltins.h and jstracer.cpp.

Give SpiderMonkey it its own copies of many of the files from ./config
and ./build.  These are all exact copies, except as follows:

. js/src/config/Makefile.in: js/src only has a subset of
  js/src/config, and thus a subset of the makefile targets.

. js/src/config/autoconf.mk.in: js/src/configure.in has its own make
  variables to set, not set by the top-level configure script, so it
  needs a custom automake.mk template.

. js/src/config/make-system-wrappers.pl: a copy from nsprpub/config,
  so that we can build without having an NSPR source tree handy.

Invoke js/src/configure from ./configure, passing the values computed
for NSPR_CFLAGS and NSPR_LIBS by the top-level configure script.

Treat js/src as a static directory of the js tier, and create a new
config/js (just a Makefile) to be the js tier's non-static directory.
Let js/src/configure generate SpiderMonkey's makefiles, not
./configure.

Generate a 'js-config' script, which clients can call to find the
CFLAGS and LIBS values necessary to compile and link against an
installed SpiderMonkey library.  Don't include the js-config script in
Macintosh packages.

Teach client.mk how to rebuild js/src/configure.

Tell Mercurial to ignore files generated by autoconf in js/src.

Further work:

. Right now, callers must define JS_THREADSAFE when #including jsapi.h.
  This is fixed in a subsequent patch.

. js/src/configure is a trimmed copy of ./configure.  It could be
  trimmed more.

--HG--
rename : build/autoconf/acoutput-fast.pl => js/src/build/autoconf/acoutput-fast.pl
rename : build/autoconf/altoptions.m4 => js/src/build/autoconf/altoptions.m4
rename : build/autoconf/config.guess => js/src/build/autoconf/config.guess
rename : build/autoconf/config.sub => js/src/build/autoconf/config.sub
rename : build/autoconf/glib.m4 => js/src/build/autoconf/glib.m4
rename : build/autoconf/install-sh => js/src/build/autoconf/install-sh
rename : build/autoconf/make-makefile => js/src/build/autoconf/make-makefile
rename : build/autoconf/match-dir.sh => js/src/build/autoconf/match-dir.sh
rename : build/autoconf/nspr.m4 => js/src/build/autoconf/nspr.m4
rename : build/autoconf/pkg.m4 => js/src/build/autoconf/pkg.m4
rename : build/autoconf/update-makefile.sh => js/src/build/autoconf/update-makefile.sh
rename : build/cygwin-wrapper => js/src/build/cygwin-wrapper
rename : build/hcc => js/src/build/hcc
rename : build/hcpp => js/src/build/hcpp
rename : build/unix/mddepend.pl => js/src/build/unix/mddepend.pl
rename : build/unix/uniq.pl => js/src/build/unix/uniq.pl
rename : config/Makefile.in => js/src/config/Makefile.in
rename : config/Moz/Milestone.pm => js/src/config/Moz/Milestone.pm
rename : config/autoconf.mk.in => js/src/config/autoconf.mk.in
rename : config/config.mk => js/src/config/config.mk
rename : config/elf-dynstr-gc.c => js/src/config/elf-dynstr-gc.c
rename : config/fastcwd.pl => js/src/config/fastcwd.pl
rename : config/gcc_hidden.h => js/src/config/gcc_hidden.h
rename : config/insure.mk => js/src/config/insure.mk
rename : nsprpub/config/make-system-wrappers.pl => js/src/config/make-system-wrappers.pl
rename : config/milestone.pl => js/src/config/milestone.pl
rename : config/milestone.txt => js/src/config/milestone.txt
rename : config/mkdepend/Makefile.in => js/src/config/mkdepend/Makefile.in
rename : config/mkdepend/cppsetup.c => js/src/config/mkdepend/cppsetup.c
rename : config/mkdepend/def.h => js/src/config/mkdepend/def.h
rename : config/mkdepend/ifparser.c => js/src/config/mkdepend/ifparser.c
rename : config/mkdepend/ifparser.h => js/src/config/mkdepend/ifparser.h
rename : config/mkdepend/imakemdep.h => js/src/config/mkdepend/imakemdep.h
rename : config/mkdepend/include.c => js/src/config/mkdepend/include.c
rename : config/mkdepend/main.c => js/src/config/mkdepend/main.c
rename : config/mkdepend/mkdepend.man => js/src/config/mkdepend/mkdepend.man
rename : config/mkdepend/parse.c => js/src/config/mkdepend/parse.c
rename : config/mkdepend/pr.c => js/src/config/mkdepend/pr.c
rename : config/nfspwd.pl => js/src/config/nfspwd.pl
rename : config/nsinstall.c => js/src/config/nsinstall.c
rename : config/nsinstall.py => js/src/config/nsinstall.py
rename : config/pathsub.c => js/src/config/pathsub.c
rename : config/pathsub.h => js/src/config/pathsub.h
rename : config/preprocessor.pl => js/src/config/preprocessor.pl
rename : config/revdepth-nt.pl => js/src/config/revdepth-nt.pl
rename : config/revdepth.pl => js/src/config/revdepth.pl
rename : config/rules.mk => js/src/config/rules.mk
rename : config/system-headers => js/src/config/system-headers
rename : config/version.mk => js/src/config/version.mk
rename : config/version_win.pl => js/src/config/version_win.pl
rename : configure.in => js/src/configure.in
2008-10-29 08:29:22 -07:00
..
build Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
config Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
correct Add check to make sure bug 452008 remains fixed. 2008-09-15 19:36:03 -04:00
editline Bug 330237 - editline.c:1038: warning: implicit declaration of function getpid. r=mrbkap 2008-09-08 13:27:57 +02:00
liveconnect Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
nanojit Fix memory leak in LInsHashSet::grow - bug 461069 r=danderson 2008-10-22 23:07:37 -04:00
t Add back t/crypto-sha1.js, which magically disappeared at the hands of the nanojit2 patch. 2008-10-13 14:15:23 -07:00
v8 Add V8 benchmark suite. 2008-09-02 23:11:15 -07:00
vprof
xpconnect Back out patch for bug 450633 2008-10-25 17:10:34 -04:00
aclocal.m4 Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
bench.sh Use a single instance of the shell to run the quick benchmark. 2008-10-12 15:58:34 -07:00
builtins.tbl Eliminate warning about ignored visibility attribute on js_CloseIterator when compiling jsbuiltins.cpp. No bug#. r=brendan. 2008-10-23 16:38:58 -05:00
call.js
configure.in Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
correct.sh Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
dtoa.c Bug 459606 - Restore long-standing mozilla change to return a non-empty string for the no_digits case. r=crowder 2008-10-13 15:47:36 -07:00
if.js
javascript-trace.d
jitstats.tbl Re-use loop exit side exit if we already have one for that PC location and the same type map (461076, r=danderson). 2008-10-22 16:27:25 -07:00
js3240.rc
js-config.in Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
js.cpp Fix red on mozilla-central because js.cpp doesn't build on Windows. No bug#. 2008-10-28 13:07:45 -07:00
js.mdp
js.msg Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
js.pkg
jsapi.cpp Bug 461163 - No public API for OBJ_GET_PROPERTY or the JavaScript [] operator (and similar functions). r=brendan. 2008-10-24 12:09:09 -05:00
jsapi.h Bug 461163 - No public API for OBJ_GET_PROPERTY or the JavaScript [] operator (and similar functions). r=brendan. 2008-10-24 12:09:09 -05:00
jsarena.cpp
jsarena.h
jsarray.cpp Bug 460157 - Yet more macros for defining builtins. r=brendan 2008-10-21 17:58:06 -05:00
jsarray.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsatom.cpp Bug 408838. Native JSON. r/sr=shaver 2008-10-06 16:54:12 -04:00
jsatom.h Bug 408838. Native JSON. r/sr=shaver 2008-10-06 16:54:12 -04:00
jsbit.h
jsbool.cpp Bug 460333. Implement toJSON for primitive wrapper classes. r=crowder 2008-10-17 14:57:34 -04:00
jsbool.h
jsbuiltins.cpp Merge. 2008-10-21 17:50:52 -07:00
jsbuiltins.h Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
jsclist.h
jscntxt.cpp Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky) 2008-09-25 11:13:31 -05:00
jscntxt.h Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan). 2008-10-24 10:47:59 -07:00
jscompat.h
jscpucfg.cpp
jscpucfg.h
jsdate.cpp Merge. 2008-10-23 14:47:00 -07:00
jsdate.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsdbgapi.cpp bug 446386 - eliminating compiler pseudo-frames. r=brendan 2008-09-08 11:47:12 +02:00
jsdbgapi.h Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
jsdhash.cpp Bug 449233. Assert when decrementing the jsdhash/pldhash recursion level past 0. r=dbaron,brendan, sr=dbaron 2008-08-26 13:02:04 -04:00
jsdhash.h Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
jsdtoa.cpp Bug 461192: Drop fd_ prefix from math functions. r=jorendorff 2008-10-22 14:52:14 -07:00
jsdtoa.h
jsdtracef.c Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsdtracef.h
jsemit.cpp Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsemit.h Bug 441479 - for-in loops should use one backward branch (with downward goto on entry; r=mrbkap). 2008-10-22 12:47:51 -07:00
jsexn.cpp Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsexn.h bug 446386 - eliminating compiler pseudo-frames. r=brendan 2008-09-08 11:47:12 +02:00
jsfile.cpp - Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch). 2008-08-12 18:52:28 -07:00
jsfile.h
jsfile.msg
jsfun.cpp Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsfun.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsgc.cpp Merge. 2008-09-30 16:35:52 -07:00
jsgc.h bug 378918 - scalable thread-local GC free lists 2008-09-25 15:27:59 +02:00
jshash.cpp
jshash.h Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
jsify.pl Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
jsinterp.cpp Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsinterp.h Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462). 2008-09-18 14:13:37 -07:00
jsinvoke.cpp
jsiter.cpp Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jsiter.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jskeyword.tbl
jskwgen.cpp Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg 2008-09-05 10:19:17 -07:00
jslibmath.h Bug 461192: Rename fd_copysign to js_copysign. r=jorendorff 2008-10-22 14:52:14 -07:00
jslock.cpp bug 453889: Correct prbool misuse in spidermonkey 2008-09-08 13:41:09 -07:00
jslock.h bug 417131 - caching enumerators to speedup for-in loops. r=brendan 2008-08-19 13:00:14 -04:00
jslocko.asm
jslog2.cpp
jslong.cpp
jslong.h
jsmath.cpp Merge. 2008-10-23 14:47:00 -07:00
jsmath.h
jsnum.cpp Merge. 2008-10-23 14:47:00 -07:00
jsnum.h Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan. 2008-10-16 14:24:10 -05:00
jsobj.cpp Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsobj.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
json.cpp Bug 459293. Sites not loading - redeclaration const JSON error on console. r=brendan 2008-10-16 01:20:57 -04:00
json.h Bug 408838. Native JSON. r/sr=shaver 2008-10-06 16:54:12 -04:00
jsopcode.cpp Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsopcode.h Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsopcode.tbl Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsoplengen.cpp
jsOS240.def
jsotypes.h
jsparse.cpp Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan. 2008-10-21 13:35:22 -05:00
jsparse.h Bug 443074 - Incorrect decompilation (missing parens) with genexp in for-loop-condition (r=jorendorff). 2008-10-14 16:13:56 -07:00
jsprf.cpp
jsprf.h
jsproto.tbl Bug 408838. Native JSON. r/sr=shaver 2008-10-06 16:54:12 -04:00
jsprvtd.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jspubtd.h Bug 408838. Native JSON. r/sr=shaver 2008-10-06 16:54:12 -04:00
jsregexp.cpp Bug 460157 - Yet more macros for defining builtins. r=brendan 2008-10-21 17:58:06 -05:00
jsregexp.h - Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch). 2008-08-12 18:52:28 -07:00
jsreops.tbl
jsscan.cpp bug 458679 - r=crowder 2008-10-10 15:16:27 +02:00
jsscan.h Bug 443074 - Incorrect decompilation (missing parens) with genexp in for-loop-condition (r=jorendorff). 2008-10-14 16:13:56 -07:00
jsscope.cpp Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
jsscope.h Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 11:24:03 -07:00
jsscript.cpp Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan. 2008-10-09 12:10:17 -05:00
jsscript.h Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan. 2008-10-09 12:10:17 -05:00
jsshell.msg
jsstaticcheck.h bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor 2008-09-08 10:51:10 -07:00
jsstddef.h - Avoid unnecessary FASTCALL builtin wrappers for existing js_* library-private or friend functions, which could be (and now are) fastcall (JS_FASTCALL). A couple of builtins avoid name collisions by using js_Fast instead of just js_ as their name prefix. 2008-08-10 00:39:18 -07:00
jsstr.cpp Merge. 2008-10-23 14:47:00 -07:00
jsstr.h Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
jstracer.cpp Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
jstracer.h Trace reading from dense arrays out of bounds and trace undefined -> number conversion in binary ops (461611, r=brendan). 2008-10-24 21:51:04 -07:00
jstypes.h Bug 440714 use -xldscope for Sun Studio on Solaris r=vladimir,benjamin sr=benjamin 2008-09-08 14:21:07 +08:00
jsutil.cpp
jsutil.h Bug 429105 [Solaris] Failed to build mozilla-central on solaris in js module. brendan: review+ 2008-09-02 10:03:18 +08:00
jsversion.h Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg 2008-09-05 10:19:17 -07:00
jsxdrapi.cpp bug 453889: Correct prbool misuse in spidermonkey 2008-09-08 13:41:09 -07:00
jsxdrapi.h Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
jsxml.cpp Bug 453915 -- XML namespace escaping improvement, r=igor 2008-10-14 16:29:05 -04:30
jsxml.h Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
lock_SunOS.s
Makefile.in Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. 2008-10-29 08:29:22 -07:00
mandelbrot-results.js Adding mandelbrot to trace-test 2008-10-02 19:30:46 -04:00
math-partial-sums.js
md5.js
perfect.js
plify_jsdhash.sed Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla) 2008-09-07 00:21:43 +02:00
prmjtime.cpp Backed out changeset 82af7163534f 2008-10-14 16:48:40 -04:30
prmjtime.h
README.html
resource.h
SpiderMonkey.rsp
time.sh
trace-test.js Bug 456384 - TM: v8-richards.js benchmark opens a print dialog in browser with JIT enabled. r=brendan 2008-10-27 16:15:32 -07:00
trace.js
win32.order
Y.js

<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   - 
   - The Original Code is Mozilla Communicator client code, released
   - March 31, 1998.
   - 
   - The Initial Developer of the Original Code is
   - Netscape Communications Corporation.
   - Portions created by the Initial Developer are Copyright (C) 1998-1999
   - the Initial Developer. All Rights Reserved.
   - 
   - Contributor(s):
   - 
   - Alternatively, the contents of this file may be used under the terms of
   - either of the GNU General Public License Version 2 or later (the "GPL"),
   - or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the GPL or the LGPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta http-equiv="Refresh"
	 content="0;URL=http://developer.mozilla.org/en/docs/SpiderMonkey">
   <title>SpiderMonkey README</title>
</head>
<body>

<h1>SpiderMonkey README</h1>

<p>See the
<a href="http://developer.mozilla.org/en/docs/SpiderMonkey">SpiderMonkey
pages</a> on the Mozilla Developer Center</a>.

</body>
</html>