Cling - The Interactive C++ Interpreter
Go to file
Vassil Vassilev f99d5ebd9d Try to fix #46418
git-svn-id: http://root.cern.ch/svn/root/trunk@46539 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-14 15:30:05 +00:00
demo Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.) 2012-09-05 09:37:39 +00:00
docs Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.) 2012-09-05 09:37:39 +00:00
include Centralize the common code in to a method and just call it. Reduces a *lot* the 2012-10-12 16:09:04 +00:00
lib Try to fix #46418 2012-10-14 15:30:05 +00:00
patches Don't check whether it exists or not just delete it. 2012-10-11 14:28:35 +00:00
test Update the test now that lookupFuncProto does overload resolution. Explicitly test paramter that are reference to object. Test case where we request only the non defaulted argument. 2012-10-11 00:07:55 +00:00
tools *The JIT is configured to compile with RTTI so when we #include the SymbolResolverCallback 2012-10-10 13:00:17 +00:00
www Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.) 2012-09-05 09:37:39 +00:00
CMakeLists.txt Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.) 2012-09-05 09:37:39 +00:00
LastKnownGoodLLVMSVNRevision.txt Update llvm / clang to r165095. 2012-10-03 09:45:56 +00:00
Makefile Do not update LastKnownGoodLLVMSVNRevision.txt automatically; this will be done as part of the ROOT vendor branch import / update. 2012-09-18 15:28:45 +00:00
Module.mk Fix initialization order for "new" binutils that use ctors-in-init-array, by passing -Wl,--no-ctors-in-init-array. 2012-09-19 14:12:07 +00:00
README Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.) 2012-09-05 09:37:39 +00:00

          _  _  _      _         _  _  _   _           _      _  _  _
       _ (_)(_)(_) _  (_)       (_)(_)(_) (_) _       (_)  _ (_)(_)(_) _
      (_)         (_) (_)          (_)    (_)(_)_     (_) (_)         (_)
      (_)             (_)          (_)    (_)  (_)_   (_) (_)    _  _  _
      (_)             (_)          (_)    (_)    (_)_ (_) (_)   (_)(_)(_)
      (_)          _  (_)          (_)    (_)      (_)(_) (_)         (_)
      (_) _  _  _ (_) (_) _  _   _ (_) _  (_)         (_) (_) _  _  _ (_)
         (_)(_)(_)    (_)(_)(_) (_)(_)(_) (_)         (_)    (_)(_)(_)(_)

--------------------------------------------------------------------------------

1. I N S T A L L A T I O N   I N S T R U C T I O N S

1.1 Dependencies

   CLING source depends on the LLVM [1] and CLANG [2] headers and libraries.
You will also need CMake [3] >= 2.6.1 or GNU Make to build all of those
packages and subversion [4] to get the source code.

   [1] http://llvm.org
   [2] http://clang.llvm.org
   [3] http://cmake.org
   [4] http://subversion.tigris.org/

1.2 Building

   To build LLVM and CLANG you must:

   * Check out the sources:

     mkdir src
     cd src
     svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
     cd llvm/tools
     svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
     svn co http://root.cern.ch/svn/root/trunk/interpreter/cling cling
     cd ..

   * Apply some patches

     cat tools/cling/patches/* | patch -p0

   * Configure, build and install them, either using CMake:

     cd ..
     mkdir build
     cd build
     cmake -DCMAKE_INSTALL_PREFIX=/some/install/dir \
           -DLLVM_TARGETS_TO_BUILD=CBackend\;CppBackend\;X86 \
           -DCMAKE_BUILD_TYPE=Debug \
           -DCMAKE_CXX_COMPILER=`which c++` \
           -DCMAKE_C_COMPILER=`which gcc` \
           ../llvm
     make
     make install

     or GNU Make (see ../src/configure --help for all options):

     cd ..
     mkdir build
     cd build
     ../llvm/configure --prefix=/some/install/dir
     make
     make install

2. U S A G E

   To interpret a C file type: "./cling test.c". To invoke cling in the
interactive mode type "cling" without file name.  Use ".L filename" to 
load libraries or C++ files.  Type C++ code at the prompt to interpret it.