diff options
Diffstat (limited to 'config/external/nspr')
-rw-r--r-- | config/external/nspr/_pl_bld.h | 6 | ||||
-rw-r--r-- | config/external/nspr/_pr_bld.h | 6 | ||||
-rw-r--r-- | config/external/nspr/ds/moz.build | 34 | ||||
-rw-r--r-- | config/external/nspr/libc/moz.build | 45 | ||||
-rw-r--r-- | config/external/nspr/moz.build | 28 | ||||
-rw-r--r-- | config/external/nspr/pr/moz.build | 232 | ||||
-rw-r--r-- | config/external/nspr/prcpucfg.h | 29 |
7 files changed, 380 insertions, 0 deletions
diff --git a/config/external/nspr/_pl_bld.h b/config/external/nspr/_pl_bld.h new file mode 100644 index 000000000..57fb0e988 --- /dev/null +++ b/config/external/nspr/_pl_bld.h @@ -0,0 +1,6 @@ +/* + * This file was previously generated at build time to set some preprocessor + * macros for use by plvrsion.c, but that file will set the values to (empty) + * defaults if they're not set, so this is just a stub to avoid having to + * generate another header file at build time. + */ diff --git a/config/external/nspr/_pr_bld.h b/config/external/nspr/_pr_bld.h new file mode 100644 index 000000000..1e36c69f1 --- /dev/null +++ b/config/external/nspr/_pr_bld.h @@ -0,0 +1,6 @@ +/* + * This file was previously generated at build time to set some preprocessor + * macros for use by prvrsion.c, but that file will set the values to (empty) + * defaults if they're not set, so this is just a stub to avoid having to + * generate another header file at build time. + */ diff --git a/config/external/nspr/ds/moz.build b/config/external/nspr/ds/moz.build new file mode 100644 index 000000000..b49867abb --- /dev/null +++ b/config/external/nspr/ds/moz.build @@ -0,0 +1,34 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG['MOZ_FOLD_LIBS']: + Library('plds4') +else: + SharedLibrary('plds4') + SOURCES += ['/nsprpub/lib/ds/plvrsion.c'] + USE_LIBS += ['nspr4'] + +# We allow warnings for third-party code that can be updated from upstream. +# TODO: fix NSPR warnings and remove this +ALLOW_COMPILER_WARNINGS = True + +DEFINES['_NSPR_BUILD_'] = True + +LOCAL_INCLUDES += [ + '/config/external/nspr', + '/nsprpub/pr/include', +] + +EXPORTS.nspr += [ + '/nsprpub/lib/ds/plarena.h', + '/nsprpub/lib/ds/plarenas.h', + '/nsprpub/lib/ds/plhash.h', +] + +SOURCES += [ + '/nsprpub/lib/ds/plarena.c', + '/nsprpub/lib/ds/plhash.c', +] diff --git a/config/external/nspr/libc/moz.build b/config/external/nspr/libc/moz.build new file mode 100644 index 000000000..f8a4705b2 --- /dev/null +++ b/config/external/nspr/libc/moz.build @@ -0,0 +1,45 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG['MOZ_FOLD_LIBS']: + Library('plc4') +else: + SharedLibrary('plc4') + SOURCES += ['/nsprpub/lib/libc/src/plvrsion.c'] + USE_LIBS += ['nspr4'] + +# We allow warnings for third-party code that can be updated from upstream. +# TODO: fix NSPR warnings and remove this +ALLOW_COMPILER_WARNINGS = True + +DEFINES['_NSPR_BUILD_'] = True + +LOCAL_INCLUDES += [ + '/config/external/nspr', +] + +EXPORTS.nspr += [ + '/nsprpub/lib/libc/include/plbase64.h', + '/nsprpub/lib/libc/include/plerror.h', + '/nsprpub/lib/libc/include/plgetopt.h', + '/nsprpub/lib/libc/include/plstr.h', +] + +SOURCES += [ + '/nsprpub/lib/libc/src/base64.c', + '/nsprpub/lib/libc/src/plerror.c', + '/nsprpub/lib/libc/src/plgetopt.c', + '/nsprpub/lib/libc/src/strcase.c', + '/nsprpub/lib/libc/src/strcat.c', + '/nsprpub/lib/libc/src/strchr.c', + '/nsprpub/lib/libc/src/strcmp.c', + '/nsprpub/lib/libc/src/strcpy.c', + '/nsprpub/lib/libc/src/strdup.c', + '/nsprpub/lib/libc/src/strlen.c', + '/nsprpub/lib/libc/src/strpbrk.c', + '/nsprpub/lib/libc/src/strstr.c', + '/nsprpub/lib/libc/src/strtok.c', +] diff --git a/config/external/nspr/moz.build b/config/external/nspr/moz.build new file mode 100644 index 000000000..062970203 --- /dev/null +++ b/config/external/nspr/moz.build @@ -0,0 +1,28 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +Library('nspr') + +if CONFIG['MOZ_BUILD_NSPR']: + DIRS += [ + 'pr', + 'ds', + 'libc', + ] + if CONFIG['MOZ_FOLD_LIBS']: + # When folding libraries, nspr is actually in the nss library. + USE_LIBS += [ + 'nss', + ] + else: + USE_LIBS += [ + 'nspr4', + 'plc4', + 'plds4', + ] + EXPORTS.nspr += ['prcpucfg.h'] +else: + OS_LIBS += CONFIG['NSPR_LIBS'] diff --git a/config/external/nspr/pr/moz.build b/config/external/nspr/pr/moz.build new file mode 100644 index 000000000..cda249b8a --- /dev/null +++ b/config/external/nspr/pr/moz.build @@ -0,0 +1,232 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG['MOZ_FOLD_LIBS']: + Library('nspr4') +else: + SharedLibrary('nspr4') + +# We allow warnings for third-party code that can be updated from upstream. +# TODO: fix NSPR warnings and remove this +ALLOW_COMPILER_WARNINGS = True + +DEFINES['_NSPR_BUILD_'] = True +if CONFIG['OS_ARCH'] == 'Linux': + OS_LIBS += CONFIG['REALTIME_LIBS'] + DEFINES.update( + LINUX=True, + HAVE_FCNTL_FILE_LOCKING=True, + _GNU_SOURCE=True, + ) + SOURCES += ['/nsprpub/pr/src/md/unix/linux.c'] + if CONFIG['CPU_ARCH'] == 'x86_64': + SOURCES += ['/nsprpub/pr/src/md/unix/os_Linux_x86_64.s'] + elif CONFIG['CPU_ARCH'] == 'x86': + DEFINES['i386'] = True + SOURCES += ['/nsprpub/pr/src/md/unix/os_Linux_x86.s'] + elif CONFIG['CPU_ARCH'] == 'ppc': + SOURCES += ['/nsprpub/pr/src/md/unix/os_Linux_ppc.s'] +elif CONFIG['OS_TARGET'] in ('FreeBSD', 'OpenBSD', 'NetBSD'): + DEFINES.update( + HAVE_BSD_FLOCK=True, + HAVE_SOCKLEN_T=True, + ) + DEFINES[CONFIG['OS_TARGET'].upper()] = True + SOURCES += ['/nsprpub/pr/src/md/unix/%s.c' % CONFIG['OS_TARGET'].lower()] +elif CONFIG['OS_TARGET'] == 'Darwin': + OS_LIBS += ['-framework CoreServices'] + DEFINES.update( + DARWIN=True, + HAVE_BSD_FLOCK=True, + HAVE_SOCKLEN_T=True, + ) + SOURCES += [ + '/nsprpub/pr/src/md/unix/darwin.c', + '/nsprpub/pr/src/md/unix/os_Darwin.s', + ] + if not CONFIG['MOZ_IOS']: + DEFINES['HAVE_CRT_EXTERNS_H'] = True +elif CONFIG['OS_TARGET'] == 'WINNT': + OS_LIBS += [ + 'advapi32', + 'ws2_32', + 'mswsock', + 'winmm', + ] + DEFINES.update( + XP_PC=True, + WIN32=True, + # For historical reasons we use the WIN95 NSPR target instead of + # WINNT. + WIN95=True, + WINNT=False, + _PR_GLOBAL_THREADS_ONLY=True, + ) + if CONFIG['CPU_ARCH'] == 'x86_64': + DEFINES['_AMD64_'] = True + else: + DEFINES['_X86_'] = True +else: + error('Not a supported OS_TARGET for NSPR in moz.build: "%s". Use --with-system-nspr' % CONFIG['OS_TARGET']) + + +LOCAL_INCLUDES += [ + '/config/external/nspr', + '/nsprpub/pr/include', + '/nsprpub/pr/include/private', +] + +SOURCES += [ + '/nsprpub/pr/src/io/prfdcach.c', + '/nsprpub/pr/src/io/priometh.c', + '/nsprpub/pr/src/io/pripv6.c', + '/nsprpub/pr/src/io/prlayer.c', + '/nsprpub/pr/src/io/prlog.c', + '/nsprpub/pr/src/io/prmapopt.c', + '/nsprpub/pr/src/io/prmmap.c', + '/nsprpub/pr/src/io/prmwait.c', + '/nsprpub/pr/src/io/prpolevt.c', + '/nsprpub/pr/src/io/prprf.c', + '/nsprpub/pr/src/io/prscanf.c', + '/nsprpub/pr/src/io/prstdio.c', + '/nsprpub/pr/src/linking/prlink.c', + '/nsprpub/pr/src/malloc/prmalloc.c', + '/nsprpub/pr/src/malloc/prmem.c', + '/nsprpub/pr/src/md/prosdep.c', + '/nsprpub/pr/src/memory/prseg.c', + '/nsprpub/pr/src/memory/prshm.c', + '/nsprpub/pr/src/memory/prshma.c', + '/nsprpub/pr/src/misc/pralarm.c', + '/nsprpub/pr/src/misc/pratom.c', + '/nsprpub/pr/src/misc/praton.c', + '/nsprpub/pr/src/misc/prcountr.c', + '/nsprpub/pr/src/misc/prdtoa.c', + '/nsprpub/pr/src/misc/prenv.c', + '/nsprpub/pr/src/misc/prerr.c', + '/nsprpub/pr/src/misc/prerror.c', + '/nsprpub/pr/src/misc/prerrortable.c', + '/nsprpub/pr/src/misc/prinit.c', + '/nsprpub/pr/src/misc/prinrval.c', + '/nsprpub/pr/src/misc/pripc.c', + '/nsprpub/pr/src/misc/prlog2.c', + '/nsprpub/pr/src/misc/prlong.c', + '/nsprpub/pr/src/misc/prnetdb.c', + '/nsprpub/pr/src/misc/prolock.c', + '/nsprpub/pr/src/misc/prrng.c', + '/nsprpub/pr/src/misc/prsystem.c', + '/nsprpub/pr/src/misc/prthinfo.c', + '/nsprpub/pr/src/misc/prtime.c', + '/nsprpub/pr/src/misc/prtpool.c', + '/nsprpub/pr/src/misc/prtrace.c', + '/nsprpub/pr/src/threads/prcmon.c', + '/nsprpub/pr/src/threads/prrwlock.c', + '/nsprpub/pr/src/threads/prtpd.c', +] + +if CONFIG['OS_TARGET'] != 'WINNT': + DEFINES['_PR_PTHREADS'] = True + SOURCES += [ + '/nsprpub/pr/src/md/unix/unix.c', + '/nsprpub/pr/src/md/unix/unix_errors.c', + '/nsprpub/pr/src/md/unix/uxproces.c', + '/nsprpub/pr/src/md/unix/uxrng.c', + '/nsprpub/pr/src/md/unix/uxshm.c', + '/nsprpub/pr/src/md/unix/uxwrap.c', + '/nsprpub/pr/src/pthreads/ptio.c', + '/nsprpub/pr/src/pthreads/ptmisc.c', + '/nsprpub/pr/src/pthreads/ptsynch.c', + '/nsprpub/pr/src/pthreads/ptthread.c', + ] +else: + SOURCES += [ + '/nsprpub/pr/src/io/prdir.c', + '/nsprpub/pr/src/io/prfile.c', + '/nsprpub/pr/src/io/prio.c', + '/nsprpub/pr/src/io/prsocket.c', + '/nsprpub/pr/src/md/windows/ntgc.c', + '/nsprpub/pr/src/md/windows/ntinrval.c', + '/nsprpub/pr/src/md/windows/ntmisc.c', + '/nsprpub/pr/src/md/windows/ntsec.c', + '/nsprpub/pr/src/md/windows/ntsem.c', + '/nsprpub/pr/src/md/windows/w32ipcsem.c', + '/nsprpub/pr/src/md/windows/w32poll.c', + '/nsprpub/pr/src/md/windows/w32rng.c', + '/nsprpub/pr/src/md/windows/w32shm.c', + '/nsprpub/pr/src/md/windows/w95cv.c', + '/nsprpub/pr/src/md/windows/w95dllmain.c', + '/nsprpub/pr/src/md/windows/w95io.c', + '/nsprpub/pr/src/md/windows/w95sock.c', + '/nsprpub/pr/src/md/windows/w95thred.c', + '/nsprpub/pr/src/md/windows/win32_errors.c', + '/nsprpub/pr/src/misc/pripcsem.c', + '/nsprpub/pr/src/threads/combined/prucpu.c', + '/nsprpub/pr/src/threads/combined/prucv.c', + '/nsprpub/pr/src/threads/combined/prulock.c', + '/nsprpub/pr/src/threads/combined/prustack.c', + '/nsprpub/pr/src/threads/combined/pruthr.c', + '/nsprpub/pr/src/threads/prcthr.c', + '/nsprpub/pr/src/threads/prdump.c', + '/nsprpub/pr/src/threads/prmon.c', + '/nsprpub/pr/src/threads/prsem.c', + ] + +EXPORTS.nspr += [ + '/nsprpub/pr/include/nspr.h', + '/nsprpub/pr/include/pratom.h', + '/nsprpub/pr/include/prbit.h', + '/nsprpub/pr/include/prclist.h', + '/nsprpub/pr/include/prcmon.h', + '/nsprpub/pr/include/prcountr.h', + '/nsprpub/pr/include/prcvar.h', + '/nsprpub/pr/include/prdtoa.h', + '/nsprpub/pr/include/prenv.h', + '/nsprpub/pr/include/prerr.h', + '/nsprpub/pr/include/prerror.h', + '/nsprpub/pr/include/prinet.h', + '/nsprpub/pr/include/prinit.h', + '/nsprpub/pr/include/prinrval.h', + '/nsprpub/pr/include/prio.h', + '/nsprpub/pr/include/pripcsem.h', + '/nsprpub/pr/include/prlink.h', + '/nsprpub/pr/include/prlock.h', + '/nsprpub/pr/include/prlog.h', + '/nsprpub/pr/include/prlong.h', + '/nsprpub/pr/include/prmem.h', + '/nsprpub/pr/include/prmon.h', + '/nsprpub/pr/include/prmwait.h', + '/nsprpub/pr/include/prnetdb.h', + '/nsprpub/pr/include/prolock.h', + '/nsprpub/pr/include/prpdce.h', + '/nsprpub/pr/include/prprf.h', + '/nsprpub/pr/include/prproces.h', + '/nsprpub/pr/include/prrng.h', + '/nsprpub/pr/include/prrwlock.h', + '/nsprpub/pr/include/prshm.h', + '/nsprpub/pr/include/prshma.h', + '/nsprpub/pr/include/prsystem.h', + '/nsprpub/pr/include/prthread.h', + '/nsprpub/pr/include/prtime.h', + '/nsprpub/pr/include/prtpool.h', + '/nsprpub/pr/include/prtrace.h', + '/nsprpub/pr/include/prtypes.h', + '/nsprpub/pr/include/prvrsion.h', + '/nsprpub/pr/include/prwin16.h', +] + +EXPORTS.nspr.md += [ + '/nsprpub/pr/include/md/_darwin.cfg', + '/nsprpub/pr/include/md/_freebsd.cfg', + '/nsprpub/pr/include/md/_linux.cfg', + '/nsprpub/pr/include/md/_netbsd.cfg', + '/nsprpub/pr/include/md/_openbsd.cfg', + '/nsprpub/pr/include/md/_win95.cfg', +] + +EXPORTS.nspr.private += [ + '/nsprpub/pr/include/private/pprio.h', + '/nsprpub/pr/include/private/pprthred.h', + '/nsprpub/pr/include/private/prpriv.h', +] diff --git a/config/external/nspr/prcpucfg.h b/config/external/nspr/prcpucfg.h new file mode 100644 index 000000000..5f7962733 --- /dev/null +++ b/config/external/nspr/prcpucfg.h @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef NSPR_PRCPUCFG_H_ +#define NSPR_PRCPUCFG_H_ + +/* + * Need to support conditionals that are defined in both the top-level build + * system as well as NSS' build system for now. + */ +#if defined(XP_DARWIN) || defined(DARWIN) +#include "md/_darwin.cfg" +#elif defined(XP_WIN) || defined(_WINDOWS) +#include "md/_win95.cfg" +#elif defined(__FreeBSD__) +#include "md/_freebsd.cfg" +#elif defined(__NetBSD__) +#include "md/_netbsd.cfg" +#elif defined(__OpenBSD__) +#include "md/_openbsd.cfg" +#elif defined(__linux__) +#include "md/_linux.cfg" +#else +#error "Unsupported platform!" +#endif + +#endif /* NSPR_PRCPUCFG_H_ */ |