Skip to content
Snippets Groups Projects
  1. Sep 02, 2009
  2. Mar 31, 2009
  3. Mar 11, 2009
  4. Feb 19, 2009
  5. Mar 20, 2009
  6. Oct 29, 2008
    • Jim Blandy's avatar
      Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla. · 3ba206cd
      Jim Blandy authored
      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
      3ba206cd
  7. Oct 23, 2008
  8. Oct 21, 2008
  9. Oct 20, 2008
  10. Aug 26, 2008
  11. Aug 20, 2008
  12. Aug 24, 2008
  13. Aug 03, 2008
  14. Jun 24, 2008
  15. Jun 13, 2008
  16. May 28, 2008
  17. May 16, 2008
  18. May 04, 2008
  19. May 01, 2008
  20. Apr 09, 2008
  21. Apr 08, 2008
  22. Mar 21, 2008
  23. Mar 16, 2008
  24. Mar 06, 2008
  25. Feb 22, 2008
  26. Feb 20, 2008
  27. Feb 16, 2008
  28. Feb 13, 2008
  29. Feb 04, 2008
  30. Jan 31, 2008
  31. Jan 29, 2008
  32. Jan 28, 2008
  33. Jan 20, 2008
  34. Jan 18, 2008
  35. Jan 14, 2008
  36. Dec 19, 2007
Loading