Diff for /parser3/INSTALL between versions 1.48.2.1 and 1.54

version 1.48.2.1, 2005/12/28 16:45:36 version 1.54, 2009/08/01 04:59:09
Line 4  $Id$ Line 4  $Id$
 1.What is the process to compile Parser3?  1.What is the process to compile Parser3?
   
   Just start ./buildall-with-xml script and you would get $HOME/parser3install/bin/parser3 binary.    Just start ./buildall-with-xml script and you would get $HOME/parser3install/bin/parser3 binary.
   In case you do not need XML support, use ./buildall-without-xml  
   
   
   NOTE:    NOTE:
     In case you do not need XML support, use ./buildall-without-xml
   
     NOTE:
   On some platforms there is special version of libgc patched to support some    On some platforms there is special version of libgc patched to support some
   local piece of subtlety.    local piece of subtlety.
   Official libgc does not work there, use special version instead.    Official libgc does not work there, use special version instead.
   (OpenBSD reported to be one of those)    (OpenBSD reported to be one of those)
     If you need that special version, please change buildall script accordingly.
   
     NOTE:
     In case you later would experience problems with gcc runtime exception handling
     (most notable when reporting sql-related problems),
     add this to configure line in buildall script:
     --with-sjlj-exceptions
     (HPUX is reported to have such problems)
   
   NOTE:    NOTE:
   On some systems there are no "make" and you should run 'gmake', change buildall script accordingly then.    On some systems there are no "make" and you should run 'gmake', change buildall script accordingly then.
   
 2.What is the process to install Parser3?  2.What is the process to install Parser3?
   
   make install    Copy files from $HOME/parser3install directory into your cgi-bin directory.
   
     Then install Parser3 as a handler of documents, step-by-step instrunctions:
       http://www.parser.ru/en/docs/lang/install4apachecgi.htm" in English
       http://www.parser.ru/docs/lang/install4apachecgi.htm" in Russian
   
   Installation layout:    Directory layout:
     $prefix/bin/      bin/
       parser3             -- CGI and command line Parser3 interpreter        parser3             -- CGI and command line Parser3 interpreter
       auto.p.dist         -- configuration file sample,         auto.p.dist         -- configuration file sample, 
                              copy it to auto.p and adjust to your needs                               copy it to auto.p and adjust to your needs
     $prefix/etc/      etc/
       parser3.charsets/   -- charset definition files        parser3.charsets/   -- charset definition files
         koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]          koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]
         windows-1250.cfg  -- central europian charset [windows-1250 encoding]          windows-1250.cfg  -- central europian charset [windows-1250 encoding]
