summaryrefslogtreecommitdiffstats
path: root/meta/packages/xcb
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/xcb
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/xcb')
-rw-r--r--meta/packages/xcb/libpthread-stubs_0.1.bb17
-rw-r--r--meta/packages/xcb/libxcb.inc55
-rw-r--r--meta/packages/xcb/libxcb/xcbincludedir.patch11
-rw-r--r--meta/packages/xcb/libxcb_1.0.bb6
-rw-r--r--meta/packages/xcb/libxcb_git.bb12
-rw-r--r--meta/packages/xcb/xcb-proto.inc19
-rw-r--r--meta/packages/xcb/xcb-proto_1.0.bb2
-rw-r--r--meta/packages/xcb/xcb-proto_git.bb13
8 files changed, 135 insertions, 0 deletions
diff --git a/meta/packages/xcb/libpthread-stubs_0.1.bb b/meta/packages/xcb/libpthread-stubs_0.1.bb
new file mode 100644
index 0000000000..9614a74a68
--- /dev/null
+++ b/meta/packages/xcb/libpthread-stubs_0.1.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "This library provides weak aliases for pthread functions \
2not provided in libc or otherwise available by default."
3SECTION = "x11/libs"
4LICENSE = "MIT-X"
5HOMEPAGE = "http://xcb.freedesktop.org"
6
7PARALLEL_MAKE = ""
8#DEPENDS = "xcb-proto xproto libxau libxslt-native"
9# DEPENDS += "xsltproc-native gperf-native"
10
11SRC_URI = "http://xcb.freedesktop.org/dist/libpthread-stubs-${PV}.tar.bz2"
12
13inherit autotools pkgconfig
14
15do_stage() {
16 autotools_stage_all
17}
diff --git a/meta/packages/xcb/libxcb.inc b/meta/packages/xcb/libxcb.inc
new file mode 100644
index 0000000000..99356a1eb0
--- /dev/null
+++ b/meta/packages/xcb/libxcb.inc
@@ -0,0 +1,55 @@
1DESCRIPTION = "XCB: an X protocol C binding"
2SECTION = "x11/libs"
3LICENSE = "MIT-X"
4HOMEPAGE = "http://xcb.freedesktop.org"
5
6PARALLEL_MAKE = ""
7DEPENDS = "xcb-proto xproto libxau libxslt-native"
8# DEPENDS += "xsltproc-native gperf-native"
9
10SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2"
11# file://xcbincludedir.patch;patch=1"
12
13PACKAGES =+ "libxcb-composite libxcb-damage libxcb-dpms libxcb-glx \
14 libxcb-randr libxcb-record libxcb-render libxcb-res \
15 libxcb-screensaver libxcb-shape libxcb-shm libxcb-sync \
16 libxcb-xevie libxcb-xf86dri libxcb-xfixes libxcb-xlib \
17 libxcb-xprint libxcb-xtest libxcb-xv libxcb-xvmc"
18
19FILES_${PN} = "${libdir}/libxcb.so.*"
20#FILES_${PN}-dev = "${libdir}/libxcb.* ${libdir}/pkgconfig/*.pc ${includedir}/xcb/*.h"
21FILES_libxcb-composite = "${libdir}/libxcb-composite.so.*"
22FILES_libxcb-damage = "${libdir}/libxcb-damage.so.*"
23FILES_libxcb-dpms = "${libdir}/libxcb-dpms.so.*"
24FILES_libxcb-glx = "${libdir}/libxcb-glx.so.*"
25FILES_libxcb-randr = "${libdir}/libxcb-randr.so.*"
26FILES_libxcb-record = "${libdir}/libxcb-record.so.*"
27FILES_libxcb-render = "${libdir}/libxcb-render.so.*"
28FILES_libxcb-res = "${libdir}/libxcb-res.so.*"
29FILES_libxcb-screensaver = "${libdir}/libxcb-screensaver.so.*"
30FILES_libxcb-shape = "${libdir}/libxcb-shape.so.*"
31FILES_libxcb-shm = "${libdir}/libxcb-shm.so.*"
32FILES_libxcb-sync = "${libdir}/libxcb-sync.so.*"
33FILES_libxcb-xevie = "${libdir}/libxcb-xevie.so.*"
34FILES_libxcb-xf86dri = "${libdir}/libxcb-xf86dri.so.*"
35FILES_libxcb-xfixes = "${libdir}/libxcb-xfixes.so.*"
36FILES_libxcb-xinerama = "${libdir}/libxcb-xinerama.so.*"
37FILES_libxcb-xlib = "${libdir}/libxcb-xlib.so.*"
38FILES_libxcb-xprint = "${libdir}/libxcb-xprint.so.*"
39FILES_libxcb-xtest = "${libdir}/libxcb-xtest.so.*"
40FILES_libxcb-xv = "${libdir}/libxcb-xv.so.*"
41FILES_libxcb-xvmc = "${libdir}/libxcb-xvmc.so.*"
42
43inherit autotools pkgconfig
44
45# XCBPROTO_XCBINCLUDEDIR is setup based on `pkg-config --variable=xcbincludedir xcb-proto`
46# but the xcbincludedir variable doesn't point into the staging area, so it needs some
47# tweeking here:
48do_configure_prepend () {
49 sed -i "s|XCBPROTO_XCBINCLUDEDIR=|XCBPROTO_XCBINCLUDEDIR=${STAGING_DIR}/${HOST_SYS}/|" \
50 ${S}/configure.ac
51}
52
53do_stage() {
54 autotools_stage_all
55}
diff --git a/meta/packages/xcb/libxcb/xcbincludedir.patch b/meta/packages/xcb/libxcb/xcbincludedir.patch
new file mode 100644
index 0000000000..cef635096e
--- /dev/null
+++ b/meta/packages/xcb/libxcb/xcbincludedir.patch
@@ -0,0 +1,11 @@
1--- libxcb-1.0.orig/configure.ac 2006-11-23 15:33:01.000000000 +0000
2+++ libxcb-1.0/configure.ac 2008-09-10 20:29:12.000000000 +0100
3@@ -50,7 +50,7 @@
4
5 # Find the xcb-proto protocol descriptions
6 AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR)
7-XCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto`
8+XCBPROTO_XCBINCLUDEDIR=$PKG_CONFIG_SYSROOT_DIR/`$PKG_CONFIG --variable=xcbincludedir xcb-proto`
9 AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR)
10 AC_SUBST(XCBPROTO_XCBINCLUDEDIR)
11
diff --git a/meta/packages/xcb/libxcb_1.0.bb b/meta/packages/xcb/libxcb_1.0.bb
new file mode 100644
index 0000000000..dd88a5390f
--- /dev/null
+++ b/meta/packages/xcb/libxcb_1.0.bb
@@ -0,0 +1,6 @@
1include libxcb.inc
2PR = "r0"
3
4DEPENDS += "libpthread-stubs"
5
6PACKAGES =+ "libxcb-xinerama"
diff --git a/meta/packages/xcb/libxcb_git.bb b/meta/packages/xcb/libxcb_git.bb
new file mode 100644
index 0000000000..cb7326efa0
--- /dev/null
+++ b/meta/packages/xcb/libxcb_git.bb
@@ -0,0 +1,12 @@
1DEFAULT_PREFERENCE = "-1"
2
3include libxcb.inc
4PV = "1.0+git"
5PR = "r0"
6
7DEPENDS += "libpthread-stubs"
8
9SRC_URI = "git://anongit.freedesktop.org/git/xcb;protocol=git"
10S = "${WORKDIR}/git/xcb"
11
12PACKAGES =+ "libxcb-xinerama"
diff --git a/meta/packages/xcb/xcb-proto.inc b/meta/packages/xcb/xcb-proto.inc
new file mode 100644
index 0000000000..115a71ec3e
--- /dev/null
+++ b/meta/packages/xcb/xcb-proto.inc
@@ -0,0 +1,19 @@
1DESCRIPTION = "XCB: an X protocol C binding"
2SECTION = "x11/libs"
3LICENSE = "MIT-X"
4HOMEPAGE = "http://xcb.freedesktop.org"
5
6SRC_URI = "http://xcb.freedesktop.org/dist/xcb-proto-${PV}.tar.bz2"
7
8inherit autotools pkgconfig
9
10FILES_${PN}-dev += "${datadir}/xcb/*.xml"
11
12do_stage() {
13 oe_runmake DESTDIR="${D}" install
14 mkdir -p ${STAGING_LIBDIR}/pkgconfig
15 install ${D}${libdir}/pkgconfig/xcb-proto.pc ${STAGING_LIBDIR}/pkgconfig
16 mkdir -p ${STAGING_DATADIR}/xcb
17 install ${D}${datadir}/xcb/*.xml ${STAGING_DATADIR}/xcb
18}
19
diff --git a/meta/packages/xcb/xcb-proto_1.0.bb b/meta/packages/xcb/xcb-proto_1.0.bb
new file mode 100644
index 0000000000..7ca4463402
--- /dev/null
+++ b/meta/packages/xcb/xcb-proto_1.0.bb
@@ -0,0 +1,2 @@
1include xcb-proto.inc
2PR = "r0"
diff --git a/meta/packages/xcb/xcb-proto_git.bb b/meta/packages/xcb/xcb-proto_git.bb
new file mode 100644
index 0000000000..26b6ce7d01
--- /dev/null
+++ b/meta/packages/xcb/xcb-proto_git.bb
@@ -0,0 +1,13 @@
1DEFAULT_PREFERENCE = "-1"
2
3include xcb-proto.inc
4PV = "1.0+git"
5PR = "r0"
6
7SRC_URI = "git://anongit.freedesktop.org/git/xcb;protocol=git"
8S = "${WORKDIR}/git/xcb-proto"
9
10do_stage() {
11 autotools_stage_all
12}
13