Magellan Linux

Contents of /trunk/core/mesa/mesa-9.0.1-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14436 - (show annotations) (download)
Wed Dec 19 12:38:02 2012 UTC (11 years, 5 months ago) by niro
File size: 20352 byte(s)
-fixed include installation; only keep target arch on multi systems
1 # $Id$
2
3 PNAME="mesa"
4 PVER="9.0.1"
5 PBUILD="r2"
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 >= dev-libs/libffi-3.0.10
14 >= x11-libs/libX11-1.4
15 >= x11-libs/libXext-1.3
16 >= x11-libs/libXxf86vm-1.1
17 >= x11-libs/libXi-1.4
18 >= x11-libs/libXmu-1.1
19 >= x11-libs/libdrm-2.4.37
20 >= x11-libs/libICE-1
21 >= x11-base/opengl-update-2.3
22 >= x11-libs/libxcb-1
23 >= x11-libs/libXfixes-5
24 >= x11-libs/libXdamage-1
25 >= x11-libs/libvdpau-0.4.1
26 >= sys-libs/libstdc++-4.7
27 >= sys-fs/udev-185"
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.12
39 >= x11-proto/inputproto-2
40 >= x11-proto/xextproto-7.2
41 >= x11-proto/xf86driproto-2.1
42 >= x11-proto/dri2proto-2.3
43 >= x11-proto/xcb-proto-1.6
44 >= x11-proto/xproto-7
45 >= x11-proto/fixesproto-5
46 >= x11-proto/damageproto-1.2
47 >= dev-lang/python-2.7
48 >= sys-dev/llvm-3.1"
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 mconfigure \
433 --with-driver=dri \
434 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
435 --with-dri-drivers=${MESA_DRI_DRIVERS} \
436 --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \
437 --with-egl-platforms=x11,drm \
438 --disable-debug \
439 --enable-glx-tls \
440 --enable-asm \
441 --enable-shared-glapi \
442 --enable-shared-dricore \
443 --enable-egl \
444 --enable-gles1 \
445 --enable-gles2 \
446 --enable-gbm \
447 --enable-osmesa \
448 --enable-xa \
449 --enable-gallium-egl \
450 --enable-gallium-llvm \
451 --enable-vdpau \
452 || die
453 # --enable-va \
454
455 # only build software renderer on multilib arches
456 if [[ ${ARCH} = x86_64 ]]
457 then
458 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
459 fi
460
461 mmake -j1 || die
462 }
463
464 src_install_mesa()
465 {
466 mmake DESTDIR=${BINDIR} install || die
467
468 # remove all la files
469 find ${BINDIR} -name \*.la | xargs rm -fv
470
471 # setup included for dynamic opengl
472 # only target arch needed on multilib systems
473 minstalldir /usr/$(mlibdir)/opengl/xorg/include/GL || die
474 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
475 do
476 if [ -f ${x} -o -L ${x} ]
477 then
478 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include/GL || die "${x}"
479 fi
480 done
481 for x in ${BINDIR}/usr/include/{EGL,GLES*,VG,KHR}
482 do
483 if [ -d ${x} ]
484 then
485 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
486 fi
487 done
488
489 for abi in ${MULTILIB_ABIS}
490 do
491 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
492 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
493 cd ${SRCDIR}-${abi}
494
495 # setup dynamic opengl
496 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
497 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
498
499 local x
500 for x in ${BINDIR}/usr/$(mlibdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}
501 do
502 if [ -f ${x} -o -L ${x} ]
503 then
504 mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
505 fi
506 done
507
508 # export LIBGL_DRIVER_PATH location.
509 # we are using '/usr/lib/dri' as hardcoded location.
510 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
511 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
512 # if nvidia or ati driver are installed
513 # the dri modules will never be found by libGL
514 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
515 minstalldir /etc/env.d || die
516 MCONFIG=/etc/env.d/09mesa-${abi}
517 mclearconfig || die
518 maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
519
520 # remove dri-drivers, they are in extra packages
521 rm -rv ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die
522 # remove vdpau-drivers, they are in extra packages
523 rm -rv ${BINDIR}/usr/$(mlibdir)/vdpau || die
524 # remove gbm-pipes, they are in extra packages
525 rm -rv ${BINDIR}/usr/$(mlibdir)/gbm/pipe_*.so || die
526 done
527 }
528
529 if driver_enabled dri-swrast
530 then
531 src_install_mesa-dri-swrast()
532 {
533 mmake -C src/mesa/drivers/dri/swrast DESTDIR=${BINDIR} install || die
534 setup_dynamic_dri classic || die
535 }
536 fi
537
538 if driver_enabled dri-i810
539 then
540 src_install_mesa-dri-i810()
541 {
542 mmake -C src/mesa/drivers/dri/i810 DESTDIR=${BINDIR} install || die
543 setup_dynamic_dri classic || die
544 }
545 fi
546
547 if driver_enabled dri-i915
548 then
549 src_install_mesa-dri-i915()
550 {
551 mmake -C src/mesa/drivers/dri/i915 DESTDIR=${BINDIR} install || die
552 setup_dynamic_dri classic || die
553 }
554 fi
555
556 if driver_enabled dri-i965
557 then
558 src_install_mesa-dri-i965()
559 {
560 mmake -C src/mesa/drivers/dri/i965 DESTDIR=${BINDIR} install || die
561 setup_dynamic_dri classic || die
562 }
563 fi
564
565 if driver_enabled dri-mach64
566 then
567 src_install_mesa-dri-mach64()
568 {
569 mmake -C src/mesa/drivers/dri/mach64 DESTDIR=${BINDIR} install || die
570 setup_dynamic_dri classic || die
571 }
572 fi
573
574 if driver_enabled dri-mga
575 then
576 src_install_mesa-dri-mga()
577 {
578 mmake -C src/mesa/drivers/dri/mga DESTDIR=${BINDIR} install || die
579 setup_dynamic_dri classic || die
580 }
581 fi
582
583 if driver_enabled dri-r128
584 then
585 src_install_mesa-dri-r128()
586 {
587 mmake -C src/mesa/drivers/dri/r128 DESTDIR=${BINDIR} install || die
588 setup_dynamic_dri classic || die
589 }
590 fi
591
592 if driver_enabled dri-r200
593 then
594 src_install_mesa-dri-r200()
595 {
596 mmake -C src/mesa/drivers/dri/r200 DESTDIR=${BINDIR} install || die
597 setup_dynamic_dri classic || die
598 }
599 fi
600
601 if driver_enabled dri-r300
602 then
603 src_install_mesa-dri-r300()
604 {
605 mmake -C src/mesa/drivers/dri/r300 DESTDIR=${BINDIR} install || die
606 setup_dynamic_dri classic || die
607 }
608 fi
609
610 if driver_enabled dri-r600
611 then
612 src_install_mesa-dri-r600()
613 {
614 mmake -C src/mesa/drivers/dri/r600 DESTDIR=${BINDIR} install || die
615 setup_dynamic_dri classic || die
616 }
617 fi
618
619 if driver_enabled dri-radeon
620 then
621 src_install_mesa-dri-radeon()
622 {
623 mmake -C src/mesa/drivers/dri/radeon DESTDIR=${BINDIR} install || die
624 setup_dynamic_dri classic || die
625 }
626 fi
627
628 if driver_enabled dri-savage
629 then
630 src_install_mesa-dri-savage()
631 {
632 mmake -C src/mesa/drivers/dri/savage DESTDIR=${BINDIR} install || die
633 setup_dynamic_dri classic || die
634 }
635 fi
636
637 if driver_enabled dri-sis
638 then
639 src_install_mesa-dri-sis()
640 {
641 mmake -C src/mesa/drivers/dri/sis DESTDIR=${BINDIR} install || die
642 setup_dynamic_dri classic || die
643 }
644 fi
645
646 if driver_enabled dri-tdfx
647 then
648 src_install_mesa-dri-tdfx()
649 {
650 mmake -C src/mesa/drivers/dri/tdfx DESTDIR=${BINDIR} install || die
651 setup_dynamic_dri classic || die
652 }
653 fi
654
655 if driver_enabled dri-unichrome
656 then
657 src_install_mesa-dri-unichrome()
658 {
659 mmake -C src/mesa/drivers/dri/unichrome DESTDIR=${BINDIR} install || die
660 setup_dynamic_dri classic || die
661 }
662 fi
663
664 if driver_enabled gallium-i915
665 then
666 src_install_mesa-gallium-i915()
667 {
668 mmake -C src/gallium/targets/dri-i915 DESTDIR=${BINDIR} install || die
669 setup_dynamic_dri gallium || die
670
671 # gbm
672 install_gbm_driver i915 || die
673 }
674 fi
675
676 if driver_enabled gallium-i965
677 then
678 src_install_mesa-gallium-i965()
679 {
680 mmake -C src/gallium/targets/dri-i965 DESTDIR=${BINDIR} install || die
681 setup_dynamic_dri gallium || die
682
683 # gbm
684 install_gbm_driver i965 || die
685 }
686 fi
687
688 if driver_enabled gallium-nouveau
689 then
690 src_install_mesa-gallium-nouveau()
691 {
692 mmake -C src/gallium/targets/dri-nouveau DESTDIR=${BINDIR} install || die
693 setup_dynamic_dri gallium || die
694
695 # vdpau
696 mmake -C src/gallium/targets/vdpau-nouveau DESTDIR=${BINDIR} install || die
697
698 # gbm
699 install_gbm_driver nouveau || die
700 }
701 fi
702
703 if driver_enabled gallium-r300
704 then
705 src_install_mesa-gallium-r300()
706 {
707 mmake -C src/gallium/targets/dri-r300 DESTDIR=${BINDIR} install || die
708 setup_dynamic_dri gallium || die
709
710 # vdpau
711 mmake -C src/gallium/targets/vdpau-r300 DESTDIR=${BINDIR} install || die
712
713 # gbm
714 install_gbm_driver r300 || die
715 }
716 fi
717
718 if driver_enabled gallium-r600
719 then
720 src_install_mesa-gallium-r600()
721 {
722 mmake -C src/gallium/targets/dri-r600 DESTDIR=${BINDIR} install || die
723 setup_dynamic_dri gallium || die
724
725 # vdpau
726 mmake -C src/gallium/targets/vdpau-r600 DESTDIR=${BINDIR} install || die
727
728 # gbm
729 install_gbm_driver r600 || die
730 }
731 fi
732
733 if driver_enabled gallium-radeonsi
734 then
735 src_install_mesa-gallium-radeonsi()
736 {
737 mmake -C src/gallium/targets/dri-radeonsi DESTDIR=${BINDIR} install || die
738 setup_dynamic_dri gallium || die
739
740 # vdpau
741 mmake -C src/gallium/targets/vdpau-radeonsi DESTDIR=${BINDIR} install || die
742
743 # gbm
744 install_gbm_driver radeonsi || die
745 }
746 fi
747
748 if driver_enabled gallium-swrast
749 then
750 src_install_mesa-gallium-swrast()
751 {
752 mmake -C src/gallium/targets/dri-swrast DESTDIR=${BINDIR} install || die
753 setup_dynamic_dri gallium || die
754
755 # vdpau
756 mmake -C src/gallium/targets/vdpau-softpipe DESTDIR=${BINDIR} install || die
757
758 # gbm
759 install_gbm_driver swrast || die
760 }
761 fi
762
763 if driver_enabled gallium-vmwgfx
764 then
765 src_install_mesa-gallium-vmwgfx()
766 {
767 mmake -C src/gallium/targets/dri-vmwgfx DESTDIR=${BINDIR} install || die
768 setup_dynamic_dri gallium || die
769
770 # gbm
771 install_gbm_driver vmwgfx || die
772 }
773 fi
774
775 # setup_dynamic_dri $impl
776 # impl may be classic or gallium atm
777 setup_dynamic_dri()
778 {
779 local impl="$1"
780 local i
781 local abi
782
783 [[ -z ${impl} ]] && die "missing dri implementation!"
784 case ${impl} in
785 classic|gallium) ;;
786 *) die "unkown dri implementation '${impl}'!" ;;
787 esac
788
789 echo "settin up dynamic dri for a '${impl} implementation..."
790 if [[ -z ${MULTILIB_ABIS} ]]
791 then
792 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
793 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
794 do
795 echo -n " processing ${i}:"
796 if [ -f ${i} -o -L ${i} ]
797 then
798 echo -n " moving"
799 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
800 fi
801 done
802 else
803 for abi in ${MULTILIB_ABIS}
804 do
805 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
806 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
807
808 minstalldir /usr/$(mlibdir)/mesa/${impl} || die
809 for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so
810 do
811 echo -n " processing ${i}"
812 if [ -f ${i} -o -L ${i} ]
813 then
814 echo -n " moving"
815 mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}"
816 fi
817 echo " done"
818 done
819 done
820 fi
821 }
822
823 postinstall_mesa()
824 {
825 ${MROOT}/usr/sbin/opengl-update --use-old xorg
826 }
827
828 if driver_enabled dri-swrast
829 then
830 postinstall_mesa-dri-swrast()
831 {
832 ${MROOT}/usr/sbin/dri-update --use-old classic
833 }
834 fi
835
836 if driver_enabled dri-i810
837 then
838 postinstall_mesa-dri-i810()
839 {
840 ${MROOT}/usr/sbin/dri-update --use-old classic
841 }
842 fi
843
844 if driver_enabled dri-i915
845 then
846 postinstall_mesa-dri-i915()
847 {
848 ${MROOT}/usr/sbin/dri-update --use-old classic
849 }
850 fi
851
852 if driver_enabled dri-i965
853 then
854 postinstall_mesa-dri-i965()
855 {
856 ${MROOT}/usr/sbin/dri-update --use-old classic
857 }
858 fi
859
860 if driver_enabled dri-mach64
861 then
862 postinstall_mesa-dri-mach64()
863 {
864 ${MROOT}/usr/sbin/dri-update --use-old classic
865 }
866 fi
867
868 if driver_enabled dri-mga
869 then
870 postinstall_mesa-dri-mga()
871 {
872 ${MROOT}/usr/sbin/dri-update --use-old classic
873 }
874 fi
875
876 if driver_enabled dri-r128
877 then
878 postinstall_mesa-dri-r128()
879 {
880 ${MROOT}/usr/sbin/dri-update --use-old classic
881 }
882 fi
883
884 if driver_enabled dri-r200
885 then
886 postinstall_mesa-dri-r200()
887 {
888 ${MROOT}/usr/sbin/dri-update --use-old classic
889 }
890 fi
891
892 if driver_enabled dri-r300
893 then
894 postinstall_mesa-dri-r300()
895 {
896 ${MROOT}/usr/sbin/dri-update --use-old classic
897 }
898 fi
899
900 if driver_enabled dri-r600
901 then
902 postinstall_mesa-dri-r600()
903 {
904 ${MROOT}/usr/sbin/dri-update --use-old classic
905 }
906 fi
907
908 if driver_enabled dri-radeon
909 then
910 postinstall_mesa-dri-radeon()
911 {
912 ${MROOT}/usr/sbin/dri-update --use-old classic
913 }
914 fi
915
916 if driver_enabled dri-savage
917 then
918 postinstall_mesa-dri-savage()
919 {
920 ${MROOT}/usr/sbin/dri-update --use-old classic
921 }
922 fi
923
924 if driver_enabled dri-sis
925 then
926 postinstall_mesa-dri-sis()
927 {
928 ${MROOT}/usr/sbin/dri-update --use-old classic
929 }
930 fi
931
932 if driver_enabled dri-tdfx
933 then
934 postinstall_mesa-dri-tdfx()
935 {
936 ${MROOT}/usr/sbin/dri-update --use-old classic
937 }
938 fi
939
940 if driver_enabled dri-unichrome
941 then
942 postinstall_mesa-dri-unichrome()
943 {
944 ${MROOT}/usr/sbin/dri-update --use-old classic
945 }
946 fi
947
948 if driver_enabled gallium-i915
949 then
950 postinstall_mesa-gallium-i915()
951 {
952 ${MROOT}/usr/sbin/dri-update --use-old gallium
953 }
954 fi
955
956 if driver_enabled gallium-i965
957 then
958 postinstall_mesa-gallium-i965()
959 {
960 ${MROOT}/usr/sbin/dri-update --use-old gallium
961 }
962 fi
963
964 if driver_enabled gallium-nouveau
965 then
966 postinstall_mesa-gallium-nouveau()
967 {
968 ${MROOT}/usr/sbin/dri-update --use-old gallium
969 }
970 fi
971
972 if driver_enabled gallium-r300
973 then
974 postinstall_mesa-gallium-r300()
975 {
976 ${MROOT}/usr/sbin/dri-update --use-old gallium
977 }
978 fi
979
980 if driver_enabled gallium-r600
981 then
982 postinstall_mesa-gallium-r600()
983 {
984 ${MROOT}/usr/sbin/dri-update --use-old gallium
985 }
986 fi
987
988 if driver_enabled gallium-radeonsi
989 then
990 postinstall_mesa-gallium-radeonsi()
991 {
992 ${MROOT}/usr/sbin/dri-update --use-old gallium
993 }
994 fi
995
996 if driver_enabled gallium-swrast
997 then
998 postinstall_mesa-gallium-swrast()
999 {
1000 ${MROOT}/usr/sbin/dri-update --use-old gallium
1001 }
1002 fi
1003
1004 if driver_enabled gallium-vmwgfx
1005 then
1006 postinstall_mesa-gallium-vmwgfx()
1007 {
1008 ${MROOT}/usr/sbin/dri-update --use-old gallium
1009 }
1010 fi