Line 33  $Id$ Line 47  $Id$
         windows-1257.cfg  -- baltic charset [windows-1257 encoding]          windows-1257.cfg  -- baltic charset [windows-1257 encoding]
   
 3.I have heard about $mail:receive experimental support, how do I use it?  3.I have heard about $mail:receive experimental support, how do I use it?
   You need two more libraries    You need to bulid these additional libraries
       glib >= 1.2.10        glib >= 1.2.10
       gmime >= 1.0.1 [http://spruce.sourceforge.net/gmime/sources/v1.0/gmime-1.0.8.tar.gz]        gmime >= 1.0.1 [http://spruce.sourceforge.net/gmime/sources/v1.0/gmime-1.0.8.tar.gz]
     on your system, and specify path to them to Parser3 configure script.      on your system, and specify path to them to Parser3 configure script.
Line 54  $Id$ Line 68  $Id$
     ./configure --prefix=$HOME/parser3project/gnome      ./configure --prefix=$HOME/parser3project/gnome
     make install      make install
   
     You need to change buildall script to add this to parser3 configure line:      Then you need to change buildall script to add this to parser3 configure line:
         --with-static-mailreceive=$HOME/parser3project/gnome          --with-static-mailreceive=$HOME/parser3project/gnome
       And start that changed ./buildall.
   
     NOTE:      NOTE:
     In case your glib as installed into some other prefix,      In case your glib as installed into some other prefix,
Line 67  $Id$ Line 82  $Id$
         --with-pathlink=LKEY    put dynamic libraries paths to binary          --with-pathlink=LKEY    put dynamic libraries paths to binary
                                 using linker key (-R, -rpath-link)                                  using linker key (-R, -rpath-link)
   
 4.  4.Security issues
   
   In case you're not root on machine you're installing Parser,  
   we recommend you to do:  
   ./configure --prefix=$HOME/parser3install  
   and afterwards copy $HOME/parser3install/bin/parser3 to your CGI directory  
   or make a symlink [if your web server configured to follow symlinks].  
   
   You can disable any exec operations by setting    You can disable any exec operations by setting
   --disable-execs    --disable-execs
   option to configure.    option to configure.
Line 86  $Id$ Line 94  $Id$
   option to configure.    option to configure.
       
   You can disable user-configured sendmail commands by forcing it, setting    You can disable user-configured sendmail commands by forcing it, setting
   --with=sendmail="COMMAND"    "--with=sendmail=COMMAND"
   option to configure, for example:    option to configure, for example:
   --with-sendmail="/usr/sbin/sendmail -i -t -f postmaster"    "--with-sendmail=/usr/sbin/sendmail -i -t -f postmaster"
   
   In case you are experiencing problem with gcc runtime exception handling,  
   try to configure with  
   --with-sjlj-exceptions  
   option.    
   
   By default libstdc++ is linked statically, you can re-enable dynamic libstdc++ linkage by specifying    By default libstdc++ is linked statically, you can re-enable dynamic libstdc++ linkage by specifying
   --with-dynamic-stdcpp    --with-dynamic-stdcpp
Line 123  $Id$ Line 126  $Id$
   
   WARNING: if you want to use apache configure option --enable-shared=max, do this:    WARNING: if you want to use apache configure option --enable-shared=max, do this:
   ./p3runConfigure --enable-shared=max --disable-shared=mod_parser3.c    ./p3runConfigure --enable-shared=max --disable-shared=mod_parser3.c
   
   6.
     Since Parser 3.4.0 the several optimisations were implemented.
     If you experience problems you can try to disable them by commenting corresponding defines and recompiling parser3.
   
     src/include/pa_opcode.h
       #define OPTIMIZE_BYTECODE_GET_CLASS               -- $a:
       #define OPTIMIZE_BYTECODE_GET_ELEMENT             -- $a ^a
       #define OPTIMIZE_BYTECODE_GET_OBJECT_ELEMENT      -- $a.b ^a.b
       #define OPTIMIZE_BYTECODE_GET_OBJECT_VAR_ELEMENT  -- $a.$b ^a.$b
       #define OPTIMIZE_BYTECODE_GET_SELF_ELEMENT        -- $self.a ^self.a
       #define OPTIMIZE_BYTECODE_CONSTRUCT               -- $a(expr),  $a[value]
                                                            $.a(expr), $.a[value]
                                                            $self.a(expr), $self.a[value]
       #define OPTIMIZE_BYTECODE_CUT_REM_OPERATOR        -- cut rem operator with any number of params during compilation
       #define OPTIMIZE_BYTECODE_STRING_POOL             -- simplifying string's bytecode into expression
   
     src/include/pa_string.h
       #define HASH_CODE_CACHING  -- calculated hash codes are cached and used for sequential hash lookups
   
     src/include/pa_memory.h
       #define USE_DESTRUCTORS    -- destructors are used to decrease memory consumption during code
                                     processing and make ^memory:compact[] calls non-essential.
   
     src/types/pa_method.h
       #define OPTIMIZE_CALL      -- allows faster operators execution by eliminating method frame
                                     with local variables creation and extra write context switches.
       #define OPTIMIZE_RESULT    -- parser methods are marked when the $result variable was used.
                                     This allows write operations and context switching optimization.
   
     src/types/pa_wwrapper.h
       #define OPTIMIZE_SINGLE_STRING_WRITE  -- reuse original VString in single string assignments.
   
     src/lib/cord/include/cord.h
       #define CORD_CAT_OPTIMIZATION -- CORD library never modifies source concatenations. But in parser
                                        write operations it is safe to modify them and save some memory.
       #define CORD_CHARS_CACHE      -- language cords with same language and length are cached and reused.
   
     src/include/pa_string.h
       #define STRING_LENGTH_CACHING -- cache String::Body.length() for char* strings
   
     src/include/pa_hash.h
       #define HASH_ORDER            -- hash keys are iterated in the order of insertion
   

Removed from v.1.48.2.1  
changed lines
  Added in v.1.54


E-mail: