Mercurial > mplayer.hg
annotate configure @ 374:cc3f84df9baf
Makefile.No-DS fixes
author | arpi_esp |
---|---|
date | Thu, 12 Apr 2001 00:52:22 +0000 |
parents | c39058295939 |
children | 1afdd7a8eaf9 |
rev | line source |
---|---|
1 | 1 #!/bin/sh |
2 | |
3 # | |
4 # MPlayer configurator. (C) 2000 Pontscho/fresh!mindworkz | |
5 # pontscho@makacs.poliod.hu | |
6 # | |
4 | 7 # Changes in reversed order: |
1 | 8 # |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
9 # 2001/03/24 by Mike Graffam: |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
10 # - added autodetect code for XF86VidMode, along with explicit --enable-vm |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
11 # |
196 | 12 # 2001/03/22 by Bivanbi: |
13 # - new option: --cc (to specify C compiler path+name) | |
14 # | |
15 # 2001/03/08 by LGB: | |
59 | 16 # - DGA detection-o-matic :) |
17 # - '--disable-dga' option to force disabling DGA vo driver compiling into mplayer | |
18 # - line about '--enable-dga' is added to the help message | |
19 # | |
196 | 20 # 2001/02/26 by A'rpi: |
11 | 21 # - added DGA option: --enable-dga |
22 # - no notify if --with-win32libdir used [Tibcu] | |
23 # | |
196 | 24 # 2001/02/25 by LGB: |
4 | 25 # - TMPDIR or TEMPDIR variable is honored during tests for temporary files |
26 # - ChangeLog inside configure was reversed ;-) | |
1 | 27 # |
28 # some changes by A'rpi/ESP-team: | |
4 | 29 # - added 'athlon' target for the new athlongcc [Ian Kumlien] |
30 # - applied _win32libdir=-L patch by Magnus Pfeffer | |
1 | 31 # |
32 # some changes by LGB: | |
33 # - Ehhh, AMD K6-2 returns with cpuid 5 ;-) Changing back Arpi's last change :) | |
34 # More info: AMD K6-2 reports with family 5, duron with 6, so I attached | |
35 # much finer CPU type detection based on Linux kernel's one :) | |
36 # (k5: 5, model<6, k6: 5, model>=6, k7: 6, model=any) | |
37 # - On some exit point (error) temporary files were not deleted. Fixed. | |
38 # - $TMP and $TMP2 are renamed to $TMPC and $TMPO ;-) | |
39 # - Some useless { ... } are removed | |
40 # | |
41 # some changes by A'rpi/ESP-team: | |
11 | 42 # - the --with-win32libdir patch by Aaron Hope applied |
4 | 43 # - some english bugfix again :) |
44 # - cpu type selection changed: | |
45 # ( k7->k6->k5-> ) || (i686->pentiumpro-> ) pentium-> i486 -> i386 -> error! | |
46 # - cpu type for AMD/family=5 changed k6->k5 | |
47 # | |
48 # some changes by LGB (Gábor Lénárt): | |
49 # - SOME gcc may support 'k7', so I added tests for ALL CPU type optimization | |
50 # switches with the ability to find out the best optimization for your CPU. | |
51 # - Help moved to the begining to avoid tests if user only wants help. | |
52 # - A one lined help to indicate detailed help for users | |
53 # - Fixed /tmp race (PIDs can be predicted, I added random numbers as well) | |
54 # | |
55 # some changes by A'rpi/ESP-team: | |
56 # - some english bugfix :) | |
57 # - removed _??exists flags, _?? is enough... | |
58 # - creating only config.mak files instead of whole Makefiles | |
1 | 59 # |
60 # -- | |
61 | |
62 | |
63 # LGB: Help moved here. | |
64 | |
65 if [ "$1" = "--help" -o "$1" = "-help" -o "$1" = "-h" ]; then | |
66 cat << EOF | |
67 | |
68 usage: $0 [options] | |
69 | |
70 params: | |
196 | 71 --cc use this C compiler to build MPlayer [gcc] |
1 | 72 --enable-mmx build with mmx support [autodetect] |
350 | 73 --enable-mmx2 build with mmx2 support (PIII, Athlon) [autodetect] |
1 | 74 --enable-3dnow build with 3dnow! support [autodetect] |
75 --enable-sse build with sse support [autodetect] | |
76 --enable-gl build with OpenGL render support [autodetect] | |
59 | 77 --enable-dga build with DGA support [autodetect] |
287 | 78 --enable-svga build with SVGAlib support [autodetect] |
1 | 79 --enable-sdl build with SDL render support [def.: disabled!] |
80 --enable-mga build with mga_vid support [autodetect, if /dev/mga_vid | |
81 is available] | |
82 --enable-xmga build with mga_vid X Window support [autodetect, | |
83 if both /dev/mga_vid and x11 are available] | |
84 --enable-xv build with Xv render support for X 4.x [autodetect] | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
85 --enable-vm build with XF86VidMode support for x11 driver |
1 | 86 --enable-x11 build with X11 render support [autodetect] |
225 | 87 --enable-fbdev build with FBDev render support [_not_ autodetected] |
1 | 88 --enable-mlib build with MLIB support ( only Solaris ) |
89 | |
90 --enable-termcap use termcap database for key codes | |
91 --enable-xmmp use XMMP audio drivers | |
92 --enable-lirc enable LIRC (remote control) support | |
93 | |
94 --with-x11libdir=DIR X library files are in DIR | |
95 --with-win32libdir=DIR windows codec files | |
96 | |
97 --size-x=SIZE default screen width | |
98 --size-y=SIZE default screen height | |
99 EOF | |
100 exit 0 | |
101 fi | |
102 | |
103 # LGB: Some inital help | |
104 | |
105 echo "You can get detailed help on configure with: $0 --help" | |
106 echo "Please wait while ./configure discovers your software and hardware environment!" | |
107 | |
108 # LGB: temporary files | |
109 | |
4 | 110 TMPC="mplayer-conf-${RANDOM}-$$-${RANDOM}.c" |
111 TMPO="mplayer-conf-${RANDOM}-$$-${RANDOM}.o" | |
1 | 112 |
4 | 113 if [ ! -z $TMPDIR ]; then |
114 TMPC="${TMPDIR}/${TMPC}" | |
115 TMPO="${TMPDIR}/${TMPO}" | |
116 elif [ ! -z $TEMPDIR ]; then | |
117 TMPC="${TEMPDIR}/${TMPC}" | |
118 TMPO="${TEMPDIR}/${TMPO}" | |
119 else | |
120 TMPC="/tmp/${TMPC}" | |
121 TMPO="/tmp/${TMPO}" | |
122 fi | |
1 | 123 |
124 # --- | |
125 | |
126 # config files | |
127 CCONF='config.h' | |
128 MCONF='config.mak' | |
129 | |
196 | 130 # --- Check for C compiler: |
131 | |
132 _cc=gcc | |
133 | |
134 for ac_option | |
135 do | |
136 case "$ac_option" in | |
137 --cc=*) | |
138 _cc=`echo $ac_option | cut -d '=' -f 2` | |
139 ;; | |
140 esac | |
141 done | |
142 | |
1 | 143 # --- |
144 | |
145 TAB=`echo -n -e "\t"` | |
146 pname=`cat /proc/cpuinfo | grep 'model name' | cut -d ':' -f 2` | |
147 pparam=`cat /proc/cpuinfo | grep 'features' | cut -d ':' -f 2` | |
148 if [ -z "$pparam" ]; then | |
149 pparam=`cat /proc/cpuinfo | grep 'flags' | cut -d ':' -f 2` | |
150 fi | |
151 pvendor=`cat /proc/cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2` | |
152 pfamily=`cat /proc/cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2` | |
153 pmodel=`cat /proc/cpuinfo | grep "model$TAB" | cut -d ':' -f 2 | cut -d ' ' -f 2` | |
154 pstepping=`cat /proc/cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2` | |
155 | |
156 _mmx=no | |
350 | 157 _mmx2=no |
1 | 158 _3dnow=no |
159 _mtrr=no | |
160 _sse=no | |
161 _mga=no | |
162 _gl=no | |
163 _sdl=no | |
164 _xv=no | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
165 _vm=no |
1 | 166 _x11=no |
167 _3dfx=no | |
168 _syncfb=no | |
169 _mlib=no | |
170 _mpg123=no | |
171 _xmga=no | |
11 | 172 _dga=no |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
173 _dga2=no |
287 | 174 _svga=no |
225 | 175 _fbdev=no |
1 | 176 _lirc=no |
330 | 177 _xdpms=no |
1 | 178 |
179 _x=1 | |
180 _y=1 | |
181 | |
182 _gllib= | |
183 _sdllib= | |
184 _x11lib= | |
185 _xvlib= | |
186 _xlibdir= | |
187 | |
188 for i in `echo $pparam`; do | |
189 | |
190 case "$i" in | |
191 3dnow) | |
192 _3dnow=yes | |
193 _mpg123=yes | |
194 ;; | |
195 mmx) | |
196 _mmx=yes | |
197 ;; | |
350 | 198 mmxext) |
199 _mmx2=yes | |
200 ;; | |
1 | 201 mtrr) |
202 _mtrr=yes | |
203 ;; | |
204 k6_mtrr) | |
205 _mtrr=yes | |
206 ;; | |
207 xmm) | |
208 _sse=yes | |
356 | 209 _mmx2=yes |
1 | 210 ;; |
211 sse) | |
212 _sse=yes | |
356 | 213 _mmx2=yes |
1 | 214 ;; |
215 kni) | |
216 _sse=yes | |
356 | 217 _mmx2=yes |
1 | 218 ;; |
219 esac | |
220 | |
221 done | |
222 | |
223 if [ -e /usr/X11R6 ]; then | |
224 _x11libdir=-L/usr/X11R6/lib | |
225 else | |
226 if [ -e /usr/X11 ]; then | |
227 _x11libdir=-L/usr/X11/lib | |
228 fi | |
229 fi | |
230 | |
231 _win32libdirnotify=no | |
232 if [ -e /usr/lib/win32 ]; then | |
233 _win32libdir=/usr/lib/win32 | |
234 else | |
235 if [ -e /usr/local/lib/win32 ]; then | |
236 _win32libdir=/usr/local/lib/win32 | |
237 else | |
238 # This is our default: | |
239 _win32libdir=/usr/lib/win32 | |
240 _win32libdirnotify=yes | |
241 fi | |
242 fi | |
243 | |
244 | |
245 if [ -e /dev/mga_vid ]; then | |
246 _mga=yes | |
247 _syncfb=yes | |
248 fi | |
249 | |
250 proc=pentium | |
251 | |
252 case "$pvendor" in | |
253 AuthenticAMD) | |
254 case "$pfamily" in | |
255 3) | |
256 proc=i386 | |
257 ;; | |
258 4) | |
259 proc=i486 | |
260 ;; | |
261 5) | |
262 if [ $pmodel -ge 6 ]; then # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3 | |
263 proc=k6 | |
264 else | |
265 proc=k5 | |
266 fi | |
267 ;; | |
268 6|7) # LGB: Though it seems Athlon CPUs returns with "6" | |
269 proc=k7 | |
270 ;; | |
271 *) | |
272 proc=pentium | |
273 ;; | |
274 esac | |
275 ;; | |
276 GenuineIntel) | |
277 case "$pfamily" in | |
278 3) | |
279 proc=i386 | |
280 ;; | |
281 4) | |
282 proc=i486 | |
283 ;; | |
284 5) | |
285 proc=pentium | |
286 ;; | |
287 6) | |
288 proc=i686 | |
289 ;; | |
290 *) | |
291 proc=pentium | |
292 ;; | |
293 esac | |
294 ;; | |
295 unknown) # added by Gabucino - upon Tibcu's request | |
296 case "$pfamily" in | |
297 3) | |
298 proc=i386 | |
299 ;; | |
300 4) | |
301 proc=i486 | |
302 ;; | |
303 *) | |
304 proc=pentium | |
305 ;; | |
306 esac | |
307 ;; | |
308 *) | |
309 proc=pentium | |
310 ;; | |
311 esac | |
312 | |
313 # --- | |
314 | |
315 cat > $TMPC << EOF | |
316 int main( void ) { return 0; } | |
317 EOF | |
318 | |
319 # check that gcc supports our cpu, if not, fallback to pentium | |
320 # LGB: check -mcpu and -march swithing step by step with enabling | |
321 # to fall back till 386. | |
322 | |
323 #echo -n "Checking your GCC CPU optimalization abilities: " | |
324 if [ "$proc" = "k7" ]; then | |
325 # echo -n "trying k7 " | |
196 | 326 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=athlon |
1 | 327 fi |
328 if [ "$proc" = "athlon" ]; then | |
329 # echo -n "trying athlon " | |
196 | 330 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=k6 |
1 | 331 fi |
332 if [ "$proc" = "k6" ]; then | |
333 # echo -n "trying k6 " | |
196 | 334 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=k5 |
1 | 335 fi |
336 if [ "$proc" = "k5" ]; then | |
337 # echo -n "trying k5 " | |
196 | 338 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentium |
1 | 339 fi |
340 if [ "$proc" = "i686" ]; then | |
341 # echo -n "trying i686 " | |
196 | 342 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentiumpro |
1 | 343 fi |
344 if [ "$proc" = "pentiumpro" ]; then | |
345 # echo -n "trying pentiumpro " | |
196 | 346 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=pentium |
1 | 347 fi |
348 if [ "$proc" = "pentium" ]; then | |
349 # echo -n "trying pentium " | |
196 | 350 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=i486 |
1 | 351 fi |
352 if [ "$proc" = "i486" ]; then | |
353 # echo -n "trying i486 " | |
196 | 354 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=i386 |
1 | 355 fi |
356 if [ "$proc" = "i386" ]; then | |
357 # echo -n "trying i386 " | |
196 | 358 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc &> /dev/null || proc=error |
1 | 359 fi |
360 if [ "$proc" = "error" ]; then | |
361 echo | |
362 echo "Your gcc does not support even \"i386\" for '-march' and '-mcpu'." >&2 | |
363 rm -f $TMPC $TMPO | |
364 exit | |
365 fi | |
366 #echo "DONE (${proc})." | |
367 | |
368 | |
369 # check GL & X11 & Xext & Xv & SDL & termcap libs | |
370 | |
196 | 371 $_cc $TMPC -o $TMPO $_x11libdir/ -lGL &> /dev/null && _gl=yes |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
372 $_cc $TMPC -o $TMPO $_x11libdir/ -lXxf86vm &> /dev/null && _vm=yes |
289 | 373 $_cc $TMPC -o $TMPO -lvgagl -lvga &> /dev/null && _svga=yes |
196 | 374 $_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext &> /dev/null && _x11=yes |
330 | 375 $_cc $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXdpms &> /dev/null && _xdpms=yes |
196 | 376 $_cc $TMPC -o $TMPO $_x11libdir -lXv &> /dev/null && _xv=yes |
377 $_cc $TMPC -o $TMPO $_x11libdir -L/usr/local/lib/ -lpthread &> /dev/null || \ | |
1 | 378 { echo "Lib pthread not found."; rm -f $TMPC $TMPO ; exit 1; } |
379 | |
380 # SDL disabled by default (0.11pre22-) because of the compilation problems | |
381 # this is very buggy & experimental code, use it only if you really need it!! | |
382 _have_sdl=no | |
196 | 383 $_cc $TMPC -o $TMPO $_x11libdir -L/usr/local/lib/ -lSDL -lpthread &> /dev/null && _have_sdl=yes |
1 | 384 |
385 _termcap=no | |
196 | 386 $_cc $TMPC -o $TMPO -ltermcap &> /dev/null && _termcap=yes |
1 | 387 |
388 _binutils=no | |
389 as libac3/downmix/downmix_i386.S -o $TMPO &> /dev/null && _binutils=yes | |
390 | |
59 | 391 # LGB: Check DGA |
392 | |
393 cat > $TMPC << EOF | |
394 #include <stdio.h> | |
395 #include <X11/Xlib.h> | |
396 #include <X11/extensions/xf86dga.h> | |
397 int main (void) { return 0;} | |
398 EOF | |
399 | |
400 _dga=no | |
196 | 401 $_cc $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm &> /dev/null && _dga=yes |
59 | 402 # Note: the -lXxf86vm library is the VideoMode extension and though it's |
403 # not needed for DGA, AFAIK every distribution packages together with DGA | |
404 # stuffs named 'X extensions' or something similar. This check can be usefull | |
405 # for further mplayer versions to set resolution by mplayer itself. | |
406 # If you run into problems, remove '-lXxf86vm'. | |
407 | |
408 # --- | |
409 | |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
410 # Check if DGA is 2.0 or greater |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
411 cat > $TMPC << EOF |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
412 #include <stdio.h> |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
413 #include <X11/Xlib.h> |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
414 #include <X11/extensions/xf86dga.h> |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
415 int main (void) { XDGAMode mode; XDGADevice device; return 0;} |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
416 EOF |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
417 |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
418 _dga2=no |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
419 $_cc $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm &> /dev/null && _dga2=yes |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
420 |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
421 |
1 | 422 cat > $TMPC << EOF |
423 #include <GL/gl.h> | |
424 int main( void ) { return 0; } | |
425 EOF | |
426 | |
196 | 427 $_cc $TMPC -o $TMPO $_x11libdir/ -lGL &> /dev/null || \ |
1 | 428 { _gl=no; echo "GL includes not found!";} |
429 | |
430 rm -f $TMPC $TMPO | |
431 | |
432 | |
433 if [ $_x11 = 'yes' ]; then | |
434 if [ $_mga = 'yes' ]; then | |
435 _xmga=yes | |
436 fi | |
437 fi | |
438 | |
439 # --- | |
440 | |
441 # check for the parameters. | |
442 | |
443 for ac_option | |
444 do | |
445 case "$ac_option" in | |
446 --enable-sse) | |
447 _sse=yes | |
448 ;; | |
449 --enable-3dnow) | |
450 _3dnow=yes | |
451 ;; | |
452 --enable-mmx) | |
453 _mmx=yes | |
454 ;; | |
350 | 455 --enable-mmx2) |
456 _mmx2=yes | |
457 ;; | |
72 | 458 --enable-mtrr) |
459 _mtrr=yes | |
460 ;; | |
1 | 461 --enable-gl) |
462 _gl=yes | |
463 ;; | |
464 --enable-sdl) | |
465 _sdl=yes | |
466 ;; | |
467 --enable-mga) | |
468 _mga=yes | |
469 ;; | |
470 --enable-xmga) | |
471 _xmga=yes | |
472 ;; | |
287 | 473 --enable-svga) |
474 _svga=yes | |
475 ;; | |
11 | 476 --enable-dga) |
477 _dga=yes | |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
478 ;; |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
479 --enable-dga2) |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
480 _dga2=yes |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
481 ;; |
1 | 482 --enable-xv) |
483 _xv=yes | |
484 ;; | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
485 --enable-vm) |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
486 _vm=yes |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
487 ;; |
1 | 488 --enable-x11) |
489 _x11=yes | |
490 ;; | |
491 --enable-3dfx) | |
492 _3dfx=yes | |
493 ;; | |
494 --enable-syncfb) | |
495 _syncfb=yes | |
496 ;; | |
225 | 497 --enable-fbdev) |
498 _fbdev=yes | |
499 ;; | |
1 | 500 --enable-mlib) |
501 _mlib=yes | |
502 ;; | |
503 --enable-termcap) | |
504 _termcap=yes | |
505 ;; | |
506 --enable-xmmp) | |
507 _xmmp=yes | |
508 ;; | |
509 --enable-lirc) | |
510 _lirc=yes | |
511 ;; | |
512 --disable-sse) | |
513 _sse=no | |
514 ;; | |
515 --disable-3dnow) | |
516 _3dnow=no | |
517 ;; | |
518 --disable-mmx) | |
519 _mmx=no | |
350 | 520 _mmx2=no |
1 | 521 ;; |
72 | 522 --disable-mtrr) |
523 _mtrr=no | |
524 ;; | |
1 | 525 --disable-gl) |
526 _gl=no | |
527 ;; | |
528 --disable-sdl) | |
529 _sdl=no | |
530 ;; | |
531 --disable-mga) | |
532 _mga=no | |
533 ;; | |
534 --disable-xmga) | |
535 _xmga=no | |
536 ;; | |
537 --disable-xv) | |
538 _xv=no | |
539 ;; | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
540 --disable-vm) |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
541 _vm=no |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
542 ;; |
1 | 543 --disable-x11) |
544 _x11=no | |
545 ;; | |
546 --disable-mlib) | |
547 _mlib=no | |
548 ;; | |
287 | 549 --disable-svga) |
550 _svga=no | |
551 ;; | |
59 | 552 --disable-dga) |
553 _dga=no | |
554 ;; | |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
555 --disable-dga2) |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
556 _dga2=no |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
557 ;; |
225 | 558 --disable-fbdev) |
559 _fbdev=no | |
560 ;; | |
1 | 561 --disable-termcap) |
562 _termcap=no | |
563 ;; | |
564 --with-x11libdir=*) | |
565 _x11libdir=-L`echo $ac_option | cut -d '=' -f 2` | |
566 ;; | |
567 --with-win32libdir=*) | |
568 _win32libdir=`echo $ac_option | cut -d '=' -f 2` | |
11 | 569 _win32libdirnotify=no |
1 | 570 ;; |
571 --size-x=*) | |
572 _x=`echo $ac_option | cut -d '=' -f 2` | |
573 ;; | |
574 --size-y=*) | |
575 _y=`echo $ac_option | cut -d '=' -f 2` | |
576 ;; | |
196 | 577 --cc=*) |
578 ;; | |
1 | 579 esac |
580 done | |
581 | |
582 # to screen. | |
196 | 583 echo "Using C compiler: $_cc" |
1 | 584 echo "Checking for cpu vendor ... $pvendor ( $pfamily:$pmodel:$pstepping )" |
585 echo "Checking for cpu type ... $pname" | |
586 echo "Optimizing to ... $proc" | |
587 echo "Checking for mmx support ... $_mmx" | |
350 | 588 echo "Checking for mmx2 support ... $_mmx2" |
1 | 589 echo "Checking for 3dnow support ... $_3dnow" |
590 echo "Checking for sse support ... $_sse" | |
591 echo "Checking for mtrr support ... $_mtrr" | |
592 echo "Screen size ... ${_x}x${_y}" | |
593 echo "Checking for X11 libs ... $_x11libdir" | |
594 echo "Checking mga_vid device ... $_mga" | |
595 echo "Checking for xmga ... $_xmga" | |
596 echo "Checking for SDL ... $_sdl" | |
597 echo "Checking for OpenGL ... $_gl" | |
598 echo "Checking for Xv ... $_xv" | |
599 echo "Checking for X11 ... $_x11" | |
59 | 600 echo "Checking for DGA ... $_dga" |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
601 echo "Checking for DGA 2.0 .. $_dga2" |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
602 echo "Checking for Xf86VM ... $_vm" |
287 | 603 echo "Checking for SVGAlib ... $_svga" |
225 | 604 echo "Checking for FBDev ... $_fbdev" |
1 | 605 # write conf files. |
606 | |
607 if [ $_gl = yes ]; then | |
608 _gllib='-lGL' | |
609 fi | |
610 | |
611 if [ $_x11 = yes ]; then | |
330 | 612 if [ $_xdpms = yes ]; then |
613 _x11lib='-lX11 -lXext -lXdpms' | |
614 else | |
615 _x11lib='-lX11 -lXext' | |
616 fi | |
1 | 617 fi |
618 | |
619 if [ $_xv = yes ]; then | |
620 _xvlib='-lXv' | |
621 fi | |
622 | |
623 if [ $_sdl = yes ]; then | |
624 _sdllib='-lSDL -lpthread' | |
625 fi | |
626 | |
14 | 627 if [ $_dga = yes ]; then |
628 _dgalib='-lXxf86dga' | |
629 fi | |
630 | |
287 | 631 if [ $_svga = yes ]; then |
289 | 632 _svgalib='-lvgagl -lvga' |
287 | 633 fi |
634 | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
635 if [ $_vm = yes ]; then |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
636 _vmlib='-lXxf86vm' |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
637 fi |
14 | 638 |
1 | 639 if [ "$_termcap" = "yes" ]; then |
640 _termcap='#define USE_TERMCAP' | |
641 _libtermcap='-ltermcap' | |
642 else | |
643 _termcap='#undef USE_TERMCAP' | |
644 _libtermcap='' | |
645 fi | |
646 | |
647 if [ "$_xmmp" = "yes" ]; then | |
648 _xmmpaudio='#define USE_XMMP_AUDIO' | |
649 _xmmplibs='-Llibxmm -lxmm' | |
650 else | |
651 _xmmpaudio='#undef USE_XMMP_AUDIO' | |
652 fi | |
653 | |
654 if [ "$_lirc" = "yes" ]; then | |
655 _lircdefs='#define HAVE_LIRC' | |
656 _lirclibs='-llirc_client' | |
657 else | |
658 _lircdefs='#undef HAVE_LIRC' | |
659 _lirclibs='' | |
660 fi | |
661 | |
662 | |
663 echo | |
664 echo "Creating $MCONF" | |
665 cat > $MCONF << EOF | |
666 | |
667 # -------- Generated by ./configure ----------- | |
668 | |
669 AR=ar | |
196 | 670 CC=$_cc |
1 | 671 # OPTFLAGS=-O4 -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math |
672 OPTFLAGS=-O4 -march=$proc -mcpu=$proc -pipe -ffast-math | |
14 | 673 # LIBS=-L/usr/lib -L/usr/local/lib $_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib |
287 | 674 X_LIBS=$_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib |
1 | 675 TERMCAP_LIB=$_libtermcap |
676 XMM_LIBS = $_xmmplibs | |
677 LIRC_LIBS = $_lirclibs | |
678 WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\" | |
679 | |
680 EOF | |
681 # echo 'CFLAGS=$(OPTFLAGS) -Wall -DMPG12PLAY' >> config.mak | |
682 | |
683 echo "Creating $CCONF" | |
684 | |
685 if [ "$_mmx" = "yes" ]; then | |
686 _mmx='#define HAVE_MMX' | |
687 else | |
688 _mmx='#undef HAVE_MMX' | |
689 fi | |
690 | |
350 | 691 if [ "$_mmx2" = "yes" ]; then |
692 _mmx2='#define HAVE_MMX2' | |
693 else | |
694 _mmx2='#undef HAVE_MMX2' | |
695 fi | |
696 | |
1 | 697 if [ $_3dnow = yes ]; then |
698 _3dnowm='#define HAVE_3DNOW' | |
699 else | |
700 _3dnowm='#undef HAVE_3DNOW' | |
701 fi | |
702 | |
703 if [ $_sse = yes ]; then | |
704 _ssem='#define HAVE_SSE' | |
705 else | |
706 _ssem='#undef HAVE_SSE' | |
707 fi | |
708 | |
709 # --- | |
710 | |
711 _vosrc='' | |
712 | |
713 if [ $_mlib = yes ]; then | |
714 _mlib='#define HAVE_MLIB' | |
715 _vosrc=$_vosrc' yuv2rgb_mlib.c' | |
716 else | |
717 _mlib='#undef HAVE_MLIB' | |
718 fi | |
719 | |
720 # --- | |
721 | |
722 if [ $_gl = yes ]; then | |
723 _gl='#define HAVE_GL' | |
724 _vosrc=$_vosrc' vo_gl.c' | |
725 else | |
726 _gl='#undef HAVE_GL' | |
727 fi | |
728 | |
729 if [ $_sdl = yes ]; then | |
730 _sdldef='#define HAVE_SDL' | |
731 _vosrc=$_vosrc' vo_sdl.c' | |
732 else | |
733 _sdldef='#undef HAVE_SDL' | |
734 fi | |
735 | |
736 if [ $_x11 = yes ]; then | |
737 _x11='#define HAVE_X11' | |
738 _vosrc=$_vosrc' vo_x11.c' | |
739 else | |
740 _x11='#undef HAVE_X11' | |
741 fi | |
742 | |
743 if [ $_xv = yes ]; then | |
744 _xv='#define HAVE_XV' | |
745 _vosrc=$_vosrc' vo_xv.c' | |
746 else | |
747 _xv='#undef HAVE_XV' | |
748 fi | |
749 | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
750 if [ $_vm = yes ]; then |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
751 _vm='#define HAVE_XF86VM' |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
752 else |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
753 _vm='#undef HAVE_XF86VM' |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
754 fi |
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
755 |
1 | 756 # --- |
757 | |
758 if [ $_mga = yes ]; then | |
759 _mga='#define HAVE_MGA' | |
760 _vosrc=$_vosrc' vo_mga.c' | |
761 else | |
762 _mga='#undef HAVE_MGA' | |
763 fi | |
764 if [ $_xmga = yes ]; then | |
765 _vosrc=$_vosrc' vo_xmga.c' | |
766 fi | |
767 | |
768 if [ $_syncfb = yes ]; then | |
769 _syncfb='#define HAVE_SYNCFB' | |
770 _vosrc=$_vosrc' vo_syncfb.c' | |
771 else | |
772 _syncfb='#undef HAVE_SYNCFB' | |
773 fi | |
774 | |
775 if [ $_3dfx = yes ]; then | |
776 _3dfx='#define HAVE_3DFX' | |
777 _vosrc=$_vosrc' vo_3dfx.c' | |
778 else | |
779 _3dfx='#undef HAVE_3DFX' | |
780 fi | |
781 | |
287 | 782 if [ $_svga = yes ]; then |
783 _svga='#define HAVE_SVGALIB' | |
784 _vosrc=$_vosrc' vo_svga.c' | |
785 else | |
786 _svga='#undef HAVE_SVGALIB' | |
787 fi | |
788 | |
11 | 789 if [ $_dga = yes ]; then |
790 _dga='#define HAVE_DGA' | |
38 | 791 _vosrc=$_vosrc' vo_dga.c vo_fsdga.c' |
11 | 792 else |
793 _dga='#undef HAVE_DGA' | |
794 fi | |
795 | |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
796 if [ $_dga2 = yes ]; then |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
797 _dga2='#define HAVE_DGA2' |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
798 _vosrc=$_vosrc' vo_dga.c vo_fsdga.c' |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
799 else |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
800 _dga2='#undef HAVE_DGA2' |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
801 fi |
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
802 |
225 | 803 if [ $_fbdev = yes ]; then |
804 _fbdev='#define HAVE_FBDEV' | |
805 _vosrc=$_vosrc' vo_fbdev.c' | |
806 else | |
807 _fbdev='#undef HAVE_FBDEV' | |
808 fi | |
809 | |
1 | 810 if [ $_mpg123 = yes ]; then |
811 _mpg123='#define DEFAULT_MPG123' | |
812 else | |
813 _mpg123='#undef DEFAULT_MPG123' | |
814 fi | |
815 | |
816 cat > $CCONF << EOF | |
817 | |
818 /* -------- Generated by ./configure ----------- */ | |
819 | |
820 /* Define this to enable avg. byte/sec-based AVI sync method by default: | |
821 (use -bps or -nobps commandline option for run-time method selection) */ | |
822 #undef AVI_SYNC_BPS | |
823 | |
824 /* Undefine this if you want soundcard-only timing by default: | |
825 You can still change this with the -alsa or -noalsa command-line option! | |
826 (This function was originally impemented to solve ALSA driver's big | |
827 buffer problems, but it seems to be useful for every soundcard drivers) */ | |
828 #define ALSA_TIMER | |
829 | |
830 /* Undefine this if your soundcard driver has no working select(). | |
831 If you have kernel Oops, player hangups, or just no audio, you should | |
832 try to recompile MPlayer with this option disabled! */ | |
833 #define HAVE_AUDIO_SELECT | |
834 | |
835 /* You have a choice for MP3 decoding: mp3lib(mpg123) or Win32(l3codeca.acm) | |
836 #define this if you prefer mpg123 (with 3Dnow! support) than l3codeca.acm | |
837 (with mmx/sse optimizations) | |
838 You can still change it runtime using -afm 1 (mpg123) or -afm 4 (l3codeca)*/ | |
839 $_mpg123 | |
840 | |
841 /* XMMP support: (test code) */ | |
842 $_xmmpaudio | |
843 #define LIBDIR "/usr/local/lib" | |
844 #define PLUGINDIR LIBDIR "/xmmp/Plugins" | |
845 #define XMMP_AUDIO_DRIVER PLUGINDIR "/Sound/oss.so" | |
846 | |
847 /* LIRC (remote control, see www.lirc.org) support: */ | |
848 $_lircdefs | |
849 | |
41 | 850 /* Define this to enable MPEG 1/2 image postprocessing (requires FAST cpu!) */ |
851 #define MPEG12_POSTPROC | |
852 | |
1 | 853 /* Define if your processor stores words with the most significant |
854 byte first (like Motorola and SPARC, unlike Intel and VAX). */ | |
855 /* #define WORDS_BIGENDIAN */ | |
856 | |
857 #define ARCH_X86 | |
858 | |
859 ///////////////////////////////////////////////////////////////////////////// | |
860 // | |
861 // NOTE: Instead of modifying these here, use the --enable/--disable options | |
862 // of the ./configure script! See ./configure --help for details. | |
863 // | |
864 ///////////////////////////////////////////////////////////////////////////// | |
865 | |
866 /* termcap flag for getch2.c */ | |
867 $_termcap | |
868 | |
869 /* Extension defines */ | |
870 $_mlib // available only on solaris | |
871 $_3dnowm // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.) | |
872 $_mmx // only define if you have MMX | |
350 | 873 $_mmx2 // only define if you have MMX2 |
1 | 874 $_ssem // only define if you have SSE (Intel Pentium III or Celeron II) |
875 | |
876 /* libvo options */ | |
877 #define SCREEN_SIZE_X $_x | |
878 #define SCREEN_SIZE_Y $_y | |
879 $_x11 | |
880 $_xv | |
209
26d2d4d3331a
Addes autodetection of XF86VidMode to configure, and adds a description of
mgraffam
parents:
196
diff
changeset
|
881 $_vm |
1 | 882 $_gl |
11 | 883 $_dga |
233
f62ccacbe1e5
Changes to configure to autodetect DGA 2.0 functionality, and to only use
mgraffam
parents:
225
diff
changeset
|
884 $_dga2 |
1 | 885 $_sdldef |
886 $_3dfx | |
887 $_mga | |
888 $_syncfb | |
225 | 889 $_fbdev |
287 | 890 $_svga |
1 | 891 |
23 | 892 #if defined(HAVE_GL)||defined(HAVE_X11)||defined(HAVE_XV) |
1 | 893 #define X11_FULLSCREEN |
894 #endif | |
895 | |
896 EOF | |
897 | |
898 echo "Creating libvo/config.mak" | |
899 | |
900 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'` | |
901 | |
902 cat > libvo/config.mak << EOF | |
903 | |
904 include ../config.mak | |
905 | |
906 OPTIONAL_SRCS=$_vosrc | |
907 OPTIONAL_OBJS=$_voobj | |
908 | |
909 EOF | |
910 | |
911 echo "Creating libac3/config.mak" | |
912 | |
913 if [ $_sse = yes ]; then | |
914 _downmixc='downmix/downmix_kni.S' | |
915 _downmixo='downmix/downmix_kni.o' | |
916 else | |
917 if [ $_binutils = yes ]; then | |
918 _downmixc='downmix/downmix_i386.S' | |
919 _downmixo='downmix/downmix_i386.o' | |
920 else | |
921 _downmixc='downmix/downmix.c' | |
922 _downmixo='downmix/downmix.o' | |
923 cat << EOF | |
924 | |
925 !!! Warning! fallback to slow downmix.c due the old binutils. | |
926 !!! Upgrade for better audio decoding performance. | |
927 | |
928 EOF | |
929 fi | |
930 fi | |
931 | |
932 cat > libac3/config.mak << EOF | |
933 | |
934 include ../config.mak | |
935 | |
936 OPTIONAL_SRCS = $_downmixc | |
937 OPTIONAL_OBJS = $_downmixo | |
938 | |
939 EOF | |
940 | |
941 echo "Creating mp3lib/config.mak" | |
942 | |
943 if [ $_3dnow = yes ]; then | |
944 _3dnowobjectsrcs='dct36_3dnow.s dct64_3dnow.s decode_3dnow.s' | |
945 _3dnowobjectobjs='dct36_3dnow.o dct64_3dnow.o decode_3dnow.o' | |
946 else | |
947 _3dnowobjectsrcs= | |
948 _3dnowobjectobjs= | |
949 fi | |
950 | |
951 cat > mp3lib/config.mak << EOF | |
952 | |
953 include ../config.mak | |
954 | |
955 OPTIONAL_SRCS = $_3dnowobjectsrcs | |
956 OPTIONAL_OBJS = $_3dnowobjectobjs | |
957 | |
958 EOF | |
959 | |
960 cat << EOF | |
961 | |
962 Config files successfully generated by ./configure ! | |
963 Please check config.h and config.mak files, tune CPU | |
964 and optimization flags if you don't like these defaults. | |
965 You can compile the program with 'make dep;make' and | |
966 install with 'make install'. Good luck! | |
967 | |
968 EOF | |
969 | |
970 if [ $_mtrr = yes ]; then | |
971 echo "Please check mtrr settings at /proc/mtrr (see DOCS/MTRR)" | |
972 echo | |
973 fi | |
974 | |
975 if [ $_sdl = no ]; then | |
976 if [ $_have_sdl = yes ]; then | |
977 echo "You have libSDL installed, but SDL support is disabled by default." | |
978 echo "If you want to compile MPlayer with SDL support, re-run ./configure" | |
979 echo "with --enable-sdl. But it's very buggy & experimental code, use it" | |
980 echo "only if you really need it! And it works(?) *ONLY* with SDL v1.1.7 !" | |
981 echo "(SDL driver is NOT supported, so do NOT report bugs relating to SDL!)" | |
982 echo | |
983 fi | |
984 fi | |
985 | |
986 if [ $_win32libdirnotify = yes ]; then | |
987 echo "Missing WIN32 codecs dir at $_win32libdir !" | |
988 echo "Make it and copy DLL files to there! (You can get them from your windows" | |
989 echo "directory or download ftp://thot.banki.hu/esp-team/linux/MPlayer/w32codec.zip" | |
990 else | |
991 echo "Ok, Win32 codecs directory at $_win32libdir already exists." | |
992 fi | |
993 |