0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
Commit Graph

1170 Commits

Author SHA1 Message Date
Andrew Morrow
2c01237bc0 SERVER-13544 Enable gperftools for C++11 builds
The following change was backported:
https://code.google.com/p/gperftools/source/detail?r=18fbc316eebea9db2d7ec41e161c0a3fbb09fa42

Another change we wanted was:
https://code.google.com/p/gperftools/source/detail?r=6287bbbbad8730712cfd1ee28ecc0648cbaa9f94#

However, since that patch must hit every PR/SC instance and the code has evolved from that point
we instead just ran the following two scripts over the gperftools source tree:

find . -type f | xargs egrep -l '"PR\w+"' | xargs perl -pi -e 's|"PR(\w+)"|" PR\1 "|g'
find . -type f | xargs egrep -l '"SC\w+"' | xargs perl -pi -e 's|"SC(\w+)"|" SC\1 "|g'

and then manually fixing up the one reference to GPRIuPTHREAD, which achieved the same result.

Finally, remove the logic preventing mixture of C++11 and gperftools from the build system.
2014-04-14 10:46:16 -04:00
Andrew Morrow
225d637878 SERVER-13559 Remove legacy debugging flags and honor zero arg invocations of dbg and opt 2014-04-11 16:26:24 -04:00
Andrew Morrow
911bbc14a8 SERVER-12189 Enable libstdc++ debugging features for debug builds when possible 2014-04-11 15:52:35 -04:00
Andrew Morrow
2670656283 SERVER-12255 Use tcmalloc on 32-bit linux and darwin as well 2014-04-07 19:09:32 -04:00
Andrew Morrow
025a54c830 SERVER-12255 Be explicit about target micro-architecture for 32-bit x86 builds 2014-04-07 19:09:31 -04:00
Andy Schwerin
881b2ee9ff SERVER-5553 Eliminate malloc from printStacktrace(std::ostream&).
This also opens the exciting possibility of displaying the base address
of the file containing the address, which would let us dump stacks when
ASLR is in use.  However, this implementation preserves the format used
in the Linux backtrace_symbols() implementation.
2014-04-03 13:16:44 -04:00
Andrew Morrow
9a45a1f363 SERVER-12572 Informatively fail attempts to build C++ client driver targets
The MongoDB C++ client driver now resides in a separate repo and is maintained
independently of the server. The targets in this repo that used to build or test
the driver will now print an error message explaining the change and referring
users to the relevant documentation.
2014-03-04 10:57:42 -05:00
Kaloian Manassiev
78b54a037a Do not include cpppath/extrapath/libpath when generating output location
Otherwise, if libraries are used which have deeper paths, the ouput path
becomes really long and builds fail due to excessively long command line.
2014-02-25 13:49:42 -05:00
Nikolaus Demmel
efc9a4a324 SERVER-12682 Add warning on OS X if libc++ is selected and osx-version-min is < 10.7.
Signed-off-by: Andrew Morrow <acm@10gen.com>
2014-02-18 18:44:14 -05:00
Mark Benvenuto
40b314894c SERVER-12304 Query concurrency -- 2.6 regression 2014-02-18 17:19:39 -05:00
Ernie Hershey
ea4ba610f0 SERVER-11106 Detect non-enterprise MSI configurations 2014-02-12 18:25:33 -05:00
Ernie Hershey
95fd79cb23 SERVER-10324 Allow modules to add files to different archive subdirectories
This CR is 1 of 2 covering the open source server repo component
of https://jira.mongodb.org/browse/SERVER-10324. It supplants
http://codereview.10gen.com/4892644241047552/
2014-01-28 22:38:50 -05:00
Andrew Morrow
fc0280414c SERVER-12456 Also pass stack protector option to the link step 2014-01-25 11:43:49 -05:00
Eric Milkie
a6c4e86b0a SERVER-12403 permit use-system-boost on Windows to work with autolib linking 2014-01-23 08:47:52 -05:00
Eric Milkie
eff37e9c0e SERVER-12421 - detect sasl library properly for C++ driver on Windows 2014-01-23 08:47:50 -05:00
Mark Benvenuto
7964cab85a SERVER-12166: Promote struct/class mismatch warning to error with GCC/Clang 2013-12-31 15:16:54 -05:00
Mark Benvenuto
5d54ce99eb SERVER-10142: Eliminate Compiler Warnings on Windows Builders
BF-60:compile broken on windows
2013-12-18 12:57:34 -05:00
Andrew Morrow
c9808ef308 SERVER-11689 Always link libgcc statically if linking libstdc++ statically 2013-11-27 13:17:08 -05:00
Shaun Verch
c9168762e4 SERVER-11575 Added support for YAML Config File 2013-11-13 16:46:49 -05:00
Mathias Stearn
e4a1f917ad SERVER-6950 Add a TCMalloc ServerStatusSection 2013-11-12 19:08:06 -05:00
Andrew Morrow
f7443bad6c SERVER-9855 Add support for specifying Mavericks as the OS X minimum version 2013-11-05 14:02:46 -05:00
Andrew Morrow
6fc17c30a8 SERVER-9855 Remove obsolete darwin configuration options
- We want to use whatever compiler SCons tooling picks now that we support clang.
- /usr/64 isn't a thing on modern Darwin (at least since 10.6, which is our minimum)
- It probably never made sense to look in /usr/64/include for anything
- If you want to use MacPorts, use --extrapath=/opt/local, similar for Fink
2013-11-05 14:02:46 -05:00
Andrew Morrow
dd6d28a356 SERVER-11333 Add build flag to suppress use of __declspec(thread) 2013-10-24 12:55:22 -04:00
Andrew Morrow
5682288d90 SERVER-11333 Use configure time checks and posix feature tests to select TSP implementation 2013-10-24 12:55:22 -04:00
Andrew Morrow
978af98546 SERVER-11264 Include OS X minimum version flag on link lines 2013-10-18 14:46:47 -04:00
Eric Milkie
7ada7a8e11 SERVER-10830 msi builder as an scons target 2013-10-09 13:59:08 -04:00
Mathias Stearn
62d754f991 SERVER-11084 Error when mixing --gcov and --cache 2013-10-08 17:35:05 -04:00
Andrew Morrow
ac2bd10833 SERVER-11053 Support use of CacheDir rather than Brobdingnagian variant directory names 2013-10-07 08:47:51 -04:00
Mike Grundy
d1a4564bba SERVER-10808 add __gcov_flush() call on exit
Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
2013-10-03 18:51:18 -04:00
matt dannenberg
97c82b16b2 SERVER-10816 enable StackChecker when not optimized and in debug mode rather than when simply in debug mode 2013-09-25 10:40:14 -04:00
Andrew Morrow
681bc4c9be SERVER-10401 Disable new clang-3.4 warning 2013-09-18 17:39:40 -04:00
Andrew Morrow
8ba48088a3 SERVER-10726 Orthogonalize debugging and optimization options
Introduce new flags --dbg and --opt which permit independent control over optimization and
debugging. The old --d, --dd, and --release flags were not independent, and had surprising
interactions, particularly on Windows.

