0024341: Document building OpenCL ICD Loader package
authorabv <abv@opencascade.com>
Thu, 14 Nov 2013 08:47:01 +0000 (12:47 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 14 Nov 2013 08:51:25 +0000 (12:51 +0400)
- Building OpenCL ICD Loader documented; Acknowledgments section of Overview updated to mention also OpenGL and OpenCL
- Reference to OpenCL updated in Overview: use general statement instead of direct link to AMD SDK.
- GeForce 610, 6600, and Radeon HD 7870 added to list of tested graphic cards
- Minor syntax corrections in DRAW UG to avoid interferences
- Update 3rdparty products up to current state
- Redesign of pages
- Building OpenCL ICD Loader was documented for Linux platform
- Lists reformatted, documentation manual updated to better describe use of lists.
- Updating picture of structure of installed OCCT
- Updating description of Automake procedure
- Updating description of  CMake building procedure

14 files changed:
dox/dev_guides/building/3rdparty/3rdparty_linux.md
dox/dev_guides/building/3rdparty/3rdparty_osx.md
dox/dev_guides/building/3rdparty/3rdparty_windows.md
dox/dev_guides/building/automake.md
dox/dev_guides/building/cmake/cmake.md
dox/dev_guides/building/cmake/images/cmake_image001.png
dox/dev_guides/building/code_blocks.md
dox/dev_guides/building/msvc.md
dox/dev_guides/building/xcode.md
dox/dev_guides/documentation/documentation.md
dox/overview/Overview.md
dox/overview/images/overview_3rdparty.png
dox/overview/images/overview_installation.png
dox/user_guides/draw_test_harness.md

index 6cab2db..eef98ae 100644 (file)
- Building 3rd-party libraries on Linux {#dev_guides__building_3rdparty_linux}
-============================================
+\feff Building 3rd-party libraries on Linux {#dev_guides__building_3rdparty_linux}
+=========
+
 @tableofcontents 
 
 @section dev_guides__building_3rdparty_linux_1 Introduction
 
-  This document presents additional guidelines for building third-party 
-  products used by Open CASCADE Technology and samples on Linux platform. 
+This document presents additional guidelines for building third-party 
+products used by Open CASCADE Technology and samples on Linux platform. 
 
-  The links for downloading the third-party products are available on the web site 
-  of OPEN CASCADE SAS at 
-  http://www.opencascade.org/getocc/require/. 
+The links for downloading the third-party products are available on the web site 
+of OPEN CASCADE SAS at 
+http://www.opencascade.org/getocc/require/. 
 
-  There are two types of third-party products, which are  necessary to build OCCT: 
+There are two types of third-party products, which are  necessary to build OCCT: 
   
-  * Mandatory  products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 
-  * Optional  products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 
+* Mandatory  products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11
+* Optional  products: TBB 3.x - 4.x, gl2ps 1.3.5 - 1.3.8, FreeImage 3.14.1 - 3.15.4
 
 @section dev_guides__building_3rdparty_linux_2 Building Mandatory Third-party Products
 
-@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk 8.5 
+@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk 
 
-  Tcl/Tk is required for DRAW test harness. Version 8.5 or 8.6 can be used with OCCT. 
+Tcl/Tk is required for DRAW test harness. 
 
-@subsubsection dev_guides__building_3rdparty_linux_2_1_1 Installation from binaries
+@subsubsection dev_guides__building_3rdparty_linux_2_1_1 Installation from binaries:
 
-  It is possible to download ready-to-install binaries from 
-  http://www.activestate.com/activetcl/downloads
+It is possible to download ready-to-install binaries from 
+http://www.activestate.com/activetcl/downloads
 
-  * 1. Download the binaries archive and unpack them to some  TCL_SRC_DIR. 
-  * 2. Enter the directory TCL_SRC_DIR.
+1. Download the binaries archive and unpack them to some  TCL_SRC_DIR. 
+2. Enter the directory TCL_SRC_DIR.
 
-  @verbatim
-    cd TCL_SRC_DIR
-  @endverbatim
+       cd TCL_SRC_DIR
 
-  * 3. Run the install command 
+3. Run the install command 
 
-  @verbatim
-    install.sh
-  @endverbatim
+       install.sh
     
-  and follow instructions. 
+   and follow instructions. 
 
-@subsubsection dev_guides__building_3rdparty_linux_2_1_2 Installation from sources: Tcl 8.5
+@subsubsection dev_guides__building_3rdparty_linux_2_1_2 Installation from sources: Tcl
   
-  Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
+Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
   
-  * 1. Enter the unix sub-directory of the directory where the source  files of Tcl are located (TCL_SRC_DIR). 
+1. Enter the unix sub-directory of the directory where the source  files of Tcl are located (TCL_SRC_DIR). 
 
-  @verbatim
-    cd TCL_SRC_DIR/unix   
-  @endverbatim
+       cd TCL_SRC_DIR/unix   
 
-  * 2. Run the configure command
+2. Run the configure command
 
-  @verbatim
-    configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
-  @endverbatim
+       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
 
-  For a 64 bit platform also add --enable-64bit option to the  command line. 
+   For a 64 bit platform also add --enable-64bit option to the  command line. 
   
-  * 3. If the configure command has finished successfully, start  the building process 
+3. If the configure command has finished successfully, start  the building process 
   
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. If building is finished successfully, start the installation of Tcl. 
-  All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR 
+4. If building is finished successfully, start the installation of Tcl. 
+   All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
-@subsubsection dev_guides__building_3rdparty_linux_2_1_3 Installation from sources: Tk 8.5
+@subsubsection dev_guides__building_3rdparty_linux_2_1_3 Installation from sources: Tk
   
-  Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
+Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
   
-  * 1. Enter the unix sub-directory of the directory where the source  files of Tk are located (TK_SRC_DIR). 
+1. Enter the unix sub-directory of the directory where the source  files of Tk are located (TK_SRC_DIR). 
 
-  @verbatim
-    cd TK_SRC_DIR/unix   
-  @endverbatim
+       cd TK_SRC_DIR/unix   
 
-  * 2. Run the configure command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
+2. Run the configure command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
 
-  @verbatim
-    configure --enable-gcc  --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR  --prefix=TK_INSTALL_DIR   
-  @endverbatim
+       configure --enable-gcc  --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR  --prefix=TK_INSTALL_DIR   
 
-  where TCL_LIB_DIR is TCL_INSTALL_DIR/lib 
+   where TCL_LIB_DIR is TCL_INSTALL_DIR/lib 
 
-  For a 64 bit platform also add --enable-64bit option to the  command line. 
+   For a 64 bit platform also add --enable-64bit option to the  command line. 
 
-  * 3. If the configure command has finished successfully, start  the building process 
+3. If the configure command has finished successfully, start  the building process 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. If building has finished successfully, start the installation of Tk. 
-       All binary and service files of the product will be copied 
-       to the directory defined by TK_INSTALL_DIR (usually  TK_INSTALL_DIR is TCL_INSTALL_DIR) 
+4. If building has finished successfully, start the installation of Tk. 
+   All binary and service files of the product will be copied 
+   to the directory defined by TK_INSTALL_DIR (usually  TK_INSTALL_DIR is TCL_INSTALL_DIR) 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
-@subsection dev_guides__building_3rdparty_linux_2_2 FreeType 2.4.10
+@subsection dev_guides__building_3rdparty_linux_2_2 FreeType
 
-  FreeType is required for display of text in 3D viewer. 
-  Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. 
+FreeType is required for display of text in 3D viewer. 
+Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. 
   
-  * 1. Enter the directory where the source files of FreeType  are located (FREETYPE_SRC_DIR). 
+1. Enter the directory where the source files of FreeType  are located (FREETYPE_SRC_DIR). 
 
-  @verbatim
-    cd FREETYPE_SRC_DIR   
-  @endverbatim
+       cd FREETYPE_SRC_DIR   
 
-  * 2. Run the configure command 
+2. Run the configure command 
   
-  @verbatim
-    configure  --prefix=FREETYPE_INSTALL_DIR   
-  @endverbatim
+       configure  --prefix=FREETYPE_INSTALL_DIR   
 
-  For a 64 bit platform also add CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC' option to the command line. 
+   For a 64 bit platform also add CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC' option to the command line. 
     
-  * 3. If the configure command has finished successfully, start  the building process 
+3. If the configure command has finished successfully, start  the building process 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. If building has finished successfully, start the installation of FreeType. 
-       All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR 
+4. If building has finished successfully, start the installation of FreeType. 
+   All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR 
     
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
 @section dev_guides__building_3rdparty_linux_3 Building Optional Third-party Products
     
-@subsection dev_guides__building_3rdparty_linux_3_1 TBB 3.x or 4.x
+@subsection dev_guides__building_3rdparty_linux_3_1 TBB
 
-  This third-party product is  installed with binaries from the archive that can be downloaded from http://threadingbuildingblocks.org. 
-  Go to \"Downloads page\", find the  release version you need (e.g. tbb30_018oss) and pick the archive for Linux  platform. 
-  To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_lin.tgz*).
+This third-party product is  installed with binaries from the archive that can be downloaded from http://threadingbuildingblocks.org. 
+Go to \"Downloads page\", find the  release version you need and pick the archive for Linux  platform. 
+To install, unpack the downloaded archive of TBB product.
 
-@subsection dev_guides__building_3rdparty_linux_3_2 gl2ps 1.3.5
+@subsection dev_guides__building_3rdparty_linux_3_2 gl2ps
 
-  Download the necessary archive from http://geuz.org/gl2ps/ and unpack it.
+Download the necessary archive from http://geuz.org/gl2ps/ and unpack it.
   
-  * 1. Install or build cmake product from source file. 
-  * 2. Start cmake in GUI mode with the directory where the source files of gl2ps are located:
-  @verbatim
-    ccmake GL2PS_SRC_DIR   
-  @endverbatim
-     * 2.1. Press [c] to make the  initial configuration 
-     * 2.2. Define the necessary options  CMAKE_INSTALL_PREFIX 
-     * 2.3. Press [c] to make the final  configuration 
-     * 2.4. Press [g] to generate  Makefile and exit 
+1. Install or build cmake product from source file. 
+2. Start cmake in GUI mode with the directory where the source files of gl2ps are located:
+
+       ccmake GL2PS_SRC_DIR   
+
+   a. Press [c] to make the  initial configuration 
+   b. Define the necessary options  CMAKE_INSTALL_PREFIX 
+   c. Press [c] to make the final  configuration 
+   d. Press [g] to generate  Makefile and exit 
 
-  or just run the following command: 
+   or just run the following command: 
 
-  @verbatim
-    cmake  –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release   
-  @endverbatim
+       cmake  –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release   
 
-  * 3. Start building of gl2ps 
+3. Start building of gl2ps 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. Start the installation of gl2ps. Binaries will be  installed according to the CMAKE_INSTALL_PREFIX option 
+4. Start the installation of gl2ps. Binaries will be  installed according to the CMAKE_INSTALL_PREFIX option 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
-@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage 3.14.1
+@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage
 
-  Download the necessary archive from http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
-  and unpack it. The directory with unpacked sources is  further referred to as FREEIMAGE_SRC_DIR. 
+Download the necessary archive from http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
+and unpack it. The directory with unpacked sources is  further referred to as FREEIMAGE_SRC_DIR. 
   
-  * 1. Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: 
+1. Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: 
    In line 60 insert the following: 
 
-  @verbatim
-    #include string.h   
-  @endverbatim
+       #include string.h   
 
-  * 2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). 
+2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). 
   
