Skip to content
Snippets Groups Projects
Commit cab21de0 authored by Fons Rademakers's avatar Fons Rademakers
Browse files

m Axel:
Introduce cling as a regular module to ROOT. It will only be built if
cint/cling exists; configure's output does not advocate its ability to
configure for cling. TCint's dictionary will now end up in G__TCint.cxx
instead of G__Meta to allow it to be swapped with the dictionary for
TCint from cling. In the near future, ROOT will be changed so that it
doesn't require the interpreter to be called "TCint"; at least friend
declarations in TROOT and TClass prevent that for now.


git-svn-id: http://root.cern.ch/svn/root/trunk@32970 27541ba8-7e3a-0410-8455-c3a389f83636
parent 00b95774
No related branches found
No related tags found
No related merge requests found
...@@ -202,7 +202,10 @@ ifeq ($(BUILDUNURAN),yes) ...@@ -202,7 +202,10 @@ ifeq ($(BUILDUNURAN),yes)
MODULES += math/unuran MODULES += math/unuran
endif endif
ifeq ($(BUILDCINTEX),yes) ifeq ($(BUILDCINTEX),yes)
MODULES += cint/cintex MODULES += cint/cintex
endif
ifeq ($(BUILDCLING),yes)
MODULES += cint/cling
endif endif
ifeq ($(BUILDROOFIT),yes) ifeq ($(BUILDROOFIT),yes)
MODULES += roofit/roofitcore roofit/roofit roofit/roostats MODULES += roofit/roofitcore roofit/roofit roofit/roostats
...@@ -461,9 +464,9 @@ STATICEXTRALIBS = $(PCRELDFLAGS) $(PCRELIB) \ ...@@ -461,9 +464,9 @@ STATICEXTRALIBS = $(PCRELDFLAGS) $(PCRELIB) \
COREL = $(BASEL1) $(BASEL2) $(BASEL3) $(CONTL) $(METAL) \ COREL = $(BASEL1) $(BASEL2) $(BASEL3) $(CONTL) $(METAL) \
$(SYSTEML) $(CLIBL) $(METAUTILSL) $(EDITLINEL) $(SYSTEML) $(CLIBL) $(METAUTILSL) $(EDITLINEL)
COREO = $(BASEO) $(CONTO) $(METAO) $(SYSTEMO) $(ZIPO) $(CLIBO) \ COREO = $(BASEO) $(CONTO) $(METAO) $(SYSTEMO) $(ZIPO) $(CLIBO) \
$(METAUTILSO) $(EDITLINEO) $(METAUTILSO) $(EDITLINEO) $(CLINGO)
COREDO = $(BASEDO) $(CONTDO) $(METADO) $(SYSTEMDO) $(CLIBDO) \ COREDO = $(BASEDO) $(CONTDO) $(METADO) $(METACDO) $(SYSTEMDO) \
$(METAUTILSDO) $(EDITLINEDO) $(CLIBDO) $(METAUTILSDO) $(EDITLINEDO) $(CLINGDO)
CORELIB := $(LPATH)/libCore.$(SOEXT) CORELIB := $(LPATH)/libCore.$(SOEXT)
COREMAP := $(CORELIB:.$(SOEXT)=.rootmap) COREMAP := $(CORELIB:.$(SOEXT)=.rootmap)
...@@ -563,7 +566,6 @@ skip: ...@@ -563,7 +566,6 @@ skip:
-include $(patsubst %,%/ModuleVars.mk,$(MODULES)) -include $(patsubst %,%/ModuleVars.mk,$(MODULES))
include $(patsubst %,%/Module.mk,$(MODULES)) include $(patsubst %,%/Module.mk,$(MODULES))
-include cint/cling/Module.mk # irrelevant except for LLVM dev
-include MyRules.mk # allow local rules -include MyRules.mk # allow local rules
ifeq ($(findstring $(MAKECMDGOALS),clean distclean maintainer-clean dist \ ifeq ($(findstring $(MAKECMDGOALS),clean distclean maintainer-clean dist \
......
...@@ -278,6 +278,8 @@ GSLLIBDIR := @gsllibdir@ ...@@ -278,6 +278,8 @@ GSLLIBDIR := @gsllibdir@
GSLLIBS := @gsllibs@ GSLLIBS := @gsllibs@
GSLVERSION := @gslversion@ GSLVERSION := @gslversion@
BUILDCLING := @buildcling@
BUILDCINTEX := @buildcintex@ BUILDCINTEX := @buildcintex@
BUILDREFLEX := @buildreflex@ BUILDREFLEX := @buildreflex@
......
...@@ -22,5 +22,6 @@ ...@@ -22,5 +22,6 @@
#@hasmathmore@ R__HAS_MATHMORE /**/ #@hasmathmore@ R__HAS_MATHMORE /**/
#@haspthread@ R__HAS_PTHREAD /**/ #@haspthread@ R__HAS_PTHREAD /**/
#@hasxft@ R__HAS_XFT /**/ #@hasxft@ R__HAS_XFT /**/
#@hascling@ R__HAS_CLING /**/
#endif #endif
...@@ -48,6 +48,7 @@ options=" \ ...@@ -48,6 +48,7 @@ options=" \
enable_chirp \ enable_chirp \
enable_cintex \ enable_cintex \
enable_clarens \ enable_clarens \
enable_cling \
enable_editline \ enable_editline \
enable_dcache \ enable_dcache \
enable_exceptions \ enable_exceptions \
...@@ -106,6 +107,7 @@ for c in $options ; do eval ${c}="yes" ; done ...@@ -106,6 +107,7 @@ for c in $options ; do eval ${c}="yes" ; done
for c in $deprecated_options ; do eval ${c}="yes" ; done for c in $deprecated_options ; do eval ${c}="yes" ; done
for c in $options ; do eval ${c}_explicit="" ; done for c in $options ; do eval ${c}_explicit="" ; done
enable_cling=
enable_afs=no enable_afs=no
enable_gdml=no enable_gdml=no
enable_globus=no enable_globus=no
...@@ -4817,6 +4819,22 @@ fi ...@@ -4817,6 +4819,22 @@ fi
check_explicit "$enable_genvector" "$enable_genvector_explicit" \ check_explicit "$enable_genvector" "$enable_genvector_explicit" \
"Explicitly required GenVector dependencies not fulfilled" "Explicitly required GenVector dependencies not fulfilled"
######################################################################
#
### echo %%% Cling - LLVM/clang based interpreter prototype
#
if test ! "x$enable_cling" = "xno"; then
if test -d cint/cling; then
message "Checking whether to build cling"
enable_cling="yes"
hascling="define"
result "yes"
fi
else
enable_cling=""
hascling="undef"
fi
###################################################################### ######################################################################
# #
### echo %%% Cintex Library - Contributed library ### echo %%% Cintex Library - Contributed library
...@@ -5507,6 +5525,7 @@ sed -e "s|@aclocaldir@|$aclocaldir|" \ ...@@ -5507,6 +5525,7 @@ sed -e "s|@aclocaldir@|$aclocaldir|" \
-e "s|@zliblib@|$zliblib|" \ -e "s|@zliblib@|$zliblib|" \
-e "s|@zliblibdir@|$zliblibdir|" \ -e "s|@zliblibdir@|$zliblibdir|" \
-e "s|@buildcintex@|$enable_cintex|" \ -e "s|@buildcintex@|$enable_cintex|" \
-e "s|@buildcling@|$enable_cling|" \
-e "s|@buildreflex@|$enable_reflex|" \ -e "s|@buildreflex@|$enable_reflex|" \
-e "s|@buildroofit@|$enable_roofit|" \ -e "s|@buildroofit@|$enable_roofit|" \
-e "s|@buildminuit2@|$enable_minuit2|" \ -e "s|@buildminuit2@|$enable_minuit2|" \
...@@ -5735,6 +5754,7 @@ sed \ ...@@ -5735,6 +5754,7 @@ sed \
-e "s|@hasmathmore@|$hasmathmore|" \ -e "s|@hasmathmore@|$hasmathmore|" \
-e "s|@haspthread@|$haspthread|" \ -e "s|@haspthread@|$haspthread|" \
-e "s|@hasxft@|$hasxft|" \ -e "s|@hasxft@|$hasxft|" \
-e "s|@hascling@|$hascling|" \
< RConfigure.tmp > RConfigure-out.tmp < RConfigure.tmp > RConfigure-out.tmp
rm -f RConfigure.tmp rm -f RConfigure.tmp
......
...@@ -57,6 +57,7 @@ R__EXTERN TVirtualMutex *gROOTMutex; ...@@ -57,6 +57,7 @@ R__EXTERN TVirtualMutex *gROOTMutex;
class TROOT : public TDirectory { class TROOT : public TDirectory {
friend class TCint; friend class TCint;
friend class TCling;
private: private:
Int_t fLineIsProcessing; //To synchronize multi-threads Int_t fLineIsProcessing; //To synchronize multi-threads
......
...@@ -104,7 +104,11 @@ ...@@ -104,7 +104,11 @@
#include "TMap.h" #include "TMap.h"
#include "TObjString.h" #include "TObjString.h"
#include "TVirtualMutex.h" #include "TVirtualMutex.h"
#include "TCint.h" #ifdef R__HAS_CLING
# include "TCling.h"
#else
# include "TCint.h"
#endif
#include <string> #include <string>
namespace std {} using namespace std; namespace std {} using namespace std;
......
...@@ -18,13 +18,25 @@ METADS := $(MODDIRS)/G__Meta.cxx ...@@ -18,13 +18,25 @@ METADS := $(MODDIRS)/G__Meta.cxx
METADO := $(METADS:.cxx=.o) METADO := $(METADS:.cxx=.o)
METADH := $(METADS:.cxx=.h) METADH := $(METADS:.cxx=.h)
METAH := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h)) ifneq ($(BUILDCLING),yes)
METAH := $(METAH) METACL := $(MODDIRI)/LinkDef_TCint.h
METACDS := $(MODDIRS)/G__TCint.cxx
METACH := $(MODDIRI)/TCint.h
else
METACL :=
METACDS :=
endif
METACDO := $(METACDS:.cxx=.o)
METACDH := $(METACDS:.cxx=.h)
METAH := $(filter-out $(MODDIRI)/TCint.h,$(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h)))
METAS := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx)) METAS := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
METAS := $(METAS) ifeq ($(BUILDCLING),yes)
METAS := $(filter-out $(MODDIRS)/TCint.cxx,$(METAS))
endif
METAO := $(METAS:.cxx=.o) METAO := $(METAS:.cxx=.o)
METADEP := $(METAO:.o=.d) $(METADO:.o=.d) METADEP := $(METAO:.o=.d) $(METADO:.o=.d) $(METACDO:.o=.d)
# used in the main Makefile # used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(METAH)) ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(METAH))
...@@ -42,14 +54,18 @@ $(METADS): $(METAH) $(METAL) $(ROOTCINTTMPDEP) ...@@ -42,14 +54,18 @@ $(METADS): $(METAH) $(METAL) $(ROOTCINTTMPDEP)
@echo "Generating dictionary $@..." @echo "Generating dictionary $@..."
$(ROOTCINTTMP) -f $@ -c -DG__API $(METAH) $(METAL) $(ROOTCINTTMP) -f $@ -c -DG__API $(METAH) $(METAL)
all-$(MODNAME): $(METAO) $(METADO) $(METACDS): $(METACH) $(METACL) $(ROOTCINTTMPDEP)
@echo "Generating dictionary $@..."
$(ROOTCINTTMP) -f $@ -c -DG__API $(METACH) $(METACL)
all-$(MODNAME): $(METAO) $(METADO) $(METACDO)
clean-$(MODNAME): clean-$(MODNAME):
@rm -f $(METAO) $(METADO) @rm -f $(METAO) $(METADO) $(METACDO)
clean:: clean-$(MODNAME) clean:: clean-$(MODNAME)
distclean-$(MODNAME): clean-$(MODNAME) distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(METADEP) $(METADS) $(METADH) @rm -f $(METADEP) $(METADS) $(METADH) $(METACDS) $(METACDH)
distclean:: distclean-$(MODNAME) distclean:: distclean-$(MODNAME)
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#pragma link C++ enum EProperty; #pragma link C++ enum EProperty;
#pragma link C++ class TCint;
#pragma link C++ class TBaseClass; #pragma link C++ class TBaseClass;
#pragma link C++ class TClass; #pragma link C++ class TClass;
#pragma link C++ class TClassStreamer+; #pragma link C++ class TClassStreamer+;
......
/* @(#)root/meta:$Id$ */
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifdef __CINT__
#pragma link C++ nestedtypedefs;
#pragma link C++ nestedclasses;
#pragma link C++ class TCint;
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment