diff --git a/cmake/modules/RootBuildOptions.cmake b/cmake/modules/RootBuildOptions.cmake index 1999b186048d5..92a9920b758a5 100644 --- a/cmake/modules/RootBuildOptions.cmake +++ b/cmake/modules/RootBuildOptions.cmake @@ -203,14 +203,31 @@ endif() #--- The 'all' option swithes ON major options--------------------------------------------------- if(all) + set(bonjour_defvalue ON) + set(chirp_defvalue ON) + set(dcache_defvalue ON) + set(fitsio_defvalue ON) + set(glite_defvalue ON) + set(fortran_defvalue ON) set(gdml_defvalue ON) + set(gviz_defvalue ON) + set(hdfs_defvalue ON) set(http_defvalue ON) + set(krb5_defvalue ON) + set(ldap_defvalue ON) + set(memstat_defvalue ON) + set(minuit2_defvalue ON) + set(monalisa_defvalue ON) + set(odbc_defvalue ON) set(qt_defvalue ON) set(qtgsi_defvalue ON) - set(roofit_defvalue ON) - set(minuit2_defvalue ON) set(r_defvalue ON) + set(rfio_defvalue ON) + set(roofit_defvalue ON) set(root7_defvalue ON) + set(sapdb_defvalue ON) + set(shadowpw_defvalue ON) + set(srp_defvalue ON) set(table_defvalue ON) set(unuran_defvalue ON) set(vc_defvalue ON) diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx index 6659294ea68c6..31f7ab6bf70ec 100644 --- a/core/metacling/src/TCling.cxx +++ b/core/metacling/src/TCling.cxx @@ -1099,6 +1099,8 @@ static void LoadCoreModules(cling::Interpreter &interp) if (!CI.getLangOpts().Modules) return; + bool fromRootCling = dlsym(RTLD_DEFAULT, "usedToIdentifyRootClingByDlSym"); + clang::HeaderSearch &headerSearch = CI.getPreprocessor().getHeaderSearchInfo(); clang::ModuleMap &moduleMap = headerSearch.getModuleMap(); // List of core modules we can load, but it's ok if they are missing because @@ -1107,6 +1109,12 @@ static void LoadCoreModules(cling::Interpreter &interp) // List of core modules we need to load. std::vector neededCoreModuleNames = {"Core", "RIO"}; + + if (!fromRootCling) { + neededCoreModuleNames.push_back("TreePlayer"); + neededCoreModuleNames.push_back("TMVA"); + } + std::vector missingCoreModuleNames; std::vector coreModules; @@ -1333,9 +1341,6 @@ TCling::TCling(const char *name, const char *title) "using namespace std;"); } - // Setup core C++ modules if we have any to setup. - LoadCoreModules(*fInterpreter); - // We are now ready (enough is loaded) to init the list of opaque typedefs. fNormalizedCtxt = new ROOT::TMetaUtils::TNormalizedCtxt(fInterpreter->getLookupHelper()); fLookupHelper = new ROOT::TMetaUtils::TClingLookupHelper(*fInterpreter, *fNormalizedCtxt, TClingLookupHelper__ExistingTypeCheck, TClingLookupHelper__AutoParse); @@ -1408,6 +1413,9 @@ TCling::~TCling() void TCling::Initialize() { fClingCallbacks->Initialize(); + + // Setup core C++ modules if we have any to setup. + LoadCoreModules(*fInterpreter); } ////////////////////////////////////////////////////////////////////////////////