Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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