From b65e735291fe91ae97b976be211c3e04e9d05d23 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 4 May 2010 21:50:36 +0200 Subject: [PATCH 1/3] busybox: disable MTD utils in default configuration The MTD utils require MTD headers in the toolchain, and in several external toolchains, they are not present. In order to make the build work by default, let's disable the MTD Busybox applets in our default configuration. Fixes bug #1669 Signed-off-by: Thomas Petazzoni --- package/busybox/busybox-1.16.x.config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/busybox/busybox-1.16.x.config b/package/busybox/busybox-1.16.x.config index 0b3dcc5681..e5f51023a6 100644 --- a/package/busybox/busybox-1.16.x.config +++ b/package/busybox/busybox-1.16.x.config @@ -604,10 +604,10 @@ CONFIG_DEVMEM=y CONFIG_EJECT=y # CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set -CONFIG_FLASHCP=y -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set # CONFIG_IONICE is not set # CONFIG_INOTIFYD is not set CONFIG_LAST=y From 4880edd506a2c629efa4ccf38f27f47d5d5d8804 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 4 May 2010 21:52:04 +0200 Subject: [PATCH 2/3] libxcb: fix path to Python modules When building libxcb, the variable XCBPROTO_XCBPYTHONDIR must point to the location where the Python modules needed to run the c_client.py program are installed. The path $(STAGING_DIR)/usr/lib/python2.6/site-packages was hardcoded. However, it doesn't work when the version of Python installed on the host is Python 2.5. Therefore, add a little bit of magic to compute the host Python version. We also verify that Python is available on the host, as we don't build it in Buildroot. Fixes bug #1531. Signed-off-by: Thomas Petazzoni --- package/x11r7/libxcb/libxcb.mk | 3 ++- toolchain/dependencies/dependencies.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/x11r7/libxcb/libxcb.mk b/package/x11r7/libxcb/libxcb.mk index ec9843e1be..c8b70ea18d 100644 --- a/package/x11r7/libxcb/libxcb.mk +++ b/package/x11r7/libxcb/libxcb.mk @@ -13,7 +13,8 @@ LIBXCB_AUTORECONF = NO LIBXCB_LIBTOOL_PATCH = NO LIBXCB_DEPENDENCIES = host-libxslt pthread-stubs xcb-proto xlib_libXdmcp xlib_libXau LIBXCB_CONF_ENV = STAGING_DIR="$(STAGING_DIR)" -LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb XCBPROTO_XCBPYTHONDIR=$(STAGING_DIR)/usr/lib/python2.6/site-packages +HOST_PYTHON_VERSION=$(shell python --version 2>&1 | sed 's/Python \(2\.[0-9]\)\..*/\1/') +LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb XCBPROTO_XCBPYTHONDIR=$(STAGING_DIR)/usr/lib/python$(HOST_PYTHON_VERSION)/site-packages $(eval $(call AUTOTARGETS,package/x11r7,libxcb)) diff --git a/toolchain/dependencies/dependencies.sh b/toolchain/dependencies/dependencies.sh index 013c1d57d3..923c76bcd8 100755 --- a/toolchain/dependencies/dependencies.sh +++ b/toolchain/dependencies/dependencies.sh @@ -122,7 +122,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then fi; # Check that a few mandatory programs are installed -for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio ; do +for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio python ; do if ! which $prog > /dev/null ; then /bin/echo -e "\nYou must install '$prog' on your build machine"; if test $prog = "makeinfo" ; then From e3963e90cc84df3a31b68768831fe07a0003e322 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 4 May 2010 21:53:50 +0200 Subject: [PATCH 3/3] xlib_libX11: re-add a patch to fix the keysymdef issue When xlib_libX11 was bumped to 1.3.2 in commit 1d956c9190dafbe425e9e02255b540641e27f690, the keysymdef patch was dropped. However, this patch is still needed in order to be able to tell ./configure where the keysymdef header file is installed. The patch has been updated for 1.3.2. Signed-off-by: Thomas Petazzoni --- .../xlib_libX11-1.3.2-keysymdef.patch | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 package/x11r7/xlib_libX11/xlib_libX11-1.3.2-keysymdef.patch diff --git a/package/x11r7/xlib_libX11/xlib_libX11-1.3.2-keysymdef.patch b/package/x11r7/xlib_libX11/xlib_libX11-1.3.2-keysymdef.patch new file mode 100644 index 0000000000..9c4eae2b30 --- /dev/null +++ b/package/x11r7/xlib_libX11/xlib_libX11-1.3.2-keysymdef.patch @@ -0,0 +1,35 @@ +[patch]: configure: add --with-keysymdef argument for cross compilation + +Based on a similar patch from Openembedded. + +The libX11 configure script hardcodes the location to keysymdef.h as +/include/X11/keysymdef.h, which is fine for native compilation, +but breaks with cross compilation as that directory is a location on +the target, not the build host. + +Fix it by providing an explicit --with-keysymdef=. + +Signed-off-by: Peter Korsgaard Index: libX11-1.1.5/configure.ac +=================================================================== +Index: xlib_libX11-1.3.2/configure.ac +=================================================================== +--- xlib_libX11-1.3.2.orig/configure.ac 2009-10-23 22:55:03.000000000 +0200 ++++ xlib_libX11-1.3.2/configure.ac 2010-05-04 16:26:39.000000000 +0200 +@@ -280,8 +280,15 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysymdef.h]) +-dir=`pkg-config --variable=includedir xproto` +-KEYSYMDEF="$dir/X11/keysymdef.h" ++AC_ARG_WITH(keysymdef, ++ AC_HELP_STRING([--with-keysymdef=DIR/keysymdef.h], [The location of keysymdef.h]), ++ KEYSYMDEF=$withval, KEYSYMDEF="") ++ ++if test x$KEYSYMDEF = x; then ++ dir=`pkg-config --variable=includedir xproto` ++ KEYSYMDEF="$dir/X11/keysymdef.h" ++fi ++ + if test -f "$KEYSYMDEF"; then + AC_MSG_RESULT([$KEYSYMDEF]) + else