The old flags are still supported in a legacy mode for --d and --dd builds, cannot be mixed
with the new.

For builds specifying none of --dbg, --opt, --d, or --dd, there should be no behavior change,
except on Windows. On that platform, a no-flags-specified build will now default to
optimization enabled, whereas before it did not.
2013-09-16 17:36:35 -04:00
matt dannenberg
3145d2440b SERVER-8684 added a CCPDEFINE to cause newer system versions of boost to use the thread version we do 2013-09-16 11:17:44 -04:00
Andrew Morrow
73ce2fd28b SERVER-9766 Don't fail the build on missing system libraries unless they are in demand 2013-09-11 16:46:52 -04:00
Andrew Morrow
f0deda49e3 SERVER-9766 Remove support for separate client driver package 2013-09-11 16:46:52 -04:00
Eric Milkie
b91195fe8f SERVER-9770 introduce new scons flag to optionally build with /MD 2013-09-06 15:22:24 -04:00
Andrew Morrow
23b676781c Retain frame pointers when building with clang sanitizers 2013-08-15 10:13:09 -04:00
Andrew Morrow
3ffea6597a SERVER-10401 Suppress tautology warning in v8 triggered when using clang-3.4 2013-08-01 16:24:59 -04:00
Andy Schwerin
1158aa623d SERVER-9670 Eliminate MONGO_LIBDEPS_* global environment variables from SCons. 2013-07-09 17:49:14 -04:00
Andrew Morrow
2eceeb6202 SERVER-9881 Use presence of a certain type_trait to detect libstdc++ 4.6.0 or better 2013-07-02 13:35:15 -04:00
Tad Marshall
1c53e2b9e9 SERVER-9775 Remove use-system-sm option 2013-06-24 19:54:43 -04:00
Tad Marshall
eb7ba8adc1 SERVER-9775 Remove SpiderMonkey 2013-06-24 17:26:06 -04:00
Andrew Morrow
57a4875807 SERVER-9761 Enforce immediate binding of all symbols at process startup 2013-06-24 17:10:21 -04:00
Tad Marshall
54f25e6292 SERVER-7080 Link to backtrace, backtrace_symbols and backtrace_symbols_fd at runtime
Do not make direct calls to backtrace, backtrace_symbols or backtrace_symbols_fd,
which are present in Solaris 11 but not in Solaris 10.  Instead, see if they are
available in a loaded library (which will be libc.so.1) at runtime and either
call them or call an emulation.
2013-06-20 11:53:23 -04:00
Andrew Morrow
58f82cf66d SERVER-9890 Force the use of gnulink on solaris, since we always link through the compiler 2013-06-13 17:02:51 -04:00
Andrew Morrow
713734e413 SERVER-9881 Reject attempts to build in C++11 mode with ancient libstdc++ 2013-06-10 12:14:06 -04:00
Andrew Morrow
eb5b8b0226 SERVER-8467 Don't pass -rdynamic on OS X
On OS X, clang ignores -rdynamic, but issues a warning, which can
be a problem if -Werror is in effect. Remove the flag because
-rdynamic is not needed on OS X.
2013-06-08 12:35:23 -04:00
Andrew Morrow
ce97dc76c6 SERVER-6514 Only apply -zdefs and --as-needed to shared client library 2013-06-06 13:39:50 -04:00
Andrew Morrow
75095e78e0 SERVER-9410 Permit use of Interlocked operations on Windows Server 2003 2013-06-04 16:59:34 -04:00
Andrew Morrow
2e7d108efe SERVER-6951 SERVER-9656 SERVER-9849 Handle third_party libraries consistently 2013-06-03 20:57:46 -04:00
Rogério Brito
ec4e8f3ea7 SERVER-9656 Use libstemmer when using system libraries.
Signed-off-by: Andrew Morrow <acm@10gen.com>
2013-06-03 20:57:46 -04:00
Andrew Morrow
da8c0fa929 SERVER-6514 Re-add support for building the C++ driver shared library 2013-06-03 20:21:13 -04:00
agralius
f2bf885d38 SERVER-7902 added support for global /etc/mongorc.js
The corresponding Windows path is
%SYSTEMROOT%\system32\drivers\etc\mongorc.js
2013-05-06 16:40:04 -04:00
Andrew Morrow
2daa35d735 Provide an option to tunnel the calling shell environment 2013-05-02 18:59:12 -04:00
Andrew Morrow
e801393010 SERVER-8465 Provide a way to tell scons to honor $CC and $CXX 2013-05-02 18:59:12 -04:00
Andrew Morrow
4a27c92015 Rely more exclusively on SCons to locate MS tools 2013-04-26 11:45:36 -04:00
Andrew Morrow
128b0cb3b4 Handle gcc options parsing peculiarity for -Wno- flags 2013-04-26 11:08:34 -04:00
Andrew Morrow
bc532c817a Don't suppress configure checks during --clean 2013-04-26 11:08:25 -04:00
Mathias Stearn
8cc2ab561e Fix buildbot due to what we think is a bug in g++-4.6 2013-04-24 16:38:01 -04:00
Mathias Stearn
2d30f0b562 Add -Wno-unused-typedefs to unbreak building with g++-4.8 2013-04-24 10:33:55 -04:00
Andy Schwerin
2d8e983197 SERVER-8813 Switch C++ client and shell code for SASL authentication to use the Cyrus SASL library.
Replaces gsasl implementation in clients.
2013-04-22 13:02:47 -04:00
Andrew Morrow
53d7bcd4ed SERVER-8969 Support specifying minimum windows version to build 2013-04-08 20:58:23 -04:00
Andrew Morrow
ad60f1bdac Add support for new sanitizers in clang 3.3 and gcc 4.8 2013-04-08 20:58:23 -04:00
Andrew Morrow
224a7bb7f6 SERVER-9002 Fix indentation issue with compiler detection bodies 2013-03-23 15:43:06 -04:00
Andrew Morrow
1b2a4e07f2 SERVER-8463 Make control of link time optimization explicit 2013-03-23 11:19:59 -04:00
Andrew Morrow
037ccf6382 Add option for slightly faster sconsing 2013-03-23 11:19:59 -04:00
Andrew Morrow
6286ed8d31 SERVER-9002 Some preliminary work towards knowing what toolchain we are using 2013-03-23 11:19:59 -04:00
Andrew Morrow
00421d40cb Work around old GCC that doesn't understand -Wno-error 2013-03-16 12:45:54 -04:00
Andrew Morrow
a7e6e1fa8b SERVER-8464 For C++11 builds, specify C99 mode for any C compiles 2013-03-15 20:24:49 -04:00
Andrew Morrow
e01d425eef SERVER-8842 Apply OS X minimum version flag to build 2013-03-15 20:24:49 -04:00
Andrew Morrow
1426de920e SERVER-8676 Add libc++ support when building with clang 2013-03-15 20:24:49 -04:00
Andrew Morrow
e08eb0176c SERVER-8464 Add C++11 support to build system 2013-03-15 20:24:49 -04:00
Andrew Morrow
054ac98b9a SERVER-8466 SERVER-8467 Clang support and autodetection 2013-03-15 20:24:49 -04:00
Andrew Morrow
97e9f84c29 Options to adorn variant dir, including with current branch 2013-03-15 20:24:49 -04:00
Andy Schwerin
0c1895dae4 SCons: Make glibc check a function of --release flag, not presence of --s3dist on command line.
Release builds of mongo on Linux are not supposed to depend on symbols from
GLIBC2.4.  Prior to this patch, we enforced this by adding a post build option
to Program steps on linux when s3dist appeared on the command line, unless
suppressed by --no-glibc-check.  In this patch, we instead add the post build
option if --release is set on the command line, unless suppressed by the
--no-glibc-check.  Without this change, the s3dist rule can cause unnecessary
relinking of the programs to be archived and pushed.
2013-02-22 13:35:39 -05:00
Eric Milkie
14b14fe13b SERVER-8459 add command line flag to enable FIPS mode
See internal SSL build instructions for use of this flag.
2013-02-08 10:13:48 -05:00
Eliot Horowitz
bc8a25a7f0 scons fixes for fts and --32 2012-12-31 10:58:26 -05:00
Eliot Horowitz
d2df300721 SERVER-380: Add snowball stemmer 2012-12-25 12:25:45 -05:00
Shaun Verch
8214e8666e SERVER-7513 Build tcmalloc on mac 2012-12-24 09:59:09 -08:00
Eliot Horowitz
14a2ac2ff9 add static-libstdc++ option to scons 2012-12-23 02:37:03 -05:00
Hari Khalsa
6da0f1c47c clean up geo parsing a bit 2012-12-18 09:44:00 -05:00
Eric Milkie
50759820a8 add colon to characters that are transformed when generating variant dir 2012-12-14 17:55:06 -05:00
Eric Milkie
b21c528acf link correct libraries on Windows for openssl 2012-12-14 17:55:05 -05:00
Andrew Morrow
dfeb366b82 SERVER-7405 Stage banners as requested in modules 2012-11-27 09:58:07 -05:00
Eric Milkie
96bfc6ffc5 SERVER-7088 make --usev8 the default instead of --usesm 2012-11-11 09:51:06 -05:00
Andy Schwerin
924afa4629 Client and common support for SASL authentication.
SERVER-7130, SERVER-7131, SERVER-7133
2012-11-08 14:42:05 -05:00
Jason Rassi
71835a2d7b Remove stray debug print statement from SConstruct
(Erroneous addition from 876a1351)
2012-11-05 12:02:29 -05:00
Andy Schwerin
2386f89081 SERVER-7473 Provide functionality for registering "module" tests in SCons.
These tests exist to facilitate writing integration tests for MongoDB modules,
and could also be used to register integration tests for core MongoDB components
that are not written as jstests or dbtests.
2012-10-31 12:53:39 -04:00
Jason Rassi
6e9661724b SERVER-7086 Integrate third_party V8 build into SConstruct 2012-10-29 15:57:42 -04:00
Jason Rassi
8e05f36287 SERVER-7086 Complete implementation of V8 SConscript
Supports [MacOS, Linux, Windows, Solaris, FreeBSD]
         * [32-bit, 64-bit]
         * [debug, release]
