aboutsummaryrefslogtreecommitdiff
path: root/scripts/build-libs-for-pd-on-mingw.sh
blob: 621af2a8130e242fcbeb3b3a422a4b2246d3fce8 (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
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#!/bin/sh

# this script is no longer maintained, instead use the 'sources tree and this script:
# https://pure-data.svn.sourceforge.net/svnroot/pure-data/sources/build-libs-on-mingw.sh

# This script builds everything needed to build Pd-extended on MinGW.  You
# need to download all of the source files listed on
# http://puredata.org/docs/developer/win first, put them all into one
# directory, then run this script in that directory.  It should build and
# install everything.  Make sure you have this line in your
# c:\msys\1.0\etc\fstab:

# c:\MinGW  /usr/local

# This ensures that everything will be installed in the right
# place. <hans@eds.org>

# pthreads
testfile=/usr/local/bin/pthreadGC2.dll
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 cd pthreads.2
	 make clean GC-inlined
	 cp libpthreadGC2.a /usr/local/lib
	 cp pthreadGC2.dll /usr/local/bin
	 cp pthread.h sched.h semaphore.h /usr/local/include/
	 cd ..
fi

# Tcl
testfile=/usr/local/bin/tcl84.dll
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf tcl8.4.*-src.tar.gz
	 cd tcl8.4.*/win
	 ./configure && make CYGPATH=echo && make install
	 cd ../..
fi

# Tk
testfile=/usr/local/bin/tk84.dll
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf tk8.4.*-src.tar.gz
	 cd tk8.4.*/win
	 ./configure && make CYGPATH=echo && make install
	 cd ../..
fi

# ogg
testfile=/usr/local/lib/libogg.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf libogg-1.1.*.tar.gz
	 cd libogg-1.1.*
	 ./configure && make && make install
	 cd ..
fi


# GNU regex
testfile=/usr/local/lib/libregex.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf regex-0.12.tar.gz
	 cd regex-0.12
	 ./configure && make
	 ar ru libregex.a regex.o
	 cp libregex.a /usr/local/lib
	 cp regex.h /usr/local/include
	 cd ..
fi


# vorbis
testfile=/usr/local/lib/libvorbisfile.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf libvorbis-1.1.*.tar.gz
	 cd libvorbis-1.1.*
	 ./configure && make
	 cd lib
	 /bin/sh ../libtool --tag=CC --mode=link gcc  -O20 -D__NO_MATH_INLINES \
		  -fsigned-char  -DUSE_MEMORY_H   -o libvorbisfile.la -rpath \
		  /usr/local/lib -no-undefined -version-info 4:0:1 vorbisfile.lo \
		  libvorbis.la /usr/local/lib/libogg.la 
	 cd ..
	 make && make install
	 cd ..
fi

# LAME
testfile=/usr/local/bin/libmp3lame-0.dll
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf lame-398-2.tar.gz
	 cd lame-398-2
	 ./configure --disable-frontend \
		 && make \
		 && make install
	 cd ..
fi

# speex
testfile=/usr/local/lib/libspeex.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf speex-*.tar.gz
	 cd speex-*
	 ./configure --enable-sse && make && make install
	 cd ..
fi

# FLAC
testfile=/usr/local/lib/libFLAC.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf flac-1.1.*.tar.gz && cd flac-1.1.*
	 ./configure && make && make install || echo -e "\n\n$testfile failed!!\n\n"
# the compilation bombs, but builds most of what we need, so install anyway
	 make -k install
	 cd ..
fi

# libsndfile
# the FLAC build bombs, so disable FLAC support in libsndfile
testfile=/usr/local/lib/libsndfile.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf libsndfile-1.0.19.tar.gz
	 cd libsndfile-1.0.19
	 ./configure --disable-alsa --enable-sqlite 
		 && make && make check && make install
	 cd ..
fi

# fftw3
testfile=/usr/local/lib/libfftw3.a
if [ -e "$testfile" ]; then 
	 echo "$testfile exists, skipping..."
else
	 echo "Building everything for $testfile"
	 tar xzf fftw-3.1.*.tar.gz
	 cd fftw-3.1.*
	 ./configure --with-our-malloc16 --with-windows-f77-mangling --enable-shared --disable-static --enable-threads --with-combined-threads --enable-portable-binary --enable-float --enable-sse && \
	     make && make install
	 cd ..
fi