summaryrefslogtreecommitdiffstats
path: root/meta/packages/mesa
diff options
context:
space:
mode:
authorRobert Bragg <bob@openedhand.com>2008-09-22 13:33:19 +0000
committerRobert Bragg <bob@openedhand.com>2008-09-22 13:33:19 +0000
commit3de4627417e62595ce4349cb3a13c9180f8e6bfd (patch)
tree37c5f48d49ce9702fb164ca4fe47433f59cd838a /meta/packages/mesa
parent9b6a24b65d840d8b207a9dfdc69e61b0c5c9ef07 (diff)
downloadpoky-3de4627417e62595ce4349cb3a13c9180f8e6bfd.tar.gz
Adds recipes to support building X servers based on the xfree86 DDX instead
of kdrive and building mesa. It's a big commit and it's still rather rough around the edges, but there is a desire to get this in early so people can review the work and help polish the changes. Some of the notable bits: • DRI support in mesa and the X server. (configured in machine conf via MACHINE_DRI_MODULES variable) • XCB backend for xlib • A fairly lite X server build with lots of legacy modules disabled. I'm sure there is plenty of other fairly low hanging fruit if we want to put more effort into reducing the size of the xserver build. Currently the server build comes in @ ~2.3MB vs a kdrive fbdev server build @ ~1MB. E.g xaa could be made conditional to save ~320K. Of course the kdrive server doesn't include glx stuff, which is a pretty big chunk. Also thanks to hrw, since I nabbed a some patches from him for this, and RP, for various bits of Poky style advice. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5205 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/mesa')
-rw-r--r--meta/packages/mesa/mesa-common.inc20
-rw-r--r--meta/packages/mesa/mesa-dri_7.1.bb15
-rw-r--r--meta/packages/mesa/mesa-dri_git.bb20
-rw-r--r--meta/packages/mesa/mesa-mesa.inc41
-rw-r--r--meta/packages/mesa/mesa_7.0.2.bb48
5 files changed, 97 insertions, 47 deletions
diff --git a/meta/packages/mesa/mesa-common.inc b/meta/packages/mesa/mesa-common.inc
index 18e9b4ebed..51b8f4644a 100644
--- a/meta/packages/mesa/mesa-common.inc
+++ b/meta/packages/mesa/mesa-common.inc
@@ -1,9 +1,21 @@
1SECTION = "x11" 1SECTION = "x11"
2 2
3SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2 \ 3DESCRIPTION = "An open source implementation of the OpenGL spec"
4 file://mklib-rpath-link.patch;patch=1" 4HOMEPAGE = "http://mesa3d.org"
5LICENSE = "MIT"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2"
5S = "${WORKDIR}/Mesa-${PV}" 8S = "${WORKDIR}/Mesa-${PV}"
6 9
7LICENSE = "LGPL" 10inherit autotools pkgconfig
11
12EXTRA_OECONF = "--disable-glu \
13 --disable-glw \
14 --disable-glut \
15 --enable-glx-tls"
16
17do_stage() {
18 autotools_stage_all
19}
20
8 21
9DEPENDS = "makedepend-native xf86vidmodeproto glproto virtual/libx11 libxext libxxf86vm libxi libxmu libice"
diff --git a/meta/packages/mesa/mesa-dri_7.1.bb b/meta/packages/mesa/mesa-dri_7.1.bb
new file mode 100644
index 0000000000..608bac0857
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri_7.1.bb
@@ -0,0 +1,15 @@
1include mesa-common.inc
2
3PROTO_DEPS = "xf86driproto glproto"
4LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
5
6DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
7
8PE = "1"
9PR = "r0"
10
11FILES_${PN} += "${libdir}/dri/*.so"
12FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
13
14EXTRA_OECONF += "--with-driver=dri --with-dri-drivers=${MACHINE_DRI_MODULES}"
15
diff --git a/meta/packages/mesa/mesa-dri_git.bb b/meta/packages/mesa/mesa-dri_git.bb
new file mode 100644
index 0000000000..137e1d4a33
--- /dev/null
+++ b/meta/packages/mesa/mesa-dri_git.bb
@@ -0,0 +1,20 @@
1include mesa-common.inc
2
3PROTO_DEPS = "xf86driproto glproto"
4LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
5
6DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
7
8PV = "7.1+git${SRCREV}"
9PR = "r0"
10
11DEFAULT_PREFERENCE = "-1"
12
13SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git"
14S = "${WORKDIR}/git"
15
16FILES_${PN} += "${libdir}/dri/*.so"
17FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
18
19EXTRA_OECONF += "--with-driver=dri --with-dri-drivers=${MACHINE_DRI_MODULES}"
20
diff --git a/meta/packages/mesa/mesa-mesa.inc b/meta/packages/mesa/mesa-mesa.inc
deleted file mode 100644
index d794f0c097..0000000000
--- a/meta/packages/mesa/mesa-mesa.inc
+++ /dev/null
@@ -1,41 +0,0 @@
1include mesa-common.inc
2
3PACKAGES =+ "libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev"
4
5FILES_libgl = "${libdir}/libGL.so.*"
6FILES_libglu = "${libdir}/libGLU.so.*"
7FILES_libosmesa = "${libdir}/libOSMesa.so.*"
8
9FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL"
10FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h"
11FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
12
13do_configure() {
14 cd configs
15
16 cp linux current
17 sed -e "s%CC *= *.*%CC = ${CC}%" -i current
18 sed -e "s%CXX *= *.*%CXX = ${CXX}%" -i current
19 sed -e "s%LD *= *.*%LD = ${LD}%" -i current
20 sed -e "s%OPT_FLAGS *= *.*%OPT_FLAGS = ${TARGET_CFLAGS}%" -i current
21 sed -e "s%X11_INCLUDES *= *.*%X11_INCLUDES = -I${STAGING_INCDIR}/X11%" -i current
22 sed -e "s%EXTRA_LIB_PATH *= *.*%EXTRA_LIB_PATH = ${LDFLAGS}%" -i current
23 sed -i s:\$\(CC\):gcc:g ../src/mesa/x86/Makefile
24 echo "SRC_DIRS = mesa glu glut/glx" >> current
25}
26
27do_compile() {
28 oe_runmake default
29}
30
31do_install() {
32 install -d ${D}${libdir}
33 cp -pP lib/* ${D}${libdir}/
34 install -d ${D}${includedir}
35 cp -R include/GL ${D}${includedir}/
36}
37
38do_stage() {
39 cp -pP lib/* ${STAGING_LIBDIR}/
40 cp -R include/GL ${STAGING_INCDIR}/
41}
diff --git a/meta/packages/mesa/mesa_7.0.2.bb b/meta/packages/mesa/mesa_7.0.2.bb
index 3eb1fbef8b..a6cbef07d4 100644
--- a/meta/packages/mesa/mesa_7.0.2.bb
+++ b/meta/packages/mesa/mesa_7.0.2.bb
@@ -1,6 +1,50 @@
1include mesa-mesa.inc 1# Note: we don't require mesa-common.inc since going forward mesa will
2# be autotool based.
2 3
3SRC_URI_append = " file://fix-host-compile.patch;patch=1 " 4SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2 \
5 file://mklib-rpath-link.patch;patch=1 \
6 file://fix-host-compile.patch;patch=1 "
7S = "${WORKDIR}/Mesa-${PV}"
4 8
9DEPENDS = "makedepend-native xf86vidmodeproto glproto virtual/libx11 libxext libxxf86vm libxi libxmu libice"
5 10
11PACKAGES =+ "libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev"
12
13FILES_libgl = "${libdir}/libGL.so.*"
14FILES_libglu = "${libdir}/libGLU.so.*"
15FILES_libosmesa = "${libdir}/libOSMesa.so.*"
16
17FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL"
18FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h"
19FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
20
21do_configure() {
22 cd configs
23
24 cp linux current
25 sed -e "s%CC *= *.*%CC = ${CC}%" -i current
26 sed -e "s%CXX *= *.*%CXX = ${CXX}%" -i current
27 sed -e "s%LD *= *.*%LD = ${LD}%" -i current
28 sed -e "s%OPT_FLAGS *= *.*%OPT_FLAGS = ${TARGET_CFLAGS}%" -i current
29 sed -e "s%X11_INCLUDES *= *.*%X11_INCLUDES = -I${STAGING_INCDIR}/X11%" -i current
30 sed -e "s%EXTRA_LIB_PATH *= *.*%EXTRA_LIB_PATH = ${LDFLAGS}%" -i current
31 sed -i s:\$\(CC\):gcc:g ../src/mesa/x86/Makefile
32 echo "SRC_DIRS = mesa glu glut/glx" >> current
33}
34
35do_compile() {
36 oe_runmake default
37}
38
39do_install() {
40 install -d ${D}${libdir}
41 cp -pP lib/* ${D}${libdir}/
42 install -d ${D}${includedir}
43 cp -R include/GL ${D}${includedir}/
44}
45
46do_stage() {
47 cp -pP lib/* ${STAGING_LIBDIR}/
48 cp -R include/GL ${STAGING_INCDIR}/
49}
6 50