2012-10-29 15:53:40 -04:00
Hari Khalsa
6d151dbaf1 Revert "(should) fix build on most linux machines"
This reverts commit 88b04683d0.
2012-10-29 11:25:01 -04:00
Hari Khalsa
88b04683d0 (should) fix build on most linux machines 2012-10-29 11:10:18 -04:00
Eliot Horowitz
76c04a7d2d --use-cpu-profiler shouldn't impact variant dir 2012-10-24 00:32:17 -04:00
Andy Schwerin
2716c5467a SERVER-7118 Change "mongo modules" to use SConscript files for modules.
Also allows you to have modules in mongos and the shell, as well as mongod.
Requires changes to the modules, to have SConscript files, and define libraries.
Allows modules to have unit tests, interesting linking rules, dependencies into
mongo, etc.

Still may need to do some work on includes.  The mongo-enterprise module has very
simple include requirements, today.
2012-10-23 16:35:42 -04:00
Eliot Horowitz
814807af7f can pass a list of files to lint.py 2012-10-16 10:35:38 -04:00
Eliot Horowitz
c444625527 move lint code to its own directory 2012-10-15 18:07:07 -04:00
Eliot Horowitz
a8d20647d7 hook up our own IsTestFilename for cpplint 2012-10-15 18:07:07 -04:00
Eliot Horowitz
3a15fac7d8 hookup google cpplint, and make "scons lint" run the checks we pass on now
including a few that i made pass
2012-10-15 18:07:06 -04:00
Andrew Schwerin
26f3e41041 Do not import now-defunct buildscripts.bb in SConstruct. 2012-10-12 16:25:40 -04:00
Randall Hunt
003bf7c7e6 remove bb.py as it's no longer needed in buildbot 2012-10-12 14:09:40 -04:00
Andy Schwerin
60305ad7a4 Simplify the implementation of s3push() in SConstruct, eliminate _rpartition function. 2012-10-04 18:20:08 -04:00
Randall Hunt
563d64e6f8 Fix BUILDBOT-185 by checking env['MONGO_MODULES'] and adding it to the build name 2012-09-18 19:13:08 -04:00
Randall Hunt
bde4065f5a fix module searchpath for 2.2 2012-09-18 17:22:05 -04:00
Tad Marshall
3f8a82f94a SERVER-6848 Replace tabs with 8 spaces in SConstruct 2012-09-02 08:21:46 -04:00
Andy Schwerin
572d39f494 SERVER-4683 Only use embedded tcmalloc on x86_64 linux by default. 2012-08-10 18:15:24 -04:00
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
517dfc979a SERVER-6532 Add PDB for mongos and mongod to Windows dist archive. 2012-08-07 13:34:18 -04:00
Tad Marshall
c9eb7c87a3 SERVER-6713 use /LARGEADDRESSAWARE linker switch in Windows
Add /LARGEADDRESSAWARE linker switch to Windows builds to
double the user address space in 32-bit builds.
2012-08-05 14:17:49 -04:00
Tad Marshall
0ff6b7aeb3 SERVER-6705 disable FPO for 32-bit Windows
Disable Frame Pointer Omission/Optimization in Windows
release builds.  This is already disabled in debug builds,
and only affects the 32-bit version.
2012-08-04 16:52:10 -04:00
Andy Schwerin
78f93d7a33 Link programs by linking all object files on the command line.
This is done rather than enumerating a list of static libraries to include.

