mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
ceaba9297e
Background: Thread-safe SpiderMonkey needs NSPR for threading support, so it uses the values of NSPR_CFLAGS and NSPR_LIBS to compile and link. The configure script puts values for those variables in $(DEPTH)/config/autoconf.mk. They're recursively expanded Make variables, and the configure script gives them values that cite the value of LIBXUL_DIST. LIBXUL_DIST is itself a recursively expanded variable which usually refers to $(DIST), but refers to $(LIBXUL_SDK) if we're building against a separate XUL tree. Once SpiderMonkey has its own configure script, that script should take options specifying values to use for NSPR_CFLAGS and NSPR_LIBS. The values we pass to it shouldn't try to reference $(LIBXUL_DIST) or any other variable from the surrounding makefiles: a stand-alone Spidermonkey's configuration and build system shouldn't mention LIBXUL at all. SpiderMonkey doesn't depend on LIBXUL, only NSPR, which just happens to be installed in the same dist directory as LIBXUL. That means we need to compute fully-substituted values for NSPR_CFLAGS and NSPR_LIBS, suitable for stand-alone use in the top-level configure script, which we can pass down to the SpiderMonkey configure script (once it has one). The first step is to actually compute an independent value for LIBXUL_DIST, one that doesn't refer to either $(DIST) or $(LIBXUL_SDK). This means we need to make that choice in the configuration script, not in autoconf.mk. Subsequent patches will use this to compute fully-substituted values for NSPR_LIBS and NSPR_CFLAGS. |
||
---|---|---|
accessible | ||
browser | ||
build | ||
caps | ||
chrome | ||
config | ||
content | ||
db | ||
dbm | ||
docshell | ||
dom | ||
editor | ||
embedding | ||
extensions | ||
gfx | ||
intl | ||
ipc/ipcd | ||
jpeg | ||
js | ||
layout | ||
media | ||
memory/jemalloc | ||
modules | ||
netwerk | ||
nsprpub | ||
other-licenses | ||
parser | ||
plugin/oji | ||
probes | ||
profile | ||
rdf | ||
security | ||
storage | ||
sun-java | ||
testing | ||
toolkit | ||
tools | ||
uriloader | ||
view | ||
webshell | ||
widget | ||
xpcom | ||
xpfe | ||
xpinstall | ||
xulrunner | ||
.hgignore | ||
.hgtags | ||
aclocal.m4 | ||
allmakefiles.sh | ||
client.mk | ||
client.py | ||
configure.in | ||
LEGAL | ||
LICENSE | ||
Makefile.in | ||
README.txt |
For information on how to build Mozilla from the source code, see: http://developer.mozilla.org/en/docs/Build_Documentation To have your bug fix / feature added to Mozilla, you should create a patch and submit it to Bugzilla (http://bugzilla.mozilla.org). Instructions are at: http://developer.mozilla.org/en/docs/Creating_a_patch http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree If you have a question about developing Mozilla, and can't find the solution on http://developer.mozilla.org, you can try asking your question in a mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups are accessible on Google Groups, or news.mozilla.org with a NNTP reader.] You can download nightly development builds from the the Mozilla FTP server. Keep in mind that nightly builds, which are used by Mozilla developers for testing, may be buggy. Firefox nightlies, for example, can be found at: ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/