Commit Graph

119 Commits

Author SHA1 Message Date
Phil Ringnalda
2d35d8d90f Backed out changeset 55e23c647137 (bug 462004) so the backout for bug 467862 to solve bug 471097 can actually build 2008-12-25 19:49:53 -08:00
Ted Mielczarek
1603009445 bug 462004 - JavaScript shell should provide line editing facilities. r=bsmedberg
--HG--
rename : js/src/js.cpp => js/src/shell/js.cpp
2008-12-03 08:55:27 -05:00
Jim Blandy
1107758ffc Bug 469225: Move HAVE_ARM_SIMD test after header file tests. r=vladimir
This should have no effect; the test there is in the midst of a
section titled, "Checks for header files", and doesn't belong there.

I've made the same change in both the top-level configure.in and
js/src/configure.in, just to keep things parallel.
2008-12-22 13:59:28 -08:00
Jim Blandy
d22127996a Bug 467583: Make js/src share the 'dist' tree with the enclosing build. r=ted.mielczarek 2008-12-22 13:22:38 -08:00
Jim Blandy
41e717de51 Bug 462914: Test for setlocale at configure time in js/src r=crowder 2008-12-19 10:31:43 -08:00
Jim Blandy
b3a9d80456 Bug 469225: Make js/src/configure take a --disable-arm-vfp option. r=vladimir
This controls whether NJ_ARM_VFP is #defined in the SpiderMonkey
build.  By default it is enabled.

Note that commenting out the hard-wired definition of NJ_ARM_VFP in
js/src/nanojit/NativeARM.h makes that line of the file match what's in
tamarin-redux, so hopefully there won't be conflicts with whatever
arrangement Adobe comes up with to control this.
2008-12-19 10:20:36 -08:00
Wan-Teh Chang
3a07a18e58 Bug 467677: fixed typo "ranslated" => "translated". 2008-12-12 21:29:45 -08:00
Wan-Teh Chang
187643c049 Bug 467677: Removed test -n "$CROSS_COMPILE". Moved
"cross_compiling=yes" to the very end of the if block so that it
is not overridden by AC_PROG_CC and AC_PROG_CXX.  Removed the Mac
OS X ppc<->x86 code in the "else" block.  r=jim,ted.mielczarek.
2008-12-12 21:00:38 -08:00
Ted Mielczarek
39e658d4df bug 468515 - configure doesn't set OS_TEST properly in 64-bit OS X builds. r=bsmedberg 2008-12-11 09:52:18 -05:00
Jim Blandy
2798283907 Bug 464127 - Don't use -Os with Intel C/C++ compilers r=ted.mielczarek
Intel recommends against the use of -Os, and using it seems to produce
incorrect code in many recent versions of Intel's compilers.

js/src/Makefile.in tries to use -Os only with G++, but it tests
INTEL_CC, not INTEL_CXX --- even though almost all the sources are
C++.  Check INTEL_CXX instead.
2008-11-14 14:15:02 -08:00
Jim Blandy
26611f0fb3 Bug 464379: remove committed debugging 'echo'. r=bsmedberg
Here's the commit that added this:

    1.1764 <benjamin@smedbergs.us> 2007-01-31 08:12
    No bug: checking to see which tinderboxes don't have python available.

It seems unlikely that this echo was meant to stay in the configure script.
2008-11-14 14:10:29 -08:00
Benjamin Smedberg
6cd85a8589 Bug 462740 - Building spidermonkey on Windows with -j3 fails: conflicts in PDB files. Related to bug 382297 and bug 286179, where we flip-flop back and forth about this. Document the way things should actually be! 2008-11-04 14:38:40 -05:00
ause<ause@sun.com>
0fd9e68163 Bug 462516 - add -isysroot to find fat version of system libraries 2008-11-03 13:05:30 +01:00
Jim Blandy
e9a790f333 Bug 462356 - Build fails on mac in js/src/configure.in with error: Library requirements (glib-2.0 >= 1.3.7 gobject-2.0) not met; glib part; r=ted.mielczarek 2008-11-02 18:40:57 +01:00
Jim Blandy
75ebba4f18 Bug 462356 - Build fails on mac in js/src/configure.in with error: Library requirements (glib-2.0 >= 1.3.7 gobject-2.0) not met; elf-dynstr-gc part; r=ted.mielczarek 2008-11-02 18:39:54 +01:00
Doug Turner
e5a3cd9352 Bug 462215 - javascript autoconf busted on windows mobile. r=ted 2008-10-30 14:41:21 -07:00
Jim Blandy
e8bc490fa7 Bug 97954: Compare SpiderMonkey's copies of build files with originals at check time. r=luser
SpiderMonkey now has its own copy of some of the files from ./config
and ./build.  Since there is a decent amount of churn in that area, I
don't want it to become a burden to make merges back and forth.  This
patch adds a comment explaining the 'identical if present' policy, and
runs a script to verify that it's actually being observed.
2008-10-29 08:40:39 -07:00
Jim Blandy
216f4ef465 Bug 97954: Record configuration details in an installable header. r=bsmedberg
Have js/src/configure create a header file, js-config.h, that records
configure-controlled options that affect the SpiderMonkey API, like
'--enable-threadsafe'.  js-config.h is namespace-clean, so it can be
installed with jsapi.h.

This means that clients can configure SpiderMonkey however they like,
and then simply #include "jsapi.h" and have everything work; they
don't have to remember to match their own compiler -D flags with those
SpiderMonkey's configure script chose.  For example, mozilla-config.h
needn't concern itself with JS_THREADSAFE.

It seems to me this could also be done by having js-config --cflags
print -D options.  The approach taken here seems a bit more robust: if
you can find jsapi.h at all, then you know you're getting the right
settings.
2008-10-29 08:29:37 -07:00
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