Commit Graph

9 Commits

Author SHA1 Message Date
Andy Schwerin
eee3fe4ce6 SERVER-4683 Support the imported tcmalloc, ystem tcmalloc or the default system allocator library.
Pass --allocator=tcmalloc (default on Linux) or --allocator=system (default elsewhere)
to control which allocator is used, and --use-system-tcmalloc to use the system-
installed tcmalloc instead of the one in the mongo source tree if you use --allocator=tcmalloc.
2012-08-10 17:19:08 -04:00
Andy Schwerin
60ff9c3898 SERVER-6111 Clarify third-party shim library names. 2012-07-10 11:15:27 -04:00
Andy Schwerin
9d92f4014f SCons: Build spidermonkey using a SConscript, instead of the third-party tools crud.
Get rid of the third-party tools crud.
2012-03-28 20:23:09 -04:00
Andy Schwerin
fba1ca674b SCons: Move snappy library building into its own SConscript.
Move away from the third-party-specific module importer, as with boost and pcre.
2012-03-28 20:23:09 -04:00
Andy Schwerin
7655aa54ea SCons: Clarify determination of when to use a system version of a library.
Introduces a predicate in our build system "use_system_version_of_library"
to answer the question of whether or not to use the system-supplied version
of a specified library (i.e., boost).
2012-03-28 20:23:09 -04:00
Andy Schwerin
a8c3284a03 SERVER-5172: Compile and link mongod and friends against the boost in third_party.
To use system boost, pass --use-system-boost or --use-system-all to scons.
2012-03-07 10:37:06 -05:00
Eliot Horowitz
f31eda3b9f add pcre to link list explicitly 2012-02-15 00:27:29 -05:00
Kevin Matulef
6f15c1ac09 adding MurmurHash3 library 2012-02-14 12:39:46 -05:00
Andy Schwerin
30668e1c79 SCons updates to support variant directories.
This patch is a reorganization of our build files, which brings them slightly
closer in line with standard SCons organization.

In particular, the SConstruct file sets up the various "build environment"
objects, by examining the local system and command line parameters.  Then, it
delegates to some SConscript files, which describe build rules, like how to
compile "mongod" from source.

Typically, you would create several SConscript files for a project this large,
after breaking the project into logical sub projects, such as "platform
abstraction", "data manager", "query optimizer", etc.  That will be future work.
For now, we only separate out the special rules for executing smoke tests into
SConscript.smoke.  Pretty much all other build rules are in src/mongo/SConscript.

"tools" are placed in site_scons/site_tools.

This patch also includes better support for building and tracking dependencies
among static libraries ("libdeps" and "MergeLibrary"), and some incumbent, minor
restructuring.

This patch introduces a "warning" message from SCons about framework.o having
two rules that generate it.  It is harmless, for now, and will be removed in
future work.

Future work also includes eliminating use of the SCons "Glob" utility, and
restructuring the source code into sensible components.
2012-01-17 14:58:51 -08:00