[mesa] llvmcore hack
Adam Jackson
ajax at fedoraproject.org
Wed Jan 19 04:24:30 UTC 2011
commit 55ddc6593beccf5c9c32e75f389a0027fdf84f67
Author: Adam Jackson <ajax at redhat.com>
Date: Tue Jan 18 22:36:41 2011 -0500
llvmcore hack
.gitignore | 1 +
llvmcore.mk | 6 +++++
mesa-7.10-llvmcore.patch | 48 ++++++++++++++++++++++++++++++++++++++++++
mesa.spec | 52 ++++++++++++++++++++++++++++++++++++++--------
4 files changed, 98 insertions(+), 9 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5d983bd..0b94f29 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+*.jx
mesa-20100208.tar.bz2
gl-manpages-1.0.1.tar.bz2
xdriinfo-1.0.3.tar.bz2
diff --git a/llvmcore.mk b/llvmcore.mk
new file mode 100644
index 0000000..4358601
--- /dev/null
+++ b/llvmcore.mk
@@ -0,0 +1,6 @@
+# Mom, Dad, if you're reading this, I'm very sorry.
+
+include configs/linux-llvm.llvmcore
+
+llvmcore:
+ gcc -fPIC -shared -o libllvmcore-$(shell llvm-config --version).so -Wl,--whole-archive $(shell llvm-config --ldflags) $(LLVM_LIBS) -Wl,--no-whole-archive
diff --git a/mesa-7.10-llvmcore.patch b/mesa-7.10-llvmcore.patch
new file mode 100644
index 0000000..e1663e3
--- /dev/null
+++ b/mesa-7.10-llvmcore.patch
@@ -0,0 +1,48 @@
+diff -up mesa-20110107/configs/autoconf.in.llvmcore mesa-20110107/configs/autoconf.in
+--- mesa-20110107/configs/autoconf.in.llvmcore 2011-01-06 19:51:14.000000000 -0500
++++ mesa-20110107/configs/autoconf.in 2011-01-18 19:34:49.000000000 -0500
+@@ -29,8 +29,8 @@ INTEL_CFLAGS = @INTEL_CFLAGS@
+ X11_LIBS = @X11_LIBS@
+ X11_CFLAGS = @X11_CFLAGS@
+ LLVM_CFLAGS = @LLVM_CFLAGS@
+-LLVM_LDFLAGS = @LLVM_LDFLAGS@
+-LLVM_LIBS = @LLVM_LIBS@
++LLVM_LDFLAGS = -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lllvmcore-$(shell llvm-config --version)
++LLVM_LIBS = -lllvmcore-$(shell llvm-config --version)
+ GLW_CFLAGS = @GLW_CFLAGS@
+ GLUT_CFLAGS = @GLUT_CFLAGS@
+
+diff -up mesa-20110107/configs/linux-llvm.llvmcore mesa-20110107/configs/linux-llvm
+--- mesa-20110107/configs/linux-llvm.llvmcore 2011-01-06 19:51:14.000000000 -0500
++++ mesa-20110107/configs/linux-llvm 2011-01-18 19:19:14.000000000 -0500
+@@ -32,8 +32,8 @@ endif
+ ifeq ($(MESA_LLVM),1)
+ LLVM_CFLAGS=`llvm-config --cppflags`
+ LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long
+- LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation)
+- LLVM_LIBS = $(shell llvm-config --libs backend bitwriter bitreader engine ipo interpreter instrumentation)
++ LLVM_LDFLAGS = -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lllvmcore-$(shell llvm-config --version)
++ LLVM_LIBS = -lllvmcore-$(shell llvm-config --version)
+ MKLIB_OPTIONS=-cplusplus
+ else
+ LLVM_CFLAGS=
+diff -up mesa-20110107/configure.ac.llvmcore mesa-20110107/configure.ac
+--- mesa-20110107/configure.ac.llvmcore 2011-01-18 19:19:14.000000000 -0500
++++ mesa-20110107/configure.ac 2011-01-18 20:40:01.000000000 -0500
+@@ -1333,8 +1333,6 @@ if test "x$enable_gallium" = xyes; then
+ fi
+
+ AC_SUBST([LLVM_CFLAGS])
+-AC_SUBST([LLVM_LIBS])
+-AC_SUBST([LLVM_LDFLAGS])
+ AC_SUBST([LLVM_VERSION])
+
+ dnl
+@@ -1555,7 +1553,6 @@ if test "x$enable_gallium_llvm" = xyes;
+ if test "x$LLVM_CONFIG" != xno; then
+ LLVM_VERSION=`$LLVM_CONFIG --version`
+ LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
+- LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
+
+ if test "x$HAS_UDIS86" != xno; then
+ LLVM_LIBS="$LLVM_LIBS -ludis86"
diff --git a/mesa.spec b/mesa.spec
index eabf544..129acba 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -15,7 +15,7 @@
Summary: Mesa graphics libraries
Name: mesa
Version: 7.10
-Release: 0.21%{?dist}
+Release: 0.22%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://www.mesa3d.org
@@ -25,12 +25,14 @@ URL: http://www.mesa3d.org
Source0: %{name}-%{gitdate}.tar.xz
Source2: %{manpages}.tar.bz2
Source3: make-git-snapshot.sh
+Source4: llvmcore.mk
Patch2: mesa-7.1-nukeglthread-debug.patch
Patch3: mesa-no-mach64.patch
Patch4: legacy-drivers.patch
#Patch7: mesa-7.1-link-shared.patch
+Patch8: mesa-7.10-llvmcore.patch
Patch10: mesa-nouveau-libdrm-2_4_24.patch
@@ -69,7 +71,7 @@ Group: System Environment/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Provides: libGL
-Requires: libdrm >= 2.4.21-1
+Requires: libdrm >= 2.4.23-1
%if %{with_hardware}
Conflicts: xorg-x11-server-Xorg < 1.4.99.901-14
%endif
@@ -83,7 +85,7 @@ Group: System Environment/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: mesa-dri-drivers%{?_isa} = %{version}-%{release}
-Requires: libdrm >= 2.4.21-1
+Requires: libdrm >= 2.4.23-1
%description libEGL
Mesa libEGL runtime libraries
@@ -94,26 +96,44 @@ Group: System Environment/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: mesa-dri-drivers%{?_isa} = %{version}-%{release}
-Requires: libdrm >= 2.4.21-1
+Requires: libdrm >= 2.4.23-1
%description libGLES
Mesa GLES runtime libraries
+%package dri-filesystem
+Summary: Mesa DRI driver filesystem
+Group: User Interface/X Hardware Support
+%description dri-filesystem
+Mesa DRI driver filesystem
+
+%package dri-llvmcore
+Summary: Mesa common LLVM support
+Group: User Interface/X Hardware Support
+Requires: mesa-dri-filesystem%{?_isa}
+%description dri-llvmcore
+Common DSO for LLVM support for gallium-based DRI drivers. This package
+exists solely as a disk space hack for Mesa. Do not link against this
+library if you are not Mesa. You have been warned.
+
%package dri-drivers
Summary: Mesa-based DRI drivers
Group: User Interface/X Hardware Support
+Requires: mesa-dri-filesystem%{?_isa}
%description dri-drivers
Mesa-based DRI drivers.
%package dri-drivers-dri1
Summary: Mesa-based DRI1 drivers
Group: User Interface/X Hardware Support
+Requires: mesa-dri-filesystem%{?isa}
%description dri-drivers-dri1
Mesa-based DRI1 drivers.
%package dri-drivers-experimental
Summary: Mesa-based DRI drivers (experimental)
Group: User Interface/X Hardware Support
+Requires: mesa-dri-filesystem%{?_isa}
%description dri-drivers-experimental
Mesa-based DRI drivers (experimental).
@@ -122,7 +142,6 @@ Mesa-based DRI drivers (experimental).
Summary: Mesa libGL development package
Group: Development/Libraries
Requires: mesa-libGL = %{version}-%{release}
-Requires: libX11-devel
Provides: libGL-devel
Conflicts: xorg-x11-proto-devel <= 7.2-12
@@ -160,7 +179,6 @@ Mesa libGLU runtime library
Summary: Mesa libGLU development package
Group: Development/Libraries
Requires: mesa-libGLU = %{version}-%{release}
-Requires: libGL-devel
Provides: libGLU-devel
%description libGLU-devel
@@ -202,6 +220,7 @@ Requires: Xorg %(xserver-sdk-abi-requires ansic) %(xserver-sdk-abi-requires vide
%patch3 -p1 -b .no-mach64
%patch4 -p1 -b .classic
#patch7 -p1 -b .dricore
+%patch8 -p1 -b .llvmcore
%patch10 -p1 -b .nv-libdrm
%patch30 -p1 -b .vblank-warning
#patch31 -p1 -b .swrastg
@@ -230,6 +249,11 @@ make clean
# just to be sure...
[ `find . -name \*.o | wc -l` -eq 0 ] || exit 1
+# build llvmcore
+TOP=`pwd` make -f %{SOURCE4} llvmcore
+mkdir -p %{_lib}
+mv libllvmcore*.so %{_lib}
+
# now build the rest of mesa
%configure %{common_flags} \
--disable-glw \
@@ -272,7 +296,7 @@ make install DESTDIR=$RPM_BUILD_ROOT DRI_DIRS=
# just the DRI drivers that are sane
install -d $RPM_BUILD_ROOT%{_libdir}/dri
-#install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri %{_lib}/libdricore.so >& /dev/null
+install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri %{_lib}/libllvmcore-2.8.so >& /dev/null
# use gallium driver iff built
[ -f %{_lib}/gallium/r300_dri.so ] && cp %{_lib}/gallium/r300_dri.so %{_lib}/r300_dri.so
[ -f %{_lib}/gallium/r600_dri.so ] && cp %{_lib}/gallium/r600_dri.so %{_lib}/r600_dri.so
@@ -345,10 +369,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libGLESv2.so.2
%{_libdir}/libGLESv2.so.2.*
-%files dri-drivers
+%files dri-filesystem
%defattr(-,root,root,-)
%doc docs/COPYING
%dir %{_libdir}/dri
+
+%files dri-llvmcore
+%defattr(-,root,root,-)
+%{_libdir}/dri/libllvmcore-2.8.so
+
+%files dri-drivers
+%defattr(-,root,root,-)
%if %{with_hardware}
%{_libdir}/dri/radeon_dri.so
%{_libdir}/dri/r200_dri.so
@@ -377,7 +408,6 @@ rm -rf $RPM_BUILD_ROOT
%files dri-drivers-experimental
%defattr(-,root,root,-)
-%doc docs/COPYING
%if %{with_hardware}
#{_libdir}/dri/vmwgfx_dri.so
%{_libdir}/dri/nouveau_dri.so
@@ -447,6 +477,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libOSMesa.so
%changelog
+* Tue Jan 18 2011 Adam Jackson <ajax at redhat.com> 7.10-0.22
+- Add -dri-filesystem common subpackage for directory and COPYING
+- Add -dri-llvmcore subpackage and buildsystem hack
+
* Tue Jan 18 2011 Adam Jackson <ajax at redhat.com> 7.10-0.21
- Fix the s390 case a different way
- s/i686/%%{ix86}
More information about the scm-commits
mailing list