diff options
author | piernov <piernov@piernov.org> | 2012-01-22 11:38:02 +0100 |
---|---|---|
committer | piernov <piernov@piernov.org> | 2012-01-22 11:38:02 +0100 |
commit | 50e5ce5b17e69be13228e2393c5804b0a79acfab (patch) | |
tree | 9845fa9af128d7fdd791755bb2be320f3ba2be4e /mesa3d | |
parent | 9626427c1a1d9c292fc519810c13b9a8073e777f (diff) | |
parent | 8548e8d6882b55dfb509b18dedfb7db17630037d (diff) | |
download | nutyx-extra-50e5ce5b17e69be13228e2393c5804b0a79acfab.tar.gz nutyx-extra-50e5ce5b17e69be13228e2393c5804b0a79acfab.tar.bz2 nutyx-extra-50e5ce5b17e69be13228e2393c5804b0a79acfab.tar.xz nutyx-extra-50e5ce5b17e69be13228e2393c5804b0a79acfab.zip |
Merged with http://kiao.no-ip.info/NuTyX/git/nutyx-pakxe → Repository splitted → nutyx-extra
Diffstat (limited to 'mesa3d')
-rw-r--r-- | mesa3d/.footprint.i686 | 99 | ||||
-rw-r--r-- | mesa3d/.footprint.x86_64 | 126 | ||||
-rw-r--r-- | mesa3d/.md5sum.i686 | 2 | ||||
-rw-r--r-- | mesa3d/.md5sum.x86_64 | 2 | ||||
-rwxr-xr-x | mesa3d/Pkgfile | 64 | ||||
-rw-r--r-- | mesa3d/llvm3.0.patch | 328 |
6 files changed, 621 insertions, 0 deletions
diff --git a/mesa3d/.footprint.i686 b/mesa3d/.footprint.i686 new file mode 100644 index 000000000..9f73ae63b --- /dev/null +++ b/mesa3d/.footprint.i686 @@ -0,0 +1,99 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/include/ +drwxr-xr-x root/root usr/include/EGL/ +-rw-r--r-- root/root usr/include/EGL/egl.h +-rw-r--r-- root/root usr/include/EGL/eglext.h +-rw-r--r-- root/root usr/include/EGL/eglplatform.h +drwxr-xr-x root/root usr/include/GL/ +-rw-r--r-- root/root usr/include/GL/GLwDrawA.h +-rw-r--r-- root/root usr/include/GL/GLwDrawAP.h +-rw-r--r-- root/root usr/include/GL/GLwMDrawA.h +-rw-r--r-- root/root usr/include/GL/GLwMDrawAP.h +-rw-r--r-- root/root usr/include/GL/gl.h +-rw-r--r-- root/root usr/include/GL/gl_mangle.h +-rw-r--r-- root/root usr/include/GL/glext.h +-rw-r--r-- root/root usr/include/GL/glfbdev.h +-rw-r--r-- root/root usr/include/GL/glu.h +-rw-r--r-- root/root usr/include/GL/glu_mangle.h +-rw-r--r-- root/root usr/include/GL/glx.h +-rw-r--r-- root/root usr/include/GL/glx_mangle.h +-rw-r--r-- root/root usr/include/GL/glxext.h +drwxr-xr-x root/root usr/include/GL/internal/ +-rw-r--r-- root/root usr/include/GL/internal/dri_interface.h +-rw-r--r-- root/root usr/include/GL/mesa_wgl.h +-rw-r--r-- root/root usr/include/GL/osmesa.h +-rw-r--r-- root/root usr/include/GL/vms_x_fix.h +-rw-r--r-- root/root usr/include/GL/wglext.h +-rw-r--r-- root/root usr/include/GL/wmesa.h +drwxr-xr-x root/root usr/include/GLES/ +-rw-r--r-- root/root usr/include/GLES/egl.h +-rw-r--r-- root/root usr/include/GLES/gl.h +-rw-r--r-- root/root usr/include/GLES/glext.h +-rw-r--r-- root/root usr/include/GLES/glplatform.h +drwxr-xr-x root/root usr/include/GLES2/ +-rw-r--r-- root/root usr/include/GLES2/gl2.h +-rw-r--r-- root/root usr/include/GLES2/gl2ext.h +-rw-r--r-- root/root usr/include/GLES2/gl2platform.h +drwxr-xr-x root/root usr/include/KHR/ +-rw-r--r-- root/root usr/include/KHR/khrplatform.h +drwxr-xr-x root/root usr/include/VG/ +-rw-r--r-- root/root usr/include/VG/openvg.h +-rw-r--r-- root/root usr/include/VG/vgext.h +-rw-r--r-- root/root usr/include/VG/vgplatform.h +-rw-r--r-- root/root usr/include/VG/vgu.h +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/dri/ +-rwxr-xr-x root/root usr/lib/dri/i810_dri.so +-rwxr-xr-x root/root usr/lib/dri/i915_dri.so +-rwxr-xr-x root/root usr/lib/dri/i965_dri.so +-rwxr-xr-x root/root usr/lib/dri/libdricore.so +-rwxr-xr-x root/root usr/lib/dri/libglsl.so +-rwxr-xr-x root/root usr/lib/dri/mach64_dri.so +-rwxr-xr-x root/root usr/lib/dri/mga_dri.so +-rwxr-xr-x root/root usr/lib/dri/nouveau_dri.so +-rwxr-xr-x root/root usr/lib/dri/nouveau_vieux_dri.so +-rwxr-xr-x root/root usr/lib/dri/r128_dri.so +-rwxr-xr-x root/root usr/lib/dri/r200_dri.so +-rwxr-xr-x root/root usr/lib/dri/r300_dri.so +-rwxr-xr-x root/root usr/lib/dri/r600_dri.so +-rwxr-xr-x root/root usr/lib/dri/radeon_dri.so +-rwxr-xr-x root/root usr/lib/dri/savage_dri.so +-rwxr-xr-x root/root usr/lib/dri/sis_dri.so +-rwxr-xr-x root/root usr/lib/dri/swrast_dri.so +-rwxr-xr-x root/root usr/lib/dri/swrastg_dri.so +-rwxr-xr-x root/root usr/lib/dri/tdfx_dri.so +-rwxr-xr-x root/root usr/lib/dri/unichrome_dri.so +drwxr-xr-x root/root usr/lib/egl/ +-rwxr-xr-x root/root usr/lib/egl/egl_gallium.so +lrwxrwxrwx root/root usr/lib/libEGL.so -> libEGL.so.1 +lrwxrwxrwx root/root usr/lib/libEGL.so.1 -> libEGL.so.1.0 +-rwxr-xr-x root/root usr/lib/libEGL.so.1.0 +lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1 +lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0 +-rwxr-xr-x root/root usr/lib/libGLESv1_CM.so.1.1.0 +lrwxrwxrwx root/root usr/lib/libGLESv2.so -> libGLESv2.so.2 +lrwxrwxrwx root/root usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.0.0 +-rwxr-xr-x root/root usr/lib/libGLESv2.so.2.0.0 +lrwxrwxrwx root/root usr/lib/libGLU.so -> libGLU.so.1 +lrwxrwxrwx root/root usr/lib/libGLU.so.1 -> libGLU.so.1.3.071100 +-rwxr-xr-x root/root usr/lib/libGLU.so.1.3.071100 +lrwxrwxrwx root/root usr/lib/libGLw.so -> libGLw.so.1 +lrwxrwxrwx root/root usr/lib/libGLw.so.1 -> libGLw.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libGLw.so.1.0.0 +lrwxrwxrwx root/root usr/lib/libOpenVG.so -> libOpenVG.so.1 +lrwxrwxrwx root/root usr/lib/libOpenVG.so.1 -> libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libdricore.so +lrwxrwxrwx root/root usr/lib/libglapi.so -> libglapi.so.0 +lrwxrwxrwx root/root usr/lib/libglapi.so.0 -> libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib/libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib/libglsl.so +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/dri.pc +-rw-r--r-- root/root usr/lib/pkgconfig/egl.pc +-rw-r--r-- root/root usr/lib/pkgconfig/gl.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glesv1_cm.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glesv2.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glu.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glw.pc +-rw-r--r-- root/root usr/lib/pkgconfig/vg.pc diff --git a/mesa3d/.footprint.x86_64 b/mesa3d/.footprint.x86_64 new file mode 100644 index 000000000..880553604 --- /dev/null +++ b/mesa3d/.footprint.x86_64 @@ -0,0 +1,126 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/include/ +drwxr-xr-x root/root usr/include/EGL/ +-rw-r--r-- root/root usr/include/EGL/egl.h +-rw-r--r-- root/root usr/include/EGL/eglext.h +-rw-r--r-- root/root usr/include/EGL/eglplatform.h +drwxr-xr-x root/root usr/include/GL/ +-rw-r--r-- root/root usr/include/GL/GLwDrawA.h +-rw-r--r-- root/root usr/include/GL/GLwDrawAP.h +-rw-r--r-- root/root usr/include/GL/GLwMDrawA.h +-rw-r--r-- root/root usr/include/GL/GLwMDrawAP.h +-rw-r--r-- root/root usr/include/GL/gl.h +-rw-r--r-- root/root usr/include/GL/gl_mangle.h +-rw-r--r-- root/root usr/include/GL/glext.h +-rw-r--r-- root/root usr/include/GL/glfbdev.h +-rw-r--r-- root/root usr/include/GL/glu.h +-rw-r--r-- root/root usr/include/GL/glu_mangle.h +-rw-r--r-- root/root usr/include/GL/glx.h +-rw-r--r-- root/root usr/include/GL/glx_mangle.h +-rw-r--r-- root/root usr/include/GL/glxext.h +drwxr-xr-x root/root usr/include/GL/internal/ +-rw-r--r-- root/root usr/include/GL/internal/dri_interface.h +-rw-r--r-- root/root usr/include/GL/mesa_wgl.h +-rw-r--r-- root/root usr/include/GL/osmesa.h +-rw-r--r-- root/root usr/include/GL/vms_x_fix.h +-rw-r--r-- root/root usr/include/GL/wglext.h +-rw-r--r-- root/root usr/include/GL/wmesa.h +drwxr-xr-x root/root usr/include/GLES/ +-rw-r--r-- root/root usr/include/GLES/egl.h +-rw-r--r-- root/root usr/include/GLES/gl.h +-rw-r--r-- root/root usr/include/GLES/glext.h +-rw-r--r-- root/root usr/include/GLES/glplatform.h +drwxr-xr-x root/root usr/include/GLES2/ +-rw-r--r-- root/root usr/include/GLES2/gl2.h +-rw-r--r-- root/root usr/include/GLES2/gl2ext.h +-rw-r--r-- root/root usr/include/GLES2/gl2platform.h +drwxr-xr-x root/root usr/include/KHR/ +-rw-r--r-- root/root usr/include/KHR/khrplatform.h +drwxr-xr-x root/root usr/include/VG/ +-rw-r--r-- root/root usr/include/VG/openvg.h +-rw-r--r-- root/root usr/include/VG/vgext.h +-rw-r--r-- root/root usr/include/VG/vgplatform.h +-rw-r--r-- root/root usr/include/VG/vgu.h +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/dri/ +-rwxr-xr-x root/root usr/lib/dri/i810_dri.so +-rwxr-xr-x root/root usr/lib/dri/i915_dri.so +-rwxr-xr-x root/root usr/lib/dri/i965_dri.so +-rwxr-xr-x root/root usr/lib/dri/libdricore.so +-rwxr-xr-x root/root usr/lib/dri/libglsl.so +-rwxr-xr-x root/root usr/lib/dri/mach64_dri.so +-rwxr-xr-x root/root usr/lib/dri/mga_dri.so +-rwxr-xr-x root/root usr/lib/dri/nouveau_dri.so +-rwxr-xr-x root/root usr/lib/dri/nouveau_vieux_dri.so +-rwxr-xr-x root/root usr/lib/dri/r128_dri.so +-rwxr-xr-x root/root usr/lib/dri/r200_dri.so +-rwxr-xr-x root/root usr/lib/dri/r300_dri.so +-rwxr-xr-x root/root usr/lib/dri/r600_dri.so +-rwxr-xr-x root/root usr/lib/dri/radeon_dri.so +-rwxr-xr-x root/root usr/lib/dri/savage_dri.so +-rwxr-xr-x root/root usr/lib/dri/sis_dri.so +-rwxr-xr-x root/root usr/lib/dri/swrast_dri.so +-rwxr-xr-x root/root usr/lib/dri/swrastg_dri.so +-rwxr-xr-x root/root usr/lib/dri/tdfx_dri.so +-rwxr-xr-x root/root usr/lib/dri/unichrome_dri.so +drwxr-xr-x root/root usr/lib/egl/ +-rwxr-xr-x root/root usr/lib/egl/egl_gallium.so +lrwxrwxrwx root/root usr/lib/libEGL.so -> libEGL.so.1 +lrwxrwxrwx root/root usr/lib/libEGL.so.1 -> libEGL.so.1.0 +-rwxr-xr-x root/root usr/lib/libEGL.so.1.0 +lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1 +lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0 +-rwxr-xr-x root/root usr/lib/libGLESv1_CM.so.1.1.0 +lrwxrwxrwx root/root usr/lib/libGLESv2.so -> libGLESv2.so.2 +lrwxrwxrwx root/root usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.0.0 +-rwxr-xr-x root/root usr/lib/libGLESv2.so.2.0.0 +lrwxrwxrwx root/root usr/lib/libGLU.so -> libGLU.so.1 +lrwxrwxrwx root/root usr/lib/libGLU.so.1 -> libGLU.so.1.3.071100 +-rwxr-xr-x root/root usr/lib/libGLU.so.1.3.071100 +lrwxrwxrwx root/root usr/lib/libGLw.so -> libGLw.so.1 +lrwxrwxrwx root/root usr/lib/libGLw.so.1 -> libGLw.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libGLw.so.1.0.0 +lrwxrwxrwx root/root usr/lib/libOpenVG.so -> libOpenVG.so.1 +lrwxrwxrwx root/root usr/lib/libOpenVG.so.1 -> libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib/libdricore.so +lrwxrwxrwx root/root usr/lib/libglapi.so -> libglapi.so.0 +lrwxrwxrwx root/root usr/lib/libglapi.so.0 -> libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib/libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib/libglsl.so +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/dri.pc +-rw-r--r-- root/root usr/lib/pkgconfig/egl.pc +-rw-r--r-- root/root usr/lib/pkgconfig/gl.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glesv1_cm.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glesv2.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glu.pc +-rw-r--r-- root/root usr/lib/pkgconfig/glw.pc +-rw-r--r-- root/root usr/lib/pkgconfig/vg.pc +drwxr-xr-x root/root usr/lib64/ +drwxr-xr-x root/root usr/lib64/X11/ +drwxr-xr-x root/root usr/lib64/X11/modules/ +drwxr-xr-x root/root usr/lib64/X11/modules/extensions/ +lrwxrwxrwx root/root usr/lib64/libEGL.so -> libEGL.so.1 +lrwxrwxrwx root/root usr/lib64/libEGL.so.1 -> libEGL.so.1.0 +-rwxr-xr-x root/root usr/lib64/libEGL.so.1.0 +lrwxrwxrwx root/root usr/lib64/libGLESv1_CM.so -> libGLESv1_CM.so.1 +lrwxrwxrwx root/root usr/lib64/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0 +-rwxr-xr-x root/root usr/lib64/libGLESv1_CM.so.1.1.0 +lrwxrwxrwx root/root usr/lib64/libGLESv2.so -> libGLESv2.so.2 +lrwxrwxrwx root/root usr/lib64/libGLESv2.so.2 -> libGLESv2.so.2.0.0 +-rwxr-xr-x root/root usr/lib64/libGLESv2.so.2.0.0 +lrwxrwxrwx root/root usr/lib64/libGLU.so -> libGLU.so.1 +lrwxrwxrwx root/root usr/lib64/libGLU.so.1 -> libGLU.so.1.3.071100 +-rwxr-xr-x root/root usr/lib64/libGLU.so.1.3.071100 +lrwxrwxrwx root/root usr/lib64/libGLw.so -> libGLw.so.1 +lrwxrwxrwx root/root usr/lib64/libGLw.so.1 -> libGLw.so.1.0.0 +-rwxr-xr-x root/root usr/lib64/libGLw.so.1.0.0 +lrwxrwxrwx root/root usr/lib64/libOpenVG.so -> libOpenVG.so.1 +lrwxrwxrwx root/root usr/lib64/libOpenVG.so.1 -> libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib64/libOpenVG.so.1.0.0 +-rwxr-xr-x root/root usr/lib64/libdricore.so +lrwxrwxrwx root/root usr/lib64/libglapi.so -> libglapi.so.0 +lrwxrwxrwx root/root usr/lib64/libglapi.so.0 -> libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib64/libglapi.so.0.0.0 +-rwxr-xr-x root/root usr/lib64/libglsl.so diff --git a/mesa3d/.md5sum.i686 b/mesa3d/.md5sum.i686 new file mode 100644 index 000000000..2b3937ced --- /dev/null +++ b/mesa3d/.md5sum.i686 @@ -0,0 +1,2 @@ +0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2 +0c0b99f744547cd9ed72d5846dc3a7d9 llvm3.0.patch diff --git a/mesa3d/.md5sum.x86_64 b/mesa3d/.md5sum.x86_64 new file mode 100644 index 000000000..2b3937ced --- /dev/null +++ b/mesa3d/.md5sum.x86_64 @@ -0,0 +1,2 @@ +0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2 +0c0b99f744547cd9ed72d5846dc3a7d9 llvm3.0.patch diff --git a/mesa3d/Pkgfile b/mesa3d/Pkgfile new file mode 100755 index 000000000..30d733c0b --- /dev/null +++ b/mesa3d/Pkgfile @@ -0,0 +1,64 @@ +# Description: Librairie graphique 3D Mesa +# URL: http://www.mesa3d.org +# Maintainer: NuTyX core team +# Packager: thierryn1 at hispeed dot ch +# Depends on: talloc, expat, libdrm, xorg-makedepend, xorg-glproto, xorg-xextproto, xorg-dri2proto, xorg-libx11, xorg-libxext, xorg-libxxf86vm, xorg-libxt, xorg-libxdamage, xorg-libxmu, xorg-libxi, llvm +# Run on: talloc,expat,libdrm,xorg-makedepend,xorg-libx11,xorg-libxext,xorg-libxxf86vm,xorg-libxt,xorg-libxdamage,xorg-libxmu,xorg-libxi + +name=mesa3d +version=7.11.2 +release=1 +source=(ftp://ftp.freedesktop.org/pub/mesa/$version/MesaLib-$version.tar.bz2 + llvm3.0.patch) + +build() { + cd Mesa-$version + + patch -p1 < ../llvm3.0.patch + + sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" $(find $SRC -name '*.py') + sed -i -e "s|PYTHON2 = python|PYTHON2 = python2|" $SRC/Mesa-$version/configs/{default,autoconf.in} + sed -i -e "s|python|python2|" $SRC/Mesa-$version/src/gallium/auxiliary/Makefile + + ./configure $XORG_CONFIG \ + --with-driver=dri \ + --with-dri-driverdir=$XORG_PREFIX/lib/dri \ + --with-dri-drivers="i810,i915,i965,mga,mach64,nouveau,r128,r200,r300,r600,radeon,savage,sis,unichrome,tdfx,swrast" \ + --with-gallium-drivers="r300,r600,nouveau,swrast" \ + --enable-egl \ + --enable-gles1 \ + --enable-gles2 \ + --enable-openvg \ + --enable-gallium-egl \ + --enable-gallium-llvm \ + --enable-texture-float \ + --enable-glut \ + --enable-shared-glapi \ + --enable-glx-tls \ + --enable-xcb \ + --enable-shared-dricore + make + + # mesa + make DESTDIR=$PKG install + + # libgl + bin/minstall lib/lib* $PKG/usr/lib/ + + case `uname -m` in + x86_64) + install -m755 -d $PKG/$XORG_PREFIX/lib64 + install -m755 -d $PKG/$XORG_PREFIX/lib64/X11/modules/extensions + bin/minstall lib/lib* $PKG/usr/lib64/ + esac + + cd src/mesa/drivers/dri + make -C swrast DESTDIR=$PKG install + case `uname -m` in + x86_64) + rm $PKG/usr/lib{,64}/libGL.*;; + i?86) + rm $PKG/usr/lib/libGL.*;; + esac + +} diff --git a/mesa3d/llvm3.0.patch b/mesa3d/llvm3.0.patch new file mode 100644 index 000000000..ff3e7d521 --- /dev/null +++ b/mesa3d/llvm3.0.patch @@ -0,0 +1,328 @@ +--- a/src/gallium/auxiliary/gallivm/lp_bld_type.c ++++ b/src/gallium/auxiliary/gallivm/lp_bld_type.c +@@ -325,8 +325,10 @@ lp_typekind_name(LLVMTypeKind t) + return "LLVMArrayTypeKind"; + case LLVMPointerTypeKind: + return "LLVMPointerTypeKind"; ++#if HAVE_LLVM < 0x0300 + case LLVMOpaqueTypeKind: + return "LLVMOpaqueTypeKind"; ++#endif + case LLVMVectorTypeKind: + return "LLVMVectorTypeKind"; + case LLVMMetadataTypeKind: +--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2011-10-15 08:43:58.000000000 +0800 ++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2011-12-05 17:19:25.000000000 +0800 +@@ -25,19 +25,27 @@ + * + **************************************************************************/ + ++#include <stddef.h> ++ + #include <llvm-c/Core.h> + #include <llvm/Target/TargetMachine.h> +-#include <llvm/Target/TargetRegistry.h> +-#include <llvm/Target/TargetSelect.h> + #include <llvm/Target/TargetInstrInfo.h> + #include <llvm/Support/raw_ostream.h> + #include <llvm/Support/MemoryObject.h> + ++#if HAVE_LLVM >= 0x0300 ++#include <llvm/Support/TargetRegistry.h> ++#include <llvm/Support/TargetSelect.h> ++#else /* HAVE_LLVM < 0x0300 */ ++#include <llvm/Target/TargetRegistry.h> ++#include <llvm/Target/TargetSelect.h> ++#endif /* HAVE_LLVM < 0x0300 */ ++ + #if HAVE_LLVM >= 0x0209 + #include <llvm/Support/Host.h> +-#else ++#else /* HAVE_LLVM < 0x0209 */ + #include <llvm/System/Host.h> +-#endif ++#endif /* HAVE_LLVM < 0x0209 */ + + #if HAVE_LLVM >= 0x0207 + #include <llvm/MC/MCDisassembler.h> +@@ -180,7 +188,11 @@ + * Initialize all used objects. + */ + ++#if HAVE_LLVM >= 0x0301 ++ std::string Triple = sys::getDefaultTargetTriple(); ++#else + std::string Triple = sys::getHostTriple(); ++#endif + + std::string Error; + const Target *T = TargetRegistry::lookupTarget(Triple, Error); +@@ -193,14 +205,23 @@ + + InitializeAllDisassemblers(); + ++#if HAVE_LLVM >= 0x0300 ++ OwningPtr<const MCAsmInfo> AsmInfo(T->createMCAsmInfo(Triple)); ++#else + OwningPtr<const MCAsmInfo> AsmInfo(T->createAsmInfo(Triple)); ++#endif + + if (!AsmInfo) { + debug_printf("error: no assembly info for target %s\n", Triple.c_str()); + return; + } + ++#if HAVE_LLVM >= 0x0300 ++ const MCSubtargetInfo *STI = T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), ""); ++ OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler(*STI)); ++#else + OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler()); ++#endif + if (!DisAsm) { + debug_printf("error: no disassembler for target %s\n", Triple.c_str()); + return; +@@ -213,7 +234,11 @@ + #else + int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); + #endif +-#if HAVE_LLVM >= 0x0208 ++ ++#if HAVE_LLVM >= 0x0300 ++ OwningPtr<MCInstPrinter> Printer( ++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); ++#elif HAVE_LLVM >= 0x0208 + OwningPtr<MCInstPrinter> Printer( + T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo)); + #else +@@ -253,7 +278,11 @@ + + if (!DisAsm->getInstruction(Inst, Size, memoryObject, + pc, +- nulls())) { ++#if HAVE_LLVM >= 0x0300 ++ nulls(), nulls())) { ++#else ++ nulls())) { ++#endif + debug_printf("invalid\n"); + pc += 1; + } +@@ -276,7 +305,9 @@ + * Print the instruction. + */ + +-#if HAVE_LLVM >= 0x208 ++#if HAVE_LLVM >= 0x0300 ++ Printer->printInst(&Inst, Out, ""); ++#elif HAVE_LLVM >= 0x208 + Printer->printInst(&Inst, Out); + #else + Printer->printInst(&Inst); +@@ -289,7 +320,11 @@ + + pc += Size; + ++#if HAVE_LLVM >= 0x0300 ++ const MCInstrDesc &TID = TII->get(Inst.getOpcode()); ++#else + const TargetInstrDesc &TID = TII->get(Inst.getOpcode()); ++#endif + + /* + * Keep track of forward jumps to a nearby address. +--- a/src/gallium/auxiliary/draw/draw_llvm.c ++++ b/src/gallium/auxiliary/draw/draw_llvm.c +@@ -96,7 +96,7 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *var); + * Create LLVM type for struct draw_jit_texture + */ + static LLVMTypeRef +-create_jit_texture_type(struct gallivm_state *gallivm) ++create_jit_texture_type(struct gallivm_state *gallivm, const char *struct_name) + { + LLVMTargetDataRef target = gallivm->target; + LLVMTypeRef texture_type; +@@ -120,13 +120,21 @@ create_jit_texture_type(struct gallivm_state *gallivm) + elem_types[DRAW_JIT_TEXTURE_BORDER_COLOR] = + LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4); + ++#if HAVE_LLVM >= 0x0300 ++ texture_type = LLVMStructCreateNamed(gallivm->context, struct_name); ++ LLVMStructSetBody(texture_type, elem_types, ++ Elements(elem_types), 0); ++#else + texture_type = LLVMStructTypeInContext(gallivm->context, elem_types, + Elements(elem_types), 0); + ++ LLVMAddTypeName(gallivm->module, struct_name, texture_type); ++ + /* Make sure the target's struct layout cache doesn't return + * stale/invalid data. + */ + LLVMInvalidateStructLayout(gallivm->target, texture_type); ++#endif + + LP_CHECK_MEMBER_OFFSET(struct draw_jit_texture, width, + target, texture_type, +@@ -176,7 +184,7 @@ create_jit_texture_type(struct gallivm_state *gallivm) + */ + static LLVMTypeRef + create_jit_context_type(struct gallivm_state *gallivm, +- LLVMTypeRef texture_type) ++ LLVMTypeRef texture_type, const char *struct_name) + { + LLVMTargetDataRef target = gallivm->target; + LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context); +@@ -189,11 +197,17 @@ create_jit_context_type(struct gallivm_state *gallivm, + elem_types[3] = LLVMPointerType(float_type, 0); /* viewport */ + elem_types[4] = LLVMArrayType(texture_type, + PIPE_MAX_VERTEX_SAMPLERS); /* textures */ +- ++#if HAVE_LLVM >= 0x0300 ++ context_type = LLVMStructCreateNamed(gallivm->context, struct_name); ++ LLVMStructSetBody(context_type, elem_types, ++ Elements(elem_types), 0); ++#else + context_type = LLVMStructTypeInContext(gallivm->context, elem_types, + Elements(elem_types), 0); ++ LLVMAddTypeName(gallivm->module, struct_name, context_type); + + LLVMInvalidateStructLayout(gallivm->target, context_type); ++#endif + + LP_CHECK_MEMBER_OFFSET(struct draw_jit_context, vs_constants, + target, context_type, 0); +@@ -215,7 +229,7 @@ create_jit_context_type(struct gallivm_state *gallivm, + * Create LLVM type for struct pipe_vertex_buffer + */ + static LLVMTypeRef +-create_jit_vertex_buffer_type(struct gallivm_state *gallivm) ++create_jit_vertex_buffer_type(struct gallivm_state *gallivm, const char *struct_name) + { + LLVMTargetDataRef target = gallivm->target; + LLVMTypeRef elem_types[3]; +@@ -225,10 +239,17 @@ create_jit_vertex_buffer_type(struct gallivm_state *gallivm) + elem_types[1] = LLVMInt32TypeInContext(gallivm->context); + elem_types[2] = LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0); /* vs_constants */ + ++#if HAVE_LLVM >= 0x0300 ++ vb_type = LLVMStructCreateNamed(gallivm->context, struct_name); ++ LLVMStructSetBody(vb_type, elem_types, ++ Elements(elem_types), 0); ++#else + vb_type = LLVMStructTypeInContext(gallivm->context, elem_types, + Elements(elem_types), 0); ++ LLVMAddTypeName(gallivm->module, struct_name, vb_type); + + LLVMInvalidateStructLayout(gallivm->target, vb_type); ++#endif + + LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, stride, + target, vb_type, 0); +@@ -258,10 +279,17 @@ create_jit_vertex_header(struct gallivm_state *gallivm, int data_elems) + elem_types[1] = LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4); + elem_types[2] = LLVMArrayType(elem_types[1], data_elems); + ++#if HAVE_LLVM >= 0x0300 ++ vertex_header = LLVMStructCreateNamed(gallivm->context, struct_name); ++ LLVMStructSetBody(vertex_header, elem_types, ++ Elements(elem_types), 0); ++#else + vertex_header = LLVMStructTypeInContext(gallivm->context, elem_types, + Elements(elem_types), 0); ++ LLVMAddTypeName(gallivm->module, struct_name, vertex_header); + + LLVMInvalidateStructLayout(gallivm->target, vertex_header); ++#endif + + /* these are bit-fields and we can't take address of them + LP_CHECK_MEMBER_OFFSET(struct vertex_header, clipmask, +@@ -284,8 +312,6 @@ create_jit_vertex_header(struct gallivm_state *gallivm, int data_elems) + target, vertex_header, + DRAW_JIT_VERTEX_DATA); + +- LLVMAddTypeName(gallivm->module, struct_name, vertex_header); +- + return vertex_header; + } + +@@ -299,19 +325,15 @@ create_jit_types(struct draw_llvm *llvm) + struct gallivm_state *gallivm = llvm->gallivm; + LLVMTypeRef texture_type, context_type, buffer_type, vb_type; + +- texture_type = create_jit_texture_type(gallivm); +- LLVMAddTypeName(gallivm->module, "texture", texture_type); ++ texture_type = create_jit_texture_type(gallivm, "texture"); + +- context_type = create_jit_context_type(gallivm, texture_type); +- LLVMAddTypeName(gallivm->module, "draw_jit_context", context_type); ++ context_type = create_jit_context_type(gallivm, texture_type, "draw_jit_context"); + llvm->context_ptr_type = LLVMPointerType(context_type, 0); + + buffer_type = LLVMPointerType(LLVMIntTypeInContext(gallivm->context, 8), 0); +- LLVMAddTypeName(gallivm->module, "buffer", buffer_type); + llvm->buffer_ptr_type = LLVMPointerType(buffer_type, 0); + +- vb_type = create_jit_vertex_buffer_type(gallivm); +- LLVMAddTypeName(gallivm->module, "pipe_vertex_buffer", vb_type); ++ vb_type = create_jit_vertex_buffer_type(gallivm, "pipe_vertex_buffer"); + llvm->vb_ptr_type = LLVMPointerType(vb_type, 0); + } + +--- a/src/gallium/drivers/llvmpipe/lp_jit.c ++++ b/src/gallium/drivers/llvmpipe/lp_jit.c +@@ -68,10 +68,17 @@ lp_jit_create_types(struct llvmpipe_context *lp) + elem_types[LP_JIT_TEXTURE_BORDER_COLOR] = + LLVMArrayType(LLVMFloatTypeInContext(lc), 4); + ++#if HAVE_LLVM >= 0x0300 ++ texture_type = LLVMStructCreateNamed(gallivm->context, "texture"); ++ LLVMStructSetBody(texture_type, elem_types, ++ Elements(elem_types), 0); ++#else + texture_type = LLVMStructTypeInContext(lc, elem_types, + Elements(elem_types), 0); ++ LLVMAddTypeName(gallivm->module, "texture", texture_type); + + LLVMInvalidateStructLayout(gallivm->target, texture_type); ++#endif + + LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, width, + gallivm->target, texture_type, +@@ -112,8 +119,6 @@ lp_jit_create_types(struct llvmpipe_context *lp) + + LP_CHECK_STRUCT_SIZE(struct lp_jit_texture, + gallivm->target, texture_type); +- +- LLVMAddTypeName(gallivm->module, "texture", texture_type); + } + + /* struct lp_jit_context */ +@@ -129,11 +134,19 @@ lp_jit_create_types(struct llvmpipe_context *lp) + elem_types[LP_JIT_CTX_TEXTURES] = LLVMArrayType(texture_type, + PIPE_MAX_SAMPLERS); + ++#if HAVE_LLVM >= 0x0300 ++ context_type = LLVMStructCreateNamed(gallivm->context, "context"); ++ LLVMStructSetBody(context_type, elem_types, ++ Elements(elem_types), 0); ++#else + context_type = LLVMStructTypeInContext(lc, elem_types, + Elements(elem_types), 0); + + LLVMInvalidateStructLayout(gallivm->target, context_type); + ++ LLVMAddTypeName(gallivm->module, "context", context_type); ++#endif ++ + LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, constants, + gallivm->target, context_type, + LP_JIT_CTX_CONSTANTS); +@@ -155,8 +168,6 @@ lp_jit_create_types(struct llvmpipe_context *lp) + LP_CHECK_STRUCT_SIZE(struct lp_jit_context, + gallivm->target, context_type); + +- LLVMAddTypeName(gallivm->module, "context", context_type); +- + lp->jit_context_ptr_type = LLVMPointerType(context_type, 0); + } + |