-  @verbatim
-    cd FREEIMAGE_SRC_DIR   
-  @endverbatim
+       cd FREEIMAGE_SRC_DIR   
 
-  * 3. Run the building process 
+3. Run the building process 
   
-  @verbatim
-    make   
-  @endverbatim
-
-  * 4. Run the installation process 
-     * 4.1. If you have permissions to write to /usr/include and /usr/lib directories then run the following command: 
-  @verbatim
-    make install   
-  @endverbatim
-     * 4.2. If you don’t have permissions to write to /usr/include and 
+       make   
+
+4. Run the installation process 
+
+   a. If you have permissions to write to /usr/include and /usr/lib directories then run the following command: 
+
+          make install   
+   b. If you don’t have permissions to write to /usr/include and 
        /usr/lib directories then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.gnu: 
   
-  Change lines 7-9 from:
+      Change lines 7-9 from:
   
-  @verbatim
-    DESTDIR ?= /   
-    INCDIR  ?= $(DESTDIR)/usr/include   
-    INSTALLDIR  ?= $(DESTDIR)/usr/lib   
-  @endverbatim
-
-  to: 
-
-  @verbatim
-    DESTDIR  ?= $(DESTDIR)   
-    INCDIR  ?= $(DESTDIR)/include   
-    INSTALLDIR  ?= $(DESTDIR)/lib   
-  @endverbatim
-
-  Change lines 65-67 from: 
-
-  @verbatim
-    install  -m 644 -o root -g root $(HEADER) $(INCDIR)   
-    install  -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)   
-    install  -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)   
-  @endverbatim
+          DESTDIR ?= /   
+          INCDIR  ?= $(DESTDIR)/usr/include   
+          INSTALLDIR  ?= $(DESTDIR)/usr/lib   
+
+      to: 
+
+          DESTDIR  ?= $(DESTDIR)   
+          INCDIR  ?= $(DESTDIR)/include   
+          INSTALLDIR  ?= $(DESTDIR)/lib   
+
+      Change lines 65-67 from: 
+
+          install  -m 644 -o root -g root $(HEADER) $(INCDIR)   
+          install  -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)   
+          install  -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)   
   
-  to:
+      to:
 
-  @verbatim
-    install  -m 755 $(HEADER) $(INCDIR)   
-    install  -m 755 $(STATICLIB) $(INSTALLDIR)   
-    install  -m 755 $(SHAREDLIB) $(INSTALLDIR)
-  @endverbatim
+          install  -m 755 $(HEADER) $(INCDIR)   
+          install  -m 755 $(STATICLIB) $(INSTALLDIR)   
+          install  -m 755 $(SHAREDLIB) $(INSTALLDIR)
 
-  Change line 70 from: 
+      Change line 70 from: 
 
-  @verbatim
-    ldconfig
-  @endverbatim
+          ldconfig
 
-  to:
+      to:
   
-  @verbatim
-    \#ldconfig   
-  @endverbatim
+          \#ldconfig   
     
-  Then run the installation process by the following command: 
+   Then run the installation process by the following command: 
 
-  @verbatim
-    make DESTDIR=FREEIMAGE_INSTALL_DIR  install   
-  @endverbatim
+        make DESTDIR=FREEIMAGE_INSTALL_DIR  install   
 
-  * 5. Clean the temporary files
+5. Clean the temporary files
   
-  @verbatim
-    make clean   
-  @endverbatim
+        make clean   
+
+@subsection dev_guides__building_3rdparty_linux_3_4 OpenCL ICD Loader
+
+If you have OpenCL SDK (one provided by Apple, AMD, NVIDIA, Intel, or other 
+vendor) installed on your system, you should find OpenCL headers and
+libraries required for building OCCT inside that SDK.
+
+Alternatively, you can use OpenCL ICD (Installable Client Driver) Loader 
+provided by Khronos group. The following describes steps used to build OpenCL 
+ICD Loader version 1.2.11.0.
+
+1. Download OpenCL ICD Loader sources archive and OpenCL header files from 
+   Khronos OpenCL Registry
+   http://www.khronos.org/registry/cl/
+
+2. Unpack the archive and put headers in **inc/CL** sub-folder
+
+3. Print **make** in root of unpacked archive to compile OpenCL libraries.
+
+4. Create installation folder for OpenCL IDL Loader package and put there:
+
+    1. OpenCL header files in **include/CL** subfolder
+
+    2. **libOpenCL.so** (generated in **bin** subfolder of source package) in **lib** subfolder
 
 @section dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
 
 @subsection dev_guides__building_3rdparty_linux_4_1 Debian-based distributives
 
-  All 3rd-party products required for building of  OCCT could be installed 
-  from official repositories. You may install them from  console using apt-get utility: 
+All 3rd-party products required for building of  OCCT could be installed 
+from official repositories. You may install them from  console using apt-get utility: 
 
-  @verbatim
     sudo apt-get install \   
     tcllib tklib tcl-dev tk-dev \   
     libfreetype-dev \   
     libfreeimage-dev \   
     libtbb-dev \   
     libgl2ps-dev   
-  @endverbatim
   
-  To launch WOK-prebuilt binaries you need install C shell and  32-bit libraries on x86_64 distributives: 
+To launch WOK-prebuilt binaries you need install C shell and  32-bit libraries on x86_64 distributives: 
   
-  @verbatim
     sudo apt-get install \   
     csh \   
     libstdc++5:i386 libxt6:i386   
-  @endverbatim
 
-  Any compliant C++ compiler is required for building anyway: 
+Any compliant C++ compiler is required for building anyway: 
   
-  @verbatim
     sudo apt-get install \   
-    g++ \   
-  @endverbatim
-
-@see http://www.opencascade.org for details
+    g++
index eaea1a1..88bd211 100644 (file)
- Building 3rd-party libraries on MacOS X {#dev_guides__building_3rdparty_osx}
+\feff Building 3rd-party libraries on MacOS X {#dev_guides__building_3rdparty_osx}
 ==============================================
 @tableofcontents 
 
 @section dev_guides__building_3rdparty_osx_1 Introduction
 
-  This document presents additional guidelines for building third-party products 
-  used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4  and later). 
+This document presents additional guidelines for building third-party products 
+used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4  and later). 
 
-  The links for downloading the third-party products are available 
-  on the web site of OPEN CASCADE SAS at 
-  http://www.opencascade.org/getocc/require/</a>. 
+The links for downloading the third-party products are available 
+on the web site of OPEN CASCADE SAS at 
+http://www.opencascade.org/getocc/require/</a>. 
 
-  There are two types of third-party products, which are  necessary to build OCCT: 
+There are two types of third-party products, which are  necessary to build OCCT: 
   
-  * Mandatory  products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 
-  * Optional  products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 or 3.15.x 
+* Mandatory  products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 
+* Optional  products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 or 3.15.x 
   
 @section dev_guides__building_3rdparty_osx_2 Building Mandatory Third-party Products
 
 @subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5 
 
-  Tcl/Tk is required for DRAW test harness. Version 8.5 or  8.6 can be used with OCCT. 
+Tcl/Tk is required for DRAW test harness. Version 8.5 or  8.6 can be used with OCCT. 
 
 @subsubsection dev_guides__building_3rdparty_osx_2_1_1 Installation from binaries
 
-  It is possible to download ready-to-install binaries from 
-  http://www.activestate.com/activetcl/downloads   
+It is possible to download ready-to-install binaries from 
+http://www.activestate.com/activetcl/downloads   
 
