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).
44 * 2. Run the configure command
47 configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
50 For a 64 bit platform also add --enable-64bit option to the command line.
52 * 3. If the configure command has finished successfully, start the building process
58 * 4. If building is finished successfully, start the installation of Tcl.
59 All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR
65 @subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5
67 Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it.
69 * 1. Enter the macosx sub-directory of the directory where the source files of Tk are located (TK_SRC_DIR).
75 * 2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib
78 configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
81 where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the command line.
83 * 3. If the configure command has finished successfully, start the building process
89 * 4. If building has finished successfully, start the installation of Tk.
90 All binary and service files of the product will be copied to the directory
91 defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR is TCL_INSTALL_DIR)
97 @subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10
99 FreeType is required for display of text in 3D viewer.
101 Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it.
103 * 1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR).
109 * 2. Run the configure command
112 configure --prefix=FREETYPE_INSTALL_DIR
115 For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line.
117 * 3. If the configure command has finished successfully, start the building process
123 * 4. If building has finished successfully, start the installation of FreeType.
124 All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR
130 @section dev_guides__building_3rdparty_osx_3 Building Optional Third-party Products
132 @subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
134 This third-party product is installed with binaries from the archive
135 that can be downloaded from http://threadingbuildingblocks.org/.
136 Go to \"Downloads / Commercial Aligned Release\", find the release version you need (e.g. tbb30_018oss)
137 and pick the archive for Mac OS X platform.
138 To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
140 @subsection dev_guides__building_3rdparty_osx_3_2 gl2ps 1.3.5
142 Download the necessary archive from http://geuz.org/gl2ps/ and unpack it.
144 * 1. Install or build cmake product from source file.
146 * 2. Start cmake in GUI mode with the directory where the source files of fl2ps are located
150 * 2.1. Press [c] to make the initial configuration
151 * 2.2. Define the necessary options CMAKE_INSTALL_PREFIX
152 * 2.3. Press [c] to make the final configuration
153 * 2.4. Press [g] to generate Makefile and exit
155 or just run the following command:
158 cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release
161 * 3. Start building of gl2ps
167 * 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option
173 @subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
175 Download the necessary archive from
176 http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
177 and unpack it. The directory with unpacked sources is further referred to as FREEIMAGE_SRC_DIR.
179 Note that for building FreeImage on Mac OS X 10.7 you should replace Makefile.osx
180 in FREEIMAGE_SRC_DIR by corrected one which you can find in attachment to issue #22811 in OCCT Mantis bug tracker
181 (http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere.
183 * 1.If you are building FreeImage 3.15.x you can skip this step.
184 Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:
186 In line 60 insert the following:
192 Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:
204 * 2.Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR).
210 * 3.Run the building process
216 * 4.Run the installation process
217 * 4.1. If you have permissions to write to /usr/local/include and /usr/local/lib directories then run the following command:
221 * 4.2. If you don’t have permissions to write to /usr/include and /usr/lib directories
222 then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx:
236 Change lines 65-69 from:
239 install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)
240 install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
241 install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
242 ranlib -sf $(INSTALLDIR)/$(STATICLIB)
243 ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
249 install -d $(INCDIR) $(INSTALLDIR)
250 install -m 755 $(HEADER) $(INCDIR)
251 install -m 755 $(STATICLIB) $(INSTALLDIR)
252 install -m 755 $(SHAREDLIB) $(INSTALLDIR)
253 ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
254 ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
257 Then run the installation process by the following command:
260 make PREFIX=FREEIMAGE_INSTALL_DIR install
263 * 5.Clean the temporary files
269 @see http://www.opencascade.org for details