|
Since the split of the C++ driver from the C++ core, many third party dependencies have been removed from the source, including PCRE.
However they are still referenced in the Sconstruct:
add_option( "use-system-pcre", "use system version of pcre library", 0, True )
|
...
|
env.Prepend( CPPDEFINES=[ "_SCONS" ,
|
"MONGO_EXPOSE_MACROS" ,
|
"SUPPORT_UTF8" ], # for pcre
|
...
|
if not use_system_version_of_library("pcre"):
|
env.Prepend(CPPPATH=[ '$BUILD_DIR/third_party/pcre-${PCRE_VERSION}' ])
|
So by default the compiler command line is polluted with unnecessary paths:
-Ibuild/linux2/ssl/use-system-boost/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30
|
The scons --help is also polluted:
--use-system-tcmalloc=USE-SYSTEM-TCMALLOC
|
use system version of tcmalloc library
|
--use-system-pcre=USE-SYSTEM-PCRE
|
use system version of pcre library
|
--use-system-boost=USE-SYSTEM-BOOST
|
use system version of boost libraries
|
--use-system-snappy=USE-SYSTEM-SNAPPY
|
use system version of snappy library
|
--use-system-v8=USE-SYSTEM-V8
|
use system version of v8 library
|
--use-system-stemmer=USE-SYSTEM-STEMMER
|
use system version of stemmer
|
--use-system-yaml=USE-SYSTEM-YAML
|
use system version of yaml
|
Only boost is a real dependency (and is not shipped anymore, so the option is in fact mandatory).
This is not a blocking issue, but it's confusing to have mentions of all these third party libraries: it lets one believe they are really used, which is an issue when packaging the mongodb c++ driver.
|