From 1350233b6dc1924ba29a42462447995f26dae0dc Mon Sep 17 00:00:00 2001 From: root Date: Wed, 3 Oct 2012 01:32:13 -0700 Subject: Wed Oct 3 01:31:01 PDT 2012 --- multilib-staging/lib32-glu/PKGBUILD | 45 ++++ multilib-staging/lib32-mesa/PKGBUILD | 248 +++++++++++++++++++++ .../lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch | 44 ++++ .../lib32-mesa/mesa-radeon-parallel-make.diff | 129 +++++++++++ 4 files changed, 466 insertions(+) create mode 100644 multilib-staging/lib32-glu/PKGBUILD create mode 100644 multilib-staging/lib32-mesa/PKGBUILD create mode 100644 multilib-staging/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch create mode 100644 multilib-staging/lib32-mesa/mesa-radeon-parallel-make.diff (limited to 'multilib-staging') diff --git a/multilib-staging/lib32-glu/PKGBUILD b/multilib-staging/lib32-glu/PKGBUILD new file mode 100644 index 000000000..47e0f4d2f --- /dev/null +++ b/multilib-staging/lib32-glu/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 76975 2012-10-02 19:05:10Z lcarlier $ +# Maintainer: Laurent Carlier + +pkgname=lib32-glu +pkgver=9.0.0 +pkgrel=1 +pkgdesc="Mesa OpenGL utility library (32 bits)" +arch=('x86_64') +url="http://mesa.freedesktop.org/" +license=('LGPL') +depends=('lib32-libgl') +makedepends=('gcc-multilib' 'lib32-mesa') +options=('!libtool') +source=(ftp://ftp.freedesktop.org/pub/mesa/glu/glu-$pkgver.tar.bz2) +sha256sums=('1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12') + +build() { + cd ${srcdir}/glu-$pkgver + + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + ./configure --prefix=/usr --disable-static \ + --libdir=/usr/lib32 + make +} + +check() { + cd "$srcdir/glu-$pkgver" + + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + make -k check +} + +package() { + cd ${srcdir}/glu-$pkgver + + make DESTDIR=${pkgdir} install + + rm -rf ${pkgdir}/usr/include +} diff --git a/multilib-staging/lib32-mesa/PKGBUILD b/multilib-staging/lib32-mesa/PKGBUILD new file mode 100644 index 000000000..e796b9e2b --- /dev/null +++ b/multilib-staging/lib32-mesa/PKGBUILD @@ -0,0 +1,248 @@ +# $Id: PKGBUILD 76978 2012-10-02 21:18:44Z lcarlier $ +# Contributor: Jan de Groot +# Contributor: Andreas Radke + +pkgbase=lib32-mesa +pkgname=('lib32-libglapi' 'lib32-libgl' 'lib32-mesa' 'lib32-osmesa' 'lib32-libgles' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri') # lib32-libgbm needs udev + +_git=true +_gitdate=20121002 +#_git=false + +if [ "${_git}" = "true" ]; then + pkgver=8.99.git_$_gitdate + else + pkgver=8.0.4 +fi + +pkgrel=1 +arch=('x86_64') +makedepends=('glproto>=1.4.16' 'lib32-libdrm>=2.4.39' 'lib32-libxxf86vm>=1.1.2' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.1.0' 'lib32-libx11>=1.5.0' + 'lib32-libxt>=1.1.3' 'lib32-gcc-libs>=4.7.1-6' 'dri2proto>=2.8' 'python2' 'libxml2' 'gcc-multilib' 'imake' 'lib32-llvm') +url="http://mesa3d.sourceforge.net" +license=('custom') +options=('!libtool') +source=(mesa-radeon-parallel-make.diff) +if [ "${_git}" = "true" ]; then + # mesa git shot from 9.0 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/log/?h=9.0 + #source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-41d14eaf193c6b1eb87fe1998808a887f1c6c698.tar.gz') + source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-604cd6b966d060334fdaa11ae8444797d54d3142.tar.gz") +else + source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2") +fi +md5sums=('549f6a106686ecab7ec9f9c3602d64c3' + 'e9fedcc48587dfa14a242bbf339c228e') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + # for our llvm-config for 32 bit + export LLVM_CONFIG=/usr/bin/llvm-config32 + + # fix segfault with gfx cards > Ati R700 + export CFLAGS="${CFLAGS} -O1" + export CXXFLAGS="${CXXFLAGS} -O1" + + cd ${srcdir}/?esa-* + + # fix parallel build - http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/radeon/Makefile?id=cebbdd4ac23725963207bf6f8fc7101150e6065f + # and the next commit - http://cgit.freedesktop.org/mesa/mesa/commit/?id=2baaa5c7eb21517f0197bfd91154e9b4886fbb1b + patch -Np1 -i ${srcdir}/mesa-radeon-parallel-make.diff + + COMMONOPTS="--prefix=/usr \ + --sysconfdir=/etc \ + --with-dri-driverdir=/usr/lib32/xorg/modules/dri \ + --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast \ + --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ + --enable-gallium-llvm \ + --disable-gallium-egl --enable-shared-glapi \ + --enable-shared-glapi \ + --enable-glx-tls \ + --enable-dri \ + --enable-gles1 \ + --enable-gles2 \ + --disable-egl \ + --enable-texture-float \ + --enable-osmesa \ + --enable-32-bit \ + --libdir=/usr/lib32 " + # --enable-gbm disabled because it needs udev + + if [ "${_git}" = "true" ]; then + ./autogen.sh \ + $COMMONOPTS + else + autoreconf -vfi + ./configure \ + $COMMONOPTS + fi + + make +} + +package_lib32-libglapi() { + depends=('lib32-glibc' 'libglapi') + pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions (32-bits)" + + cd ${srcdir}/?esa-* + + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" + ln -s libglapi "${pkgdir}/usr/share/licenses/libglapi/lib32-libglapi" +} + +package_lib32-libgl() { + depends=('lib32-libdrm>=2.4.39' 'lib32-libxxf86vm>=1.1.2' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.1.0' 'lib32-libglapi' 'libgl') + pkgdesc="Mesa 3-D graphics library and DRI software rasterizer (32-bit)" + # currently disabled so force the remove + conflicts=('lib32-libgbm') + replace=('lib32-libgbm') + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install + + # libGL & libdricore + make -C src/glx DESTDIR="${pkgdir}" install + make -C src/mesa/libdricore DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall + + # --with-gallium-drivers=swrast + make -C src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/libgl" + ln -s libgl "${pkgdir}/usr/share/licenses/libgl/lib32-libgl" +} + +package_lib32-mesa() { + depends=('lib32-libgl' 'lib32-libx11>=1.5.0' 'lib32-libxt>=1.1.3' 'lib32-gcc-libs>=4.7.1-6' 'mesa') + pkgdesc="Mesa 3-D graphics libraries and include files (32-bit)" + + cd ${srcdir}/?esa-* + + # .pc files + make -C src/mesa DESTDIR="${pkgdir}" install-pkgconfigDATA + make -C src/mesa/drivers/dri DESTDIR="${pkgdir}" install-pkgconfigDATA + + install -m755 -d "${pkgdir}/usr/share/licenses/mesa" + ln -s mesa "$pkgdir/usr/share/licenses/mesa/lib32-mesa" +} + +package_lib32-osmesa() { + depends=('lib32-mesa') + optdepends=('opengl-man-pages: for the OpenGL API man pages') + pkgdesc="Mesa 3D off-screen rendering library (32-bits)" + + make -C ${srcdir}/?esa-*/src/mesa/drivers/osmesa DESTDIR="${pkgdir}" install +} + +package_lib32-libgbm() { + depends=('lib32-libglapi' 'lib32-libdrm' 'libgbm') + pkgdesc="Mesa gbm library (32-bit)" + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install + + make -C src/gbm DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall + + install -m755 -d "${pkgdir}/usr/share/licenses/libgbm" + ln -s libgbm "$pkgdir/usr/share/licenses/libgbm/lib32-libgbm" +} + +package_lib32-libgles() { + depends=('lib32-libglapi' 'lib32-libdrm' 'libgles') + pkgdesc="Mesa GLES libraries (32-bit)" + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install + + # --enable-gles1 --enable-gles2 + make -C src/mapi/es1api DESTDIR="${pkgdir}" install + make -C src/mapi/es2api DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall + + rm -r "${pkgdir}"/usr/include + + install -m755 -d "${pkgdir}/usr/share/licenses/libgles" + ln -s libgles "$pkgdir/usr/share/licenses/libgles/lib32-libgles" +} + +package_lib32-ati-dri() { + depends=("lib32-libgl=${pkgver}" 'ati-dri') + pkgdesc="Mesa DRI radeon/r200 + Gallium3D for r300 and later chipsets drivers for AMD/ATI Radeon (32-bit)" + conflicts=('xf86-video-ati<6.9.0-6') + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mesa/libdricore DESTDIR="${pkgdir}" install + + # classic mesa drivers for radeon,r200 + make -C src/mesa/drivers/dri/radeon DESTDIR="${pkgdir}" install + make -C src/mesa/drivers/dri/r200 DESTDIR="${pkgdir}" install + # gallium3D driver for r300,r600 + make -C src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install + make -C src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install + make -C src/gallium/targets/dri-radeonsi DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall + + install -m755 -d "${pkgdir}/usr/share/licenses/ati-dri" + ln -s ati-dri "$pkgdir/usr/share/licenses/ati-dri/lib32-ati-dri" +} + +package_lib32-intel-dri() { + depends=("lib32-libgl=${pkgver}" 'intel-dri') + pkgdesc="Mesa DRI drivers for Intel (32-bit)" + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mesa/libdricore DESTDIR="${pkgdir}" install + + make -C src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install + make -C src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall + + install -m755 -d "${pkgdir}/usr/share/licenses/intel-dri" + ln -s intel-dri "$pkgdir/usr/share/licenses/intel-dri/lib32-intel-dri" +} + +package_lib32-nouveau-dri() { + depends=("lib32-libgl=${pkgver}" 'nouveau-dri') + pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau (32-bit)" + + cd ${srcdir}/?esa-* + + # fix linking because of splitted package + make -C src/mesa/libdricore DESTDIR="${pkgdir}" install + + # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so + make -C src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install + # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so + make -C src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install + + # fix linking because of splitted package - cleanup + make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall + + install -m755 -d "${pkgdir}/usr/share/licenses/nouveau-dri" + ln -s nouveau-dri "$pkgdir/usr/share/licenses/nouveau-dri/lib32-nouveau-dri" +} + diff --git a/multilib-staging/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch b/multilib-staging/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch new file mode 100644 index 000000000..922577aef --- /dev/null +++ b/multilib-staging/lib32-mesa/mesa-8.0.3-llvm-3.1-fixes.patch @@ -0,0 +1,44 @@ +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +index a50a51d..f1bb4d9 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +@@ -235,7 +235,24 @@ lp_disassemble(const void* func) + int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); + #endif + +-#if HAVE_LLVM >= 0x0300 ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr MRI(T->createMCRegInfo(Triple)); ++ if (!MRI) { ++ debug_printf("error: no register info for target %s\n", Triple.c_str()); ++ return; ++ } ++ ++ OwningPtr MII(T->createMCInstrInfo()); ++ if (!MII) { ++ debug_printf("error: no instruction info for target %s\n", Triple.c_str()); ++ return; ++ } ++#endif ++ ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr Printer( ++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI)); ++#elif HAVE_LLVM == 0x0300 + OwningPtr Printer( + T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); + #elif HAVE_LLVM >= 0x0208 +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +index fe7616b..68f8808 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +@@ -62,7 +62,11 @@ + extern "C" void + lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE) + { ++#if HAVE_LLVM >= 0x0301 ++ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener()); ++#else + llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener()); ++#endif + } diff --git a/multilib-staging/lib32-mesa/mesa-radeon-parallel-make.diff b/multilib-staging/lib32-mesa/mesa-radeon-parallel-make.diff new file mode 100644 index 000000000..a9ea10fc4 --- /dev/null +++ b/multilib-staging/lib32-mesa/mesa-radeon-parallel-make.diff @@ -0,0 +1,129 @@ +From cebbdd4ac23725963207bf6f8fc7101150e6065f Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Wed, 29 Aug 2012 13:01:15 +0000 +Subject: radeon/llvm: Cleanup makefile + +Hopefully, this will fix all the parallel make problems people have +been having. +--- +diff --git a/src/gallium/drivers/radeon/Makefile b/src/gallium/drivers/radeon/Makefile +index 43f668a..7f1c613 100644 +--- a/src/gallium/drivers/radeon/Makefile ++++ b/src/gallium/drivers/radeon/Makefile +@@ -20,8 +20,6 @@ tablegen = $(TBLGEN) -I $(LLVM_INCLUDEDIR) $1 $2 -o $3 + + HAVE_LLVM_INTRINSICS = $(shell grep IntrinsicsR600.td $(LLVM_INCLUDEDIR)/llvm/Intrinsics.td) + +-gen: $(GENERATED_SOURCES) +- + SIRegisterInfo.td: SIGenRegisterInfo.pl + $(PERL) $^ > $@ + +@@ -38,37 +36,37 @@ endif + R600RegisterInfo.td: R600GenRegisterInfo.pl + $(PERL) $^ > $@ + +-AMDGPUGenRegisterInfo.inc: *.td ++AMDGPUGenRegisterInfo.inc: $(TD_FILES) + $(call tablegen, -gen-register-info, AMDGPU.td, $@) + +-AMDGPUGenInstrInfo.inc: *.td ++AMDGPUGenInstrInfo.inc: $(TD_FILES) + $(call tablegen, -gen-instr-info, AMDGPU.td, $@) + +-AMDGPUGenAsmWriter.inc: *.td ++AMDGPUGenAsmWriter.inc: $(TD_FILES) + $(call tablegen, -gen-asm-writer, AMDGPU.td, $@) + +-AMDGPUGenDAGISel.inc: *.td ++AMDGPUGenDAGISel.inc: $(TD_FILES) + $(call tablegen, -gen-dag-isel, AMDGPU.td, $@) + +-AMDGPUGenCallingConv.inc: *.td ++AMDGPUGenCallingConv.inc: $(TD_FILES) + $(call tablegen, -gen-callingconv, AMDGPU.td, $@) + +-AMDGPUGenSubtargetInfo.inc: *.td ++AMDGPUGenSubtargetInfo.inc: $(TD_FILES) + $(call tablegen, -gen-subtarget, AMDGPU.td, $@) + +-AMDGPUGenEDInfo.inc: *.td ++AMDGPUGenEDInfo.inc: $(TD_FILES) + $(call tablegen, -gen-enhanced-disassembly-info, AMDGPU.td, $@) + +-AMDGPUGenIntrinsics.inc: *.td ++AMDGPUGenIntrinsics.inc: $(TD_FILES) + $(call tablegen, -gen-tgt-intrinsic, AMDGPU.td, $@) + +-AMDGPUGenCodeEmitter.inc: *.td ++AMDGPUGenCodeEmitter.inc: $(TD_FILES) + $(call tablegen, -gen-emitter, AMDGPU.td, $@) + +-AMDGPUGenMCCodeEmitter.inc: *.td ++AMDGPUGenMCCodeEmitter.inc: $(TD_FILES) + $(call tablegen, -mc-emitter -gen-emitter, AMDGPU.td, $@) + +-AMDGPUGenDFAPacketizer.inc: *.td ++AMDGPUGenDFAPacketizer.inc: $(TD_FILES) + $(call tablegen, -gen-dfa-packetizer, AMDGPU.td, $@) + + LOADER_LIBS=$(shell llvm-config --libs bitreader asmparser) +diff --git a/src/gallium/drivers/radeon/Makefile.sources b/src/gallium/drivers/radeon/Makefile.sources +index 2eb1120..333dd03 100644 +--- a/src/gallium/drivers/radeon/Makefile.sources ++++ b/src/gallium/drivers/radeon/Makefile.sources +@@ -1,4 +1,30 @@ + ++TD_FILES := \ ++ AMDGPU.td \ ++ AMDGPUInstrInfo.td \ ++ AMDGPUInstructions.td \ ++ AMDGPUIntrinsics.td \ ++ AMDGPURegisterInfo.td \ ++ AMDILBase.td \ ++ AMDILInstrInfo.td \ ++ AMDILIntrinsics.td \ ++ AMDILRegisterInfo.td \ ++ Processors.td \ ++ R600InstrInfo.td \ ++ R600Instructions.td \ ++ R600Intrinsics.td \ ++ R600IntrinsicsNoOpenCL.td \ ++ R600IntrinsicsOpenCL.td \ ++ R600RegisterInfo.td \ ++ R600Schedule.td \ ++ SIInstrFormats.td \ ++ SIInstrInfo.td \ ++ SIInstructions.td \ ++ SIIntrinsics.td \ ++ SIRegisterInfo.td \ ++ SISchedule.td ++ ++ + GENERATED_SOURCES := \ + R600Intrinsics.td \ + R600RegisterInfo.td \ +-- +cgit v0.9.0.2-2-gbebe +From 2baaa5c7eb21517f0197bfd91154e9b4886fbb1b Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Thu, 06 Sep 2012 14:05:22 +0000 +Subject: radeon/llvm: Remove R600InstrInfo.td from TD_FILES + +Fixes build bug introduced by +cebbdd4ac23725963207bf6f8fc7101150e6065f +--- +diff --git a/src/gallium/drivers/radeon/Makefile.sources b/src/gallium/drivers/radeon/Makefile.sources +index 333dd03..f387636 100644 +--- a/src/gallium/drivers/radeon/Makefile.sources ++++ b/src/gallium/drivers/radeon/Makefile.sources +@@ -10,7 +10,6 @@ TD_FILES := \ + AMDILIntrinsics.td \ + AMDILRegisterInfo.td \ + Processors.td \ +- R600InstrInfo.td \ + R600Instructions.td \ + R600Intrinsics.td \ + R600IntrinsicsNoOpenCL.td \ +-- +cgit v0.9.0.2-2-gbebe -- cgit v1.2.3-54-g00ecf