"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "root/cint/cint/lib/stream/README" of archive root_v5.20.00.win32.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 lib/stream/README
    2 
    3  lib/stream directory exists for creating iostream library linkage file
    4 src/libstrm.cxx and src/libstrm.h. These files contain interface methods
    5 for iostream library. You can create those by doing 'make' under this 
    6 directory. Usually nobody but only author should do this. User doesn't
    7 need to recognize this.
    8 
    9  Just in case, your environment has special iostream implementation that
   10 prevent you from using src/libstrm.cxx, here is an outline of how you can
   11 create src/libstrm.cxx. You can refer to the files in lib/stream directory
   12 as example.
   13 
   14 
   15  1) Compile cint using src/fakestrm.cxx
   16 
   17    First, you need to compile cint object. 
   18 
   19    To do this without src/libstrm.cxx copy src/fakestrm.cxx and 
   20    src/fakestrm.h to src/libstrm.cxx and src/libstrm.h. 
   21 
   22    Small modification is needed in src/newlink.c. There is a macro
   23    #define G__N_EXPLICITDESTRUCTOR defined at the beginning of newlink.c.
   24    Please comment this out. This may not be necessary, but just in case to
   25    avoid g++ compiler bug. If you do not use g++, it may be OK to keep
   26    G__N_EXPLICITDESTRUCTOR alive.
   27 
   28    You can follow regular installation procedure after this.
   29 
   30  2) Create directory
   31 
   32    Create lib/XXstream to create src/libstrm.cxx of your own.
   33 
   34  3) Copy iostream.h
   35 
   36    Copy iostream.h and other files that is needed for iostream library 
   37    from compiler's include directory to lib/XXstream directory. Create a
   38    header file that includes all of them. For example,
   39 
   40      // iostr.h
   41      #include "iostream.h"
   42      #include "stream.h"
   43      #include "fstream.h"
   44      #include "strm.h"
   45 
   46  4) Try and Error
   47 
   48    The header files you copied may contain the compiler's system dependent
   49    keywords and special features. Or cint's syntax limitation or bug may
   50    cause problems. Please try following command to create libstrm.cxx and
   51    libstrm.h.  You will find many problems here that you need to corp with.
   52    Modify header files until this goes well.
   53 
   54     $ cint -nlibstrm.cxx -NG__stream -D__MAKECINT__ -c-1 -I. iostr.h
   55 
   56 
   57  5) Copy libstrm.cxx, libstrm.h to src directory
   58 
   59    Copy libstrm.cxx and libstrm.h to src directory and try compiling them.
   60    If you find problems there, go back to step 3).
   61 
   62 
   63  6) Restore src/newlink.c and recompile cint
   64 
   65    If you commented out #define G__N_EXPLICITDESTRUCTOR in step 1)
   66    restore it and recompile cint.
   67