summaryrefslogtreecommitdiff
path: root/doc/checklist-macosx.txt
blob: 0f79e10d96160b300e8e858fd2e5e4908d5d6f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
NB! This is the Mac OS X deployment checklist.
    See build-macosx.txt for how to build a development build of
    OpenSCAD for your system only without manually compiling all
    dependencies.

o MacPorts libs
  port install eigen

o Qt4
  - Download and install the combined 32-bit and 64-bit build for 10.5-10.6 from here:
     http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x

o Build gmp

  curl -O ftp://ftp.gmplib.org/pub/gmp-5.0.1/gmp-5.0.1.tar.bz2
  tar xjz gmp-5.0.1.tar.bz2
  cd gmp-5.0.1
  mkdir build-i386
  cd build-i386
  ../configure --prefix=$PWD/../../../deploy "CFLAGS=-mmacosx-version-min=10.5 -arch i386" LDFLAGS="-mmacosx-version-min=10.5 -arch i386" ABI=32 --libdir=$PWD/../../../deploy/lib-i386
  make install
  cd ..
  mkdir build-x86_64
  cd build-x86_64
 ../configure --prefix=$PWD/../../../deploy "CFLAGS=-mmacosx-version-min=10.5" LDFLAGS="-mmacosx-version-min=10.5" --libdir=$PWD/../../../deploy/lib-x86_64
  make install
  cd ../../../deploy
  lipo -create lib-i386/libgmp.dylib lib-x86_64/libgmp.dylib -output lib/libgmp.dylib
  install_name_tool -id $PWD/lib/libgmp.dylib lib/libgmp.dylib
  cd ../src

o Build mpfr

  curl -O http://www.mpfr.org/mpfr-current/mpfr-2.4.2.tar.bz2
  tar xjz mpfr-2.4.2.tar.bz2
  cd mpfr-2.4.2
  mkdir build-i386
  cd build-i386
  ../configure --prefix=$PWD/../../../deploy --with-gmp=$PWD/../../../deploy CFLAGS="-mmacosx-version-min=10.5 -arch i386" LDFLAGS="-mmacosx-version-min=10.5 -arch i386"  --libdir=$PWD/../../../deploy/lib-i386
  make install
  cd ..
  mkdir build-x86_64
  cd build-x86_64
  ../configure --prefix=$PWD/../../../deploy --with-gmp=$PWD/../../../deploy CFLAGS="-mmacosx-version-min=10.5 -arch x86_64" LDFLAGS="-mmacosx-version-min=10.5 -arch x86_64"  --libdir=$PWD/../../../deploy/lib-x86_64
  make install
  cd ../../../deploy
  lipo -create lib-i386/libmpfr.dylib lib-x86_64/libmpfr.dylib -output lib/libmpfr.dylib
  install_name_tool -id $PWD/lib/libmpfr.dylib lib/libmpfr.dylib
  cd ../src

o Build boost::thread

  curl -O http://downloads.sourceforge.net/project/boost/boost/1.42.0/boost_1_42_0.tar.bz2
  tar xjz boost_1_42_0.tar.bz2
  cd boost_1_42_0
  ./bootstrap.sh --prefix=$PWD/../../deploy --with-libraries=thread
  ./bjam cflags="-mmacosx-version-min=10.5 -arch i386 -arch x86_64" linkflags="-mmacosx-version-min=10.5 -arch i386 -arch x86_64"
  ./bjam install
  install_name_tool -id $PWD/../../deploy/lib/libboost_thread.dylib /Users/kintel/code/metalab/checkout/OpenSCAD/libraries/deploy/lib/libboost_thread.dylib 
  cd ..

o Build CGAL >= 3.5

  curl -O https://gforge.inria.fr/frs/download.php/26688/CGAL-3.6.tar.gz
  tar xzf CGAL-3.6.tar.gz
  cd CGAL-3.6
  cmake -DCMAKE_INSTALL_PREFIX=$PWD/../../deploy -DBUILD_SHARED_LIBS=FALSE -DCMAKE_OSX_DEPLOYMENT_TARGET="10.5" -DCMAKE_OSX_ARCHITECTURES="i386;x86_64"
  make -j4
  make install
  cd ..

o Patch & build GLEW

  curl -LO http://downloads.sourceforge.net/project/glew/glew/1.5.4/glew-1.5.4.tgz
  tar xzf glew-1.5.3.tar.gz
  cd glew-1.5.3
  patch -p1 < ../openscad/patches/glew-1.5.3-MacOSX.patch
  mkdir ../../deploy/lib/pkgconfig
  make GLEW_DEST=$PWD/../../deploy CFLAGS.EXTRA="-no-cpp-precomp -dynamic -fno-common -mmacosx-version-min=10.5 -arch i386 -arch x86_64" LDFLAGS.EXTRA="-mmacosx-version-min=10.5 -arch i386 -arch x86_64" install
  cd ..

o Patch and build OpenCSG >= 1.3.0

  curl -O http://www.opencsg.org/OpenCSG-1.3.0.tar.gz
  FIXME: Update patch
  tar xzf OpenCSG-1.3.0.tar.gz
  cd OpenCSG-1.3.0
  patch -p1 < ../openscad/patches/OpenCSG-1.3.0-MacOSX-port.patch
  MACOSX_DEPLOY_DIR=$PWD/../../deploy qmake -r CONFIG+="x86 x86_64"
  make install
  cd ..
  
o Build and Deploy OpenSCAD

# Update VERSION in publish-macosx.sh
  cd openscad
  ./scripts/publish-macosx.sh
contact: Jan Huwald // Impressum