1 Building 3rd-party libraries on MacOS X {#dev_guides__building_3rdparty_osx}
2 ==============================================
5 @section dev_guides__building_3rdparty_osx_1 Introduction
7 This document presents additional guidelines for building third-party products
8 used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4 and later).
10 The links for downloading the third-party products are available
11 on the web site of OPEN CASCADE SAS at
12 http://www.opencascade.org/getocc/require/</a>.
14 There are two types of third-party products, which are necessary to build OCCT:
16 * Mandatory products: Tcl 8.5, Tk 8.5, FreeType 2.4.10
17 * Optional products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 or 3.15.x
19 @section dev_guides__building_3rdparty_osx_2 Building Mandatory Third-party Products
21 @subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5
23 Tcl/Tk is required for DRAW test harness. Version 8.5 or 8.6 can be used with OCCT.
25 @subsubsection dev_guides__building_3rdparty_osx_2_1_1 Installation from binaries
27 It is possible to download ready-to-install binaries from
28 http://www.activestate.com/activetcl/downloads
30 1. Download the disk image to some TCL_DOWNLOAD_DIR.
31 2. Open in Finder the directory TCL_DOWNLOAD_DIR.
32 3. Open disk image and follow instructions.
34 @subsubsection dev_guides__building_3rdparty_osx_2_1_2 Installation from sources: Tcl 8.5
36 Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it.
38 1. Enter the macosx sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR).
42 2. Run the configure command
44 configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
46 For a 64 bit platform also add --enable-64bit option to the command line.
48 3. If the configure command has finished successfully, start the building process
52 4. If building is finished successfully, start the installation of Tcl.
53 All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR
57 @subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5
59 Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it.
61 1. Enter the macosx sub-directory of the directory where the source files of Tk are located (TK_SRC_DIR).
65 2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib
67 configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
69 where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the command line.
71 3. If the configure command has finished successfully, start the building process
75 4. If building has finished successfully, start the installation of Tk.
76 All binary and service files of the product will be copied to the directory
77 defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR is TCL_INSTALL_DIR)
81 @subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10
83 FreeType is required for display of text in 3D viewer.
85 Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it.
87 1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR).
91 2. Run the configure command
93 configure --prefix=FREETYPE_INSTALL_DIR
95 For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line.
97 3. If the configure command has finished successfully, start the building process
101 4. If building has finished successfully, start the installation of FreeType.
102 All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR
106 @section dev_guides__building_3rdparty_osx_3 Building Optional Third-party Products
108 @subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
110 This third-party product is installed with binaries from the archive
111 that can be downloaded from http://threadingbuildingblocks.org/.
112 Go to \"Downloads / Commercial Aligned Release\", find the release version you need (e.g. tbb30_018oss)
113 and pick the archive for Mac OS X platform.
114 To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
116 @subsection dev_guides__building_3rdparty_osx_3_2 gl2ps 1.3.5
118 Download the necessary archive from http://geuz.org/gl2ps/ and unpack it.
120 1. Install or build cmake product from source file.
122 2. Start cmake in GUI mode with the directory where the source files of fl2ps are located
126 1. Press [c] to make the initial configuration
127 2. Define the necessary options CMAKE_INSTALL_PREFIX
128 3. Press [c] to make the final configuration
129 4. Press [g] to generate Makefile and exit
131 or just run the following command:
133 cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release
135 3. Start building of gl2ps
139 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option
143 @subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
145 Download the necessary archive from
146 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
147 and unpack it. The directory with unpacked sources is further referred to as FREEIMAGE_SRC_DIR.
149 Note that for building FreeImage on Mac OS X 10.7 you should replace Makefile.osx
150 in FREEIMAGE_SRC_DIR by corrected one which you can find in attachment to issue #22811 in OCCT Mantis bug tracker
151 (http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere.
153 1. If you are building FreeImage 3.15.x you can skip this step.
154 Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:
156 In line 60 insert the following:
160 Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:
170 2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR).
174 3. Run the building process
178 4. Run the installation process
180 1. If you have permissions to write to /usr/local/include and /usr/local/lib directories then run the following command:
184 2. If you do not have permissions to write to /usr/include and /usr/lib directories
185 then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx:
195 Change lines 65-69 from:
197 install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)
198 install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
199 install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
200 ranlib -sf $(INSTALLDIR)/$(STATICLIB)
201 ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
205 install -d $(INCDIR) $(INSTALLDIR)
206 install -m 755 $(HEADER) $(INCDIR)
207 install -m 755 $(STATICLIB) $(INSTALLDIR)
208 install -m 755 $(SHAREDLIB) $(INSTALLDIR)
209 ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
210 ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
212 Then run the installation process by the following command:
214 make PREFIX=FREEIMAGE_INSTALL_DIR install
216 5. Clean the temporary files