Commit Graph

190 Commits

Author SHA1 Message Date
Robert Kaiser
1ef654b1ca bug 474732 - Rerunning configure causes the world to be rebuilt, r=ted 2009-02-03 16:29:21 +01:00
Wesley W. Garland
55e7c279f0 Bug 475393 Standalone Spidermonkey should build on Solaris with GCC r=jim 2009-02-02 18:54:48 +08:00
Jim Blandy
ae65f2b142 Bug 475064: Use 'test !', not '! test' in configure scripts. r=bsmedberg 2009-01-28 09:01:40 -08:00
Vladimir Vukicevic
d317d0075d b=480796; detect whether ARM chip has VFP and/or v6t2 instructions; r=gal 2009-03-20 15:53:33 -07:00
Benjamin Smedberg
82ba665418 Bug 269538 - use stdint types instead of jscpucfg types, now that we have them auto-configured
* Various code inside and outside of JS uses JS_BYTES_PER_WORD, so I added it to js-config.h
* Existing code uses JS_BYTES_PER_DOUBLE, JS_BITS_PER_WORD_LOG2, and JS_ALIGN_OF_POINTER so I've added autoconf tests for those

r=crowder r=jimb
2009-01-14 15:56:30 -05:00
Benjamin Smedberg
09ffef3261 Backed out changeset 525e42406396, bug 269538 (jscpucfg-ectomy) due to Windows TUnit bustage. 2009-01-21 17:34:28 -05:00
Benjamin Smedberg
db11be65b9 Bug 269538 - use stdint types instead of jscpucfg types, now that we have them auto-configured
* Various code inside and outside of JS uses JS_BYTES_PER_WORD, so I added it to js-config.h
* Existing code uses JS_BYTES_PER_DOUBLE, JS_BITS_PER_WORD_LOG2, and JS_ALIGN_OF_POINTER so I've added autoconf tests for those

r=crowder r=jimb
2009-01-14 15:56:30 -05:00
Masatoshi Kimura
d67cc57992 Bug 471854 - Build error in accessible/public/msaa on x64 Windows with VC8; r=(m_kato + ted.mielczarek) 2009-01-21 16:12:35 +01:00
Ginn Chen
0db9f1a489 Bug 472622 prmjtime.cpp failed to compile on SunOS 5.* r=jim,crowder 2009-01-21 18:24:03 +08:00
Jim Blandy
9746bd2c6d Bug 461841: Use configure-defined macros in #ifdefs for WinCE in js/src. r=crowder
Perform the appropriate configure-time tests, and hard-code the
answers for targets that don't support autoconf-style tests.  Check
for the io.h header, and the setbuf and isatty library functions.

In js/src/xpconnect/shell/xpcshell.cpp, use configure-#defined
preprocessor symbols to decide what to #include and use.  The
top-level configure script defines the preprocessor symbols used here.

In js/src/prmjtime.cpp, use them to select the appropriate method for
retrieving fine-grained time information for Windows and WinCE.  The
js/src/configure script defines the preprocessor symbols used here.

(This should cover the issues addressed by patch.v2 in bug 461841,
except for the stdint issue.)
2009-01-16 14:10:48 -08:00
Alexander Sack
7657ab39b7 Bug 471359 - export js/ system_wrappers to their own directory. r=jim 2009-01-13 19:56:41 +01:00
Siddharth Agarwal
c511b7cfda Bug 472093 -- fix build system to use NTDDI_VERSION instead of random checks -- part 2, define MOZ_WINSDK_TARGETVER and error out if the SDK is too old. r=bsmedberg 2009-04-21 13:26:26 +01:00
Ted Mielczarek
fbff22268d bug 487396 - fix some of the jemalloc windows build madness. r=bsmedberg 2009-04-20 06:56:23 -04:00
Ginn Chen
60902ea23f Bug 488260 Sun Studio is not recognized if $CC, $CXX are not set r=jim 2009-04-20 15:22:56 +08:00
Josh Aas
dbdf354cea Use gcc-4.2 by default on Mac OS X in all configurations. b=513353 r=ted 2009-09-30 16:58:41 -04:00
Ted Mielczarek
68f2eb86cc 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
a04892f62e Bug 465640: Use autoconf to declare stdint types on platforms that don't have stdint.h r=bsmedberg
At configure time, check for <stdint.h>.  If we don't have it, find
integer types of various sizes.  On Windows, where we can't run
compilation tests in configure, hard-code definitions suggesting the
use of the built-in __intN types for the exact-size types, and
<stddef.h> for the pointer-sized types.

Use namespace-clean names for the preprocessor macros we define.
Since these types are used in the public JavaScript API, the configure
script needs to place the definitions it finds in js-config.h, the
installed configure-generated header, so it can be used by jsapi.h and
that gang.

New header js/src/jsstdint.h does what it takes to get definitions for
the exact-size and pointer-size integral types.  It includes
<stdint.h> when available, uses the types found by configure.in to
define the {,u}int{8,16,32,64,ptr}_t types itself, or uses the __intN
types and the <stddef.h> header.

Remove now-unnecessary and possibly conflicting definitions of intN_t
types from js/src/nanojit/avmplus.h.
2009-01-13 10:50:24 -08:00
Benjamin Smedberg
fc65bccce5 Followup to bug 463172 (implement --disable-jit) - this block needs to be outside of the SKIP_COMPILER_CHECKS block so that it affects Windows 2009-01-13 12:54:35 -05:00
Benjamin Smedberg
fec9af26d0 Bug 463172 - add a --disable-jit option, r=ted 2009-01-13 11:34:51 -05:00
Ted Mielczarek
3e3567237e bug 472877 - Add configure option to enable gczeal. r=crowder 2009-01-10 17:00:20 -05:00
Brian Crowder
5bd03bd9a9 Bug 411726 - Use localtime_r when available, to improve Date reporting for locales like Venezuela on platforms like OS X. r=mrbkap, r=ted (for build changes) 2009-01-06 09:18:35 -08:00
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