-
Type: Bug
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: legacy-0.0-26compat-2.6.0, legacy-0.0-26compat-2.6.1, legacy-0.0-26compat-2.6.2, legacy-0.0-26compat-2.6.3, legacy-0.0-26compat-2.6.4
-
Component/s: Build
-
Labels:
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.