From patchwork Sun Jan 6 20:56:21 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Hadjinlian X-Patchwork-Id: 209801 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 2B9792C0085 for ; Mon, 7 Jan 2013 07:56:48 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id BE78AA01BA; Sun, 6 Jan 2013 20:56:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yoFPeBbCg0o6; Sun, 6 Jan 2013 20:56:40 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 9F912A00B2; Sun, 6 Jan 2013 20:56:40 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 7C0348F753 for ; Sun, 6 Jan 2013 20:56:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5135F8C17B for ; Sun, 6 Jan 2013 20:56:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A-GhpIJBFL6T for ; Sun, 6 Jan 2013 20:56:34 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by whitealder.osuosl.org (Postfix) with ESMTPS id 2E8F08C1E7 for ; Sun, 6 Jan 2013 20:56:34 +0000 (UTC) Received: by mail-wg0-f52.google.com with SMTP id 12so9225138wgh.7 for ; Sun, 06 Jan 2013 12:56:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:in-reply-to:references; bh=mTDHlan4tWRpPDcvBxA7lAi1NrWEroBimSDP2Xh5sco=; b=XZgKmMW7cIALngxewG6wSrh+p7mMUF5isYdIzYF/2kZsgqY3gQpqWhK7ZNh56XmDz9 hJh4NACO1jqH6lGgJm83XbrDKuAzLkx64xqExxRmeVNkL9VTqvt4TUa0uzj51olAREIG zymnA12jzX2R8xo6Azpprutt8MOW16uQQdv4g8V4KpXX57WnbY70zHXx73CIbkE5kWUr zOmNgOb8OylArYrZMfgEq4iuYC4cEnUnAEICv//DmNoVoww48BWLuYrpMZe0A7JlH3B1 d2oI6GktH9zLT3m6+C1itngtEnHBCUBJdZNdCvBzYPSBWsPcdNP4jwudASbWvTf1wjIR IGGw== X-Received: by 10.180.84.131 with SMTP id z3mr6119911wiy.25.1357505792472; Sun, 06 Jan 2013 12:56:32 -0800 (PST) Received: from localhost.localdomain (13-105-190-109.dsl.ovh.fr. [109.190.105.13]) by mx.google.com with ESMTPS id h19sm9135594wiv.7.2013.01.06.12.56.30 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 06 Jan 2013 12:56:31 -0800 (PST) From: Maxime Hadjinlian To: buildroot@busybox.net Date: Sun, 6 Jan 2013 21:56:21 +0100 Message-Id: <175bbe60c696b921f074714aac68427ae0561b22.1357505417.git.maxime.hadjinlian@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: References: In-Reply-To: References: Subject: [Buildroot] [PATCH 2/3] rpi-userland: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Introducing a package to build the userland part of the Raspberry, needed by anyone who would want to build a rootfs for a RaspberryPi. Signed-off-by: Maxime Hadjinlian --- package/Config.in | 1 + package/rpi-userland/Config.in | 18 +++++ ...0002-Test-for-the-existence-of-execinfo-h.patch | 69 ++++++++++++++++++++ ...make-vmcs.cmake-allow-to-override-VMCS_IN.patch | 26 ++++++++ package/rpi-userland/rpi-userland.mk | 20 ++++++ 5 files changed, 134 insertions(+) create mode 100644 package/rpi-userland/Config.in create mode 100644 package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch create mode 100644 package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch create mode 100644 package/rpi-userland/rpi-userland.mk diff --git a/package/Config.in b/package/Config.in index 9b50f4b..17205fe 100644 --- a/package/Config.in +++ b/package/Config.in @@ -580,6 +580,7 @@ source "package/collectd/Config.in" source "package/empty/Config.in" source "package/googlefontdirectory/Config.in" source "package/mobile-broadband-provider-info/Config.in" +source "package/rpi-userland/Config.in" source "package/shared-mime-info/Config.in" source "package/snowball-init/Config.in" source "package/sound-theme-borealis/Config.in" diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in new file mode 100644 index 0000000..646d74e --- /dev/null +++ b/package/rpi-userland/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_RPI_USERLAND + bool "RaspberryPi userland" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_LARGEFILE + help + Raspberry Pi Userland contains the necessary library to use the + VideoCore driver. + + Includes source for the ARM side code to interface to: + EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG. + + https://github.com/raspberrypi/userland/ + +comment "RaspberryPi userland requires a toolchain with C++ support enabled" + depends on !BR2_INSTALL_LIBSTDCPP + +comment "RaspberryPi userland requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE diff --git a/package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch b/package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch new file mode 100644 index 0000000..ccc67d9 --- /dev/null +++ b/package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch @@ -0,0 +1,69 @@ +From 93ae1bcd8005216baf7361ba860b53a2cf2e0401 Mon Sep 17 00:00:00 2001 +From: Floris Bos +Date: Sun, 25 Nov 2012 19:05:07 +0100 +Subject: [PATCH] Test for the existence of execinfo.h + +Previous code assumed that on Linux the execinfo.h functions are always available, which is a glibc extension. +This change fixes building the library under buildroot, which uses uClibc by default +--- + interface/vcos/glibc/vcos_backtrace.c | 7 +++++-- + makefiles/cmake/arm-linux.cmake | 4 ++++ + makefiles/cmake/cmake_config.h.in | 3 +++ + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/interface/vcos/glibc/vcos_backtrace.c b/interface/vcos/glibc/vcos_backtrace.c +index 474a328..3bb8aa3 100644 +--- a/interface/vcos/glibc/vcos_backtrace.c ++++ b/interface/vcos/glibc/vcos_backtrace.c +@@ -26,7 +26,10 @@ + */ + + #include +-#ifdef __linux__ ++#ifdef HAVE_CMAKE_CONFIG ++#include "cmake_config.h" ++#endif ++#ifdef HAVE_EXECINFO_H + #include + #endif + #include +@@ -35,7 +38,7 @@ + + void vcos_backtrace_self(void) + { +-#ifdef __linux__ ++#ifdef HAVE_EXECINFO_H + void *stack[64]; + int depth = backtrace(stack, sizeof(stack)/sizeof(stack[0])); + char **names = backtrace_symbols(stack, depth); +diff --git a/makefiles/cmake/arm-linux.cmake b/makefiles/cmake/arm-linux.cmake +index 89d8bbf..6f2114f 100644 +--- a/makefiles/cmake/arm-linux.cmake ++++ b/makefiles/cmake/arm-linux.cmake +@@ -115,6 +115,10 @@ try_compile(HAVE_MTRACE + ${CMAKE_SOURCE_DIR}/makefiles/cmake/srcs/test-mtrace.c + OUTPUT_VARIABLE foo) + ++# test for existence of execinfo.h header ++include(CheckIncludeFile) ++check_include_file(execinfo.h HAVE_EXECINFO_H) ++ + add_definitions(-DHAVE_CMAKE_CONFIG) + configure_file ( + "makefiles/cmake/cmake_config.h.in" +diff --git a/makefiles/cmake/cmake_config.h.in b/makefiles/cmake/cmake_config.h.in +index 5f08ad5..080b8e8 100644 +--- a/makefiles/cmake/cmake_config.h.in ++++ b/makefiles/cmake/cmake_config.h.in +@@ -8,5 +8,8 @@ + /** Do we have support for GLIBC mtrace() ? */ + #cmakedefine HAVE_MTRACE + ++/** Do we have the execinfo.h include file ? */ ++#cmakedefine HAVE_EXECINFO_H ++ + #endif + +-- +1.7.10 + diff --git a/package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch b/package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch new file mode 100644 index 0000000..e54d29e --- /dev/null +++ b/package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch @@ -0,0 +1,26 @@ +From fec2560cfcb8d3398e4f1ccc3de7923365873676 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 5 Jan 2013 16:04:55 +0100 +Subject: [PATCH] makefiles/cmake/vmcs.cmake: allow to override + VMCS_INSTALL_PREFIX + +Signed-off-by: Samuel Martin +--- + makefiles/cmake/vmcs.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake +index 0f8641b..cc70cca 100644 +--- a/makefiles/cmake/vmcs.cmake ++++ b/makefiles/cmake/vmcs.cmake +@@ -9,7 +9,7 @@ INCLUDE(CPack) + # Where shall we install? + if (ANDROID) + SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE) +-else() ++elseif(NOT DEFINED VMCS_INSTALL_PREFIX) + SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE) + endif() + +-- +1.8.1 diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk new file mode 100644 index 0000000..ece37d4 --- /dev/null +++ b/package/rpi-userland/rpi-userland.mk @@ -0,0 +1,20 @@ +############################################################# +# +# rpi-userland +# +############################################################# + +RPI_USERLAND_VERSION = 9852ce28826889e50c4d6786b942f51bccccac54 +RPI_USERLAND_SITE = http://github.com/raspberrypi/userland/tarball/master +RPI_USERLAND_LICENSE = BSD-3c +RPI_USERLAND_LICENSE_FILE = LICENCE +RPI_USERLAND_INSTALL_STAGING = YES +RPI_USERLAND_CONF_OPT = -DVMCS_INSTALL_PREFIX=/usr + +define RPI_USERLAND_POST_TARGET_CLEANUP + rm -Rf $(TARGET_DIR)/usr/src +endef + +RPI_USERLAND_POST_INSTALL_TARGET_HOOKS += RPI_USERLAND_POST_TARGET_CLEANUP + +$(eval $(cmake-package))