SERVER-5112 and SERVER-6461
2012-07-17 13:10:04 -04:00
Eliot Horowitz
cc8aa499ff SERVER-3893, can't find a system where this breaks right now 2012-07-11 13:24:31 -04:00
Dan Crosta
a6989ade62 allow db modules to declare scripts that are run as a test suite 2012-07-10 11:13:00 -04:00
Dan Crosta
09c5aff0fe discover and configure modules in db/modules/ 2012-07-06 16:08:39 -04:00
Andy Schwerin
83418bb235 SERVER-6158: Link against an explicit instance of the mongoclient library.
This makes sure we're building and testing against the version of the library
that we expect.
2012-07-05 15:07:37 -04:00
Matt Dannenberg
f710e51faa better freebsd support in sconstruct
Signed-off-by: Siddharth Singh <singhsiddharth@gmail.com>
2012-06-13 18:35:29 -04:00
Andy Schwerin
57f64fe508 SERVER-5852: Use frame-pointers in 64-bit FreeBSD builds.
This makes execinfo:backtrace() work, and should have a minimal impact on
performance.
2012-06-08 17:59:21 -04:00
Andy Schwerin
82811e8dc8 SERVER-5702 Fix Build Break
SCons has decidedly mixed feelings about recursively substituting expansion
variables in env.Alias() statements.  Replace "$UNITTEST_ALIAS" with "unittests"
in SConstruct.
2012-06-04 13:27:00 -04:00
Andy Schwerin
82544c7d08 SERVER-5702: Add ability to register unit tests in SCons.
Tests are registered with env.RegisterUnitTest(), or by compiling a C++ unit
test with
    env.CppUnitTest('test_name', [test_source_list], LIBDEPS=[...])

