nsprpub/config/system-headers
author Jim Blandy <jimb@mozilla.org>
Wed, 29 Oct 2008 08:29:22 -0700
changeset 21062 8c52a9486c8f25a93063f5b628575837156f266b
parent 15272 4231ddd5f31aacd9345c972aff00b25e15fc6de7
permissions -rw-r--r--
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.

Aliases.h
arpa/inet.h
assert.h
bsd/libc.h
bsd/syscall.h
bstring.h
builtin.h
c_asm.h
cf.h
CFBundle.h
CFData.h
CFDictionary.h
CFString.h
CFURL.h
CodeFragments.h
commdlg.h
crt_externs.h
crypt.h
ctype.h
descrip.h
Devices.h
direct.h
dirent.h
dlfcn.h
dl.h
DriverServices.h
dvidef.h
errno.h
Errors.h
Events.h
fcntl.h
fibdef.h
files.h
Files.h
float.h
Folders.h
Gestalt.h
getopt.h
grp.h
ia64/sys/inline.h
ifaddrs.h
image.h
ints.h
iodef.h
io.h
iostream.h
kernel/OS.h
lib$routines.h
limits.h
loader.h
locale.h
LowMem.h
MacErrors.h
machine/builtins.h
machine/clock.h
machine/endian.h
machine/inline.h
mach/mach_init.h
mach/mach_host.h
mach-o/dyld.h
MacTypes.h
Math64.h
math.h
mbstring.h
memory.h
MixedMode.h
model.h
mswsock.h
Multiprocessing.h
mutex.h
netdb.h
net/if.h
netinet/in.h
netinet/in_systm.h
netinet/tcp.h
OpenTptInternet.h
OpenTransport.h
os2.h
OS.h
osreldate.h
OSUtils.h
poll.h
PPCToolbox.h
Processes.h
process.h
pthread.h
pwd.h
QDOffscreen.h
Resources.h
rld_interface.h
rpc/types.h
semaphore.h
setjmp.h
share.h
signal.h
ssdef.h
starlet.h
stat.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
stropts.h
stsdef.h
support/SupportDefs.h
support/TLS.h
synch.h
sys/atomic_op.h
syscall.h
sys/cfgodm.h
sys/file.h
sys/filio.h
sys/immu.h
sys/ioctl.h
sys/ipc.h
sys/ldr.h
sys/locking.h
sys/lwp.h
sys/mman.h
sys/mpctl.h
sys/param.h
sys/pda.h
sys/poll.h
sys/prctl.h
sys/priv.h
sys/procfs.h
sys/pstat.h
sys/regset.h
sys/resource.h
sys/sched.h
sys/select.h
sys/sem.h
sys/sendfile.h
sys/shm.h
sys/socket.h
sys/stack.h
sys/stat.h
sys/statvfs.h
sys/syscall.h
sys/sysctl.h
sys/sysmp.h
sys/syssgi.h
sys/systeminfo.h
sys/timeb.h
sys/time.h
sys/times.h
sys/types.h
sys/ucontext.h
sys/uio.h
sys/utsname.h
sys/wait.h
task.h
TextUtils.h
thread.h
time.h
Timer.h
types.h
Types.h
ucontext.h
ucx$inetdef.h
ulocks.h
unistd.h
unix.h
unixlib.h
utime.h
wchar.h
winbase.h
win/compobj.h
windef.h
windows.h
winsock.h