Magellan Linux

Contents of /trunk/core/mesa/mesa-8.0.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12796 - (show annotations) (download)
Tue Jul 3 11:53:00 2012 UTC (11 years, 11 months ago) by niro
File size: 19039 byte(s)
-re-worked driver handling and removed nouveau support. >=libdrm-2.4.34 not working, missing nouveau_bo.h
1 # $Id$
2
3 PNAME="mesa"
4 PVER="8.0.3"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="mesa"
8
9 PCAT="media-libs"
10 HOMEPAGE="http://mesa3d.sourceforge.net/"
11
12 MESA_DEPEND=">= dev-libs/expat-2
13 >= x11-libs/libX11-1.4
14 >= x11-libs/libXext-1.3
15 >= x11-libs/libXxf86vm-1.1
16 >= x11-libs/libXi-1.4
17 >= x11-libs/libXmu-1.1
18 >= x11-libs/libdrm-2.4.37
19 >= x11-libs/libICE-1
20 >= x11-base/opengl-update-magellan-2.2.18
21 >= x11-libs/libxcb-1
22 >= x11-libs/libXfixes-5
23 >= x11-libs/libXdamage-1
24 >= x11-libs/libvdpau-0.4.1
25 >= sys-libs/libstdc++-4.7
26 >= sys-fs/udev-185"
27 # >= x11-libs/libva-1.0.15
28
29 MESA_PROGS_DEPEND=">= virtual/glut"
30
31 SDEPEND="${MESA_DEPEND}
32 ${MESA_PROGS_DEPEND}
33 >= dev-util/pkgconfig-0.25
34 >= x11-misc/makedepend-1
35 >= x11-proto/xf86vidmodeproto-2.3
36 >= x11-libs/libXxf86vm-1.1
37 >= x11-proto/glproto-1.4.12
38 >= x11-proto/inputproto-2
39 >= x11-proto/xextproto-7.2
40 >= x11-proto/xf86driproto-2.1
41 >= x11-proto/dri2proto-2.3
42 >= x11-proto/xcb-proto-1.6
43 >= x11-proto/xproto-7
44 >= x11-proto/fixesproto-5
45 >= x11-proto/damageproto-1.2
46 >= dev-lang/python-2.7
47 >= sys-dev/llvm-3.1"
48
49 # must be set before the include of multilib!
50 EMUL_LINUX_32=true
51 sminclude xorg mtools multilib
52
53 # must be set *after* the include of xorg!
54 SRCFILE="MesaLib-${PVER/_/-}.tar.bz2"
55 # libs SRCDIR
56 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
57
58 # known drivers:
59 # dri: dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-i810,dri-mach64,dri-mga,
60 # dri-r128,dri-r300,dri-r600,dri-savage,dri-sis,dri-tdfx,dri-unichrome
61 # gallium: gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast,gallium-nouveau
62 MESA_DRI_DRIVERS="dri-swrast,dri-915,dri-i965,dri-r200,dri-radeon"
63 # gallium-nouveau not supported with >=libdrm-2.3.34 atm, nouveau_bo.h is missing
64 MESA_GALIUM_DRIVERS="gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast"
65 MESA_DRIVERS="${MESA_DRI_DRIVERS} ${MESA_GALLIUM_DRIVERS}"
66
67 # helper functions
68 driver_enabled()
69 {
70 local driver="$1"
71
72 if [[ ${MESA_DRIVERS//${driver}} != ${MESA_DRIVERS} ]]
73 then
74 return 0
75 else
76 return 1
77 fi
78 }
79
80 SRC_URI=(
81 ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
82 #sourceforge://mesa3d/${SRCFILE}
83 mirror://${PNAME}/${SRCFILE}
84 mirror://${PNAME}/libGLU.la
85 mirror://${PNAME}/libGL.la
86 mirror://${PNAME}/${PNAME}-8.0.2-multilib.patch
87 mirror://${PNAME}/${PNAME}-8.0.3-llvm31.patch
88 )
89
90 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/current | lasttarball"
91
92 split_info_mesa()
93 {
94 DESCRIPTION="Mesa3D OpenGL graphics library."
95 DEPEND="${MESA_DEPEND}"
96
97 PROVIDE="virtual/opengl"
98 }
99
100 if driver_enabled dri-swrast
101 then
102 SPLIT_PACKAGES+=" mesa-dri-swrast"
103
104 split_info_mesa-dri-swrast()
105 {
106 DESCRIPTION="Mesa Software Raster DRI driver."
107 DEPEND="== ${PCAT}/mesa-${PVER}"
108 }
109 fi
110
111 if driver_enabled dri-i810
112 then
113 SPLIT_PACKAGES+=" mesa-dri-i810"
114
115 split_info_mesa-dri-i810()
116 {
117 DESCRIPTION="Mesa Intel i810 DRI driver."
118 DEPEND="== ${PCAT}/mesa-${PVER}"
119 }
120 fi
121
122 if driver_enabled dri-i915
123 then
124 SPLIT_PACKAGES+=" mesa-dri-i915"
125
126 split_info_mesa-dri-i915()
127 {
128 DESCRIPTION="Mesa Intel i915 DRI driver."
129 DEPEND="== ${PCAT}/mesa-${PVER}"
130 }
131 fi
132
133 if driver_enabled dri-i965
134 then
135 SPLIT_PACKAGES+=" mesa-dri-i965"
136
137 split_info_mesa-dri-i965()
138 {
139 DESCRIPTION="Mesa Intel i965 DRI driver."
140 DEPEND="== ${PCAT}/mesa-${PVER}"
141 }
142 fi
143
144 if driver_enabled dri-mach64
145 then
146 SPLIT_PACKAGES+=" mesa-dri-mach64"
147
148 split_info_mesa-dri-mach64()
149 {
150 DESCRIPTION="Mesa ATI mach64 DRI driver."
151 DEPEND="== ${PCAT}/mesa-${PVER}"
152 }
153 fi
154
155 if driver_enabled dri-mga
156 then
157 SPLIT_PACKAGES+=" mesa-dri-mga"
158
159 split_info_mesa-dri-mga()
160 {
161 DESCRIPTION="Mesa Matrox mga DRI driver."
162 DEPEND="== ${PCAT}/mesa-${PVER}"
163 }
164 fi
165
166 if driver_enabled dri-r128
167 then
168 SPLIT_PACKAGES+=" mesa-dri-r128"
169
170 split_info_mesa-dri-r128()
171 {
172 DESCRIPTION="Mesa ATI Rage128 DRI driver."
173 DEPEND="== ${PCAT}/mesa-${PVER}"
174 }
175 fi
176
177 if driver_enabled dri-r200
178 then
179 SPLIT_PACKAGES+=" mesa-dri-r200"
180
181 split_info_mesa-dri-r200()
182 {
183 DESCRIPTION="Mesa ATI Radeon r200 DRI driver."
184 DEPEND="== ${PCAT}/mesa-${PVER}"
185 }
186 fi
187
188 if driver_enabled dri-r300
189 then
190 SPLIT_PACKAGES+=" mesa-dri-r300"
191
192 split_info_mesa-dri-r300()
193 {
194 DESCRIPTION="Mesa ATI Radeon r300 DRI driver."
195 DEPEND="== ${PCAT}/mesa-${PVER}"
196 }
197 fi
198
199 if driver_enabled dri-r600
200 then
201 SPLIT_PACKAGES+=" mesa-dri-r600"
202
203 split_info_mesa-dri-r600()
204 {
205 DESCRIPTION="Mesa ATI Radeon r600 DRI driver."
206 DEPEND="== ${PCAT}/mesa-${PVER}"
207 }
208 fi
209
210 if driver_enabled dri-radeon
211 then
212 SPLIT_PACKAGES+=" mesa-dri-radeon"
213
214 split_info_mesa-dri-radeon()
215 {
216 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
217 DEPEND="== ${PCAT}/mesa-${PVER}"
218 }
219 fi
220
221 if driver_enabled dri-savage
222 then
223 SPLIT_PACKAGES+=" mesa-dri-savage"
224
225 split_info_mesa-dri-savage()
226 {
227 DESCRIPTION="Mesa S3 Savage DRI driver."
228 DEPEND="== ${PCAT}/mesa-${PVER}"
229 }
230 fi
231
232 if driver_enabled dri-sis
233 then
234 SPLIT_PACKAGES+=" mesa-dri-sis"
235
236 split_info_mesa-dri-sis()
237 {
238 DESCRIPTION="Mesa SIS generic DRI driver."
239 DEPEND="== ${PCAT}/mesa-${PVER}"
240 }
241 fi
242
243 if driver_enabled dri-tdfx
244 then
245 SPLIT_PACKAGES+=" mesa-dri-tdfx"
246
247 split_info_mesa-dri-tdfx()
248 {
249 DESCRIPTION="Mesa 3DFX Voodoo DRI driver."
250 DEPEND="== ${PCAT}/mesa-${PVER}"
251 }
252 fi
253
254 if driver_enabled dri-unichrome
255 then
256 SPLIT_PACKAGES+=" mesa-dri-unichrome"
257
258 split_info_mesa-dri-unichrome()
259 {
260 DESCRIPTION="Mesa VIA Chrome DRI driver."
261 DEPEND="== ${PCAT}/mesa-${PVER}"
262 }
263 fi
264
265 if driver_enabled gallium-i915
266 then
267 SPLIT_PACKAGES+=" mesa-gallium-i915"
268
269 split_info_mesa-gallium-i915()
270 {
271 DESCRIPTION="Mesa Intel i915 Gallium driver."
272 DEPEND="== ${PCAT}/mesa-${PVER}"
273 }
274 fi
275
276 if driver_enabled gallium-i965
277 then
278 SPLIT_PACKAGES+=" mesa-gallium-i965"
279
280 split_info_mesa-gallium-i965()
281 {
282 DESCRIPTION="Mesa Intel i965 Gallium driver."
283 DEPEND="== ${PCAT}/mesa-${PVER}"
284 }
285 fi
286
287 if driver_enabled gallium-nouveau
288 then
289 SPLIT_PACKAGES+=" mesa-gallium-nouveau"
290
291 split_info_mesa-gallium-nouveau()
292 {
293 DESCRIPTION="Mesa Nvidia Nouveau Gallium driver."
294 DEPEND="== ${PCAT}/mesa-${PVER}"
295 }
296 fi
297
298 if driver_enabled gallium-r300
299 then
300 SPLIT_PACKAGES+=" mesa-gallium-r300"
301
302 split_info_mesa-gallium-r300()
303 {
304 DESCRIPTION="Mesa Ati Radeon r300 Gallium driver."
305 DEPEND="== ${PCAT}/mesa-${PVER}"
306 }
307 fi
308
309 if driver_enabled gallium-r600
310 then
311 SPLIT_PACKAGES+=" mesa-gallium-r600"
312
313 split_info_mesa-gallium-r600()
314 {
315 DESCRIPTION="Mesa Ati Radeon r600 Gallium driver."
316 DEPEND="== ${PCAT}/mesa-${PVER}"
317 }
318 fi
319
320 if driver_enabled gallium-swrast
321 then
322 SPLIT_PACKAGES+=" mesa-gallium-swrast"
323
324 split_info_mesa-gallium-swrast()
325 {
326 DESCRIPTION="Mesa Software Raster Gallium driver."
327 DEPEND="== ${PCAT}/mesa-${PVER}"
328 }
329 fi
330
331 if driver_enabled gallium-vmwgfx
332 then
333 SPLIT_PACKAGES+=" mesa-gallium-vmwgfx"
334
335 split_info_mesa-gallium-vmwgfx()
336 {
337 DESCRIPTION="Mesa Vmware generic Gallium driver."
338 DEPEND="== ${PCAT}/mesa-${PVER}"
339 }
340 fi
341
342 src_prepare()
343 {
344 munpack ${SRCFILE} || die
345
346 # fix multilib ftbfs
347 mpatch ${PNAME}-8.0.2-multilib.patch || die
348
349 # fix ftbfs with llvm-3.1
350 mpatch ${PNAME}-8.0.3-llvm31.patch || die
351
352 # no debug code in the drives (gentoo)
353 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs --no-run-if-empty sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
354
355 # get rid of glut includes
356 all-abis rm -f include/GL/glut*h || die
357
358 # fix an error in the libva detection
359 # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die
360
361 mautoreconf || die
362 }
363
364 src_compile()
365 {
366 # svga=vmwgfx
367 mconfigure \
368 --with-driver=dri \
369 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
370 --with-dri-drivers=${MESA_DRI_DRIVERS//dri-} \
371 --with-gallium-drivers=${MESA_GALIUM_DRIVERS//gallium-} \
372 --disable-debug \
373 --enable-glx-tls \
374 --enable-asm \
375 --enable-shared-glapi \
376 --enable-shared-dricore \
377 --enable-egl \
378 --enable-gles1 \
379 --enable-gles2 \
380 --enable-xa \
381 --enable-gallium-egl \
382 --enable-gallium-llvm \
383 --enable-vdpau \
384 || die
385 # --enable-va \
386
387 # only build software renderer on multilib arches
388 if [[ ${ARCH} = x86_64 ]]
389 then
390 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
391 fi
392
393 mmake -j1 || die
394 }
395
396 src_install_mesa()
397 {
398 mmake DESTDIR=${BINDIR} install || die
399
400 # # missing gl headers
401 # minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
402 #
403 # # remove private headers
404 # rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
405
406 for abi in ${MULTILIB_ABIS}
407 do
408 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
409 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
410 cd ${SRCDIR}-${abi}
411
412 # fix opengl-symlinks
413 # first remove invalid symlinks
414 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
415 # now create required opengl-symlinks
416 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
417 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
418
419 # now setup dynamic opengl
420 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
421 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
422 minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
423
424 local x
425 for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
426 ${BINDIR}/usr/$(mlibdir)/libGL.la \
427 ${BINDIR}/usr/$(mlibdir)/libGL.a
428 do
429 if [ -f ${x} -o -L ${x} ]
430 then
431 # libGL.a cause problems with tuxracer, etc
432 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
433 fi
434 done
435 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
436 do
437 if [ -f ${x} -o -L ${x} ]
438 then
439 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
440 fi
441 done
442
443 # satisfy libtool
444 minstallfile -s libGLU.la /usr/$(mlibdir) || die
445 minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
446
447 # fix libdir on 64bit arches
448 if [[ $(mlibdir) != lib ]]
449 then
450 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
451 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
452 fi
453
454 # create the two-number versioned libs (.so.#.#), since only .so.# and
455 # .so.#.#.# were made
456 local x
457 # for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
458 # ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
459 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.*
460 do
461 local lib_name_dot3="$(basename $(ls ${x}))"
462 local lib_name_dot2="${lib_name_dot3%.*}"
463 local lib_name_dot1="${lib_name_dot2%.*}"
464 local lib_name_dot0="${lib_name_dot1%.*}"
465 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
466 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
467 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
468 done
469
470 # export LIBGL_DRIVER_PATH location.
471 # we are using '/usr/lib/dri' as hardcoded location.
472 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
473 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
474 # if nvidia or ati driver are installed
475 # the dri modules will never be found by libGL
476 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
477 minstalldir /etc/env.d || die
478 MCONFIG=/etc/env.d/09mesa-${abi}
479 mclearconfig || die
480 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
481
482 # remove dri-drivers, they are in extra packages
483 rm -r ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die
484 done
485 }
486
487 if driver_enabled dri-swrast
488 then
489 src_install_mesa-dri-swrast()
490 {
491 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
492 setup_dynamic_dri classic || die
493 }
494 fi
495
496 if driver_enabled dri-i810
497 then
498 src_install_mesa-dri-i810()
499 {
500 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
501 setup_dynamic_dri classic || die
502 }
503 fi
504
505 if driver_enabled dri-i915
506 then
507 src_install_mesa-dri-i915()
508 {
509 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
510 setup_dynamic_dri classic || die
511 }
512 fi
513
514 if driver_enabled dri-i965
515 then
516 src_install_mesa-dri-i965()
517 {
518 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
519 setup_dynamic_dri classic || die
520 }
521 fi
522
523 if driver_enabled dri-mach64
524 then
525 src_install_mesa-dri-mach64()
526 {
527 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
528 setup_dynamic_dri classic || die
529 }
530 fi
531
532 if driver_enabled dri-mga
533 then
534 src_install_mesa-dri-mga()
535 {
536 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
537 setup_dynamic_dri classic || die
538 }
539 fi
540
541 if driver_enabled dri-r128
542 then
543 src_install_mesa-dri-r128()
544 {
545 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
546 setup_dynamic_dri classic || die
547 }
548 fi
549
550 if driver_enabled dri-r200
551 then
552 src_install_mesa-dri-r200()
553 {
554 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
555 setup_dynamic_dri classic || die
556 }
557 fi
558
559 if driver_enabled dri-r300
560 then
561 src_install_mesa-dri-r300()
562 {
563 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
564 setup_dynamic_dri classic || die
565 }
566 fi
567
568 if driver_enabled dri-r600
569 then
570 src_install_mesa-dri-r600()
571 {
572 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
573 setup_dynamic_dri classic || die
574 }
575 fi
576
577 if driver_enabled dri-radeon
578 then
579 src_install_mesa-dri-radeon()
580 {
581 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
582 setup_dynamic_dri classic || die
583 }
584 fi
585
586 if driver_enabled dri-savage
587 then
588 src_install_mesa-dri-savage()
589 {
590 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
591 setup_dynamic_dri classic || die
592 }
593 fi
594
595 if driver_enabled dri-sis
596 then
597 src_install_mesa-dri-sis()
598 {
599 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
600 setup_dynamic_dri classic || die
601 }
602 fi
603
604 if driver_enabled dri-tdfx
605 then
606 src_install_mesa-dri-tdfx()
607 {
608 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
609 setup_dynamic_dri classic || die
610 }
611 fi
612
613 if driver_enabled dri-unichrome
614 then
615 src_install_mesa-dri-unichrome()
616 {
617 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
618 setup_dynamic_dri classic || die
619 }
620 fi
621
622 if driver_enabled gallium-i915
623 then
624 src_install_mesa-gallium-i915()
625 {
626 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
627 setup_dynamic_dri gallium || die
628 }
629 fi
630
631 if driver_enabled gallium-i965
632 then
633 src_install_mesa-gallium-i965()
634 {
635 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
636 setup_dynamic_dri gallium || die
637 }
638 fi
639
640 if driver_enabled gallium-nouveau
641 then
642 src_install_mesa-gallium-nouveau()
643 {
644 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
645 setup_dynamic_dri gallium || die
646 }
647 fi
648
649 if driver_enabled gallium-r300
650 then
651 src_install_mesa-gallium-r300()
652 {
653 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
654 setup_dynamic_dri gallium || die
655 }
656 fi
657
658 if driver_enabled gallium-r600
659 then
660 src_install_mesa-gallium-r600()
661 {
662 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
663 setup_dynamic_dri gallium || die
664 }
665 fi
666
667 if driver_enabled gallium-swrast
668 then
669 src_install_mesa-gallium-swrast()
670 {
671 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
672 setup_dynamic_dri gallium || die
673 }
674 fi
675
676 if driver_enabled gallium-vmwgfx
677 then
678 src_install_mesa-gallium-vmwgfx()
679 {
680 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
681 setup_dynamic_dri gallium || die
682 }
683 fi
684
685 # setup_dynamic_dri $impl
686 # impl may be classic or gallium atm
687 setup_dynamic_dri()
688 {
689 local impl="$1"
690 local i
691 local abi
692
693 [[ -z ${impl} ]] && die "missing dri implementation!"
694 case ${impl} in
695 classic|gallium) ;;
696 *) die "unkown dri implementation '${impl}'!" ;;
697 esac
698
699 echo "settin up dynamic dri for a '${impl} implementation..."
700 if [[ -z ${MULTILIB_ABIS} ]]
701 then
702 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
703 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
704 do
705 echo -n " processing ${i}:"
706 if [ -f ${i} -o -L ${i} ]
707 then
708 echo -n " moving"
709 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
710 fi
711 done
712 else
713 for abi in ${MULTILIB_ABIS}
714 do
715 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
716 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
717
718 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
719 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
720 do
721 echo -n " processing ${i}"
722 if [ -f ${i} -o -L ${i} ]
723 then
724 echo -n " moving"
725 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
726 fi
727 echo " done"
728 done
729 done
730 fi
731 }
732
733 postinstall_mesa()
734 {
735 ${MROOT}/usr/sbin/opengl-update --use-old xorg
736 }
737
738 if driver_enabled dri-swrast
739 then
740 postinstall_mesa-dri-swrast()
741 {
742 ${MROOT}/usr/sbin/dri-update --use-old classic
743 }
744 fi
745
746 if driver_enabled dri-i810
747 then
748 postinstall_mesa-dri-i810()
749 {
750 ${MROOT}/usr/sbin/dri-update --use-old classic
751 }
752 fi
753
754 if driver_enabled dri-i915
755 then
756 postinstall_mesa-dri-i915()
757 {
758 ${MROOT}/usr/sbin/dri-update --use-old classic
759 }
760 fi
761
762 if driver_enabled dri-i965
763 then
764 postinstall_mesa-dri-i965()
765 {
766 ${MROOT}/usr/sbin/dri-update --use-old classic
767 }
768 fi
769
770 if driver_enabled dri-mach64
771 then
772 postinstall_mesa-dri-mach64()
773 {
774 ${MROOT}/usr/sbin/dri-update --use-old classic
775 }
776 fi
777
778 if driver_enabled dri-mga
779 then
780 postinstall_mesa-dri-mga()
781 {
782 ${MROOT}/usr/sbin/dri-update --use-old classic
783 }
784 fi
785
786 if driver_enabled dri-r128
787 then
788 postinstall_mesa-dri-r128()
789 {
790 ${MROOT}/usr/sbin/dri-update --use-old classic
791 }
792 fi
793
794 if driver_enabled dri-r200
795 then
796 postinstall_mesa-dri-r200()
797 {
798 ${MROOT}/usr/sbin/dri-update --use-old classic
799 }
800 fi
801
802 if driver_enabled dri-r300
803 then
804 postinstall_mesa-dri-r300()
805 {
806 ${MROOT}/usr/sbin/dri-update --use-old classic
807 }
808 fi
809
810 if driver_enabled dri-r600
811 then
812 postinstall_mesa-dri-r600()
813 {
814 ${MROOT}/usr/sbin/dri-update --use-old classic
815 }
816 fi
817
818 if driver_enabled dri-radeon
819 then
820 postinstall_mesa-dri-radeon()
821 {
822 ${MROOT}/usr/sbin/dri-update --use-old classic
823 }
824 fi
825
826 if driver_enabled dri-savage
827 then
828 postinstall_mesa-dri-savage()
829 {
830 ${MROOT}/usr/sbin/dri-update --use-old classic
831 }
832 fi
833
834 if driver_enabled dri-sis
835 then
836 postinstall_mesa-dri-sis()
837 {
838 ${MROOT}/usr/sbin/dri-update --use-old classic
839 }
840 fi
841
842 if driver_enabled dri-tdfx
843 then
844 postinstall_mesa-dri-tdfx()
845 {
846 ${MROOT}/usr/sbin/dri-update --use-old classic
847 }
848 fi
849
850 if driver_enabled dri-unichrome
851 then
852 postinstall_mesa-dri-unichrome()
853 {
854 ${MROOT}/usr/sbin/dri-update --use-old classic
855 }
856 fi
857
858 if driver_enabled gallium-i915
859 then
860 postinstall_mesa-gallium-i915()
861 {
862 ${MROOT}/usr/sbin/dri-update --use-old gallium
863 }
864 fi
865
866 if driver_enabled gallium-i965
867 then
868 postinstall_mesa-gallium-i965()
869 {
870 ${MROOT}/usr/sbin/dri-update --use-old gallium
871 }
872 fi
873
874 if driver_enabled gallium-nouveau
875 then
876 postinstall_mesa-gallium-nouveau()
877 {
878 ${MROOT}/usr/sbin/dri-update --use-old gallium
879 }
880 fi
881
882 if driver_enabled gallium-r300
883 then
884 postinstall_mesa-gallium-r300()
885 {
886 ${MROOT}/usr/sbin/dri-update --use-old gallium
887 }
888 fi
889
890 if driver_enabled gallium-r600
891 then
892 postinstall_mesa-gallium-r600()
893 {
894 ${MROOT}/usr/sbin/dri-update --use-old gallium
895 }
896 fi
897
898 if driver_enabled gallium-swrast
899 then
900 postinstall_mesa-gallium-swrast()
901 {
902 ${MROOT}/usr/sbin/dri-update --use-old gallium
903 }
904 fi
905
906 if driver_enabled gallium-vmwgfx
907 then
908 postinstall_mesa-gallium-vmwgfx()
909 {
910 ${MROOT}/usr/sbin/dri-update --use-old gallium
911 }
912 fi