-  * 1. Download the disk image to some TCL_DOWNLOAD_DIR. 
-  * 2. Open in Finder the directory TCL_DOWNLOAD_DIR. 
-  * 3. Open disk image and follow instructions. 
+1. Download the disk image to some TCL_DOWNLOAD_DIR. 
+2. Open in Finder the directory TCL_DOWNLOAD_DIR. 
+3. Open disk image and follow instructions. 
 
 @subsubsection dev_guides__building_3rdparty_osx_2_1_2 Installation from sources: Tcl 8.5
 
-  Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
+Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
 
-  * 1. Enter the macosx sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). 
+1. Enter the macosx sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). 
 
-  @verbatim
-    cd TCL_SRC_DIR/macosx   
-  @endverbatim
+       cd TCL_SRC_DIR/macosx   
 
-  * 2. Run the configure command 
+2. Run the configure command 
 
-  @verbatim
-    configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
-  @endverbatim
+       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
 
-  For a 64 bit platform also add --enable-64bit option to the command line. 
+   For a 64 bit platform also add --enable-64bit option to the command line. 
 
-  * 3. If the configure command has finished successfully, start the building process 
+3. If the configure command has finished successfully, start the building process 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
   
-  * 4. If building is finished successfully, start the installation of Tcl. 
-  All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR 
+4. If building is finished successfully, start the installation of Tcl. 
+   All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
 @subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5
 
-  Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
+Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. 
 
-  * 1. Enter the macosx sub-directory of the directory where the  source files of Tk are located (TK_SRC_DIR). 
+1. Enter the macosx sub-directory of the directory where the  source files of Tk are located (TK_SRC_DIR). 
 
-  @verbatim
-    cd TK_SRC_DIR/macosx   
-  @endverbatim
+       cd TK_SRC_DIR/macosx   
 
-  * 2. Run the configure command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
+2. Run the configure command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
 
-  @verbatim
-    configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR   
-  @endverbatim
+       configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR   
 
-  where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the  command line. 
+   where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the  command line. 
 
-  * 3. If the configure command has finished successfully, start  the building process 
+3. If the configure command has finished successfully, start  the building process 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. If building has finished successfully, start the  installation of Tk. 
-  All binary and service files of the product will be copied to the directory 
-  defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR  is TCL_INSTALL_DIR) 
+4. If building has finished successfully, start the  installation of Tk. 
+   All binary and service files of the product will be copied to the directory 
+   defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR  is TCL_INSTALL_DIR) 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
 @subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10
   
-  FreeType is required for display of text in 3D viewer. 
+FreeType is required for display of text in 3D viewer. 
 
-  Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. 
+Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. 
 
-  * 1. Enter the directory where the source files of FreeType  are located (FREETYPE_SRC_DIR). 
+1. Enter the directory where the source files of FreeType  are located (FREETYPE_SRC_DIR). 
 
-  @verbatim
-    cd FREETYPE_SRC_DIR   
-  @endverbatim
+       cd FREETYPE_SRC_DIR   
 
-  * 2. Run the configure command 
+2. Run the configure command 
   
-  @verbatim
-    configure  --prefix=FREETYPE_INSTALL_DIR   
-  @endverbatim
+       configure  --prefix=FREETYPE_INSTALL_DIR   
 
-  For a 64 bit platform also add CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC' option to the command line. 
+   For a 64 bit platform also add CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC' option to the command line. 
 
-  * 3. If the configure command has finished successfully, start  the building process 
+3. If the configure command has finished successfully, start  the building process 
 
-  @verbatim
-    make   
-  @endverbatim
+       make   
 
-  * 4. If building has finished successfully, start the installation of FreeType. 
-  All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR 
+4. If building has finished successfully, start the installation of FreeType. 
+   All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR 
 
-  @verbatim
-    make install   
-  @endverbatim
+       make install   
 
 @section dev_guides__building_3rdparty_osx_3 Building Optional Third-party Products
     
 @subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
 
-  This third-party product is installed with binaries from the archive 
-  that can be downloaded from http://threadingbuildingblocks.org/. 
-  Go to \"Downloads / Commercial  Aligned Release\", find the release version you need (e.g. tbb30_018oss) 
-  and  pick the archive for Mac OS X platform. 
-  To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
+This third-party product is installed with binaries from the archive 
+that can be downloaded from http://threadingbuildingblocks.org/. 
+Go to \"Downloads / Commercial  Aligned Release\", find the release version you need (e.g. tbb30_018oss) 
+and  pick the archive for Mac OS X platform. 
+To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
 
 @subsection dev_guides__building_3rdparty_osx_3_2 gl2ps 1.3.5
 
-  Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. 
+Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. 
 
-  * 1. Install or build cmake product from source file. 
+1. Install or build cmake product from source file. 
 
-  * 2. Start cmake in GUI mode with the directory where the source  files of fl2ps are located 
-  @verbatim
-      ccmake GL2PS_SRC_DIR   
-  @endverbatim
-     * 2.1. Press [c] to make the  initial configuration 
-     * 2.2. Define the necessary options  CMAKE_INSTALL_PREFIX 
-     * 2.3. Press [c] to make the final  configuration 
-     * 2.4. Press [g] to generate  Makefile and exit 
+2. Start cmake in GUI mode with the directory where the source  files of fl2ps are located 
 
-  or just run the following command: 
+       ccmake GL2PS_SRC_DIR   
 
-  @verbatim
-    cmake  –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release   
-  @endverbatim
+   1. Press [c] to make the  initial configuration 
+   2. Define the necessary options  CMAKE_INSTALL_PREFIX 
+   3. Press [c] to make the final  configuration 
+   4. Press [g] to generate  Makefile and exit 
 
-  * 3. Start building of gl2ps 
+   or just run the following command: 
 
-  @verbatim
-      make   
-  @endverbatim
+       cmake  –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release   
 
-  * 4. Start the installation of gl2ps. Binaries will be  installed according to the CMAKE_INSTALL_PREFIX option 
+3. Start building of gl2ps 
 
-  @verbatim
-      make install   
-  @endverbatim
+       make   
+
+4. Start the installation of gl2ps. Binaries will be  installed according to the CMAKE_INSTALL_PREFIX option 
+
+       make install   
 
 @subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
 
-  Download the necessary archive from 
-  http://sourceforge.net/projects/freeimage/files/Source%20Distribution/   
-  and unpack it. The directory with unpacked sources is  further referred to as FREEIMAGE_SRC_DIR.  
+Download the necessary archive from 
+http://sourceforge.net/projects/freeimage/files/Source%20Distribution/   
+and unpack it. The directory with unpacked sources is  further referred to as FREEIMAGE_SRC_DIR.  
 
-  Note that for building FreeImage on Mac OS X 10.7 you should replace Makefile.osx 
-  in FREEIMAGE_SRC_DIR by corrected one which you  can find in attachment to issue #22811 in OCCT Mantis bug tracker 
-  (http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere. 
+Note that for building FreeImage on Mac OS X 10.7 you should replace Makefile.osx 
+in FREEIMAGE_SRC_DIR by corrected one which you  can find in attachment to issue #22811 in OCCT Mantis bug tracker 
+(http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere. 
 
-  * 1.If you are building FreeImage 3.15.x you can skip this  step. 
-  Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: 
+1. If you are building FreeImage 3.15.x you can skip this  step. 
+   Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: 
   
-  In line 60 insert the following: 
+   In line 60 insert the following: 
 
-  @verbatim
-    #include string.h 
-  @endverbatim
+       #include string.h 
 
-  Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp: 
+   Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp: 
   
-  In line 320 replace: 
-  @verbatim
-    SwapShort(value); 
-  @endverbatim
+   In line 320 replace: 
+
+       SwapShort(value); 
+
+   with: 
+
+       SwapShort(&value); 
+
+2. Enter the directory where the source files of FreeImage  are located (FREEIMAGE_SRC_DIR). 
 
-  with: 
-  @verbatim
-    SwapShort(&value); 
-  @endverbatim
+       cd FREEIMAGE_SRC_DIR 
 
-  * 2.Enter the directory where the source files of FreeImage  are located (FREEIMAGE_SRC_DIR). 
+3. Run the building process 
 
-  @verbatim
-    cd FREEIMAGE_SRC_DIR 
-  @endverbatim
+       make   
 
-  * 3.Run the building process 
+4. Run the installation process 
+   
+   1. If you have permissions to write to /usr/local/include  and /usr/local/lib directories then run the following command: 
 
-  @verbatim
-    make   
-  @endverbatim
+          make install   
 
-  * 4.Run the installation process 
-     * 4.1. If you have permissions to write to /usr/local/include  and /usr/local/lib directories then run the following command: 
-  @verbatim
-    make install   
-  @endverbatim
-     * 4.2. If you don’t have permissions to write to /usr/include and /usr/lib directories 
-            then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx: 
+   2. If you do not have permissions to write to /usr/include and /usr/lib directories 
+      then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx: 
 
-   Change line 49 from:     
+      Change line 49 from:     
 
-  @verbatim
-    PREFIX ?= /usr/local
-  @endverbatim
+          PREFIX ?= /usr/local
 
-   to:
+      to:
    
-  @verbatim
-    PREFIX  ?= $(PREFIX) 
-  @endverbatim
-
-  Change lines 65-69 from: 
-
-  @verbatim
-    install -d -m 755 -o  root -g wheel $(INCDIR) $(INSTALLDIR) 
-    install  -m 644 -o root -g wheel $(HEADER) $(INCDIR) 
-    install  -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR) 
-    ranlib  -sf $(INSTALLDIR)/$(STATICLIB) 
-    ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) 
-  @endverbatim
+          PREFIX  ?= $(PREFIX) 
+
+      Change lines 65-69 from: 
+
+          install -d -m 755 -o  root -g wheel $(INCDIR) $(INSTALLDIR) 
+          install  -m 644 -o root -g wheel $(HEADER) $(INCDIR) 
+          install  -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR) 
+          ranlib  -sf $(INSTALLDIR)/$(STATICLIB) 
+          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) 
     
