-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathINSTALL
122 lines (85 loc) · 3.82 KB
/
INSTALL
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
PHASEX: [P]hase [H]armonic [A]dvanced [S]ynthesis [EX]periment
MINIMUM REQUIREMENTS:
-------------------------------------------------------------------------------
Required:
gcc-4.x
gtk-2.4
alsa-0.9.0
jack-0.99.0
libsamplerate-0.1.2
Optional:
lash-0.5.4
libuuid-1.6.4 (required for LASH)
-------------------------------------------------------------------------------
OBTAINING PHASEX SOURCES:
-------------------------------------------------------------------------------
Currently, PHASEX dev sources are only available via git:
git clone https://github.com/williamweston/phasex.git
RPM and .tar.gz packages will be made available with the
upcoming v0.15.0 stable release.
COMPILING AND INSTALLING PHASEX:
-------------------------------------------------------------------------------
Start in toplevel source directory:
cd phasex
When building PHASEX from git sources, switching autoconf/automake
versions, or in any other situation where 'configure' is missing or
throwing errors, it may be necessary to rebuild all of the dynamically
generated build files:
aclocal
autoconf
automake
autoheader
PHASEX uses the familiar autoconf/automake build system. For a list
of confguration options, run './configure --help' or read below.
For a default configuration (which is probably not what you want):
./configure
For a multimbral build optimized for your CPU you might want to run:
./configure --enable-arch=native --enable-parts=2
Once configured, PHASEX can be compiled and installed with the usual:
make
make install
The --enable-arch= flag to ./configure will take any CPU type
supported by your gcc version for its -march= and -mtune= optimization
flags.
Architechtures currently supported:
i386 i486 i586 pentium i686 pentium-mmx pentiumpro pentium2
k6 winchip-c6 pentium3 pentium3m c3-2 pentium-m pentium4
pentium4m k6-2 k6-3 winchip2 c3 geode athlon athlon-tbird
athlon-4 athlon-mp athlon-xp k8 opteron athlon64 athlon-fx
k8-sse3 opteron-sse3 athlon64-sse3 amdfam10 barcelona x86_64
prescott nocona core2 corei7 corei7-avx core-avx-i amd64
itanium itanium1 merced itanium2 mckinley ia64 ia32e atom
generic native
If building with gcc-4.2 or newer, you may use --enable-arch=native
to optimize for your CPU.
To alter the CPU utilization of phasex, use the --enable-cpu-power=
flag. Options are: 1 (slow CPU), 2 (average CPU), 3 (fast CPU and
32-bit sample_t), and 4 (fast CPU and 64-bit sample_t).
The number of active synth threads (and thus the number of active
synth parts) can be set with the --enable-parts= option. In general,
enabling one part per CPU core will provide rock-solid xrun-free
performance (recommended for live / on-stage use). Modern multi-core
systems may perform the same with as many as two synth threads per CPU
core enabled (recommended for studio use). As usual, YMMV.
By default, 64-bit builds are enabled on 64-bit architectures. To
force a 32-bit build on a 64-bit architecture (for a native 32-bit
build or cross-compiling for a 32-bit architecture), use the
--enable-32bit flag.
Additionally, you may add --enable-debug="-gwhatever" to pass debug
flags to the compiler. When debug is enabled, the optimization level
is switched from -O3 to -O2, the -fomit-frame-pointer optimization is
removed, and -Wall (for all compiler warnings) is turned on.
To override or add extra compiler flags, set the CFLAGS environment
variable when running configure.
Examples:
./configure --enable-arch=atom \
--enable-32bit \
--enable-cpu-power=1 \
--enable-parts=1
./configure --enable-arch=native \
--enable-debug=-ggdb3 \
--enable-parts=4
For custom builds, additional settings may be configured in
src/phasex.h. For most builds, modifiying phasex.h should not be
necessary.
-------------------------------------------------------------------------------