Cling - The Interactive C++ Interpreter
Go to file
Vassil Vassilev 516844befe Revert the parser cleanups. The RAII object is not sufficient for some routines.
Add BeginSourceFile so that the RAII object is happy when we do additional parser
recovery.


git-svn-id: http://root.cern.ch/svn/root/trunk@46828 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-26 13:32:41 +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 Use better naming. 2012-10-25 14:07:19 +00:00
lib Revert the parser cleanups. The RAII object is not sufficient for some routines. 2012-10-26 13:32:41 +00:00
patches Revert r46665 until ROOT has an updated llvm == LastKnownGood is bumped. 2012-10-19 15:57:14 +00:00
test Rollback the transaction if there is an error occurred in one of the transformers. 2012-10-26 12:56:49 +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 library order 2012-10-17 15:37:38 +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.