diff --git a/build/unix/makeonepcm.sh b/build/unix/makeonepcm.sh index cdb4d2cdada9f91c6d3785e5f25acc6717b3cc0a..9125efdf84aee6e2b85bb5d7c6527eb75ff86a3b 100755 --- a/build/unix/makeonepcm.sh +++ b/build/unix/makeonepcm.sh @@ -197,6 +197,8 @@ mv alldefs.h include/allLinkDef.h rm -f allDict.* lib/allDict_rdict.pcm core/utils/src/rootcling_tmp -1 -f allDict.cxx -c $cxxflags -I$srcdir allHeaders.h include/allLinkDef.h +mv lib/allDict.pch etc/cling/ + # actually we won't need the allDict.[h,cxx] files rm -f allDict.* diff --git a/core/meta/src/TCling.cxx b/core/meta/src/TCling.cxx index fbd31cf37076be81fb96890f5fd3f62ee594b10c..dbc9967f76297dd9bbf429f1fad261804e96f109 100644 --- a/core/meta/src/TCling.cxx +++ b/core/meta/src/TCling.cxx @@ -666,8 +666,10 @@ TCling::TCling(const char *name, const char *title) fTemporaries = new std::vector<cling::StoredValueRef>(); std::string interpInclude = ROOT::TMetaUtils::GetInterpreterExtraIncludePath(false); + std::string pchFilename = interpInclude.substr(2) + "/cling/ROOT.pch"; const char* interpArgs[] - = {"cling4root", interpInclude.c_str(), "-Xclang", "-fmodules"}; + = {"cling4root", interpInclude.c_str(), "-include-pch", pchFilename.c_str()}; + //"-Xclang", "-fmodules"}; fInterpreter = new cling::Interpreter(sizeof(interpArgs) / sizeof(char*), interpArgs,