File: README.MAC

package info (click to toggle)
coin 1.0.2-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 11,812 kB
  • ctags: 14,624
  • sloc: cpp: 110,572; sh: 7,280; ansic: 5,102; makefile: 3,059; yacc: 174; lex: 99; perl: 8
file content (107 lines) | stat: -rw-r--r-- 4,104 bytes parent folder | download
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
98
99
100
101
102
103
104
105
106
107
This file contains information about building Coin on Mac OS X.

Recent Changes
==============

2001-12-21  Lars J. Aas  <larsa@sim.no>:

  * configure option --enable-framework/--disable-framework was removed
    (superseded by the --with[out]-framework option).

  * new configure options (more flexible system):

    --without-framework                 (disable framework installation)
    --with-framework                    (install as framework on non-macs)
    --with-framework-prefix=<path>      (default path is /Library/Frameworks)

  * --prefix now controls where shell utilities and Autoconf-related
    files end up, so you will typically end up with coin-config in
    /usr/local/bin and config files in /usr/local/share/Coin/conf unless
    a different prefix is chosen.


MacOS 10.0.x compatibility
==========================

First of all, please note that we do not support Mac OS X versions < 10.1 
Things will probably work just fine on 10.0.x as well if you are building 
Coin from the source yourself, but we do not make any guarantees. Our 
precompiled binary packages of Coin/Mac will not work on 10.0.x. In any
case, MacOS 10.1 was such a great step in performance and stability that
I strongly encourage you to upgrade from 10.0.x anyway (which should be
considered more like a "public beta", really). 

If you build Coin on a MacOS 10.1 system and want to use the library on
10.0.x, you will have to use the -flat_namespace linker switch. (Modify
the LDFLAGS environment variable to do that.) Do not do this unless you
are sure you what you are doing and have read (and fully understood)
Apple's Release Note concerning two-level namespace executables[0].


The Inventor framework
======================

By default, Coin will be set up as MacOS X framework. Frameworks are a
central concept to Mac OS X, packing a dynamic shared library with the
necessary resources for this library, like header files, images, and
documentation. You can link against a framework by using the "-framework" 
compiler option. Please refer to the Apple developer documentation [1] for 
more information about frameworks.

Since Coin is an OpenInventor implementation, the framework is named
"Inventor", not Coin. Following Apple's recommendation for 3rd-party
frameworks, the Inventor.framework is installed in /Library/Frameworks.

What this means, basically, is that instead of
"cc -I/path/to/Coin/include -L/path/to/Coin/lib -lCoin -lGL -lGLU -o foo 
foo.cpp",
your commandline would be something like
"cc -framework Inventor -framework OpenGL -o foo foo.cpp"

You can of course still use the coin-config script, which takes care of
all this (see man coin-config(1) for more information).

If you want to disable the creation of the framework and install Coin as
standalone shared library, you can use the configure option

--without-framework

which will install libCoin.dylib into $prefix/lib and the headers into
$prefix/include. 


Project Builder IDE support
===========================

You can use the Inventor.framework like any of Apple's frameworks in
Project Builder by just drag+and+dropping it into your target settings.
Please note that you will (of course) also need the OpenGL framework,
and (if you are using GLUT) the GLUT framework. 


SoMac?
=======

We are planning to implement a "SoMac" library with bindings between
Cocoa and the Coin library in the long run, but this is just in the
planning phase.

At the moment, your best option is probably to control your own
OpenGL-canvas, like done in the glutiv.cpp example found on the
<URL:http://www.coin3d.org> website.
You can also try and use SoQt (which depends on Qt/Mac, released
recently by Trolltech), but please note that this is still under
development, so you might stumble into some bugs every once in a 
while.


If you have any problems when trying to configure and build Coin on
MacOS X, please let us know. 


References:
[0] http://developer.apple.com/techpubs/macosx/ReleaseNotes/TwoLevelNamespaces.html
[1] http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/Frameworks 

--
kyrah@sim.no