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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
==============================================================================
the zexy external
==============================================================================
outline of this file::
==============================================================================
+ general
+ installation
+ linux, irix, OSX,... (autoconf)
+ w32
+ using
+ license
general::
==============================================================================
the zexy external is a collection of externals for miller.s.puckette's
realtime-computermusic-environment called "puredata" (or abbreviated "pd")
this zexy external will be of no use, if you don't have a running version of
pd on your system.
check out for http://pd.iem.at to learn more about pd and how to get it
note: the zexy external is published under the Gnu General Public License
that is included (GnuGPL.txt). some parts of the code are taken directly
from the pd source-code, they, of course, fall under the license pd is
published under.
installation::
==============================================================================
linux, irix, osx, mingw,... :
------------------------------------------------------------------------------
see INSTALL for more detailed instructions
#0> ./autogen.sh
#1> ./configure
#2> make
#3> make install
installation directory:
by defaultm zexy will install into /usr/local/lib/pd/extra/zexy
the path can be changed via the "--prefix", or "--libdir"
e.g. "./configure --prefix=/usr" -> /usr/lib/pd/extra/zexy
e.g. "./configure --libdir=/tmp/foo" -> /tmp/foo/zexy
puredata headers:
zexy needs to find the Pd headers (and Pd.lib on some systems) during the build
process.
if you have installed the headers in a non-standard location, you can specify
them with the "--with-pd" option:
"./configure --with-pd=/usr/include/pd" will add /usr/include/pd to the INCLUDE
path.
"./configure --with-pd=/home/me/src/Pd-0.43.1" can be used to add
/home/me/src/Pd-0.43.1/src to the INCLUDEs and /home/me/src/Pd-0.43.1/bin to the
library search path
custom external extension:
zexy does it's best to determine the correct external extension for your system.
e.g. it will use "dll" on w32, or "pd_linux" on linux.
if - for whatever obscure reasons - you want to force the extension to certain
value, you can use the "--with-extension" flag:
"./configure --with-extension=l_ia64" will use "l_ia64" for the resulting
binaries
SSE2 (SIMD):
by default zexy is compiled without SIMD optimization (recently there have been
reports about crashes, when SSE2 was enabled; until this is fixed, the default
is to use the safe fallback)
if you want to enable SSE2 optimization, configure with
"./configure --enable-simd=SSE2"
multi-object vs single-object libraries:
by default, zexy builds a single library "zexy" that contains all objects.
if - for some obscure reason - you insist on having a lot of small libraries
each containing a single object, you can enable this by using the
"--disable-library" flag
parallel port support:
if you don't want the parallel-port object [lpt] you can disable it with
"--disable-lpt"
(e.g.: because you don't have a parallel-port)
fat (multiarch) binaries:
for building multi-arch binaries (currently only supported on OSX), specify the
wanted architectures in the "--enable-fat-binary" flag
e.g. "./configure --enable-fat-binary=i386,ppc --with-extension=d_fat"
win32 :
------------------------------------------------------------------------------
to compile:
+ w/ MSVC use the build project found in build/win-vs*/
OR
+ with GCC configure your pd path, eg:
#> ./configure --prefix=/c/program/pd; make; make install
OR
+ cross-compilation for windows on linux using mingw (assumes that the
crosscompiler is "i586-mingw32msvc-cc")
#> ./configure --host=i586-mingw32msvc --with-extension=dll \
--disable-PIC --with-pd=/path/to/win/pd/
#> make CFLAGS="-fno-unit-at-a-time"
notes: configure tries to set the CFLAGS to "-g -O2" if the compiler
accepts this; however, this optimization sometimes generates
binaries that cannot be loaded by pd; it seems that disabling
the "unit-at-a-time" optimization (which gets enabled by "-O2")
is the cause of this problem. turning it off might help
making pd run with the zexy external::
==============================================================================
make sure, that pd will be looking at this location
(add "-path <mypath>/pd/externs" either to your .pdrc or each time
you execute pd)
make sure, that you somehow load the zexy external (either add "-lib zexy"
(if you advised pd somehow to look at the correct place)
or "-lib <myzexypath>/zexy" to your startup-script (.pdrc or whatever)
or load it via the object "zexy" at runtime
license::
==============================================================================
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
|