comparison configure.FreeBSD @ 958:162a78d3cc08

FreeBSD support by Vladimir Kushnir vkushnir@Alfacom.net
author arpi_esp
date Sun, 03 Jun 2001 00:31:41 +0000
parents
children f8bc0e5eae0d
comparison
equal deleted inserted replaced
957:1a8811b0da3b 958:162a78d3cc08
1 #!/bin/sh
2
3 #
4 # MPlayer configurator. (C) 2000 Pontscho/fresh!mindworkz
5 # pontscho@makacs.poliod.hu
6 #
7 # Changes in reversed order:
8 #
9 # 2001/05/40 by LGB
10 # - added --prefix support
11 #
12 # 2001/05/22 by Nick Kurshev
13 # - added definition of CPU clone
14 #
15 # 2001/04/16 by LGB
16 # - added libcss stuffs
17 #
18 # 2001/04/15 by Pontscho
19 # - added --disable-select option
20 # - added X11DIR variable in config.mak and fix syncfb Makefile -L/usr/X11/lib bug
21 #
22 # 2001/03/24 by Mike Graffam:
23 # - added autodetect code for XF86VidMode, along with explicit --enable-vm
24 #
25 # 2001/03/22 by Bivanbi:
26 # - new option: --cc (to specify C compiler path+name)
27 #
28 # 2001/03/08 by LGB:
29 # - DGA detect-o-matic :)
30 # - '--disable-dga' option to force disabling DGA vo driver compiling into mplayer
31 # - line about '--enable-dga' is added to the help message
32 #
33 # 2001/02/26 by A'rpi:
34 # - added DGA option: --enable-dga
35 # - no notify if --with-win32libdir used [Tibcu]
36 #
37 # 2001/02/25 by LGB:
38 # - TMPDIR or TEMPDIR variable is honored during tests for temporary files
39 # - ChangeLog inside configure was reversed ;-)
40 #
41 # some changes by A'rpi/ESP-team:
42 # - added 'athlon' target for the new athlongcc [Ian Kumlien]
43 # - applied _win32libdir=-L patch by Magnus Pfeffer
44 #
45 # some changes by LGB:
46 # - Ehhh, AMD K6-2 returns with cpuid 5 ;-) Changing back Arpi's last change :)
47 # More info: AMD K6-2 reports with family 5, duron with 6, so I attached
48 # much finer CPU type detection based on Linux kernel's one :)
49 # (k5: 5, model<6, k6: 5, model>=6, k7: 6, model=any)
50 # - On some exit point (error) temporary files were not deleted. Fixed.
51 # - $TMP and $TMP2 are renamed to $TMPC and $TMPO ;-)
52 # - Some useless { ... } are removed
53 #
54 # some changes by A'rpi/ESP-team:
55 # - the --with-win32libdir patch by Aaron Hope applied
56 # - some english bugfix again :)
57 # - cpu type selection changed:
58 # ( k7->k6->k5-> ) || (i686->pentiumpro-> ) pentium-> i486 -> i386 -> error!
59 # - cpu type for AMD/family=5 changed k6->k5
60 #
61 # some changes by LGB (Gábor Lénárt):
62 # - SOME gcc may support 'k7', so I added tests for ALL CPU type optimization
63 # switches with the ability to find out the best optimization for your CPU.
64 # - Help moved to the begining to avoid tests if user only wants help.
65 # - A one lined help to indicate detailed help for users
66 # - Fixed /tmp race (PIDs can be predicted, I added random numbers as well)
67 #
68 # some changes by A'rpi/ESP-team:
69 # - some english bugfix :)
70 # - removed _??exists flags, _?? is enough...
71 # - creating only config.mak files instead of whole Makefiles
72 #
73 # --
74
75
76 # LGB: Help moved here.
77
78 if [ "$1" = "--help" -o "$1" = "-help" -o "$1" = "-h" ]; then
79 cat << EOF
80
81 usage: $0 [options]
82
83 params:
84 --cc use this C compiler to build MPlayer [gcc]
85 --prefix=DIR use this prefix for installing mplayer [/usr/local]
86 --enable-debug[=1-3] compile debugging information into mplayer [disable]
87 --enable-profile compile profiling information into mplayer [disable]
88 --enable-mmx build with mmx support [autodetect]
89 --enable-mmx2 build with mmx2 support (PIII, Athlon) [autodetect]
90 --enable-3dnow build with 3dnow! support [autodetect]
91 --enable-3dnowex build with 3dnow-dsp! support (K7) [autodetect]
92 --enable-sse build with sse support [autodetect]
93 --enable-gl build with OpenGL render support [autodetect]
94 --enable-dga build with DGA support [autodetect]
95 --enable-svga build with SVGAlib support [autodetect]
96 --enable-sdl build with SDL render support [autodetect]
97 --enable-mga build with mga_vid support [autodetect, if /dev/mga_vid
98 is available]
99 --enable-xmga build with mga_vid X Window support [autodetect,
100 if both /dev/mga_vid and x11 are available]
101 --enable-xv build with Xv render support for X 4.x [autodetect]
102 --enable-vm build with XF86VidMode support for x11 driver
103 --enable-x11 build with X11 render support [autodetect]
104 --enable-fbdev build with FBDev render support [_not_ autodetected]
105 --enable-mlib build with MLIB support ( only Solaris )
106
107 --enable-termcap use termcap database for key codes
108 --enable-xmmp use XMMP audio drivers
109 --enable-lirc enable LIRC (remote control) support
110
111 --disable-select disable audio select() support ( for example required this
112 option ALSA or Vortex2 driver )
113
114 --disable-dshow disable DirectShow support (if you don't have
115 C++ compiler&libs, or you've found dshow codecs
116 slower than old VfW ones)
117
118 --disable-fastmemcpy disable 3dnow/sse/mmx optimized memcpy()
119
120 --with-x11libdir=DIR X library files are in DIR
121 --with-win32libdir=DIR windows codec files
122 --with-csslibdir=DIR directory contains libcss.so shared library
123 --with-cssincdir=DIR directory contains libcss header file (css.h)
124 (--with-css* only needed, if libCSS autodetect fails)
125
126 --size-x=SIZE default screen width
127 --size-y=SIZE default screen height
128 EOF
129 exit 0
130 fi
131
132 # LGB: Some inital help
133
134 echo "You can get detailed help on configure with: $0 --help"
135 echo "Please wait while ./configure discovers your software and hardware environment!"
136
137 # LGB: temporary files
138
139 TMPC="mplayer-conf-${RANDOM}-$$-${RANDOM}.c"
140 TMPO="mplayer-conf-${RANDOM}-$$-${RANDOM}.o"
141
142 if [ ! -z $TMPDIR ]; then
143 TMPC="${TMPDIR}/${TMPC}"
144 TMPO="${TMPDIR}/${TMPO}"
145 elif [ ! -z $TEMPDIR ]; then
146 TMPC="${TEMPDIR}/${TMPC}"
147 TMPO="${TEMPDIR}/${TMPO}"
148 else
149 TMPC="/tmp/${TMPC}"
150 TMPO="/tmp/${TMPO}"
151 fi
152
153 # ---
154
155 # config files
156 CCONF='config.h'
157 MCONF='config.mak'
158
159 # --- Check for C compiler:
160
161 _cc=gcc
162 _x11=auto
163
164 _x11libdir=
165 if [ -e /usr/X11R6 ]; then
166 _x11libdir=-L/usr/X11R6/lib
167 else
168 if [ -e /usr/X11 ]; then
169 _x11libdir=-L/usr/X11/lib
170 fi
171 fi
172
173 for ac_option
174 do
175 case "$ac_option" in
176 --cc=*)
177 _cc=`echo $ac_option | cut -d '=' -f 2`
178 ;;
179 --with-x11libdir=*)
180 _x11libdir=-L`echo $ac_option | cut -d '=' -f 2`
181 ;;
182 --enable-x11)
183 _x11=yes
184 ;;
185 --disable-x11)
186 _x11=no
187 ;;
188 esac
189 done
190
191 # ---
192
193 pname=`sysctl -n hw.model`
194 pparam=`cat /var/run/dmesg.boot | grep Features | cut -d '<' -f 2 | cut -d '>' -f 1 | sed 's/,/ /g'`
195 pvendor=`cat /var/run/dmesg.boot | grep Origin | cut -d '"' -f 2 | cut -d '"' -f 1`
196 pfamily=`cat /var/run/dmesg.boot | grep Origin | cut -d '0x' -f 2 | cut -c 2`
197 pmodel=`cat /var/run/dmesg.boot | grep Origin | cut -d '0x' -f 2 | cut -c 3`
198 pstepping=`cat /var/run/dmesg.boot | grep Stepping | cut -d 'Stepping' -f 2 | cut -c 11`
199
200 _mmx=no
201 _mmx2=no
202 _3dnow=no
203 _3dnowex=no
204 _mtrr=no
205 _sse=no
206
207 _mga=no
208 _gl=no
209 _sdl=no
210 _xv=no
211 _vm=no
212 _xdpms=no
213 _3dfx=no
214 _syncfb=no
215 _mlib=no
216 _mpg123=no
217 _xmga=no
218 _dga=no
219 _dga2=no
220 _svga=no
221 _fbdev=no
222 _lirc=no
223 _css=no
224 _dshow=yes
225 _fastmemcpy=yes
226
227 _x=1
228 _y=1
229
230 _gllib=
231 _sdllib=
232 _xvlib=
233 _x11lib=
234
235 _select='#define HAVE_AUDIO_SELECT'
236
237 _gui=no;
238
239 for i in `echo $pparam`; do
240
241 case "$i" in
242 3DNow!)
243 _3dnow=yes
244 _mpg123=yes
245 ;;
246 DSP)
247 _3dnow=yes
248 _3dnowex=yes
249 _mpg123=yes
250 ;;
251 MMX)
252 _mmx=yes
253 ;;
254 MTRR)
255 _mtrr=yes
256 ;;
257 SSE)
258 _sse=yes
259 _mmx2=yes
260 ;;
261 SSE2)
262 _sse=yes
263 _mmx2=yes
264 ;;
265 esac
266
267 done
268
269
270 _win32libdirnotify=no
271 if [ -e /usr/lib/win32 ]; then
272 _win32libdir=/usr/lib/win32
273 else
274 if [ -e /usr/local/lib/win32 ]; then
275 _win32libdir=/usr/local/lib/win32
276 else
277 # This is our default:
278 _win32libdir=/usr/lib/win32
279 _win32libdirnotify=yes
280 fi
281 fi
282
283
284 if [ -e /dev/mga_vid ]; then
285 _mga=yes
286 _syncfb=yes
287 fi
288
289 proc=pentium
290 iproc=586
291
292 case "$pvendor" in
293 AuthenticAMD)
294 case "$pfamily" in
295 3)
296 proc=i386
297 iproc=386
298 ;;
299 4)
300 proc=i486
301 iproc=486
302 ;;
303 5)
304 if [ $pmodel -ge 6 ]; then # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
305 proc=k6
306 else
307 proc=k5
308 fi
309 iproc=586
310 ;;
311 6|7) # LGB: Though it seems Athlon CPUs returns with "6"
312 proc=k7
313 iproc=686
314 ;;
315 *)
316 proc=pentium
317 iproc=586
318 ;;
319 esac
320 ;;
321 GenuineIntel)
322 case "$pfamily" in
323 3)
324 proc=i386
325 iproc=386
326 ;;
327 4)
328 proc=i486
329 iproc=486
330 ;;
331 5)
332 proc=pentium
333 iproc=586
334 ;;
335 6)
336 proc=i686
337 iproc=686
338 ;;
339 *)
340 proc=pentium
341 iproc=586
342 ;;
343 esac
344 ;;
345 unknown) # added by Gabucino - upon Tibcu's request
346 case "$pfamily" in
347 3)
348 proc=i386
349 iproc=386
350 ;;
351 4)
352 proc=i486
353 iproc=486
354 ;;
355 *)
356 proc=pentium
357 iproc=586
358 ;;
359 esac
360 ;;
361 *)
362 proc=pentium
363 iproc=586
364 ;;
365 esac
366
367 # ---
368
369 cat > $TMPC << EOF
370 int main( void ) { return 0; }
371 EOF
372
373 # check that gcc supports our cpu, if not, fallback to pentium
374 # LGB: check -mcpu and -march swithing step by step with enabling
375 # to fall back till 386.
376
377 #echo -n "Checking your GCC CPU optimalization abilities: "
378 if [ "$proc" = "k7" ]; then
379 # echo -n "trying k7 "
380 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=athlon
381 fi
382 if [ "$proc" = "athlon" ]; then
383 # echo -n "trying athlon "
384 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=k6
385 fi
386 if [ "$proc" = "k6" ]; then
387 # echo -n "trying k6 "
388 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=k5
389 fi
390 if [ "$proc" = "k5" ]; then
391 # echo -n "trying k5 "
392 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=pentium
393 fi
394 if [ "$proc" = "i686" ]; then
395 # echo -n "trying i686 "
396 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=pentiumpro
397 fi
398 if [ "$proc" = "pentiumpro" ]; then
399 # echo -n "trying pentiumpro "
400 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=pentium
401 fi
402 if [ "$proc" = "pentium" ]; then
403 # echo -n "trying pentium "
404 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=i486
405 fi
406 if [ "$proc" = "i486" ]; then
407 # echo -n "trying i486 "
408 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=i386
409 fi
410 if [ "$proc" = "i386" ]; then
411 # echo -n "trying i386 "
412 $_cc $TMPC -o $TMPO -march=$proc -mcpu=$proc > /dev/null || proc=error
413 fi
414 if [ "$proc" = "error" ]; then
415 echo
416 echo "Your gcc does not support even \"i386\" for '-march' and '-mcpu'." >&2
417 rm -f $TMPC $TMPO
418 exit
419 fi
420 #echo "DONE (${proc})."
421
422
423 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -lvgagl -lvga > /dev/null && _svga=yes
424
425 $_cc $TMPC -o $TMPO -pthread > /dev/null || \
426 { echo "Lib pthread not found."; rm -f $TMPC $TMPO ; exit 1; }
427
428 # Atmosfear: added SDL versioncheck and autodetect; removed warnings.
429 _sdl=no
430 if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -L/usr/lib/ -L/usr/local/lib/ -lSDL-1.1 -pthread > /dev/null ; then
431 if test `sdl11-config --version | sed s/[=[:punct:]=]//g` -gt 116 ; then
432 if test `sdl11-config --version | sed s/[=[:punct:]=]//g` -lt 121 ; then
433 _sdlbuggy='#define BUGGY_SDL'
434 else
435 _sdlbuggy='#undef BUGGY_SDL'
436 fi
437 _sdl=yes
438 else
439 _sdl=outdated
440 fi
441 fi
442
443 # Atmosfear: added libcss autodetect
444 _css=no
445 if test -e "/usr/local/lib/libcss.so" ; then
446 _csslibdir="/usr/local/lib/"
447 if test -e "/usr/local/include/css.h" ; then
448 _cssincdir="/usr/local/include"
449 _css=yes
450 fi
451 else
452 if test -e "/usr/lib/libcss.so" ; then
453 _csslibdir="/usr/lib/"
454 if test -e "/usr/include/css.h" ; then
455 _cssincdir="/usr/include/"
456 _css=yes
457 fi
458 fi
459 fi
460
461 _termcap=no
462 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -ltermcap > /dev/null && _termcap=yes
463
464 _png=no
465 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -lpng -lz> /dev/null && _png=yes
466
467 _binutils=no
468 as libac3/downmix/downmix_i386.S -o $TMPO > /dev/null && _binutils=yes
469
470 # ----------- Check X11 and related libs (GL, Xxf86vm, Xv, DGA) --------------
471
472 if [ $_x11 = auto ]; then
473 _x11=no
474 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext > /dev/null && _x11=yes
475 fi
476
477 if [ $_x11 = yes ]; then
478
479 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXdpms > /dev/null && _xdpms=yes
480 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXv > /dev/null && _xv=yes
481 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lXxf86vm > /dev/null && _vm=yes
482
483 if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL > /dev/null; then
484 _gl=yes
485 elif $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread > /dev/null; then
486 _gl=yes
487 fi
488
489 cat > $TMPC << EOF
490 #include <GL/gl.h>
491 int main( void ) { return 0; }
492 EOF
493
494 if $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL > /dev/null; then
495 elif $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO $_x11libdir -lX11 -lXext -lGL -pthread > /dev/null;then
496 else
497 _gl=no; echo "GL includes not found!"
498 fi
499
500 cat > $TMPC << EOF
501 #include <stdio.h>
502 #include <X11/Xlib.h>
503 #include <X11/extensions/xf86dga.h>
504 int main (void) { return 0;}
505 EOF
506
507 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm > /dev/null && _dga=yes
508 # Note: the -lXxf86vm library is the VideoMode extension and though it's
509 # not needed for DGA, AFAIK every distribution packages together with DGA
510 # stuffs named 'X extensions' or something similar. This check can be usefull
511 # for further mplayer versions to set resolution by mplayer itself.
512 # If you run into problems, remove '-lXxf86vm'.
513
514 # Check if DGA is 2.0 or greater
515 cat > $TMPC << EOF
516 #include <stdio.h>
517 #include <X11/Xlib.h>
518 #include <X11/extensions/xf86dga.h>
519 int main (void) { XDGAMode mode; XDGADevice device; return 0;}
520 EOF
521
522 _dga2=no
523 $_cc -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm > /dev/null && _dga2=yes
524
525 fi
526
527 rm -f $TMPC $TMPO
528
529 # ---
530
531 # check for the parameters.
532
533 _prefix="/usr/local"
534
535 for ac_option
536 do
537 case "$ac_option" in
538 --enable-profile)
539 _profile='-p'
540 ;;
541 --enable-debug)
542 _debug='-g'
543 ;;
544 --enable-debug=*)
545 _debug=`echo -n '-g'; echo $ac_option | cut -d '=' -f 2`
546 ;;
547 --enable-css)
548 _css=yes
549 ;;
550 --enable-png)
551 _png=yes
552 ;;
553 --enable-sse)
554 _sse=yes
555 ;;
556 --enable-3dnow)
557 _3dnow=yes
558 ;;
559 --enable-3dnowex)
560 _3dnow=yes
561 _3dnowex=yes
562 ;;
563 --enable-mmx)
564 _mmx=yes
565 ;;
566 --enable-mmx2)
567 _mmx2=yes
568 ;;
569 --enable-mtrr)
570 _mtrr=yes
571 ;;
572 --enable-gl)
573 _gl=yes
574 ;;
575 --enable-sdl)
576 _sdl=yes
577 ;;
578 --enable-mga)
579 _mga=yes
580 ;;
581 --enable-xmga)
582 _xmga=yes
583 ;;
584 --enable-svga)
585 _svga=yes
586 ;;
587 --enable-dga)
588 _dga=yes
589 ;;
590 --enable-dga2)
591 _dga2=yes
592 ;;
593 --enable-xv)
594 _xv=yes
595 ;;
596 --enable-vm)
597 _vm=yes
598 ;;
599 --enable-3dfx)
600 _3dfx=yes
601 ;;
602 --enable-syncfb)
603 _syncfb=yes
604 ;;
605 --enable-fbdev)
606 _fbdev=yes
607 ;;
608 --enable-mlib)
609 _mlib=yes
610 ;;
611 --enable-termcap)
612 _termcap=yes
613 ;;
614 --enable-xmmp)
615 _xmmp=yes
616 ;;
617 --enable-lirc)
618 _lirc=yes
619 ;;
620 --enable-select)
621 _select='#define HAVE_AUDIO_SELECT'
622 ;;
623 --enable-gui)
624 _gui=yes
625 ;;
626 --disable-css)
627 _css=no
628 ;;
629 --disable-png)
630 _png=no
631 ;;
632 --disable-sse)
633 _sse=no
634 ;;
635 --disable-3dnow)
636 _3dnow=no
637 _3dnowex=no
638 ;;
639 --disable-3dnowex)
640 _3dnowex=no
641 ;;
642 --disable-mmx)
643 _mmx=no
644 _mmx2=no
645 ;;
646 --disable-mmx2)
647 _mmx2=no
648 ;;
649 --disable-mtrr)
650 _mtrr=no
651 ;;
652 --disable-gl)
653 _gl=no
654 ;;
655 --disable-sdl)
656 _sdl=no
657 ;;
658 --disable-mga)
659 _mga=no
660 ;;
661 --disable-xmga)
662 _xmga=no
663 ;;
664 --disable-xv)
665 _xv=no
666 ;;
667 --disable-vm)
668 _vm=no
669 ;;
670 --disable-mlib)
671 _mlib=no
672 ;;
673 --disable-svga)
674 _svga=no
675 ;;
676 --disable-dga)
677 _dga=no
678 ;;
679 --disable-dga2)
680 _dga2=no
681 ;;
682 --disable-fbdev)
683 _fbdev=no
684 ;;
685 --disable-termcap)
686 _termcap=no
687 ;;
688 --disable-select)
689 _select='#undef HAVE_AUDIO_SELECT'
690 ;;
691 --disable-dshow)
692 _dshow=no
693 ;;
694 --disable-fastmemcpy)
695 _fastmemcpy=no
696 ;;
697 --disable-gui)
698 _gui=no
699 ;;
700 --with-win32libdir=*)
701 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
702 _win32libdirnotify=no
703 ;;
704 --with-csslibdir=*)
705 _csslibdir=`echo $ac_option | cut -d '=' -f 2`
706 _css='yes';
707 ;;
708 --with-cssincdir=*)
709 _cssincdir=`echo $ac_option | cut -d '=' -f 2`
710 _css='yes';
711 ;;
712 --size-x=*)
713 _x=`echo $ac_option | cut -d '=' -f 2`
714 ;;
715 --size-y=*)
716 _y=`echo $ac_option | cut -d '=' -f 2`
717 ;;
718 --with-x11libdir=*)
719 ;;
720 --prefix=*)
721 _prefix=`echo $ac_option | cut -d '=' -f 2`
722 ;;
723 --cc=*)
724 ;;
725 esac
726 done
727
728 if [ $_x11 = 'yes' ]; then
729 if [ $_mga = 'yes' ]; then
730 _xmga=yes
731 fi
732 fi
733
734 # to screen.
735 echo -n "Kernel: "
736 uname -a
737 echo "Using C compiler: $_cc"
738 echo "Install prefix: $_prefix"
739 $_cc -v
740 as --version | head -n 1
741 echo "Checking for cpu vendor ... $pvendor ( $pfamily:$pmodel:$pstepping )"
742 echo "Checking for cpu type ... $pname"
743 echo "Optimizing to ... $proc"
744 echo "Checking for mmx support ... $_mmx"
745 echo "Checking for mmx2 support ... $_mmx2"
746 echo "Checking for 3dnow support ... $_3dnow"
747 echo "Checking for 3dnowex support ... $_3dnowex"
748 echo "Checking for sse support ... $_sse"
749 echo "Checking for mtrr support ... $_mtrr"
750 echo "Screen size ... ${_x}x${_y}"
751 echo "Checking for X11 libs ... $_x11libdir"
752 echo "Checking mga_vid device ... $_mga"
753 echo "Checking for xmga ... $_xmga"
754 echo "Checking for SDL ... $_sdl"
755 echo "Checking for OpenGL ... $_gl"
756 echo "Checking for Xv ... $_xv"
757 echo "Checking for X11 ... $_x11"
758 echo "Checking for DGA ... $_dga"
759 echo "Checking for DGA 2.0 .. $_dga2"
760 echo "Checking for Xf86VM ... $_vm"
761 echo "Checking for SVGAlib ... $_svga"
762 echo "Checking for FBDev ... $_fbdev"
763 echo "Checking for DeCSS support ... $_css"
764 echo "Checking for PNG support ... $_png"
765 echo "Checking for DirectShow ... $_dshow"
766 echo "Checking for fastmemcpy ... $_fastmemcpy"
767 # write conf files.
768
769 if [ $_gl = yes ]; then
770 if [ -f /usr/X11R6/bin/XFree86 ]; then
771 _gllib='-lGL -pthread'
772 else
773 _gllib='-lGL'
774 fi
775 fi
776
777 if [ $_css = yes ]; then
778 if [ ! -z $_csslibdir ]; then
779 _csslib="-L${_csslibdir} -lcss"
780 else
781 _csslib='-lcss'
782 fi
783 _css='#define HAVE_LIBCSS'
784 if [ ! -z $_cssincdir ]; then
785 _cssinc="-I${_cssincdir}"
786 else
787 _cssinc=""
788 fi
789 else
790 _css='#undef HAVE_LIBCSS'
791 _csslib=''
792 _cssinc=''
793 fi
794
795 if [ $_dshow = yes ]; then
796 _dshowlib='-Lloader/DirectShow -lDS_Filter -lstdc++'
797 _dshowdep='loader/DirectShow/libDS_Filter.a'
798 _dshow='#define USE_DIRECTSHOW'
799 else
800 _dshowlib=''
801 _dshowdep=''
802 _dshow='#undef USE_DIRECTSHOW'
803 fi
804
805 if [ $_fastmemcpy = yes ]; then
806 _fastmemcpy='#define USE_FASTMEMCPY'
807 else
808 _fastmemcpy='#undef USE_FASTMEMCPY'
809 fi
810
811 if [ $_x11 = yes ]; then
812 if [ $_xdpms = yes ]; then
813 _x11lib='-lX11 -lXext -lXdpms'
814 else
815 _x11lib='-lX11 -lXext'
816 fi
817 fi
818
819 if [ $_xv = yes ]; then
820 _xvlib='-lXv'
821 fi
822
823 if [ $_sdl = yes ]; then
824 _sdllib='-L/usr/local/lib -lSDL-1.1 -pthread'
825 fi
826
827 if [ $_dga = yes ]; then
828 _dgalib='-lXxf86dga'
829 fi
830
831 if [ $_svga = yes ]; then
832 _svgalib='-lvgagl -lvga'
833 fi
834
835 if [ $_vm = yes ]; then
836 _vmlib='-lXxf86vm'
837 fi
838
839 if [ "$_termcap" = "yes" ]; then
840 _termcap='#define USE_TERMCAP'
841 _libtermcap='-ltermcap'
842 else
843 _termcap='#undef USE_TERMCAP'
844 _libtermcap=''
845 fi
846
847 if [ "$_xmmp" = "yes" ]; then
848 _xmmpaudio='#define USE_XMMP_AUDIO'
849 _xmmplibs='-Llibxmm -lxmm'
850 else
851 _xmmpaudio='#undef USE_XMMP_AUDIO'
852 fi
853
854 if [ "$_lirc" = "yes" ]; then
855 _lircdefs='#define HAVE_LIRC'
856 _lirclibs='-llirc_client'
857 else
858 _lircdefs='#undef HAVE_LIRC'
859 _lirclibs=''
860 fi
861
862 if [ $_png = yes ]; then
863 _libpng='-L/usr/local/lib -lpng -lz'
864 fi
865
866 # Checking for CFLAGS
867 if [ "$_profile" != "" ] || [ "$_debug" != "" ]; then
868 CFLAGS="-O2 -D_THREAD_SAFE -march=$proc -mcpu=$proc $_debug $_profile"
869 else
870 if test -z "$CFLAGS"; then
871 CFLAGS="-O4 -D_THREAD_SAFE -march=$proc -mcpu=$proc -pipe -ffast-math -fomit-frame-pointer"
872 fi
873 fi
874 echo
875 echo "Creating $MCONF"
876 cat > $MCONF << EOF
877
878 # -------- Generated by ./configure -----------
879
880 ARCH=FREEBSD
881 AR=ar
882 CC=$_cc
883 X11DIR=$_x11libdir
884 # OPTFLAGS=-O4 -D_THREAD_SAFE $_profile $_debug -march=$proc -mcpu=$proc -pipe -fomit-frame-pointer -ffast-math
885 OPTFLAGS=$CFLAGS -I/usr/local/include -I/usr/X11R6/include
886 # LIBS=-L/usr/lib -L/usr/local/lib $_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib
887 X_LIBS=$_x11libdir $_gllib $_sdllib $_dgalib $_x11lib $_xvlib $_vmlib $_svgalib $_libpng
888 TERMCAP_LIB=$_libtermcap
889 XMM_LIBS = $_xmmplibs
890 LIRC_LIBS = $_lirclibs
891 CSS_LIB = $_csslib
892 CSS_INC = $_cssinc
893 WIN32_PATH=-DWIN32_PATH=\"$_win32libdir\"
894 DS_DEP = $_dshowdep
895 DS_LIB = $_dshowlib
896 prefix = $_prefix
897 ARCH_LIBS = -rdynamic -pthread
898
899 EOF
900 # echo 'CFLAGS=$(OPTFLAGS) -Wall -DMPG12PLAY' >> config.mak
901
902 echo "Creating $CCONF"
903
904 if [ "$_mmx" = "yes" ]; then
905 _mmx='#define HAVE_MMX'
906 else
907 _mmx='#undef HAVE_MMX'
908 fi
909
910 if [ "$_mmx2" = "yes" ]; then
911 _mmx2='#define HAVE_MMX2'
912 else
913 _mmx2='#undef HAVE_MMX2'
914 fi
915
916 if [ $_3dnow = yes ]; then
917 _3dnowm='#define HAVE_3DNOW'
918 else
919 _3dnowm='#undef HAVE_3DNOW'
920 fi
921
922 if [ $_3dnowex = yes ]; then
923 _3dnowexm='#define HAVE_3DNOWEX'
924 else
925 _3dnowexm='#undef HAVE_3DNOWEX'
926 fi
927
928 if [ $_sse = yes ]; then
929 _ssem='#define HAVE_SSE'
930 else
931 _ssem='#undef HAVE_SSE'
932 fi
933
934 # ---
935
936 _vosrc=''
937
938 if [ $_png = yes ]; then
939 _png='#define HAVE_PNG'
940 _vosrc=$_vosrc' vo_png.c'
941 else
942 _png='#undef HAVE_PNG'
943 fi
944
945
946 if [ $_mlib = yes ]; then
947 _mlib='#define HAVE_MLIB'
948 _vosrc=$_vosrc' yuv2rgb_mlib.c'
949 else
950 _mlib='#undef HAVE_MLIB'
951 fi
952
953 # ---
954
955 if [ $_gl = yes ]; then
956 _gl='#define HAVE_GL'
957 _vosrc=$_vosrc' vo_gl.c'
958 else
959 _gl='#undef HAVE_GL'
960 fi
961
962 if [ $_sdl = yes ]; then
963 _sdldef='#define HAVE_SDL'
964 _vosrc=$_vosrc' vo_sdl.c'
965 else
966 _sdldef='#undef HAVE_SDL'
967 fi
968
969 if [ $_x11 = yes ]; then
970 _x11='#define HAVE_X11'
971 _vosrc=$_vosrc' vo_x11.c'
972 else
973 _x11='#undef HAVE_X11'
974 fi
975
976 if [ $_xv = yes ]; then
977 _xv='#define HAVE_XV'
978 _vosrc=$_vosrc' vo_xv.c'
979 else
980 _xv='#undef HAVE_XV'
981 fi
982
983 if [ $_vm = yes ]; then
984 _vm='#define HAVE_XF86VM'
985 else
986 _vm='#undef HAVE_XF86VM'
987 fi
988
989 # ---
990
991 if [ $_mga = yes ]; then
992 _mga='#define HAVE_MGA'
993 _vosrc=$_vosrc' vo_mga.c'
994 else
995 _mga='#undef HAVE_MGA'
996 fi
997 if [ $_xmga = yes ]; then
998 _vosrc=$_vosrc' vo_xmga.c'
999 fi
1000
1001 if [ $_syncfb = yes ]; then
1002 _syncfb='#define HAVE_SYNCFB'
1003 _vosrc=$_vosrc' vo_syncfb.c'
1004 else
1005 _syncfb='#undef HAVE_SYNCFB'
1006 fi
1007
1008 if [ $_3dfx = yes ]; then
1009 _3dfx='#define HAVE_3DFX'
1010 _vosrc=$_vosrc' vo_3dfx.c'
1011 else
1012 _3dfx='#undef HAVE_3DFX'
1013 fi
1014
1015 if [ $_svga = yes ]; then
1016 _svga='#define HAVE_SVGALIB'
1017 _vosrc=$_vosrc' vo_svga.c'
1018 else
1019 _svga='#undef HAVE_SVGALIB'
1020 fi
1021
1022 if [ $_dga = yes ]; then
1023 _dga='#define HAVE_DGA'
1024 _vosrc=$_vosrc' vo_dga.c vo_fsdga.c'
1025 else
1026 _dga='#undef HAVE_DGA'
1027 fi
1028
1029 if [ $_dga2 = yes ]; then
1030 _dga2='#define HAVE_DGA2'
1031 _vosrc=$_vosrc' vo_dga.c vo_fsdga.c'
1032 else
1033 _dga2='#undef HAVE_DGA2'
1034 fi
1035
1036 if [ $_fbdev = yes ]; then
1037 _fbdev='#define HAVE_FBDEV'
1038 _vosrc=$_vosrc' vo_fbdev.c'
1039 else
1040 _fbdev='#undef HAVE_FBDEV'
1041 fi
1042
1043 if [ $_mpg123 = yes ]; then
1044 _mpg123='#define DEFAULT_MPG123'
1045 else
1046 _mpg123='#undef DEFAULT_MPG123'
1047 fi
1048
1049 if [ $_gui = yes ]; then
1050 _gui='#define HAVE_GUI'
1051 else
1052 _gui='#undef HAVE_GUI'
1053 fi
1054
1055 cat > $CCONF << EOF
1056
1057 /* -------- Generated by ./configure ----------- */
1058
1059 /* Define this to enable avg. byte/sec-based AVI sync method by default:
1060 (use -bps or -nobps commandline option for run-time method selection) */
1061 #undef AVI_SYNC_BPS
1062
1063 /* Undefine this if you want soundcard-only timing by default:
1064 You can still change this with the -alsa or -noalsa command-line option!
1065 (This function was originally impemented to solve ALSA driver's big
1066 buffer problems, but it seems to be useful for every soundcard drivers) */
1067 #define ALSA_TIMER
1068
1069 /* Undefine this if you don't want to select mono audio (left or right)
1070 with a stereo MPEG layer 2/3 audio stream. The command-line option
1071 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
1072 right-only), with 0 being the default.
1073 */
1074 #define USE_FAKE_MONO
1075
1076 /* Undefine this if your soundcard driver has no working select().
1077 If you have kernel Oops, player hangups, or just no audio, you should
1078 try to recompile MPlayer with this option disabled! */
1079 $_select
1080
1081 /* You have a choice for MP3 decoding: mp3lib(mpg123) or Win32(l3codeca.acm)
1082 #define this if you prefer mpg123 (with 3Dnow! support) than l3codeca.acm
1083 (with mmx/sse optimizations)
1084 You can still change it runtime using -afm 1 (mpg123) or -afm 4 (l3codeca)*/
1085 $_mpg123
1086
1087 /* XMMP support: (test code) */
1088 $_xmmpaudio
1089 #define LIBDIR "/usr/local/lib"
1090 #define PLUGINDIR LIBDIR "/xmmp/Plugins"
1091 #define XMMP_AUDIO_DRIVER PLUGINDIR "/Sound/oss.so"
1092
1093 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
1094 #define MAX_OUTBURST 65536
1095
1096 /* set up audio OUTBURST. Do not change this! */
1097 #ifdef USE_XMMP_AUDIO
1098 #define OUTBURST 4096
1099 #else
1100 //#define OUTBURST 1024
1101 #define OUTBURST 512
1102 #endif
1103
1104 /* LIRC (remote control, see www.lirc.org) support: */
1105 $_lircdefs
1106
1107 /* DeCSS support using libcss */
1108 $_css
1109
1110 /* Define this to enable MPEG 1/2 image postprocessing (requires FAST cpu!) */
1111 #define MPEG12_POSTPROC
1112
1113 /* DirectShow support */
1114 $_dshow
1115
1116 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
1117 $_fastmemcpy
1118
1119 /* gui support, please do not edit this option */
1120 $_gui
1121
1122 /* Define if your processor stores words with the most significant
1123 byte first (like Motorola and SPARC, unlike Intel and VAX). */
1124 /* #define WORDS_BIGENDIAN */
1125
1126 #define ARCH_X86
1127
1128 /* Define this to any prefered value from 386 up to infinity with step 100 */
1129 #define __CPU__ $iproc
1130
1131 /*----------------------------------------------------------------------------
1132 **
1133 ** NOTE: Instead of modifying these definitions here, use the
1134 ** --enable/--disable options of the ./configure script!
1135 ** See ./configure --help for details.
1136 **
1137 *---------------------------------------------------------------------------*/
1138
1139 /* termcap flag for getch2.c */
1140 $_termcap
1141 $_png
1142
1143 /* Extension defines */
1144 $_mlib // available only on solaris
1145 $_3dnowm // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
1146 $_3dnowexm // only define if you have 3DNOWEX (AMD Athlon, etc.)
1147 $_mmx // only define if you have MMX
1148 $_mmx2 // only define if you have MMX2
1149 $_ssem // only define if you have SSE (Intel Pentium III or Celeron II)
1150
1151 /* libvo options */
1152 #define SCREEN_SIZE_X $_x
1153 #define SCREEN_SIZE_Y $_y
1154 $_x11
1155 $_xv
1156 $_vm
1157 $_gl
1158 $_dga
1159 $_dga2
1160 $_sdldef
1161 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
1162 $_sdlbuggy
1163 $_3dfx
1164 $_mga
1165 $_syncfb
1166 $_fbdev
1167 $_svga
1168
1169 #if defined(HAVE_GL)||defined(HAVE_X11)||defined(HAVE_XV)
1170 #define X11_FULLSCREEN
1171 #endif
1172
1173 EOF
1174
1175 echo "Creating libvo/config.mak"
1176
1177 _voobj=`echo $_vosrc | sed -e 's/\.c/\.o/g'`
1178
1179 cat > libvo/config.mak << EOF
1180
1181 include ../config.mak
1182
1183 OPTIONAL_SRCS=$_vosrc
1184 OPTIONAL_OBJS=$_voobj
1185
1186 EOF
1187
1188 echo "Creating libac3/config.mak"
1189
1190 if [ $_sse = yes ]; then
1191 _downmixc='downmix/downmix_kni.S'
1192 _downmixo='downmix/downmix_kni.o'
1193 else
1194 if [ $_3dnow = yes ]; then
1195 _downmixc='downmix/downmix_3dnow.S'
1196 _downmixo='downmix/downmix_3dnow.o'
1197 else
1198 if [ $_binutils = yes ]; then
1199 _downmixc='downmix/downmix_i386.S'
1200 _downmixo='downmix/downmix_i386.o'
1201 else
1202 _downmixc='downmix/downmix.c'
1203 _downmixo='downmix/downmix.o'
1204 cat << EOF
1205
1206 !!! Warning! fallback to slow downmix.c due the old binutils.
1207 !!! Upgrade for better audio decoding performance.
1208
1209 EOF
1210 fi
1211 fi
1212 fi
1213 cat > libac3/config.mak << EOF
1214
1215 include ../config.mak
1216
1217 OPTIONAL_SRCS = $_downmixc
1218 OPTIONAL_OBJS = $_downmixo
1219
1220 EOF
1221
1222 echo "Creating mp3lib/config.mak"
1223
1224 if [ $_3dnowex = yes ]; then
1225 _mp3libobjectsrcs='dct36_k7.s dct64_k7.s decode_k7.s dct36_3dnow.s dct64_3dnow.s decode_3dnow.s'
1226 _mp3libobjectobjs='dct36_k7.o dct64_k7.o decode_k7.o dct36_3dnow.o dct64_3dnow.o decode_3dnow.o'
1227 else
1228 if [ $_3dnow = yes ]; then
1229 _mp3libobjectsrcs='dct36_3dnow.s dct64_3dnow.s decode_3dnow.s'
1230 _mp3libobjectobjs='dct36_3dnow.o dct64_3dnow.o decode_3dnow.o'
1231 else
1232 if [ $_sse = yes ]; then
1233 _mp3libobjectsrcs='decode_sse.s'
1234 _mp3libobjectobjs='decode_sse.o'
1235 else
1236 _mp3libobjectsrcs=
1237 _mp3libobjectobjs=
1238 fi
1239 fi
1240 fi
1241
1242 cat > mp3lib/config.mak << EOF
1243
1244 include ../config.mak
1245
1246 OPTIONAL_SRCS = $_mp3libobjectsrcs
1247 OPTIONAL_OBJS = $_mp3libobjectobjs
1248
1249 EOF
1250
1251 cat << EOF
1252
1253 Config files successfully generated by ./configure !
1254 Please check config.h and config.mak files, tune CPU
1255 and optimization flags if you don't like these defaults.
1256 You can compile the program with 'make dep;make' and
1257 install with 'make install'. Good luck!
1258
1259 EOF
1260
1261 if [ $_mtrr = yes ]; then
1262 echo "Please check mtrr settings at /compat/linux/proc/mtrr (see DOCS/MTRR)"
1263 echo
1264 fi
1265
1266 if [ $_sdl = outdated ]; then
1267 echo "You have libSDL installed, but your version is outdated (earlier then"
1268 echo "v.1.1.7), SDL support has been disabled please update, if you want to"
1269 echo "use it (libSDL v1.1.8 and v1.2.0 are tested and known to work, recent"
1270 echo "versions are available from http://www.libsdl.org/)."
1271 echo "After updating you need to re-run ./configure and recompile to enable SDL."
1272 echo
1273 fi
1274
1275 if [ $_win32libdirnotify = yes ]; then
1276 echo "Missing WIN32 codecs dir at $_win32libdir !"
1277 echo "Make it and copy DLL files to there! (You can get them from your windows"
1278 echo "directory or download ftp://thot.banki.hu/esp-team/linux/MPlayer/w32codec.zip"
1279 else
1280 echo "Ok, Win32 codecs directory at $_win32libdir already exists."
1281 fi
1282