-   to: 
-
-  @verbatim
-    install  -d $(INCDIR) $(INSTALLDIR) 
-    install  -m 755 $(HEADER) $(INCDIR) 
-    install  -m 755 $(STATICLIB) $(INSTALLDIR) 
-    install  -m 755 $(SHAREDLIB) $(INSTALLDIR) 
-    ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)  
-    ln  -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
-  @endverbatim
-
-  Then run the installation process by the following command: 
+      to: 
+
+          install  -d $(INCDIR) $(INSTALLDIR) 
+          install  -m 755 $(HEADER) $(INCDIR) 
+          install  -m 755 $(STATICLIB) $(INSTALLDIR) 
+          install  -m 755 $(SHAREDLIB) $(INSTALLDIR) 
+          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)  
+          ln  -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
+
+      Then run the installation process by the following command: 
   
-  @verbatim
-    make PREFIX=FREEIMAGE_INSTALL_DIR  install 
-  @endverbatim
+          make PREFIX=FREEIMAGE_INSTALL_DIR  install 
   
-  * 5.Clean the temporary files 
+5. Clean the temporary files 
   
-  @verbatim
-    make clean 
-  @endverbatim
-
-@see http://www.opencascade.org for details
+       make clean 
index 914835c..6a68c2a 100644 (file)
- Building 3rd-party libraries on Windows {#dev_guides__building_3rdparty_windows}
+\feff Building 3rd-party libraries on Windows {#dev_guides__building_3rdparty_windows}
 ==============================================
 @tableofcontents
 
 @section dev_guides__building_3rdparty_win_1 Introduction
 
-  This document presents guidelines for building third-party products 
-  used by Open CASCADE Technology (OCCT) and samples on Windows platform. 
+This document presents guidelines for building third-party products 
+used by Open CASCADE Technology (OCCT) and samples on Windows platform. 
 
-  In order to understand these guidelines, you need to be  familiar with MS Visual Studio / Visual C++. 
+This guide assumfamiliar with MS Visual Studio / Visual C++. 
 
-  You need to use the same version of MS Visual Studio for building 
-  all third-party products and OCCT itself, in order to receive a consistent set of run-time binaries. 
+You need to use the same version of MS Visual Studio for building 
+all third-party products and OCCT itself, in order to receive a consistent set of run-time binaries. 
 
-  The links for downloading the third-party products are available on the web site 
-  of OPEN CASCADE SAS at http://www.opencascade.org/getocc/require/. 
-  There are two types of third-party products which are used  by OCCT: 
+The links for downloading the third-party products are available on the web site 
+of OPEN CASCADE SAS at http://www.opencascade.org/getocc/require/. 
+There are two types of third-party products which are used  by OCCT: 
 
-  * Mandatory  products: Tcl 8.5, Tk 8.5 and  FreeType 2.4.10 
-  * Optional  products: TBB 3.x or 4.x, gl2ps * 1.3.5, FreeImage 3.14.1 
+* Mandatory  products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11
+* Optional  products: TBB 3.x - 4.x, gl2ps 1.3.5 - 1.3.8, FreeImage 3.14.1 -3.15.4
 
-  It is recommended to create a separate new folder on your workstation where 
-  you will unpack the downloaded archives of the third-party  products, 
-  and where you will build these products (for example, *c:\\occ3rdparty*). 
+It is recommended to create a separate new folder on your workstation where 
+you will unpack the downloaded archives of the third-party  products, 
+and where you will build these products (for example, *c:\\occ3rdparty*). 
 
-  Further in this document, this folder is referred to as *3rdparty*. 
+Further in this document, this folder is referred to as *3rdparty*. 
 
 @section dev_guides__building_3rdparty_win_2 Building Mandatory Third-party Products
 
-@subsection dev_guides__building_3rdparty_win_2_1 Tcl/Tk 8.5
+@subsection dev_guides__building_3rdparty_win_2_1 Tcl/Tk
 
-  Tcl/Tk is required for DRAW test harness. Version 8.5 or  * 8.6 can be used for OCCT. 
-  We recommend installing a binary distribution that could be downloaded from 
-  http://www.activestate.com/activetcl.
+Tcl/Tk is required for DRAW test harness.We recommend installing a binary distribution that could 
+be downloaded from http://www.activestate.com/activetcl.
 
-  Go to \"Free Downloads\" and pick the version of the Install Wizard 
-  that matches your target platform – 32 bit (x86) or 64 bit (x64). 
-  The version of Visual Studio you use is irrelevant when choosing the Install Wizard. 
+Go to \"Free Downloads\" and pick the version of the Install Wizard 
+that matches your target platform – 32 bit (x86) or 64 bit (x64). 
+The version of Visual Studio you use is irrelevant when choosing the Install Wizard. 
 
-  Run the Install Wizard you  downloaded, and install Tcl/Tk products 
-  to 3rdparty\\tcltk-win32 folder (for 32-bit platform) or 
-  to 3rdparty\\tcltk-win64 folder (for 64-bit platform). 
+Run the Install Wizard you  downloaded, and install Tcl/Tk products 
 
-  Further in this document,  this folder is referred to as *tcltk*. 
+* to 3rdparty\\tcltk-win32 folder (for 32-bit platform) or 
+* to 3rdparty\\tcltk-win64 folder (for 64-bit platform). 
 
-@subsection dev_guides__building_3rdparty_win_2_2 FreeType 2.4.10
+Further in this document,  this folder is referred to as *tcltk*. 
 
-  FreeType is required for display of text in 3D viewer. 
-  You can download its sources from http://sourceforge.net/projects/freetype/files/   
+@subsection dev_guides__building_3rdparty_win_2_2 FreeType
 
-  The building process is the following:
+FreeType is required for display of text in 3D viewer. 
+You can download its sources from http://sourceforge.net/projects/freetype/files/   
 
-    * 1. Unpack the  downloaded archive of FreeType 2.4.10 product into the *3rdparty*  folder. 
+The building process is the following:
 
-      As a result, you should have a folder named *3rdparty\\freetype-2.4.10*.  Further in this document, this folder is referred to as *freetype*. 
+1. Unpack the  downloaded archive of FreeType product into the *3rdparty*  folder. 
 
-    * 2. Open the  solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln*  in Visual Studio, where vc20xx stands for the version of Visual Studio you are  using. 
-    * 3. Select a  configuration to build: either Debug or Release. 
-    * 4. Build  the *freetype* project. 
+   As a result, you should have a folder named for example, *3rdparty\\freetype-2.4.10*.  Further in this document, this folder is referred to as *freetype*. 
 
-      As a result, you will get a  freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx*  folder. 
+2. Open the  solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln*  in Visual Studio, where vc20xx stands for the version of Visual Studio you are  using. 
+3. Select a  configuration to build: either Debug or Release. 
+4. Build  the *freetype* project. 
 
-    * 5. If you are  building for 64 bit platform, start the Configuration Manager (Build - Configuration Manager), 
-    and add *x64* platform to the solution configuration by copying the  settings from Win32 platform: 
+   As a result, you will get a  freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx*  folder. 
 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image001.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image001.png 
+5. If you are  building for 64 bit platform, start the Configuration Manager (Build - Configuration Manager), 
+   and add *x64* platform to the solution configuration by copying the  settings from Win32 platform: 
 
-  Update the value of the Output File for  x64 configuration: 
+   @image html /dev_guides/building/3rdparty/images/3rdparty_image001.png 
+   @image latex /dev_guides/building/3rdparty/images/3rdparty_image001.png 
 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image003.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image003.png 
+   Update the value of the Output File for  x64 configuration: 
 
-  Build the *freetype* project. 
+   @image html /dev_guides/building/3rdparty/images/3rdparty_image003.png 
+   @image latex /dev_guides/building/3rdparty/images/3rdparty_image003.png 
+
+   Build the *freetype* project. 
 
    As a result, you should obtain a 64  bit import library (.lib) file in the *freetype\\x64\\vc20xx*  folder. 
-   If you want to build freetype as an import library (.lib) and a dynamic library (.dll) you should follow items 6, 7 and 8 of this list. 
 
-  * 6.  Open Project-Properties-Configuration  Properties-General and change option 'Configuration Type' to \"*Dynamic  Library (.dll)*\". 
-  * 7.  Edit file *freetype\\include\\freetype\\config\\ftoption.h*:  
+   If you want to build freetype as a dynamic library (.dll) follow items 6, 7 and 8 of this list. 
+
+6. Open Project-Properties-Configuration  Properties-General and change option 'Configuration Type' to \"*Dynamic  Library (.dll)*\". 
+7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*:  
   
-    in line 255, uncomment the definition of macro FT_EXPORT and change it as follows: 
+   in line 255, uncomment the definition of macro FT_EXPORT and change it as follows: 
 
-  @verbatim
-    #define FT_EXPORT(x)   __declspec(dllexport) x 
-  @endverbatim
+       #define FT_EXPORT(x)   __declspec(dllexport) x 
 
-  * 8. Build  the *freetype* project. 
+8. Build  the *freetype* project. 
 
-    As a result, you should obtain import  library (.lib) and dynamic library (.dll) 
-    files in *freetype  \\objs\\release or \\objs\\debug folders.* 
-    If you are building for a 64 bit  platform, follow item 5 of this list. 
+   As a result, you should obtain import  library (.lib) and dynamic library (.dll) 
+   files in *freetype  \\objs\\release or \\objs\\debug folders.* 
+   If you are building for a 64 bit  platform, follow item 5 of this list. 
 
-    In order to facilitate use of the  FreeType libraries in OCCT with minimal adjustment of its build procedures, 
-    it is recommended to copy the include files and libraries of FreeType to a separate folder, named according to the pattern: 
-    *freetype-compiler-bitness-building  mode*  
-    where 
+   In order to facilitate use of the  FreeType libraries in OCCT with minimal adjustment of its build procedures, 
+   it is recommended to copy the include files and libraries of FreeType to a separate folder, named according to the pattern: 
+   *freetype-compiler-bitness-building  mode*  
+   where 
     
-    * compiler  is vc8 or vc9 or vc10 or vc11; 
-    * bitness  is 32 or 64; 
-    * building  mode is opt (for Release) or deb (for Debug) 
+   * compiler  is vc8 or vc9 or vc10 or vc11; 
+   * bitness  is 32 or 64; 
+   * building  mode is opt (for Release) or deb (for Debug) 
     
-    The include subfolder should be copied as is, while libraries should be renamed to 
-    *freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories 
-    *lib *and  *bin*, respectively. If Debug configuration is built, 
-    the Debug libraries should be put in subdirectories *libd* and *bind*. 
+   The include subfolder should be copied as is, while libraries should be renamed to 
+   *freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories 
+   *lib *and  *bin*, respectively. If Debug configuration is built, 
+   the Debug libraries should be put in subdirectories *libd* and *bind*. 
 
 @section dev_guides__building_3rdparty_win_3 Building Optional Third-party Products
 
-@subsection dev_guides__building_3rdparty_win_3_1 TBB 3.x or 4.x
+@subsection dev_guides__building_3rdparty_win_3_1 TBB
+
+This third-party product is  installed with binaries 
+from the archive that can be downloaded from http://threadingbuildingblocks.org/. 
+Go to \"Downloads page\", find the  release version you need  (e.g. tbb30_018oss) and pick the archive for Windows  platform. 
+Unpack the downloaded  archive of TBB product into the *3rdparty* folder. 
+Further in this document,  this folder is referred to as *tbb*. 
+
+@subsection dev_guides__building_3rdparty_win_3_2  gl2ps
+
+This third-party product should be built as a dynamically loadable library (dll file). 
+You can download its sources from  http://geuz.org/gl2ps/src/ 
+
+The building process is the following: 
+
+1. Unpack the downloaded  archive of gl2ps product (e.g. *gl2ps-1.3.5.tgz*) into the *3rdparty*  folder. 
 
-  This third-party product is  installed with binaries 
-  from the archive that can be downloaded from http://threadingbuildingblocks.org/. 
-  Go to \"Downloads page\", find the  release version you need (e.g. tbb30_018oss) and pick the archive for Windows  platform. 
-  Unpack the downloaded  archive of TBB product into the *3rdparty* folder. 
-  Further in this document,  this folder is referred to as *tbb*. 
+   As a result, you should  have a folder named for example, *3rdparty\\gl2ps-1.3.5-source*. 
 
-@subsection dev_guides__building_3rdparty_win_3_2  gl2ps * 1.3.5
+   Rename it according to the  rule: gl2ps-platform-compiler-building mode, where 
 
-  This third-party product should be built as a dynamically loadable library (dll file). 
-  You can download its sources from  http://geuz.org/gl2ps/src/ 
+   * platform is win32  or win64; 
+   * compiler is vc8 or  vc9 or vc10; 
+   * building mode - opt  (for release) or deb (for debug) 
 
-  The building process is the following: 
+   Further in this document,  this folder is referred to as *gl2ps*. 
 
-  * 1. Unpack the downloaded  archive of gl2ps * 1.3.5 product (*gl2ps-* 1.3.5.tgz*) into the *3rdparty*  folder. 
-    As a result, you should  have a folder named *3rdparty\\gl2ps-* 1.3.5-source*. 
-    Rename it according to the  rule: gl2ps-platform-compiler-building mode, where 
-    platform is win32  or win64; 
-    compiler is vc8 or  vc9 or vc10; 
-    building mode - opt  (for release) or deb (for debug) 
-    Further in this document,  this folder is referred to as *gl2ps*. 
+2. Download (from http://www.cmake.org/cmake/resources/software.html) 
+   and install the *CMake* build system.  
 
-  * 2. Download (from http://www.cmake.org/cmake/resources/software.html) 
-    and install the *CMake* build system.  
+3. Edit the file *gl2ps\\CMakeLists.txt*. 
 
-  * 3. Edit the file *gl2ps\\CMakeLists.txt*. 
    After line 113 in CMakeLists.txt: 
 
-  @verbatim
-    set_target_properties(shared PROPERTIES  COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\")
-  @endverbatim
+       set_target_properties(shared PROPERTIES  COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\")
     
    add the following line:   
     
-  @verbatim
-    add_definitions(-D_USE_MATH_DEFINES)  
-  @endverbatim
+       add_definitions(-D_USE_MATH_DEFINES)  
 
-  Attention: If cygwin was installed on  your computer make sure that there is no path 
-  to the latter in the PATH variable in order to avoid possible conflicts during  the configuration. 
+   Attention: If cygwin was installed on  your computer make sure that there is no path 
+   to the latter in the PATH variable in order to avoid possible conflicts during  the configuration. 
 
-  * 4. Launch CMake (cmake-gui.exe) using  the Program menu. 
-  In CMake: 
+4. Launch CMake (cmake-gui.exe) using  the Program menu. 
+
+   In CMake: 
   
-     * Define where the source code is. 
-       This path must point to *gl2ps*  folder. 
-     * Define where to build the  binaries. 
-       This path must point to the folder where generated gl2ps project binaries will be placed 
-       (for example, *gl2ps\\bin*). 
-       Further in this document, this folder is referred to as *gl2ps_bin*.
-     * Press the \"Configure\" button. 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image004.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png 
-     * Select the generator (the compiler  and the target platform - 32 or 64 bit) in the pop-up window. 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image005.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png 
-     * Then press the \"Finish\" button to  return to the main CMake window. 
-       Expand the ENABLE group and uncheck  ENABLE_PNG and ENABLE_ZLIB check boxes. 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image006.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image006.png 
-     * Expand the CMAKE group and define CMAKE_INSTALL_PREFIX 
-       (path where you want to install the build results, for example, *c:\\occ3rdparty\\gl2ps\-1.3.5*). 
-@image html /dev_guides/building/3rdparty/images/3rdparty_image007.png 
-@image latex /dev_guides/building/3rdparty/images/3rdparty_image007.png 
-     * Press the  \"Configure\" button again, and then the \"Generate\" button in order to generate 
+   * Define where the source code is. 
+     This path must point to *gl2ps*  folder. 
+
+   * Define where to build the  binaries. 
+     This path must point to the folder where generated gl2ps project binaries will be placed 
+     (for example, *gl2ps\\bin*). 
+     Further in this document, this folder is referred to as *gl2ps_bin*.
+
+   * Press the \"Configure\" button. 
+     @image html /dev_guides/building/3rdparty/images/3rdparty_image004.png 
+     @image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png 
+
+   * Select the generator (the compiler  and the target platform - 32 or 64 bit) in the pop-up window. 
+     @image html /dev_guides/building/3rdparty/images/3rdparty_image005.png 
+     @image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png 
+
+   * Then press the \"Finish\" button to  return to the main CMake window. 
+     Expand the ENABLE group and uncheck  ENABLE_PNG and ENABLE_ZLIB check boxes. 
+     @image html /dev_guides/building/3rdparty/images/3rdparty_image006.png 
+     @image latex /dev_guides/building/3rdparty/images/3rdparty_image006.png 
+
+   * Expand the CMAKE group and define CMAKE_INSTALL_PREFIX 
+     (path where you want to install the build results, for example, *c:\\occ3rdparty\\gl2ps-1.3.5*). 
+     @image html /dev_guides/building/3rdparty/images/3rdparty_image007.png 
+     @image latex /dev_guides/building/3rdparty/images/3rdparty_image007.png 
+
+   * Press the  \"Configure\" button again, and then the \"Generate\" button in order to generate 
        Visual Studio projects. After completion, close CMake application. 
 
-  * 5. Open the solution file *gl2ps_bin\\gl2ps.sln* in Visual Studio. 
-    * Select a  configuration to build 
-        * Choose \"*Release*\" if you are building Release binaries. 
-        * Choose \"*Debug*\" if you are building Debug binaries. 
-    * Select  a platform to build. 
-        * Choose \"*Win32*\" if you are building for a 32 bit  platform. 
-        * Choose \"*x64*\" if you are building for a 64 bit  platform. 
-    * Build the solution. 
-    * Build the *INSTALL* project. 
+5. Open the solution file *gl2ps_bin\\gl2ps.sln* in Visual Studio. 
+
+   * Select a  configuration to build 
+     * Choose \"*Release*\" if you are building Release binaries. 
+     * Choose \"*Debug*\" if you are building Debug binaries. 
+   * Select  a platform to build. 
+     * Choose \"*Win32*\" if you are building for a 32 bit  platform. 
+     * Choose \"*x64*\" if you are building for a 64 bit  platform. 
+   * Build the solution. 
+   * Build the *INSTALL* project. 
     
-    As a  result, you should have the installed gl2ps product in the *CMAKE_INSTALL_PREFIX*  path. 
+As a  result, you should have the installed gl2ps product in the *CMAKE_INSTALL_PREFIX*  path. 
 
-@subsection dev_guides__building_3rdparty_win_3_3 FreeImage 3.14.1
+@subsection dev_guides__building_3rdparty_win_3_3 FreeImage
 
-  This third-party product should be built as a dynamically loadable library (.dll file). 
-  You can download its sources from 
-  http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
+This third-party product should be built as a dynamically loadable library (.dll file). 
+You can download its sources from 
+http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
 
-  The building process is the following: 
+The building process is the following: 
 
-  * 1. Unpack the  downloaded archive of FreeImage 3.14.1 product (*FreeImage314* 1.zip*) into *3rdparty* folder. 
+1. Unpack the  downloaded archive of FreeImage product into *3rdparty* folder. 
+  
+   As a result,  you should have a folder named *3rdparty\\FreeImage*. 
   
-    As a result,  you should have a folder named *3rdparty\\FreeImage*. 
-    Rename it  according to the rule: freeimage-platform-compiler-building  mode, where 
-    platform  is win32 or win64; 
-    compiler  is vc8 or vc9 or vc10 or vc11; 
-    building  mode is opt (for release) or deb (for debug) 
-    Further in this  document, this folder is referred to as *freeimage*. 
-
-  * 2. Open the  solution file *freeimage\\FreeImage.*.sln* in Visual Studio  that corresponds to the version of Visual Studio you use. 
+   Rename it  according to the rule: freeimage-platform-compiler-building  mode, where 
+   
+   * platform  is win32 or win64; 
+   * compiler  is vc8 or vc9 or vc10 or vc11; 
+   * building  mode is opt (for release) or deb (for debug) 
+
+   Further in this  document, this folder is referred to as *freeimage*. 
+
+2. Open the  solution file *freeimage\\FreeImage.*.sln* in Visual Studio  that corresponds to the version of Visual Studio you use. 
   
-    Since the  version of Visual Studio you use is higher than VC++ 2008, apply conversion of the workspace. 
-    Such conversion should be suggested automatically by Visual  Studio. 
+   Since the  version of Visual Studio you use is higher than VC++ 2008, apply conversion of the workspace. 
+   Such conversion should be suggested automatically by Visual  Studio. 
     
-  * 3. Select a  configuration to build. 
-   Choose \" *Release* \"  if you are building Release binaries. 
-   Choose \" *Debug* \" if you are building  Debug binaries. 
+3. Select a  configuration to build. 
+
+   - Choose \" *Release* \"  if you are building Release binaries. 
+   - Choose \" *Debug* \" if you are building  Debug binaries. 
+
    *Note:* 
+
    If you want to  build a debug version of FreeImage binaries then you must rename 
    the following  files for projects FreeImage and FreeimagePlus:
 
-  Project-Properties-Configuration Properties-Linker-General-Output File
+   Project-Properties-Configuration Properties-Linker-General-Output File
 
-  @verbatim
-    from FreeImage*d*.dll  to FreeImage.dll 
-    from  FreeImagePlus*d*.dll to FreeImagePlus.dll 
-  @endverbatim
+       from FreeImage*d*.dll  to FreeImage.dll 
+       from  FreeImagePlus*d*.dll to FreeImagePlus.dll 
 
-  Project-Properties-Configuration Properties-Linker-Debugging-Generate Program Database File
+   Project-Properties-Configuration Properties-Linker-Debugging-Generate Program Database File
 
-  @verbatim
-    from FreeImage*d*.pdb  to FreeImage.pdb 
-    from  FreeImagePlus*d*.pdb to FreeImagePlus.pdb 
-  @endverbatim
+       from FreeImage*d*.pdb  to FreeImage.pdb 
+       from  FreeImagePlus*d*.pdb to FreeImagePlus.pdb 
 
-  Project-Properties-Configuration Properties-Linker-Advanced-Import Library
+   Project-Properties-Configuration Properties-Linker-Advanced-Import Library
 
-  @verbatim
-    from FreeImage*d*.lib  to FreeImage.lib 
-    from FreeImagePlus*d*.lib  to FreeImagePlus.lib 
-  @endverbatim
+       from FreeImage*d*.lib  to FreeImage.lib 
+       from FreeImagePlus*d*.lib  to FreeImagePlus.lib 
 
-  Project-Properties-Configuration Properties-Build Events-Post-Build Event-Comand Line 
+   Project-Properties-Configuration Properties-Build Events-Post-Build Event-Comand Line 
 
-  @verbatim
-    from FreeImage*d*.dll     to FreeImage.dll 
-    from FreeImage*d*.lib     to FreeImage.lib 
-    from FreeImagePlus*d*.dll to FreeImagePlus.dll 
-    from FreeImagePlus*d*.lib to FreeImagePlus.lib 
-  @endverbatim
+       from FreeImage*d*.dll     to FreeImage.dll 
+       from FreeImage*d*.lib     to FreeImage.lib 
+       from FreeImagePlus*d*.dll to FreeImagePlus.dll 
+       from FreeImagePlus*d*.lib to FreeImagePlus.lib 
 
-  Additionally, for project FreeImagePlus rename: 
-  Project-Properties-Configuration  Properties-Linker-Input-Additional Dependencies 
+   Additionally, for project FreeImagePlus rename: 
+   Project-Properties-Configuration  Properties-Linker-Input-Additional Dependencies 
 
-  @verbatim
-    from FreeImage*d*.lib to FreeImage.lib 
-  @endverbatim
+       from FreeImage*d*.lib to FreeImage.lib 
 
-  * 4. Select a platform to build. 
+4. Select a platform to build. 
 
-    Choose \" *Win32* \" if you are building for a 32 bit platform. 
-    Choose \" *x64* \" if you are building for a 64 bit platform. 
+   - Choose \" *Win32* \" if you are building for a 32 bit platform. 
+   - Choose \" *x64* \" if you are building for a 64 bit platform. 
 
-  * 5. Start the building process. 
+5. Start the building process. 
 
-  As a result, you should have the  library files of FreeImage product in the *freeimage\\Dist*
+   As a result, you should have the  library files of FreeImage product in the 
+   *freeimage\\Dist* folder (FreeImage.dll and FreeImage.lib files) and in the 
+   *freeimage\\Wrapper\\FreeImagePlus\\dist* folder (FreeImagePlus.dll and 
+   FreeImagePlus.lib files).
 
-  @verbatim
-    folder (FreeImage.dll and FreeImage.lib files) and in the *freeimage\\Wrapper\\FreeImagePlus\\dist*
-    folder (FreeImagePlus.dll and FreeImagePlus.lib files). 
-  @endverbatim
+@subsection dev_guides__building_3rdparty_win_opencl OpenCL ICD Loader
 
-@see http://www.opencascade.org for details
+If you have OpenCL SDK (one provided by Apple, AMD, NVIDIA, Intel, or other 
+vendor) installed on your system, you should find OpenCL headers and
+libraries required for building OCCT inside that SDK.
+
+Alternatively, you can use OpenCL ICD (Installable Client Driver) Loader 
+provided by Khronos group. The following describes steps used to build OpenCL 
+ICD Loader version 1.2.11.0.
+
+1. Download OpenCL ICD Loader sources archive and OpenCL header files from 
+   Khronos OpenCL Registry
+   http://www.khronos.org/registry/cl/
+
+2. Unpack the archive and put headers in **inc/CL** sub-folder
+
+3. Use CMake to generate VS projects for building the library:
+   - Start CMake-GUI and select OpenCL ICD Loader folder as source path,
+     and the folder of your choice for VS project and intermediate build data
+   - Click Generate
+   - Select VS version to be used (among the one you have installed; we
+     recommend using VS 2010), and architecture (32- or 64-bit)
+
+4. Open solution **OPENCL_ICD_LOADER.sln** generated in the build folder.
+   Though not strictly necessary, we recommend making two changes in generated 
+   projects:
+   - Add file **OpenCL.rc** to project OpenCL, to have version and Khronos 
+     copyright correctly embedded in DLL
+   - In properties of OpenCL project, on "C/C++ / Code Generation" page,
+     for Release configuration, change "Runtime library" to "Multi-threaded 
+     (/MT)", to avoid dependency on run-time DLL. 
+  
+5. Build project OpenCL in Release mode
+
+6. Create installation folder for OpenCL IDL Loader package and put there:
+   - OpenCL header files in **include/CL** subfolder
+   - OpenCL.dll (generated in **bin/Release** subfolder of source package)
+     in **bin** subfolder
+   - OpenCL.lib (generated in **Release** subfolder of build directory)
+     in **lib** subfolder
index fc2f611..ed53803 100644 (file)
@@ -6,10 +6,10 @@ archive on Linux with GNU build system (Autotools).
 
 If you are building OCCT from bare sources (as in Git repository), or do some 
 changes affecting CDL files, you need to use WOK to re-generate header files
-and build scripts / projects. See \ref dev_guides__building__wok for instructions.
+and build scripts / projects. See paragraph 1 \ref dev_guides__building__wok for instructions.
 
-Before building OCCT, you need to install required third-party libraries; see
-OCCT_Build3rdParty_Linux.pdf for instructions.
+Before building OCCT, you need to install required third-party libraries; see paragraph 1 of 
+\ref dev_guides__building for instructions.
 
 Note that during compilation by makefiles on some Linux OS on a station with 
 NVIDIA video card you may experience problems because the installation 
@@ -46,11 +46,13 @@ To prevent this, suggest making links:
    * --with-freeimage=  defines location of installed FreeImage product
    * --with-tbb-include= defines location of tbb.h
    * --with-tbb-library=  defines location of libtbb.so
+   * --with-opencl-include= defines location of cl.h
+   * --with-opencl-library= defines location of libOpenCL.so
    * --enable-debug=       yes: includes debug information, no: does not include debug information
    * --enable-production=   yes: switches code optimization, no: switches off code optimization
    * --disable-draw - allows OCCT building without Draw.
 
-   If location of FreeImage, TBB, and Gl2Ps is not specified, OCCT will be
+   If location of FreeImage, TBB, gl2ps or OpenCL is not specified, OCCT will be
    built without these optional libraries.
 
    
@@ -58,7 +60,7 @@ To prevent this, suggest making links:
 
    Example:
 
-   > ./configure -prefix=/PRODUCTS/occt-6.5.5 --with-tcl=/PRODUCTS/tcltk-8.5.8/lib --with-tk=/PRODUCTS/tcltk-8.5.8/lib --with-freetype=/PRODUCTS/freetype-2.4.10 --with-gl2ps=/PRODUCTS/gl2ps-1.3.5 --with-freeimage=/PRODUCTS/freeimage-3.14.1 --with-tbb-include=/PRODUCTS/tbb30_018oss/include --with-tbb-library=/PRODUCTS/tbb30_018oss/lib/ia32/cc4.1.0_libc2.4_kernel2.6.16.21
+   > ./configure -prefix=/PRODUCTS/occt-6.5.5 --with-tcl=/PRODUCTS/tcltk-8.5.8/lib --with-tk=/PRODUCTS/tcltk-8.5.8/lib --with-freetype=/PRODUCTS/freetype-2.4.10 --with-gl2ps=/PRODUCTS/gl2ps-1.3.5 --with-freeimage=/PRODUCTS/freeimage-3.14.1 --with-tbb-include=/PRODUCTS/tbb30_018oss/include --with-tbb-library=/PRODUCTS/tbb30_018oss/lib/ia32/cc4.1.0_libc2.4_kernel2.6.16.21 --with-opencl-include=/PRODUCTS/opencl-icd-1.2.11.0/include --with-opencl-library=/PRODUCTS/opencl-icd-1.2.11.0/lib
 
   3.If configure exits successfully, you can build OCCT with make command.
 
index 8ab8bda..05b2ca6 100644 (file)
@@ -12,9 +12,8 @@ If you are building OCCT from bare sources (as in Git repository), or do some
 changes affecting CDL files, you need to use WOK to re-generate header files
 and build scripts / projects. See \ref dev_guides__building__wok for instructions.
 
-Before building OCCT, you need to install required third-party libraries; see
-instructions for your platform on Resources page at http://dev.opencascade.org 
-and @ref dev_guides__building article for details.
+Before building OCCT, you need to install required third-party libraries; see paragraph 1 of 
+\ref dev_guides__building for instructions.
 
 ## Decide on location of build and install directories.
 
@@ -52,7 +51,7 @@ It is recommended to use GUI tools provided by CMake: cmake-gui on Windows and M
 In the console, change to the build directory and call ccmake with the path to the source directory of the project:
 
        > cd ~/occt/build/debug
-       > ccmake ~/occt/adm/cmake
+       > ccmake ~/occt
 
 @image html /dev_guides/building/cmake/images/cmake_image003.png
 @image latex /dev_guides/building/cmake/images/cmake_image003.png
index 6c38e3b..ead63df 100644 (file)
Binary files a/dox/dev_guides/building/cmake/images/cmake_image001.png and b/dox/dev_guides/building/cmake/images/cmake_image001.png differ
index 7b72fda..eb39654 100644 (file)
@@ -9,7 +9,7 @@ changes affecting CDL files, you need to use WOK to re-generate header files
 and build scripts / projects. See \ref dev_guides__building__wok for instructions.
 
 Before building OCCT, you need to install required third-party libraries; see
-OCCT_Build3rdParty_OSX.pdf for details.
+paragraph 1 of \ref dev_guides__building for details.
 
 1. Add paths to the mandatory 3rd-party products (Tcl/Tk and FreeType) in file 
    custom.sh located in \<OCCT_ROOT_DIR\>. For this:
index 7807c44..8c9fde7 100644 (file)
@@ -9,11 +9,11 @@ changes affecting CDL files, you need to use WOK to re-generate header files
 and build scripts / projects. See \ref dev_guides__building__wok for instructions.
 
 Before building OCCT, you need to install required third-party libraries; see
-OCCT_Build3rdParty_Windows.pdf for instructions.
+paragraph 1 of \ref dev_guides__building for instructions.
 
 1. Edit file custom.bat to define environment: 
 
-   - VCVER - version of Visual Studio (vc8, vc9, vc10 or vc11), 
+   - VCVER - version of Visual Studio (vc8, vc9, vc10, vc11 or vc12), 
              and relevant VCVARS path
    - ARCH - architecture (32 or 64), affects only PATH variable for execution
    - HAVE_* - flags to enable or disable use of optional third-party products
@@ -23,7 +23,7 @@ OCCT_Build3rdParty_Windows.pdf for instructions.
 2. Launch msvc.bat to start Visual Studio with all necessary environment 
    variables defined.
 
-   Note: the MSVC project files are located in folders adm\\msvc\\vc[9-11].
+   Note: the MSVC project files are located in folders adm\\msvc\\vc[9-12].
    Binaries are produced in win32 or win64 folders.
 
 3. Build with Visual Studio
index 7d9ff0c..5e97844 100644 (file)
@@ -9,7 +9,7 @@ changes affecting CDL files, you need to use WOK to re-generate header files
 and build scripts / projects. See \ref dev_guides__building__wok for instructions.
 
 Before building OCCT, you need to install required third-party libraries; see
-OCCT_Build3rdParty_OSX.pdf for details.
+paragraph 1 of \ref dev_guides__building for details.
 
 1. Add paths to the mandatory 3rd-party products (Tcl/Tk and FreeType) 
    in file custom.sh located in \<OCCT_ROOT_DIR\>. For this:
index bfcfffd..c31d05f 100644 (file)
@@ -86,9 +86,9 @@ structure of documentation directories, etc.
 
 @subsection  OCCT_DM_SECTION_3_1 File Format
 
-It is proposed to use MarkDown file format for easy maintainance of generic text documents. 
+The format used for documentation is MarkDown with Doxygen extensions. 
 The MarkDown files have a "*.md" extension and are based on rules desribed in 
-@htmlonly <a href="#OCCT_DM_SECTION_A">Document Syntax</a> @endhtmlonly section.
+\ref OCCT_DM_SECTION_A section.
 
 @subsection  OCCT_DM_SECTION_3_2 Directory Structure
 
@@ -215,36 +215,95 @@ To create a bulleted list, start each line with a hyphen or an asterisk,
 followed by a space. List items can be nested. This code:
 
 @verbatim
-  * Bullet 1
-  * Bullet 2
-    * Bullet 2a
-    * Bullet 2b
-  * Bullet 3
+* Bullet 1
+* Bullet 2
+  - Bullet 2a
+  - Bullet 2b
+* Bullet 3
 @endverbatim
 
-  produces this list:
+produces this list:
 
-  * Bullet 1
-  * Bullet 2
-    * Bullet 2a
-    * Bullet 2b
-  * Bullet 3  
+* Bullet 1
+* Bullet 2
+  * Bullet 2a
+  * Bullet 2b
+* Bullet 3  
 
-To create a numbered list, start each line with number and a period, then a space. Thus this code 
+To create a numbered list, start each line with number and a period, 
+then a space. Numbered lists can also be nested. Thus this code 
 
 @verbatim
-  1. ListItem_1
-  2. ListItem_2
-  3. ListItem_3
+1. List item 1
+   1. Sub-item 1
+   2. Sub-item 2
+2. List item 2
+3. List item 3
 @endverbatim
 
-  produces this list:
+produces this list:
 
-  1. ListItem_1
-  2. ListItem_2
-  3. ListItem_3
+1. List item 1
+   1. Sub-item 1
+   2. Sub-item 2
+2. List item 2
+3. List item 3
 
-It is recommended to indent lists with 2 spaces.
+Each list item can contain several paragraphs of text; these paragraphs must 
+have the same indentation as text after bullet or number in the numbered list 
+item (otherwise numbering will be broken). 
+
+Code blocks can be inserted as paragraphs with additional indentation 
+(4 spaces more). Note that fenced code blocks do not work within numbered lists
+and their use may cause numeration to be reset.
+
+
+Example of complex nested list:
+
+@verbatim
+1. ListItem_1
+
+   Additional paragraph
+
+       code fragment
+
+   One more paragraph
+
+   1. Sub-item 1
+
+          code fragment for sub-item 1
+
+   2. Sub-item 2
+
+      Paragraph for sub-item 2
+
+   Yet one more paragraph for list item 1
+
+2. ListItem_2
+@endverbatim
+
+1. List item 1
+
+   Additional paragraph
+
+       code fragment
+
+   One more paragraph
+
+   1. Sub-item 1
+
+          code fragment for sub-item 1
+
+   2. Sub-item 2
+
+      Paragraph for sub-item 2
+
+   Yet one more paragraph for list item 1
+
+2. List item 2
+
+Note that numbers of paragraphs are regenerated so they do not necessarily 
+follow numbering of source items.
 
 @subsection  OCCT_DM_SECTION_A_4 Tables
 
@@ -281,6 +340,9 @@ which will looks as follows:
 | 10    | 10     | 10    |
 | 1000  | 1000   | 1000  |
 
+Note that each table raw should be contained in one line of text; complex
+tables can be created using HTML tags.
+
 @subsection  OCCT_DM_SECTION_A_5 Code Blocks
 
 It is recommended to indent a code lines with 4 spaces.
index ced18ab..d730f88 100644 (file)
@@ -34,7 +34,15 @@ You are hereby informed that all software is a property of its respective author
 international and domestic laws on intellectual property and trademarks. 
 Should you need further information, please directly contact the authors.
 
-CAS.CADE and Open CASCADE are registered trademarks of OPEN CASCADE S.A.S.
+**CAS.CADE** and **Open CASCADE** are registered trademarks of 
+OPEN CASCADE S.A.S.
+
+**Linux** is a registered trademark of Linus Torvalds.
+
+**Windows** is a registered trademark of Microsoft Corporation in the United States and other countries.
+
+**Mac** and the Mac logo, **OpenCL** and the OpenCL logo, are trademarks of 
+Apple Inc., registered in the U.S. and other countries.
 
  Acknowledgements
 ------------------
@@ -87,6 +95,20 @@ TBB is available under GPLv2 license with the runtime exception.
 Open CASCADE Technology WOK module on Windows also makes use of LGPL-licensed C routines **regexp** 
 and **getopt**, taken from GNU C library.
 
+**OpenGL** is an industry standard API for 3D graphics used by OCCT for 
+implementation of 3D viewer. OpenGL specification is developed by the
+Khronos group, http://www.khronos.org/opengl/. OCCT code includes header 
+file *glext.h* obtained from Khronos web site.
+
+**OpenCL** (Open Computing Language) is open, royalty-free standard for 
+cross-platform, parallel programming of modern processors, optionally used by 
+OCCT for ray tracing. OpenCL specification is developed by the
+Khronos group, http://www.khronos.org/opencl/. The implementations of OpenCL 
+are available from Apple, AMD, NVIDIA, Intel, and other vendors. 
+**OpenCL Installable Client Driver (ICD) Loader** is a library provided by
+Khronos group which allows dispatching OpenCL calls to underlying 
+implementation.
+
 **Doxygen** developed by Dimitri van Heesch is open source documentation system for 
 C++, C, Java, Objective-C, Python, IDL, PHP and C#. This product is used in Open CASCADE Technology 
 for automatic creation of Technical Documentation from C++ header files. 
@@ -114,12 +136,6 @@ on this tool.
 
 Adobe Systems, Inc. provides **Adobe Reader**, which can be used to view files in Portable Document Format (PDF). 
 
-**Linux** is a registered trademark of Linus Torvalds.
-
-**Windows** is a registered trademark of Microsoft Corporation in the United States and other countries.
-
-**Mac** and the Mac logo are trademarks of Apple Inc., registered in the U.S. and other countries.
-
 @section OCCT_OVW_SECTION_3 Documentation
 
 OCCT documentation is provided in several forms:
@@ -207,7 +223,7 @@ for which OCCT is certified to work.
 | FreeImage (optional, for support of common 2D graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files |
 | gl2ps (optional, for export contents of OCCT viewer to vector graphic files) | gl2ps-1.3.8  http://geuz.org/gl2ps/ |
 | Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
-| OpenCL (optional, for ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ |
+| OpenCL (optional, for ray tracing visualization) | OpenCL SDK (usually one provided by vendor of your graphic card) or OpenCL ICD Loader by Khronos group, http://www.khronos.org/registry/cl |
 
 * Debian 60 64 bit is a platform used for regular testing of contributions 
 
@@ -225,8 +241,8 @@ for which OCCT is certified to work.
 | Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ |
 | FreeImage (Support of common graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files |
 | gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8  http://geuz.org/gl2ps/ |
-| Intel TBB (optional tool for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
-| OpenCL (optional for providing ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ |
+| Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
+| OpenCL (optional, for ray tracing visualization) | OpenCL SDK (usually one provided by vendor of your graphic card) or OpenCL ICD Loader by Khronos group, http://www.khronos.org/registry/cl |
 
 * VC++ 9 32-bit is used for certification of contributions and for building 
   binary package of official release of OCCT on Windows.
@@ -244,8 +260,8 @@ for which OCCT is certified to work.
 | Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ |
 | FreeImage (Support of common graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files |
 | gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8  http://geuz.org/gl2ps/ |
-| Intel TBB (optional tool for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
-| OpenCL (optional for providing ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ | 
+| Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ |
+| OpenCL (optional, for ray tracing visualization) | Native OpenCL 1.2.8 | 
 
 @subsection overview_req_graphics Graphic cards
 
@@ -255,13 +271,15 @@ For ray tracing, hardware implementation of OpenCL 1.1+ is required.
 
 The following table lists graphic cards tested to work with OCCT.
 
-| Graphic card | Driver/GL/GLSL/CL version | OS | OpenGL (fixed pipeline) | OpenGL (shaders) | OpenCL (ray tracing |
+| Graphic card | Driver/GL/GLSL/CL version | OS | OpenGL (fixed pipeline) | OpenGL (shaders) | OpenCL (ray tracing) |
 | ---- | ---- | ---- | :----: | :----: | :----: |
-| NVIDIA GeForce GT 630M | Driver 311.44, GL 4.3.0, GLSL 4.30 | Windows 7 64 bit | OK | OK | OK |
+| NVIDIA GeForce GT 610, 630M, 640 | Driver 311.44, GL 4.3.0, GLSL 4.30 | Windows 7 64 bit | OK | OK | OK |
 | Intel(R) HD Graphics 3000 | GL 3.1.0, GLSL 1.40 | Windows 7 64 bit | OK | OK | none |
 | RadeOn 9600 | GL 2.1.8454, GLSL 1.20 | | OK | bad | none |
+| AMD/ATI RadeOn HD 7870 | Driver 6.14.10.12002, GL 4.2.12002, GLSL 4.20 | Windows 7 64-bit | OK | OK | OK |
 | Mesa 7.8.2 Windows GDI Driver\* | GL 2.1, GLSL version 1.20 | Mac OS X 10.6 / OS X 10.9 | OK | artifacts | none |
-| GeForce 320 |  | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK |
+| NVIDIA GeForce 320 |  | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK on OSX 10.6, bad on OSX 10.9 |
+| NVIDIA GeForce 6600 GT | GL 2.1.2, GLSL 1.20 | Windows XP 32-bit | OK | OK | none |
 | Apple software OpenGL | | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK |
 
 * Mesa implementation of OpenGL is used for certification testing of OCCT
index 5db69ff..0ccf41e 100644 (file)
Binary files a/dox/overview/images/overview_3rdparty.png and b/dox/overview/images/overview_3rdparty.png differ
index 96394c5..7e3b8f9 100644 (file)
Binary files a/dox/overview/images/overview_installation.png and b/dox/overview/images/overview_installation.png differ
index 406f130..576d5df 100644 (file)
@@ -7532,7 +7532,9 @@ Syntax:      DT_SplitSurface result Surface|GridSurf tol split(0|1)
 Divides surface with C1 criterion and returns the result of splitting of a given surface into surface, which is given as parameter result. If the surface has been divided into segments, then each segment is put to an individual result.  This command can correct a given C0 surface at a knot with a given tolerance, if it is impossible, then the given surface is split at that knot. If the last parameter is 1, then 5 knots are added to the given surface, and its surface is split by segments, but this will be performed not for all parametric spaces. 
 **Example:** 
     
-# split surface with name ‘su’ 
+
+~~~~~
+# split surface with name "su"
 DT_SplitSurface res su 0.1 1 
 == single surf 
 == appel a SplitSurface::Init 
@@ -7542,7 +7544,7 @@ DT_SplitSurface res su 0.1 1
 == appel a Surfaces 
 == transfert resultat 
 == res1_1_1 res1_2_1 res1_3_1 res1_4_1 res1_5_1 res1_6_1 
-
+~~~~~
 
 @subsubsection occt_2142243456_1672096717128 DT_ToBspl
 
@@ -7555,10 +7557,10 @@ DT_ToBspl res sh
 == error = 5.20375663162094e-08   spans = 10 
 ==  Surface is aproximated with continuity 2 
 
-@section occt_2142243456_1640587828 Performance evaluation commands
+@section occt_draw_commands_perf Performance evaluation commands
 
 
-@subsubsection occt_2142243456_16405878281.1 VDrawSphere
+@subsection occt_draw_commands_perf_vdrawsphere VDrawSphere
 
 Syntax:      vdrawsphere shapeName Fineness [X=0.0 Y=0.0 Z=0.0] [Radius=100.0] [ToEnableVBO=1] [NumberOfViewerUpdate=1] [ToShowEdges=0] 
 
@@ -7582,12 +7584,14 @@ The following chapters explain how to extend Test Harness with custom commands a
 Custom command implementation has not undergone any changes since the introduction of the plug-in mechanism. The syntax of every command should still be like in the following example. 
 **Example:** 
 
+~~~~~
 static Standard_Integer myadvcurve(Draw_Interpretor&amp; di, 
 Standard_Integer n, 
 char** a) 
 { 
 ... 
 } 
+~~~~~
 
 For examples of existing commands refer to Open CASCADE Technology (e.g. GeomliteTest.cxx). 
 
@@ -7597,6 +7601,7 @@ For examples of existing commands refer to Open CASCADE Technology (e.g. Geomlit
 To become available in the Test Harness the custom command must be registered in it. This should be done as follows. 
 **Example:** 
 
+~~~~~
 void MyPack::CurveCommands(Draw_Interpretor&amp; theCommands) 
 { 
 ... 
@@ -7608,6 +7613,7 @@ char* g = ;Advanced curves creation;;
 __FILE__, myadvcurve, g); 
 ... 
 } 
+~~~~~
 
 @subsection occt_2142243456_7136599993 Creating a toolkit (library) as a plug-in