The result is that SCons knows how to build a file "build/unittests.txt", one line per test.
2012-06-04 13:08:27 -04:00
Andy Schwerin
c04922ad14 SERVER-5702: C++ unit test framework that can be compiled separately.
Includes a unit test of the unit test framework written in the unit test
framework, itself.
2012-06-04 13:08:27 -04:00
Eric Milkie
a7be5e92b2 Revert "SERVER-5852 use libunwind routines for backtrace on freebsd"
This reverts commit e6f9efc3c3.

This may be resubmitted as a generic replacement for backtrace()
on all platforms, rather than just FreeBSD.
2012-05-24 13:48:36 -04:00
Eric Milkie
e6f9efc3c3 SERVER-5852 use libunwind routines for backtrace on freebsd 2012-05-24 09:41:37 -04:00
Dan Crosta
3509a34e11 Set linker flags for GNU ld on FreeBSD 9 2012-05-16 09:15:49 -04:00
Dan Crosta
7d43615455 SERVER-5791: SCons shouldn't die if HOME env var is not set 2012-05-09 14:38:01 -04:00
Eric Milkie
86b4fde37e write minidumps for unhandled exceptions on Windows
This will write a file mongo.dmp in the current directory when you crash.
You can open this dump with windbg and examine all thread stacks and locals.
To read and parse the exception details, issue the .ecxr command.
2012-04-24 16:24:35 -04:00
Andy Schwerin
84614c30a3 SERVER-5557: Higher performance timer on Linux.
Also supports systems that implement POSIX's clock_gettime() (i.e., FreeBSD).
2012-04-23 16:11:11 -04:00
Andy Schwerin
13bb9abf36 SCons: No need to check for libstdc++ when building on *nix machines. 2012-04-19 13:45:44 -04:00
Eliot Horowitz
b682f1071a python on windows doesn't support uname 2012-04-19 10:01:54 -04:00
Eliot Horowitz
9185a4bfe5 some cleaning based on andy's code review 2012-04-18 17:59:43 -04:00
Eliot Horowitz
09804cb1b1 make config files and db depend on os/host 2012-04-18 14:43:59 -04:00
Andy Schwerin
890d3b586d Move printStackTrace into new stacktrace.h/cpp; improve detection of execinfo.h. 2012-04-12 14:00:21 -04:00
Dan Crosta
1c58a7b5a1 SERVER-5524 upload client tarball to correct location in S3 2012-04-05 14:50:42 -04:00
Eric Milkie
8dd9661ca7 new scons option --mute, for less build output 2012-04-03 11:17:18 -04:00
Eric Milkie
51e9cc2895 cleanup pch; move some macros to SConstruct 2012-04-03 10:59:12 -04:00
Andy Schwerin
0546c22c22 SERVER-5451: Fix "scons clientBuild" on buildbots with Boost installed in non-standard locations. 2012-03-30 14:05:09 -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
4de8795575 SCons, use CCFLAGS, not CPPFLAGS, when referring to compiler flags. 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
0d40ba0044 Remove myCheckLib from SConstruct, other simplification/cleanup. 2012-03-28 11:42:59 -04:00
Andy Schwerin
a3e51b6721 SCons: /DNDEBUG stops boost assertions from aborting the program, which is not our desired behavior.
On Linux, we never define NDEBUG; make Windows behave the same.
2012-03-28 11:42:08 -04:00
Andy Schwerin
69db073a3e SERVER-4881: Stop defining BOOST_ENABLE_ASSERT_HANDLER.
It's correct for assertion failures in boost code to terminate the process,
which is their default behavior.
2012-03-26 21:39:10 -04:00
Andy Schwerin
a1f3bbaf6a Build "test" as part of "all". 2012-03-23 14:07:15 -04:00
Andy Schwerin
d67ce1cd31 SCons refactoring, cleans up building and testing the C++ client.
This patch does the following:

1.) Remove pcre.h dependencies in the C++ client, and remove some other
unnecessary dependencies.
2.) Clean up how we build the client from the client source tarball, so it's
more like how we build it from the git repo / full source tarball.
3.) Fix up our "scons" so you only have to write "scons ." to build all of our
binaries, the binary archive (zip or tgz) and client source archive (zip or
tgz).
4.) Fix up SCons aliases "core", "tools", and "all".
5.) Let user specify the name of the client tarball via a SCons command line
switch.

Resolves SERVER-4231, SERVER-5255.
2012-03-23 10:35:31 -04:00
Andy Schwerin
d500568fe1 Remove debugging print statement from SConstruct. 2012-03-19 17:09:33 -04:00
Andy Schwerin
0e0adf8855 Enable/disable DB-level locking at compile time.
Use the "--mongod-concurrency-level=db" flag to scons to enable db-level locking.  Defaults
to disabled, can be disabled explicitly with "--mongod-concurrency-level=global".
2012-03-19 15:10:35 -04:00
Eliot Horowitz
6fc718c18a enable BOOST_ENABLE_ASSERT_HANDLER in scons and fix boost assert functions
haven't removed from pch.h
2012-03-19 10:51:00 -04:00
Eric Milkie
0578ab5c5f improved Windows compilation flags 2012-03-07 15:44:04 -05:00
Andy Schwerin
322c3cc620 SERVER-5172: Fix builds that set include and library paths. 2012-03-07 15:05:48 -05:00
Andy Schwerin
1daae4e935 SERVER-5172: Respond to forgotten CR comments. 2012-03-07 10:46:54 -05: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
Tad Marshall
7ee0d0d8d1 Merge pull request #171 from djcsdy/windows-32-bit-build-fix
SERVER-5038 Always build 32-bit when building with --32 on Windows

Set force32, msarch and TARGET_ARCH correctly when --32 is specified.
Verified that this was broken before and is fixed by this patch.
2012-03-03 15:20:02 -08:00
Eliot Horowitz
c72786cdd1 add gcov option to scons to prep for SERVER-1600 2012-03-02 15:54:11 -05:00
Dan Crosta
40365f6cb4 SERVER-4995: check for and link with librt on Solaris 2012-03-01 15:15:40 -05:00
Eric Milkie
058a36a347 SERVER-3827 SConstruct changes for new pcre 2012-02-28 14:06:35 -05:00
Eliot Horowitz
2ebabdfbf4 Revert "BUILDBOT-58: use s3tool to do s3-related work (and remove old, unused s3 scripts)"
This reverts commit fc7cac2239.
2012-02-18 01:55:34 -05:00
Dan Crosta
fc7cac2239 BUILDBOT-58: use s3tool to do s3-related work (and remove old, unused s3 scripts) 2012-02-16 21:51:26 -05:00
Dan Crosta
b1d52e5246 add --smokeauth pass-through to smoke.py --auth 2012-02-10 22:08:13 -05:00
Mathias Stearn
74c1ffb05d Add -Woverloaded-virtual to CXXFLAGS and fix build SERVER-4802 2012-02-09 17:57:49 -05:00
Andy Schwerin
0b0a55509e Make SConstruct robust to TERM not being set. 2012-02-08 11:24:26 -05:00
Dan Crosta
7ce95709fe set up files lists and installs for client tarball SERVER-4875 2012-02-08 00:28:53 -05:00
Daniel Cassidy
01d17fa1c5 Always use the 32-bit Microsoft toolchain when building with --32 on Windows. 2012-01-31 15:07:42 +00:00
Eliot Horowitz
38399f723c Revert "horrible hack for sun32"
This reverts commit ef9684b7e0.
2012-01-30 15:43:19 -05:00
Eliot Horowitz
ef9684b7e0 horrible hack for sun32 2012-01-30 12:50:30 -05:00
Dan Crosta
ff87e84c3e SERVER-4591: python-2.4 compatible version of rpartition 2012-01-23 09:38:39 -08:00
Eliot Horowitz
ff0157a562 cleaner variant dir directories 2012-01-21 19:50:45 -05:00
Andy Schwerin
e885029b8f Fix scons dist_clean 2012-01-20 23:03:12 -08:00
Andy Schwerin
1afb642f15 SCons: Check SCons version >= 1.1.0 before compiling (used to be 0.98.4). 2012-01-20 09:24:27 -08:00
Andy Schwerin
785651d2be Fix "scons dist" / "scons s3dist".
Also, fix stripping and checking for GLIBC_2.4 dependencies on Linux.
2012-01-20 00:32:00 -08:00
Andy Schwerin
959ca16b31 Make SConstruct more consistent with old behavior for finding pcap on Windows, for buildslaves. 2012-01-19 16:50:57 -08:00
Andy Schwerin
51a735c40f SCons: Fix 64-bit on OS X 10.5 build by specifying target architecture when building RelocatableObjects. 2012-01-19 10:26:48 -08:00
Andy Schwerin
dcb8445b55 SCons: Fix Solaris 64-bit support. 2012-01-18 14:17:12 -08:00
Andy Schwerin
2561f20421 SConstruct: Prioritize includes from mongo source tree and third_party over system includes, unless explicitly overridden. 2012-01-18 11:01:55 -08:00
Andy Schwerin
84289e0b88 Fix for including right PCRE headers and linking commands into mongod/s. 2012-01-17 23:48:19 -08:00
Andy Schwerin
6cf66ed2a0 Change client library linking on OS X to support 10.5. 2012-01-17 19:23:17 -08: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
Tad Marshall
e75d664e24 hand-merge pull request # 144 from ukd1
Just a fix for a minor typo
2012-01-16 15:42:07 -05:00
Nathaniel McCallum
9dc1b751c2 remove stray shortName typo 2012-01-15 17:14:59 -05:00
U-tellus\cwestin
27e8af5b4f SERVER-3832 2012-01-06 15:54:50 -08:00
Eric Milkie
01587e687d run clone tests on windows 2012-01-04 16:32:36 -05:00
Eric Milkie
37b331b756 adjust target names for Windows 2012-01-04 14:22:18 -05:00
Eric Milkie
b002202f5c enable certain test targets to work on windows 2012-01-04 10:46:39 -05:00
dwight
c4ec255720 compile v8 windows 2012-01-03 13:53:04 -05:00
dwight
fa786827b0 Merge branch 'master' of github.com:mongodb/mongo 2011-12-30 21:23:42 -05:00
dwight
6b618de816 better name is memconcept change it 2011-12-30 21:23:08 -05:00
Mathias Stearn
7f94073f98 Fix --pch build for src/mongo change 2011-12-30 16:31:11 -05:00
Andy Schwerin
ff70c7c017 Support CPU profiling in mongod.
Add commands _cpuProfileStart and _cpuProfileStop to allow you to selectively
enable and disable profiling, around the regions of execution that interest you.
2011-12-28 13:29:31 -08:00
Eric Milkie
7b745865c0 a few warnings still exist; hold off on this. 2011-12-27 17:15:07 -05:00
Eric Milkie
b3c728d97b turn on warnings-as-errors for Windows builds.
Also added more documentation on what compiler flags we're using.  Note that we're still allowing linker warnings (there are a few in the current build).
2011-12-27 16:16:14 -05:00
dwight
d175b6fe88 stub new cpp file 2011-12-27 15:06:21 -05:00
Eliot Horowitz
6648144e57 remove old benchmark code for gae 2011-12-25 12:00:26 -05:00
Eliot Horowitz
baf050dd18 fix header install 2011-12-25 10:41:34 -05:00
Eliot Horowitz
607d9fc0a5 Revert "Revert "variant dir not working on linux yet""
This reverts commit ab391b3ce3.
2011-12-25 01:24:30 -05:00
Eliot Horowitz
ab391b3ce3 Revert "variant dir not working on linux yet"
This reverts commit da402cf22d.
2011-12-25 01:22:13 -05:00
Eliot Horowitz
f229dfb177 fix VariantDir 2011-12-25 01:21:33 -05:00
Eliot Horowitz
da402cf22d variant dir not working on linux yet 2011-12-24 23:01:31 -05:00
Eliot Horowitz
17eafca839 variant dirs for building 2011-12-24 22:49:25 -05:00
Eliot Horowitz
ae1ecd9c78 bulk move of code to src/ SERVER-4551 2011-12-24 15:33:45 -05:00
Eric Milkie
eb293c09a4 tell Windows linker to create .PDB debug info files for release mode images
This way, you can connect WinDbg to a running release-mode process and it resolves
symbol names properly.  We were already creating the debug info with the compiler;
all that was necessary was to tell the linker to collate all the info into pdb's.
2011-12-23 17:30:42 -05:00
dwight
1480c8756d give curop its own cpp file 2011-12-22 20:41:05 -05:00
dwight
8d103a1f3b compile 2011-12-19 15:47:11 -05:00