chunker-player / build_ul.sh @ 641fb401
History | View | Annotate | Download (30.3 KB)
1 |
#!/bin/bash |
---|---|
2 |
SCRIPT=$0 |
3 |
BASE_UL_DIR=`pwd` |
4 |
EXTERN_DIR="external_libs" |
5 |
MAKE="make -j 4" |
6 |
cd "$BASE_UL_DIR" |
7 |
|
8 |
REBUILD= |
9 |
[ "$1" == "-r" ] && REBUILD=1 |
10 |
|
11 |
#check the architecture |
12 |
if [ "$OSTYPE" == "linux-gnu" ]; then |
13 |
# do something Linux-y |
14 |
echo "Building on Linux" |
15 |
elif [ "$OSTYPE" == "darwin10.0" -o "$OSTYPE" == "darwin11" ]; then |
16 |
# do something OSX-y |
17 |
echo "Building on OSX" |
18 |
MAC_OS=1 |
19 |
fi |
20 |
|
21 |
which svn >/dev/null || { echo "CANNOT build UL Applications: svn missing. Please install subversion, then retry!"; exit 1; } |
22 |
#which libtoolize >/dev/null || { echo "CANNOT build UL Applications: libtool missing. Please install libtool, then retry!"; exit 1; } |
23 |
which yasm >/dev/null || { echo "CANNOT build UL Applications: yasm missing. Please install yasm, then retry!"; exit 1; } |
24 |
if [ ! -n "MAC_OS" ]; then |
25 |
#we don't have git on osx - so we avoid using it |
26 |
which git >/dev/null || { echo "CANNOT build UL Applications: git missing. Please install git, then retry!"; exit 1; } |
27 |
fi |
28 |
WGET_OR_CURL=`which wget` |
29 |
[ -n "$WGET_OR_CURL" ] || { WGET_OR_CURL=`which curl` ; WGET_OR_CURLOPT="-L -O"; } |
30 |
[ -n "$WGET_OR_CURL" ] || { echo "please install wget or curl!"; exit 1; } |
31 |
|
32 |
#set some defaults |
33 |
IO=${IO:-"tcp"} |
34 |
MONL=${MONL:-1} |
35 |
ML=${ML:-1} |
36 |
|
37 |
if [ "$HOSTARCH" = "mingw32" ]; then |
38 |
MINGW=1 |
39 |
fi |
40 |
|
41 |
#by default build an check |
42 |
BUILD_ALL=1 |
43 |
|
44 |
LIBTOOLIZE_PATH=`whereis libtoolize` |
45 |
if [ "$LIBTOOLIZE_PATH" = "libtoolize:" ]; then |
46 |
echo "Can't find libtoolize. Try sudo apt-get install libtool" |
47 |
exit |
48 |
fi |
49 |
|
50 |
YASM_PATH=`whereis yasm` |
51 |
if [ "$YASM_PATH" = "yasm:" ]; then |
52 |
echo "Can't find yasm assembler. Try sudo apt-get install yasm" |
53 |
exit |
54 |
fi |
55 |
|
56 |
mkdir -p $EXTERN_DIR |
57 |
|
58 |
if [ -n "$MINGW" ]; then |
59 |
TEMP_BZ2="$BASE_UL_DIR/$EXTERN_DIR/bzip2_mingw" |
60 |
if [ ! -e "$TEMP_BZ2/lib/libbz2.a" ]; then |
61 |
#we erase and rebuild since the installation is not there |
62 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
63 |
rm -r -f bzip2_mingw |
64 |
#get the latest bzip2 library |
65 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://switch.dl.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-bin.zip; unzip bzip2-1.0.5-bin.zip -d bzip2_mingw |
66 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://sunet.dl.sourceforge.net/project/gnuwin32/bzip2/1.0.5/bzip2-1.0.5-lib.zip; unzip -o bzip2-1.0.5-lib.zip -d bzip2_mingw |
67 |
rm -f bzip2-1.0.5-lib.zip; rm -f bzip2-1.0.5-bin.zip; |
68 |
fi |
69 |
LOCAL_BZ2=$TEMP_BZ2 |
70 |
else |
71 |
#try to find libbz2 in your system |
72 |
LOCAL_BZ2_A=/usr/lib/libbz2.a |
73 |
if [ ! -e $LOCAL_BZ2_A ]; then |
74 |
[ X$LOCAL_BZ2_A != X ] && LOCAL_BZ2=`dirname $LOCAL_BZ2_A`/.. |
75 |
if [ ! -e "$LOCAL_BZ2/lib/libbz2.a" ]; then |
76 |
#wrong location and/or folders structure |
77 |
echo "you seem not to have file libbz2.a or the location is non-standard.Will be built locally." |
78 |
LOCAL_BZ2="" |
79 |
BUILD_BZ2=1 |
80 |
fi |
81 |
else |
82 |
echo "You have file libbz2.a in default system" |
83 |
echo "setting path for it to default /usr/lib/libbz2.a" |
84 |
LOCAL_BZ2="/usr" |
85 |
fi |
86 |
fi |
87 |
|
88 |
if [ -n "$MINGW" ]; then |
89 |
TEMP_Z="$BASE_UL_DIR/$EXTERN_DIR/zlib_mingw" |
90 |
if [ ! -e "$TEMP_Z/lib/libz.a" ]; then |
91 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
92 |
rm -r -f zlib_mingw; |
93 |
#get the latest zlib libraries |
94 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://sunet.dl.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-bin.zip; unzip zlib-1.2.3-bin.zip -d zlib_mingw |
95 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://kent.dl.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-lib.zip; unzip -o zlib-1.2.3-lib.zip -d zlib_mingw |
96 |
rm -f zlib-1.2.3-bin.zip; rm -f zlib-1.2.3-lib.zip; |
97 |
fi |
98 |
LOCAL_Z=$TEMP_Z |
99 |
else |
100 |
LOCAL_Z="$BASE_UL_DIR/$EXTERN_DIR/zlib/temp_zlib_install_linux" |
101 |
if [ -f "$LOCAL_Z/lib/libz.a" ]; then |
102 |
echo "libz.a found in $LOCAL_Z/lib" |
103 |
else |
104 |
#force building locally |
105 |
#does not exist systemwide |
106 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
107 |
rm -r -f zlib |
108 |
#get and compile latest zlib library |
109 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://zlib.net/fossils/zlib-1.2.5.tar.gz; tar xzf zlib-1.2.5.tar.gz; mv zlib-1.2.5 zlib; rm -f zlib-1.2.5.tar.gz |
110 |
cd zlib |
111 |
#make and install in local folder |
112 |
./configure --prefix="$LOCAL_Z" |
113 |
$MAKE && $MAKE install || exit 1 |
114 |
fi |
115 |
|
116 |
#clean all external libraries if CLEAN_EXTERNAL_BUILD=1 |
117 |
if [ -n "$CLEAN_EXTERNAL_BUILD" ]; then |
118 |
#remove previuos versions of external libs builds |
119 |
rm -r -f $EXTERN_DIR |
120 |
fi |
121 |
fi |
122 |
LIBSDLIMAGE_FLAGS="$LIBSDLIMAGE_FLAGS -I$LOCAL_Z/include" |
123 |
LIBSDLIMAGE_LDFLAGS="$LIBSDLIMAGE_LDFLAGS -L$LOCAL_Z/lib" |
124 |
|
125 |
if [ ! -n "$MINGW" ]; then |
126 |
TEMP_BZ2="$BASE_UL_DIR/$EXTERN_DIR/bzip2/temp_bzip2_install_linux" |
127 |
if [ -n "$BUILD_BZ2" ]; then |
128 |
#we have to build it either because of user will or because does not exist system wide |
129 |
if [ -z "$LOCAL_BZ2" ]; then |
130 |
#does not exist systemwide |
131 |
if [ -n "$BUILD_ALL" -a ! -e "$TEMP_BZ2" ]; then |
132 |
#we erase and rebuild since the installation is not there |
133 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
134 |
rm -r -f bzip2 |
135 |
#get and compile latest bzip2 library |
136 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz; tar xzf bzip2-1.0.5.tar.gz; mv bzip2-1.0.5 bzip2; rm -f bzip2-1.0.5.tar.gz |
137 |
cd bzip2 |
138 |
#make and install in local folder |
139 |
$MAKE && $MAKE install PREFIX="$TEMP_BZ2" || exit 1 |
140 |
fi |
141 |
#previous local install is existing, just set pointer to it |
142 |
#or override location if it was set as systemwide |
143 |
LOCAL_BZ2=$TEMP_BZ2 |
144 |
fi |
145 |
fi |
146 |
fi |
147 |
|
148 |
|
149 |
if [ -n "$MINGW" ]; then |
150 |
# plibc |
151 |
LOCAL_PLIBC="$BASE_UL_DIR/$EXTERN_DIR/plibc" |
152 |
if [ -f "$BASE_UL_DIR/$EXTERN_DIR/plibc/lib/libplibc.dll.a" ]; then |
153 |
echo "You have file libplibc.dll.a in default system: $BASE_UL_DIR/$EXTERN_DIR/plibc/lib/libplibc.dll.a" |
154 |
else |
155 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
156 |
rm -fR plibc |
157 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://ovh.dl.sourceforge.net/project/plibc/plibc/0.1.5/plibc-0.1.5.zip |
158 |
unzip plibc-0.1.5.zip -d plibc; |
159 |
rm -f plibc/lib/*.la |
160 |
rm -f plibc-0.1.5.zip |
161 |
fi |
162 |
LIBMICROHHTPD_FLAGS="-I$BASE_UL_DIR/$EXTERN_DIR/plibc/include" |
163 |
LIBMICROHHTPD_LDFLAGS="-L$BASE_UL_DIR/$EXTERN_DIR/plibc/lib" |
164 |
|
165 |
# libiconv |
166 |
LOCAL_LIBICONV="$BASE_UL_DIR/$EXTERN_DIR/libiconv/temp_libiconv_install_mingw" |
167 |
if [ -f "$LOCAL_LIBICONV/lib/libiconv.a" ]; then |
168 |
echo "libiconv.a found in $LOCAL_LIBICONV/lib" |
169 |
else |
170 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
171 |
rm -fR libiconv |
172 |
|
173 |
#download binaries |
174 |
#~ wget http://kent.dl.sourceforge.net/project/gnuwin32/libintl/0.14.4/libintl-0.14.4-dep.zip; unzip libintl-0.14.4-dep.zip -d libiconv |
175 |
#~ mkdir -p $LOCAL_LIBICONV/lib/ |
176 |
#~ mv libiconv/*.dll $LOCAL_LIBICONV/lib/ |
177 |
#~ rm -f libintl-0.14.4-dep.zip |
178 |
|
179 |
#build from sources |
180 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz |
181 |
tar zxvf libiconv-1.13.tar.gz; mv libiconv-1.13 libiconv; rm -f libiconv-1.13.tar.gz; cd libiconv |
182 |
./configure --enable-static ${HOSTARCH:+--host=$HOSTARCH} --prefix=$LOCAL_LIBICONV |
183 |
make |
184 |
make install |
185 |
fi |
186 |
LIBSDLIMAGE_FLAGS="$LIBSDLIMAGE_FLAGS -I$LOCAL_LIBICONV/include" |
187 |
#~ LIBSDLIMAGE_LDFLAGS="$LIBSDLIMAGE_LDFLAGS -L$LOCAL_LIBICONV/lib" |
188 |
|
189 |
LOCAL_LIBINTL="$BASE_UL_DIR/$EXTERN_DIR/libintl/temp_libintl_install_mingw" |
190 |
if [ -f "$LOCAL_LIBINTL/lib/libintl.dll.a" ] || [ -f "$LOCAL_LIBINTL/lib/libintl.a" ]; then |
191 |
echo "libintl libraries found in $LOCAL_LIBINTL/lib" |
192 |
else |
193 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
194 |
#download binaries |
195 |
rm -fR libintl |
196 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://garr.dl.sourceforge.net/project/gnuwin32/libintl/0.14.4/libintl-0.14.4-lib.zip; unzip -o libintl-0.14.4-lib.zip -d libintl |
197 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://switch.dl.sourceforge.net/project/gnuwin32/libintl/0.14.4/libintl-0.14.4-bin.zip; unzip -o libintl-0.14.4-bin.zip -d libintl |
198 |
rm -f libintl-0.14.4-bin.zip; rm -f libintl-0.14.4-lib.zip |
199 |
cd libintl |
200 |
mkdir -p $LOCAL_LIBINTL; |
201 |
mv bin $LOCAL_LIBINTL/; mv lib $LOCAL_LIBINTL/; mv include $LOCAL_LIBINTL/ |
202 |
mv man $LOCAL_LIBINTL/; mv share $LOCAL_LIBINTL/ |
203 |
|
204 |
# build from gettext sources |
205 |
#~ rm -fR gettext |
206 |
#~ rm -fR libintl |
207 |
#~ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz |
208 |
#~ tar zxvf gettext-0.18.1.1.tar.gz; mv gettext-0.18.1.1 gettext; cd gettext |
209 |
#~ ./configure ${HOSTARCH:+--host=$HOSTARCH} --with-libiconv-prefix=$LOCAL_LIBICONV |
210 |
#~ cd gettext-runtime/intl |
211 |
#~ make |
212 |
#~ mkdir -p $LOCAL_LIBINTL/bin; mkdir -p $LOCAL_LIBINTL/include; mkdir -p $LOCAL_LIBINTL/lib |
213 |
#~ cp ./.libs/*a $LOCAL_LIBINTL/lib |
214 |
#~ cp ./.libs/*.dll $LOCAL_LIBINTL/bin |
215 |
#~ cp *.h $LOCAL_LIBINTL/include |
216 |
#~ cd ../../../ |
217 |
#~ rm -f gettext-0.18.1.1.tar.gz |
218 |
#~ rm -fR gettext |
219 |
fi |
220 |
LIBSDLIMAGE_FLAGS="$LIBSDLIMAGE_FLAGS -I$LOCAL_LIBINTL" |
221 |
LIBSDLIMAGE_LDFLAGS="$LIBSDLIMAGE_LDFLAGS -L$LOCAL_LIBINTL/lib" |
222 |
|
223 |
# check for mingw pthread libs |
224 |
LOCAL_PTHREAD="$BASE_UL_DIR/$EXTERN_DIR/pthreads" |
225 |
if [ -f "$BASE_UL_DIR/$EXTERN_DIR/pthreads/lib/libpthread.a" ]; then |
226 |
echo "libpthread.a in $LOCAL_PTHREAD/lib/" |
227 |
else |
228 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
229 |
rm -fR pthreads |
230 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://www.mirrorservice.org/sites/sourceware.org/pub/pthreads-win32/pthreads-w32-2-8-0-release.tar.gz |
231 |
tar zxvf pthreads-w32-2-8-0-release.tar.gz; mv pthreads-w32-2-8-0-release pthreads; rm -f pthreads-w32-2-8-0-release.tar.gz; |
232 |
cd pthreads |
233 |
mkdir -p ./{include,lib,bin} |
234 |
make CROSS=i586-mingw32msvc- GC-inlined |
235 |
mv libpthreadGC2.a ./lib |
236 |
mv *.h ./include |
237 |
mv pthreadGC2.dll ./bin |
238 |
ln -s "$BASE_UL_DIR/$EXTERN_DIR/pthreads/lib/libpthreadGC2.a" "$BASE_UL_DIR/$EXTERN_DIR/pthreads/lib/libpthread.a" |
239 |
fi |
240 |
LIBMICROHHTPD_FLAGS="$LIBMICROHHTPD_FLAGS -I$BASE_UL_DIR/$EXTERN_DIR/pthreads/include" |
241 |
LIBMICROHHTPD_LDFLAGS="$LIBMICROHHTPD_LDFLAGS -L$BASE_UL_DIR/$EXTERN_DIR/pthreads/lib" |
242 |
fi |
243 |
|
244 |
|
245 |
echo "building libpng" |
246 |
if [ -n "$MINGW" ]; then |
247 |
LOCAL_LIBPNG="$BASE_UL_DIR/$EXTERN_DIR/libpng/temp_libpng_install_mingw" |
248 |
else |
249 |
LOCAL_LIBPNG="$BASE_UL_DIR/$EXTERN_DIR/libpng/temp_libpng_install_linux" |
250 |
fi |
251 |
if [ -f "$LOCAL_LIBPNG/lib/libpng.a" ]; then |
252 |
echo "libpng.a found in $LOCAL_LIBPNG/lib" |
253 |
else |
254 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
255 |
rm -fR libpng |
256 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://downloads.sourceforge.net/project/libpng/libpng14/older-releases/1.4.4/libpng-1.4.4.tar.gz |
257 |
tar zxvf libpng-1.4.4.tar.gz; rm -f libpng-1.4.4.tar.gz |
258 |
mv libpng-1.4.4 libpng; cd libpng; |
259 |
CFLAGS=-I$LOCAL_Z/include CPPFLAGS=-I$LOCAL_Z/include LDFLAGS=-L$LOCAL_Z/lib sh configure ${HOSTARCH:+--host=$HOSTARCH} --prefix=$LOCAL_LIBPNG |
260 |
make |
261 |
make install |
262 |
fi |
263 |
LIBSDLIMAGE_FLAGS="$LIBSDLIMAGE_FLAGS -I$LOCAL_LIBPNG/include" |
264 |
LIBSDLIMAGE_LDFLAGS="$LIBSDLIMAGE_LDFLAGS -L$LOCAL_LIBPNG/lib" |
265 |
|
266 |
|
267 |
echo "building x264" |
268 |
if [ -n "$LOCAL_X264" ]; then |
269 |
TEMP_X264=$LOCAL_X264 |
270 |
else |
271 |
if [ -n "$MINGW" ]; then |
272 |
#TEMP_X264="$BASE_UL_DIR/$EXTERN_DIR/x264/temp_x264_install_mingw" #would be needed only for the encoding by the chunker, so we disable it |
273 |
echo "mingw: libx264 not required for player" |
274 |
else |
275 |
TEMP_X264="$BASE_UL_DIR/$EXTERN_DIR/x264/temp_x264_install_linux" |
276 |
if [ -n "$BUILD_X264" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_X264" ]; then |
277 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
278 |
if [ -e "x264" ]; then |
279 |
cd x264 |
280 |
make clean |
281 |
else |
282 |
#get and compile latest x264 library |
283 |
if [ -n "$MAC_OS" ]; then |
284 |
$WGET_OR_CURL $WGET_OR_CURLOPT ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20110115-2245.tar.bz2 |
285 |
tar yvfx x264-snapshot-20110115-2245.tar.bz2 |
286 |
rm -f x264-snapshot-20110115-2245.tar.bz2 |
287 |
mv x264-snapshot-20110115-2245/ x264 |
288 |
else |
289 |
git clone git://git.videolan.org/x264.git |
290 |
fi |
291 |
cd x264 |
292 |
fi |
293 |
|
294 |
#make and install in local folder |
295 |
./configure --prefix="$TEMP_X264" ${HOSTARCH:+--host=$HOSTARCH} |
296 |
$MAKE && $MAKE install || exit 1 |
297 |
fi |
298 |
fi |
299 |
fi |
300 |
|
301 |
echo "building mp3lame" |
302 |
if [ -n "$LOCAL_MP3LAME" ]; then |
303 |
TEMP_MP3LAME=$LOCAL_MP3LAME |
304 |
else |
305 |
if [ -n "$MINGW" ]; then |
306 |
#TEMP_MP3LAME="$BASE_UL_DIR/$EXTERN_DIR/mp3lame/temp_mp3lame_install_mingw" #would be needed only for the encoding by the chunker, so we disable it |
307 |
echo "mingw: libmp3lame not required for player" |
308 |
else |
309 |
TEMP_MP3LAME="$BASE_UL_DIR/$EXTERN_DIR/mp3lame/temp_mp3lame_install_linux" |
310 |
if [ -n "$BUILD_MP3LAME" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_MP3LAME" ]; then |
311 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
312 |
|
313 |
if [ -e "mp3lame" ]; then |
314 |
cd mp3lame |
315 |
make clean |
316 |
else |
317 |
#get and compile latest mp3lame library |
318 |
rm -f lame-3.98.4.tar.gz |
319 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz/download; tar xzf download; rm -f download; mv lame-3.98.4 mp3lame; |
320 |
cd mp3lame |
321 |
fi |
322 |
|
323 |
#make and install in local folder |
324 |
./configure --disable-gtktest --disable-frontend --prefix="$TEMP_MP3LAME" ${HOSTARCH:+--host=$HOSTARCH} |
325 |
$MAKE && $MAKE install || exit 1 |
326 |
fi |
327 |
fi |
328 |
fi |
329 |
|
330 |
echo "building ffmpeg" |
331 |
if [ -n "$LOCAL_FFMPEG" ]; then |
332 |
TEMP_FFMPEG=$LOCAL_FFMPEG |
333 |
else |
334 |
if [ -n "$MINGW" ]; then |
335 |
TEMP_FFMPEG="$BASE_UL_DIR/$EXTERN_DIR/ffmpeg/temp_ffmpeg_install_mingw" |
336 |
else |
337 |
TEMP_FFMPEG="$BASE_UL_DIR/$EXTERN_DIR/ffmpeg/temp_ffmpeg_install_linux" |
338 |
fi |
339 |
if [ ! -e "$TEMP_X264/lib/libx264.a" ] || [ ! -e "$TEMP_MP3LAME/lib/libmp3lame.a" ] || [ ! -e "$LOCAL_Z/lib/libz.a" ] || [ ! -e "$LOCAL_BZ2/lib/libbz2.a" ]; then |
340 |
echo "Compilation of some ffmpeg dependancies failed. Check your internet connection and errors." |
341 |
fi |
342 |
if [ -e "$TEMP_X264/lib/libx264.a" ]; then |
343 |
FFMPEG_CONFIG+=" --enable-libx264" |
344 |
FFMPEG_EXTRA_CFLAGS+=" -I$TEMP_X264/include" |
345 |
fi |
346 |
if [ -e "$TEMP_MP3LAME/lib/libmp3lame.a" ]; then |
347 |
FFMPEG_CONFIG+=" --enable-libmp3lame" |
348 |
FFMPEG_EXTRA_CFLAGS+=" -I$TEMP_MP3LAME/include" |
349 |
fi |
350 |
if [ -n "$BUILD_FFMPEG" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_FFMPEG" ]; then |
351 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
352 |
|
353 |
if [ -e "ffmpeg" ]; then |
354 |
cd ffmpeg |
355 |
make clean |
356 |
else |
357 |
#get and compile ffmpeg with x264 support |
358 |
#get latest snapshot |
359 |
#rm -f ffmpeg-checkout-snapshot.tar.bz2 |
360 |
#wget http://ffmpeg.org/releases/ffmpeg-checkout-snapshot.tar.bz2; tar xjf ffmpeg-checkout-snapshot.tar.bz2; mv ffmpeg-checkout-20* ffmpeg |
361 |
#do not get latest snapshot |
362 |
#get a release tarball instead |
363 |
rm -f ffmpeg-0.6.tar.bz2 |
364 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://ffmpeg.org/releases/ffmpeg-0.6.tar.bz2; tar xjf ffmpeg-0.6.tar.bz2; rm -f ffmpeg-0.6.tar.bz2; mv ffmpeg-0.6 ffmpeg |
365 |
#svn -r 21010 checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg |
366 |
#do not get latest snapshot |
367 |
#get instead a specific one because allows output video rate resampling |
368 |
#svn -r 21010 checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg |
369 |
cd ffmpeg |
370 |
fi |
371 |
|
372 |
if [ -n "$MINGW" ]; then |
373 |
HOSTARCH_OLDSTYLE=${HOSTARCH:+--arch=i586 --enable-cross-compile --cross-prefix=i586-mingw32msvc- --target-os=$HOSTARCH --disable-sse} |
374 |
|
375 |
#configure bugfix |
376 |
sed -i -e 's/^SDL_CONFIG=/[ -z "$SDL_CONFIG" ] \&\& SDL_CONFIG=/g' ./configure; |
377 |
sed -i -e 's/check_cflags \+-Werror=missing-prototypes/#\0/g' configure; |
378 |
|
379 |
./configure $HOSTARCH_OLDSTYLE --enable-gpl --enable-nonfree --enable-version3 --disable-pthreads $FFMPEG_CONFIG --extra-cflags="$FFMPEG_EXTRA_CFLAGS -I$LOCAL_BZ2/include -I$LOCAL_Z/include" --extra-ldflags="-L$TEMP_X264/lib -L$TEMP_MP3LAME/lib -L$LOCAL_BZ2/lib -L$LOCAL_Z/lib" --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --prefix="$TEMP_FFMPEG" |
380 |
else |
381 |
./configure --enable-gpl --enable-nonfree --enable-version3 --enable-pthreads $FFMPEG_CONFIG --extra-cflags="$FFMPEG_EXTRA_CFLAGS -I$LOCAL_BZ2/include -I$LOCAL_Z/include" --extra-ldflags="-L$TEMP_X264/lib -L$TEMP_MP3LAME/lib -L$LOCAL_BZ2/lib -L$LOCAL_Z/lib" --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --prefix="$TEMP_FFMPEG" |
382 |
fi |
383 |
$MAKE && $MAKE install || exit 1 |
384 |
fi |
385 |
fi |
386 |
|
387 |
echo "building libmicrohttpd" |
388 |
if [ -n "$MINGW" ]; then |
389 |
TEMP_MHD="$BASE_UL_DIR/$EXTERN_DIR/libmicrohttpd/temp_mhd_install_mingw" |
390 |
else |
391 |
TEMP_MHD="$BASE_UL_DIR/$EXTERN_DIR/libmicrohttpd/temp_mhd_install_linux" |
392 |
fi |
393 |
if [ -n "$BUILD_MHD" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_MHD" ]; then |
394 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
395 |
|
396 |
if [ -e "libmicrohttpd" ]; then |
397 |
cd libmicrohttpd |
398 |
make clean |
399 |
else |
400 |
#get and compile libmicrohttpd lib |
401 |
if [ X`svn --version|head -1|cut -c14-16` = X1.6 ]; then |
402 |
svn --non-interactive --trust-server-cert checkout https://gnunet.org/svn/libmicrohttpd |
403 |
else |
404 |
svn --non-interactive checkout https://gnunet.org/svn/libmicrohttpd |
405 |
fi |
406 |
cd libmicrohttpd || { echo "CANNOT download libmicrohttpd"; exit 1; } |
407 |
|
408 |
fi |
409 |
|
410 |
autoreconf -fi |
411 |
if [ -n "$MINGW" ]; then |
412 |
CFLAGS="$CFLAGS $LIBMICROHHTPD_FLAGS" CPPFLAGS="$CPPFLAGS $LIBMICROHHTPD_FLAGS" LDFLAGS="$LDFLAGS $LIBMICROHHTPD_LDFLAGS" ./configure ${HOSTARCH:+--host=$HOSTARCH} --disable-curl --disable-https --enable-messages --disable-client-side --prefix="$TEMP_MHD" |
413 |
else |
414 |
./configure --disable-curl --disable-https --enable-messages --disable-client-side --prefix="$TEMP_MHD" |
415 |
fi |
416 |
$MAKE && $MAKE install || exit 1 |
417 |
fi |
418 |
|
419 |
|
420 |
echo "building SDL" |
421 |
if [ -n "$MINGW" ]; then |
422 |
TEMP_SDL="$BASE_UL_DIR/$EXTERN_DIR/sdl_mingw/temp_sdl_install" |
423 |
else |
424 |
TEMP_SDL="$BASE_UL_DIR/$EXTERN_DIR/sdl/temp_sdl_install_linux" |
425 |
fi |
426 |
if [ -n "$BUILD_SDL" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_SDL" ]; then |
427 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
428 |
|
429 |
if [ -n "$MINGW" ]; then |
430 |
# if [ ! -e "sdl_mingw" ]; then |
431 |
# # use binaries |
432 |
# $WGET_OR_CURL $WGET_OR_CURLOPT http://www.libsdl.org/release/SDL-devel-1.2.14-mingw32.tar.gz; tar zxvf SDL-devel-1.2.14-mingw32.tar.gz; mv SDL-1.2.14 sdl_mingw; |
433 |
# rm -f SDL-devel-1.2.14-mingw32.tar.gz; |
434 |
# cd sdl_mingw |
435 |
# mkdir temp_sdl_install |
436 |
# mv bin $TEMP_SDL/; mv lib $TEMP_SDL/; mv include $TEMP_SDL/; mv share $TEMP_SDL/ |
437 |
|
438 |
# build from sources |
439 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://www.libsdl.org/release/SDL-1.2.14.tar.gz; tar xzf SDL-1.2.14.tar.gz; rm -f SDL-1.2.14.tar.gz; mv SDL-1.2.14 sdl_mingw |
440 |
cd sdl_mingw |
441 |
#make and install in local folder |
442 |
./configure ${HOSTARCH:+--host=$HOSTARCH} --disable-video-directfb --disable-shared --prefix="$TEMP_SDL" |
443 |
$MAKE && $MAKE install || exit 1 |
444 |
# fi |
445 |
else |
446 |
if [ -e "sdl" ]; then |
447 |
cd sdl |
448 |
make clean |
449 |
else |
450 |
#get and compile SDL lib |
451 |
# we use a daily build because of OS X problems in 1.2.14 |
452 |
#$WGET_OR_CURL $WGET_OR_CURLOPT http://www.libsdl.org/release/SDL-1.2.14.tar.gz; tar xzf SDL-1.2.14.tar.gz; mv SDL-1.2.14 sdl; rm -f SDL-1.2.14.tar.gz |
453 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://peerstreamer.org/files/release/SDL-1.2.tar.gz; tar xzf SDL-1.2.tar.gz; mv SDL-1.2.14 sdl; rm -f SDL-1.2.tar.gz |
454 |
cd sdl |
455 |
fi |
456 |
#make and install in local folder |
457 |
./autogen.sh |
458 |
./configure --disable-video-directfb --prefix="$TEMP_SDL" |
459 |
$MAKE && $MAKE install || exit 1 |
460 |
fi |
461 |
fi |
462 |
|
463 |
echo "building SDLimage" |
464 |
if [ -n "$BUILD_SDLIMAGE" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_SDL/lib/libSDL_image.a" ]; then |
465 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
466 |
|
467 |
if [ -e "sdlimage" ]; then |
468 |
cd sdlimage |
469 |
make clean |
470 |
else |
471 |
#get and compile SDLIMAGE lib |
472 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.10.tar.gz; tar xzf SDL_image-1.2.10.tar.gz; mv SDL_image-1.2.10 sdlimage |
473 |
rm -f SDL_image-1.2.10.tar.gz |
474 |
cd sdlimage |
475 |
fi |
476 |
|
477 |
#make and install in local SDL folder |
478 |
./autogen.sh |
479 |
echo "./configure LIBPNG_CFLAGS=\"-I$LOCAL_LIBPNG/include\" LIBPNG_LIBS=\"-L$LOCAL_LIBPNG/lib\" CFLAGS=\"$CFLAGS $LIBSDLIMAGE_FLAGS -static\" CPPFLAGS=\"$CPPFLAGS $LIBSDLIMAGE_FLAGS -static\" LDFLAGS=\"$LDFLAGS $LIBSDLIMAGE_LDFLAGS -static\" ${HOSTARCH:+--host=$HOSTARCH} --prefix=\"$TEMP_SDL\" --with-sdl-prefix=\"$TEMP_SDL\" --disable-png-shared" |
480 |
|
481 |
echo "./configure CFLAGS=\"$CFLAGS -I$LOCAL_LIBPNG/include\" CPPFLAGS=\"$CPPFLAGS -I$LOCAL_LIBPNG/include\" LDFLAGS=\"$LDFLAGS -L$LOCAL_LIBPNG/lib\" ${HOSTARCH:+--host=$HOSTARCH} --prefix=\"$TEMP_SDL\" --with-sdl-prefix=\"$TEMP_SDL\" --disable-png-shared" |
482 |
|
483 |
./configure CFLAGS="$CFLAGS $LIBSDLIMAGE_FLAGS -I$LOCAL_LIBPNG/include" CPPFLAGS="$CPPFLAGS -I$LOCAL_LIBPNG/include" LDFLAGS="$LDFLAGS $LIBSDLIMAGE_LDFLAGS -L$LOCAL_LIBPNG/lib" ${HOSTARCH:+--host=$HOSTARCH} --prefix="$TEMP_SDL" --with-sdl-prefix="$TEMP_SDL" --disable-png-shared --disable-shared --disable-sdltest |
484 |
|
485 |
$MAKE && $MAKE install || exit 1 |
486 |
fi |
487 |
|
488 |
echo "building freetype" |
489 |
# SDL_ttf depends on freetype |
490 |
if [ -n "$MINGW" ]; then |
491 |
TEMP_FREETYPE="$BASE_UL_DIR/$EXTERN_DIR/freetype/temp_freetype_install_mingw" |
492 |
else |
493 |
TEMP_FREETYPE="$BASE_UL_DIR/$EXTERN_DIR/freetype/temp_freetype_install_linux" |
494 |
fi |
495 |
if [ -n "$BUILD_FREETYPE" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_FREETYPE" ]; then |
496 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
497 |
if [ -e "freetype" ]; then |
498 |
cd freetype |
499 |
make clean |
500 |
else |
501 |
#get and compile SDLTTF lib |
502 |
rm -f freetype-2.1.10.tar.gz |
503 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://mirror.lihnidos.org/GNU/savannah/freetype/freetype-2.1.10.tar.gz; tar xzf freetype-2.1.10.tar.gz; rm -f freetype-2.1.10.tar.gz; mv freetype-2.1.10 freetype |
504 |
cd freetype |
505 |
fi |
506 |
|
507 |
#make and install in local folder |
508 |
./configure ${HOSTARCH:+--host=$HOSTARCH} --prefix="$TEMP_FREETYPE" |
509 |
$MAKE && $MAKE install || exit 1 |
510 |
fi |
511 |
|
512 |
echo "building libSDL-ttf" |
513 |
if [ -n "$BUILD_SDLTTF" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_SDL/lib/libSDL_ttf.a" ]; then |
514 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
515 |
|
516 |
if [ -e "sdlttf" ]; then |
517 |
cd sdlttf |
518 |
make clean |
519 |
else |
520 |
#get and compile SDLTTF lib |
521 |
rm -f SDL_ttf-2.0.10.tar.gz |
522 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.10.tar.gz; tar xzf SDL_ttf-2.0.10.tar.gz; rm -f SDL_ttf-2.0.10.tar.gz; mv SDL_ttf-2.0.10 sdlttf |
523 |
cd sdlttf |
524 |
fi |
525 |
|
526 |
#make and install in local SDL folder |
527 |
./configure ${HOSTARCH:+--host=$HOSTARCH} --with-freetype-prefix="$TEMP_FREETYPE" --with-sdl-prefix="$TEMP_SDL" --prefix="$TEMP_SDL" --disable-shared --disable-sdltest |
528 |
$MAKE && $MAKE install || exit 1 |
529 |
fi |
530 |
|
531 |
echo "building curl" |
532 |
if [ -n "$MINGW" ]; then |
533 |
TEMP_CURL="$BASE_UL_DIR/$EXTERN_DIR/curl/temp_curl_install_mingw" |
534 |
else |
535 |
TEMP_CURL="$BASE_UL_DIR/$EXTERN_DIR/curl/temp_curl_install_linux" |
536 |
fi |
537 |
if [ -n "$BUILD_CURL" ] || [ -n "$BUILD_ALL" -a ! -e "$TEMP_CURL" ]; then |
538 |
cd "$BASE_UL_DIR/$EXTERN_DIR" |
539 |
if [ -e "curl" ]; then |
540 |
cd curl |
541 |
make clean |
542 |
else |
543 |
#get and compile CURL lib |
544 |
rm -f curl-7.21.0.tar.bz2 |
545 |
$WGET_OR_CURL $WGET_OR_CURLOPT http://curl.haxx.se/download/curl-7.21.0.tar.bz2; tar xjf curl-7.21.0.tar.bz2; rm -f curl-7.21.0.tar.bz2; mv curl-7.21.0 curl |
546 |
cd curl |
547 |
fi |
548 |
|
549 |
#make and install in local folder |
550 |
./configure ${HOSTARCH:+--host=$HOSTARCH} --without-librtmp --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smtp --without-libssh2 --without-ssl --without-krb4 --enable-static --disable-shared --without-zlib --without-libidn --prefix="$TEMP_CURL" |
551 |
$MAKE && $MAKE install || exit 1 |
552 |
fi |
553 |
|
554 |
echo "looking for libevent" |
555 |
if [ -d "$BASE_UL_DIR/../../3RDPARTY-LIBS/libevent" ]; then |
556 |
LOCAL_EVENT="$BASE_UL_DIR/../../3RDPARTY-LIBS/libevent" |
557 |
echo "found LIBEVENT in $LOCAL_EVENT" |
558 |
else |
559 |
if [ -d "$BASE_UL_DIR/../THIRDPARTY-LIBS/NAPA-BASELIBS/3RDPARTY-LIBS/libevent" ]; then |
560 |
LOCAL_EVENT="$BASE_UL_DIR/../THIRDPARTY-LIBS/NAPA-BASELIBS/3RDPARTY-LIBS/libevent" |
561 |
echo "found LIBEVENT in $LOCAL_EVENT" |
562 |
else |
563 |
if [ -d "$BASE_UL_DIR/external_libs/libevent" ]; then |
564 |
LOCAL_EVENT="$BASE_UL_DIR/external_libs/libevent" |
565 |
echo "found LIBEVENT in $LOCAL_EVENT" |
566 |
else |
567 |
if [ "$LOCAL_EVENT_A" = "" ]; then |
568 |
if [ -f "/usr/lib/libevent.a" ]; then |
569 |
echo "You have file libevent.a in default system" |
570 |
echo "setting path for it to default /usr/lib/libevent.a" |
571 |
LOCAL_EVENT="/usr" |
572 |
else |
573 |
echo "you seem not to have file libevent.a." |
574 |
echo "you will not be able to build the libevent based version" |
575 |
echo "(don't worry, the default version will still compile)." |
576 |
fi |
577 |
else |
578 |
LOCAL_EVENT=`dirname $LOCAL_EVENT_A`/.. |
579 |
fi |
580 |
fi |
581 |
fi |
582 |
fi |
583 |
|
584 |
echo "looking for libconfuse" |
585 |
if [ -d "$BASE_UL_DIR/../../3RDPARTY-LIBS/libconfuse" ]; then |
586 |
LOCAL_CONFUSE="$BASE_UL_DIR/../../3RDPARTY-LIBS/libconfuse" |
587 |
echo "found LIBCONFUSE in $LOCAL_CONFUSE" |
588 |
else |
589 |
if [ -d "$BASE_UL_DIR/../THIRDPARTY-LIBS/NAPA-BASELIBS/3RDPARTY-LIBS/libconfuse" ]; then |
590 |
LOCAL_CONFUSE="$BASE_UL_DIR/../THIRDPARTY-LIBS/NAPA-BASELIBS/3RDPARTY-LIBS/libconfuse" |
591 |
echo "found LIBCONFUSE in $LOCAL_CONFUSE" |
592 |
else |
593 |
if [ -d "$BASE_UL_DIR/external_libs/libconfuse" ]; then |
594 |
LOCAL_CONFUSE="$BASE_UL_DIR/external_libs/libconfuse" |
595 |
echo "found LIBCONFUSE in $LOCAL_CONFUSE" |
596 |
else |
597 |
if [ "$LOCAL_CONFUSE_A" = "" ]; then |
598 |
if [ -f "/usr/lib/libconfuse.a" ]; then |
599 |
echo "You have file libconfuse.a in default system" |
600 |
echo "setting path for it to default /usr/lib/libconfuse.a" |
601 |
LOCAL_CONFUSE="/usr" |
602 |
else |
603 |
echo "you seem not to have file libconfuse.a. EXITING." |
604 |
exit |
605 |
fi |
606 |
else |
607 |
LOCAL_CONFUSE=`dirname $LOCAL_CONFUSE_A`/.. |
608 |
fi |
609 |
fi |
610 |
fi |
611 |
fi |
612 |
|
613 |
#set needed paths to external libraries |
614 |
echo "-----" |
615 |
NAPA="$BASE_UL_DIR/../THIRDPARTY-LIBS/NAPA-BASELIBS" |
616 |
echo "path for NAPA base folder set to $NAPA" |
617 |
LOCAL_X264=$TEMP_X264 |
618 |
echo "path for X264 dependancy set to $LOCAL_X264" |
619 |
LOCAL_MP3LAME=$TEMP_MP3LAME |
620 |
echo "path for MP3LAME dependancy set to $LOCAL_MP3LAME" |
621 |
LOCAL_FFMPEG=$TEMP_FFMPEG |
622 |
echo "path for FFMPEG dependancy set to $LOCAL_FFMPEG" |
623 |
LOCAL_MHD=$TEMP_MHD |
624 |
echo "path for LIBMICROHTTPD dependancy set to $LOCAL_MHD" |
625 |
LOCAL_ABS_SDL=$TEMP_SDL |
626 |
echo "path for SDL dependancy set to $LOCAL_ABS_SDL" |
627 |
LOCAL_SDLIMAGE=$TEMP_SDL |
628 |
echo "path for SDLIMAGE dependancy set to $LOCAL_SDLIMAGE" |
629 |
LOCAL_SDLTTF=$TEMP_SDL |
630 |
echo "path for SDLTTF dependancy set to $LOCAL_SDLTTF" |
631 |
LOCAL_FREETYPE=$TEMP_FREETYPE |
632 |
echo "path for FREETYPE dependancy set to $LOCAL_FREETYPE" |
633 |
LOCAL_CURL=$TEMP_CURL |
634 |
echo "path for CURL dependancy set to $LOCAL_CURL" |
635 |
|
636 |
echo "path for BZ2 dependancy is set to $LOCAL_BZ2" |
637 |
echo "path for ZLIB dependancy is set to $LOCAL_Z" |
638 |
|
639 |
echo "path for LIBEVENT dependancy is set to $LOCAL_EVENT" |
640 |
echo "path for LIBCONFUSE dependancy is set to $LOCAL_CONFUSE" |
641 |
echo "-----" |
642 |
|
643 |
#compile the UL external applications |
644 |
#chunker_streamer and chunker_player |
645 |
|
646 |
#CHUNKER_STREAMER |
647 |
|
648 |
# streamer is not supported yet on windows |
649 |
if [ ! -n "$MINGW" ]; then |
650 |
echo "----------------COMPILING CHUNKER STREAMER" |
651 |
cd "$BASE_UL_DIR" |
652 |
cd chunker_streamer |
653 |
[ -n "$REBUILD" ] && $MAKE clean |
654 |
if [ -z "$MAC_OS" ]; then |
655 |
USE_AVFILTER=1 |
656 |
fi |
657 |
LOCAL_X264=$LOCAL_X264 LOCAL_MP3LAME=$LOCAL_MP3LAME LOCAL_FFMPEG=$LOCAL_FFMPEG LOCAL_BZ2=$LOCAL_BZ2 LOCAL_Z=$LOCAL_Z LOCAL_CONFUSE=$LOCAL_CONFUSE LOCAL_CURL=$LOCAL_CURL IO=$IO MAC_OS=$MAC_OS USE_AVFILTER=$USE_AVFILTER $MAKE || { echo "Failed to build CHUNKER STREAMER"; exit 1; } |
658 |
echo "----------------FINISHED COMPILING CHUNKER STREAMER" |
659 |
fi |
660 |
|
661 |
#CHUNKER_PLAYER |
662 |
echo "----------------COMPILING CHUNKER PLAYER" |
663 |
cd "$BASE_UL_DIR" |
664 |
cd chunker_player |
665 |
[ -n "$REBUILD" ] && $MAKE clean |
666 |
NAPA=$NAPA LIBEVENT_DIR=$LOCAL_EVENT LOCAL_CURL=$LOCAL_CURL LOCAL_PTHREAD=$LOCAL_PTHREAD LOCAL_LIBPNG=$LOCAL_LIBPNG LOCAL_LIBICONV=$LOCAL_LIBICONV LOCAL_LIBINTL=$LOCAL_LIBINTL LOCAL_PLIBC=$LOCAL_PLIBC LOCAL_X264=$LOCAL_X264 LOCAL_MP3LAME=$LOCAL_MP3LAME LOCAL_FFMPEG=$LOCAL_FFMPEG LOCAL_BZ2=$LOCAL_BZ2 LOCAL_Z=$LOCAL_Z LOCAL_CONFUSE=$LOCAL_CONFUSE LOCAL_MHD=$LOCAL_MHD LOCAL_ABS_SDL=$LOCAL_ABS_SDL LOCAL_SDLIMAGE=$LOCAL_SDLIMAGE LOCAL_FREETYPE=$LOCAL_FREETYPE LOCAL_SDLTTF=$LOCAL_SDLTTF IO=$IO MAC_OS=$MAC_OS $MAKE || { echo "Failed to build CHUNKER PLAYER" ; exit 1; } |
667 |
echo "----------------FINISHED COMPILING CHUNKER PLAYER" |
668 |
exit |
669 |
|
670 |
#compile a version of winestreamer with UL enabled |
671 |
#static needs fix?? |
672 |
cd "$BASE_UL_DIR/../Streamer" |
673 |
|
674 |
$MAKE IO=$IO clean |
675 |
#LOCAL_MHD=$LOCAL_MHD LOCAL_CURL=$LOCAL_CURL ULPLAYER=$BASE_UL_DIR ULPLAYER_EXTERNAL_LIBS=$EXTERN_DIR LIBEVENT_DIR=$LOCAL_EVENT ML=$ML STATIC=$STATIC MONL=$MONL IO=$IO DEBUG=$DEBUG THREADS=$THREADS MAC_OS=$MAC_OS SVNVERSION=$SVNVERSION $MAKE || { echo "Failed to build WineStreamer" ; exit 1; } |
676 |
LOCAL_CURL=$LOCAL_CURL LIBEVENT_DIR=$LOCAL_EVENT ML=$ML STATIC=$STATIC MONL=$MONL ALTO=$ALTO IO=$IO DEBUG=$DEBUG THREADS=$THREADS MAC_OS=$MAC_OS SVNVERSION=$SVNVERSION $MAKE || { echo "Failed to build WineStreamer" ; exit 1; } |
677 |
|
678 |
#check if all is ok |
679 |
echo "============== RESULTS ===================" |
680 |
|
681 |
if [ ! -n "$MINGW" ]; then |
682 |
cd "$BASE_UL_DIR/chunker_streamer" |
683 |
if [ -f "chunker_streamer" ]; then |
684 |
echo "chunker_streamer OK" |
685 |
C_STREAMER_EXE=`ls -la chunker_streamer` |
686 |
echo "$C_STREAMER_EXE" |
687 |
#now we want the bare name |
688 |
C_STREAMER_EXE=`ls chunker_streamer` |
689 |
else |
690 |
echo "chunker_streamer FAIL" |
691 |
fi |
692 |
fi |
693 |
|
694 |
cd "$BASE_UL_DIR/chunker_player" |
695 |
if [ -n "$MINGW" ]; then |
696 |
SUFFIX=".exe" |
697 |
SCRIPT_SUFFIX=".bat" |
698 |
else |
699 |
SUFFIX="" |
700 |
SCRIPT_SUFFIX=".sh" |
701 |
fi |
702 |
if [ -f "chunker_player$SUFFIX" ]; then |
703 |
echo "chunker_player OK" |
704 |
C_PLAYER_EXE=`ls -la chunker_player$SUFFIX` |
705 |
echo "$C_PLAYER_EXE" |
706 |
#now we want the bare name |
707 |
C_PLAYER_EXE=`ls chunker_player$SUFFIX` |
708 |
else |
709 |
echo "chunker_player FAIL" |
710 |
fi |
711 |
|
712 |
cd "$BASE_UL_DIR/../Streamer" |
713 |
echo "Check if the http binary is among these winestreamers:" |
714 |
ls -la winestreamer* | grep -v ".o$" |
715 |
echo "Your UL-enabled winestreamer has these flags:" |
716 |
if [ -n "$ALTO" ]; then |
717 |
GREP_ALTO_EXPR="-alto" |
718 |
GREP_ALTO_FLAGS="" |
719 |
echo "ALTO: enabled" |
720 |
else |
721 |
GREP_ALTO_EXPR="-alto" |
722 |
GREP_ALTO_FLAGS="-v" |
723 |
echo "ALTO: disabled" |
724 |
fi |
725 |
if [ "$STATIC" = "1" ]; then |
726 |
GREP_STATIC_EXPR="-halfstatic" |
727 |
GREP_STATIC_FLAGS="" |
728 |
echo "STATIC: halfstatic" |
729 |
elif [ "$STATIC" = "2" ]; then |
730 |
GREP_STATIC_EXPR="-static" |
731 |
GREP_STATIC_FLAGS="" |
732 |
echo "STATIC: static" |
733 |
else |
734 |
GREP_STATIC_EXPR="static" |
735 |
GREP_STATIC_FLAGS="-v" |
736 |
echo "STATIC: dynamic" |
737 |
fi |
738 |
echo "IO: $IO" |
739 |
IO="-"$IO |
740 |
echo "Hence your UL-enabled winestreamer should be..." |
741 |
O_TARGET_EXE=`ls winestreamer* | grep -v ".o$" | grep $GREP_STATIC_FLAGS -e "$GREP_STATIC_EXPR" | grep $GREP_ALTO_FLAGS -e "$GREP_ALTO_EXPR" | grep -e "$IO"` |
742 |
#O_TARGET_EXE=`ls winestreamer* | grep -v ".o$" | grep -e "$IO"` |
743 |
echo "$O_TARGET_EXE" |
744 |
if [ -f "$O_TARGET_EXE" ]; then |
745 |
echo "...and i found it." |
746 |
else |
747 |
echo "...but sadly it appears build FAILED!." |
748 |
fi |
749 |
|
750 |
#creating conf file with executable name inside |
751 |
cd "$BASE_UL_DIR/chunker_player" |
752 |
echo "$O_TARGET_EXE" > peer_exec_name.conf |
753 |
|
754 |
#packaging for distribution |
755 |
cd "$BASE_UL_DIR/chunker_player" |
756 |
if [ -f "$BASE_UL_DIR/../Streamer/$O_TARGET_EXE" -a -f "$C_PLAYER_EXE" ]; then |
757 |
echo "============== PACKAGING NAPAPLAYER ===================" |
758 |
rm -f -r napaplayer |
759 |
mkdir napaplayer |
760 |
mkdir napaplayer/icons |
761 |
cp icons/* napaplayer/icons/ |
762 |
cp channels.conf napaplayer/ |
763 |
cp peer_exec_name.conf napaplayer/ |
764 |
cp runme$SCRIPT_SUFFIX napaplayer/ |
765 |
cp README napaplayer/ |
766 |
cp napalogo*.bmp napaplayer/ |
767 |
cp *.ttf napaplayer/ |
768 |
cp "$C_PLAYER_EXE" napaplayer/ |
769 |
if [ -n "$MINGW" ]; then |
770 |
cp "$BASE_UL_DIR/../Streamer/$O_TARGET_EXE" napaplayer/ |
771 |
else |
772 |
cp "$BASE_UL_DIR/../Streamer/$O_TARGET_EXE" napaplayer/ |
773 |
fi |
774 |
if [ -n "$MINGW" ]; then |
775 |
cp "$LOCAL_LIBICONV/bin/libiconv-2.dll" napaplayer/libiconv2.dll |
776 |
if [ -f "$LOCAL_LIBINTL/bin/libintl-8.dll" ]; then |
777 |
cp "$LOCAL_LIBINTL/bin/libintl-8.dll" napaplayer/ |
778 |
else |
779 |
cp "$LOCAL_LIBINTL/bin/libintl3.dll" napaplayer/libintl-8.dll |
780 |
fi |
781 |
cp "$LOCAL_PLIBC/bin/libplibc-1.dll" napaplayer/ |
782 |
cp "$LOCAL_PTHREAD/bin/pthreadGC2.dll" napaplayer/ |
783 |
cp "$LOCAL_ABS_SDL/bin/SDL.dll" napaplayer/ |
784 |
rm -f -r napaplayer.zip |
785 |
zip -r napaplayer napaplayer |
786 |
if [ -s "napaplayer.zip" ]; then |
787 |
#it has size>0. OK! |
788 |
echo "Here it is your napaplayer package. Enjoy!" |
789 |
ls -la napaplayer.zip |
790 |
else |
791 |
echo "Sorry something went wrong during packaging napaplayer." |
792 |
fi |
793 |
else |
794 |
rm -f -r napaplayer.tar.gz |
795 |
tar cvfz napaplayer.tar.gz napaplayer |
796 |
if [ -s "napaplayer.tar.gz" ]; then |
797 |
#it has size>0. OK! |
798 |
echo "Here it is your napaplayer tarball. Enjoy!" |
799 |
ls -la napaplayer.tar.gz |
800 |
else |
801 |
echo "Sorry something went wrong during packaging napaplayer." |
802 |
fi |
803 |
fi |
804 |
else |
805 |
echo "" |
806 |
echo "Not packaging napaplayer since build failed." |
807 |
fi |
808 |
|
809 |
echo "Finished build UL script" |
810 |
|