All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies
@ 2013-03-24  8:26 Thomas Petazzoni
  2013-03-24  8:26 ` [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers Thomas Petazzoni
                   ` (21 more replies)
  0 siblings, 22 replies; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a set of misc patches doing fixes, gcc version bump, cleanup
of mandatory dependencies.

In detail:

 package/connman: version bump to 1.12, and fix build with newer kernels headers
 gettext: fix tools build failure for uClibc toolchain with C++
 libgtk2: use non-host specific patch

   These are fixes that should be applied now. They fix real build
   issues. One patch comes from Gustavo, another patch comes from
   Yann.

 gcc: fix location of snapshots
 gcc: add support for gcc 4.8
 gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication

   These add support for gcc 4.8.

 gcc: add missing $(Q)
 kernel-headers: add missing $(Q)
 uClibc: add missing $(Q)

   These are really simple fixes.

 gmp: requires host-m4
 libpcap: add missing flex/bison dependencies
 iproute2: add dependency on host-bison
 ncurses: enable shared library build on the host
 gettext: provide a host variant
 libglib2: add dependency on host-gettext
 at: needs host-flex and host-bison

   These are preparations patches for the cleanup of the mandatory
   dependencies. Since we are going to remove flex, bison and gettext
   from the mandatory dependencies, we need to add these to the
   dependencies of a certain number of packages.

   I did test some builds in a small chroot that have the new minimal
   set of Buildroot dependencies (as defined by the following patches)
   and fixed the issues that I found. However, since once host-flex
   and host-bison have been built by one package, a simple
   allyespackageconfig cannot find all the dependencies. I've done a
   few randpackageconfig builds, but for sure, only the autobuilders
   will help us finding the missing dependencies. Therefore, once the
   following patches are committed, I will change the autobuilders
   chroots to not have gettext, flex and bison installed.

 dependencies: remove a few useless mandatory dependencies
 dependencies: remove useless newlines
 dependencies: add details about which distro package to install
 dependencies: test all programs before bailing out
 dependencies: check that a full perl installation is available
 dependencies: check that SSL certificates are installed

   These are improvements to our dependency detection. The most
   important patch is obviously the first one, since it removes a
   certain number of dependencies that were in the past mandatory.

   The other ones are more minor improvements.

This series has been pushed to:

  http://git.free-electrons.com/users/thomas-petazzoni/buildroot/log/?h=misc-improvements

Best regards,

Thomas

Gustavo Zacarias (1):
  gettext: fix tools build failure for uClibc toolchain with C++

Thomas Petazzoni (20):
  libgtk2: use non-host specific patch
  gcc: fix location of snapshots
  gcc: add support for gcc 4.8
  gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication
  gcc: add missing $(Q)
  kernel-headers: add missing $(Q)
  uClibc: add missing $(Q)
  gmp: requires host-m4
  libpcap: add missing flex/bison dependencies
  iproute2: add dependency on host-bison
  ncurses: enable shared library build on the host
  gettext: provide a host variant
  libglib2: add dependency on host-gettext
  at: needs host-flex and host-bison
  dependencies: remove a few useless mandatory dependencies
  dependencies: remove useless newlines
  dependencies: add details about which distro package to install
  dependencies: test all programs before bailing out
  dependencies: check that a full perl installation is available
  dependencies: check that SSL certificates are installed

Yann E. MORIN (1):
  package/connman: version bump to 1.12, and fix build with newer
    kernels headers

 docs/manual/prerequisite.txt                       |    5 -
 package/at/at.mk                                   |    2 +-
 package/connman/connman-000-uclibc-backtrace.patch |   44 +++
 .../connman-001-fix-for-latest-headers-3.8+.patch  |   19 ++
 package/connman/connman-uclibc-backtrace.patch     |   44 ---
 package/connman/connman.mk                         |    2 +-
 package/gettext/gettext-fix_rpl_gettimeofday.patch |  282 ++++++++++++++++++++
 package/gettext/gettext.mk                         |    1 +
 package/gmp/gmp.mk                                 |    2 +
 package/iproute2/iproute2.mk                       |    7 +-
 package/libglib2/libglib2.mk                       |    4 +-
 .../libgtk2/host-libgtk2-reduce-dependencies.patch |  168 ------------
 package/libgtk2/libgtk2-reduce-dependencies.patch  |  117 ++++++++
 package/libgtk2/libgtk2.mk                         |    2 +
 package/libpcap/libpcap.mk                         |    2 +-
 package/ncurses/ncurses.mk                         |    2 +-
 support/dependencies/dependencies.sh               |   44 ++-
 toolchain/gcc/4.8.0/100-uclibc-conf.patch          |   37 +++
 toolchain/gcc/4.8.0/301-missing-execinfo_h.patch   |   13 +
 toolchain/gcc/4.8.0/302-c99-snprintf.patch         |   13 +
 .../gcc/4.8.0/305-libmudflap-susv3-legacy.patch    |   49 ++++
 toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch |   30 +++
 toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch   |   13 +
 .../powerpc-link-with-math-lib.patch.conditional   |  122 +++++++++
 toolchain/gcc/Config.in                            |   13 +
 toolchain/gcc/gcc-uclibc-4.x.mk                    |   38 +--
 toolchain/kernel-headers/kernel-headers.mk         |    2 +-
 toolchain/uClibc/uclibc.mk                         |    2 +-
 28 files changed, 806 insertions(+), 273 deletions(-)
 create mode 100644 package/connman/connman-000-uclibc-backtrace.patch
 create mode 100644 package/connman/connman-001-fix-for-latest-headers-3.8+.patch
 delete mode 100644 package/connman/connman-uclibc-backtrace.patch
 create mode 100644 package/gettext/gettext-fix_rpl_gettimeofday.patch
 delete mode 100644 package/libgtk2/host-libgtk2-reduce-dependencies.patch
 create mode 100644 package/libgtk2/libgtk2-reduce-dependencies.patch
 create mode 100644 toolchain/gcc/4.8.0/100-uclibc-conf.patch
 create mode 100644 toolchain/gcc/4.8.0/301-missing-execinfo_h.patch
 create mode 100644 toolchain/gcc/4.8.0/302-c99-snprintf.patch
 create mode 100644 toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch
 create mode 100644 toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch
 create mode 100644 toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch
 create mode 100644 toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 11:42   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++ Thomas Petazzoni
                   ` (20 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

... while keeping compatibility with older ones.

Fixes autobuild failure:
http://autobuild.buildroot.org/results/f99ae7af46c70f7c356b7771321511a42eb3694d/

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/connman/connman-000-uclibc-backtrace.patch |   44 ++++++++++++++++++++
 .../connman-001-fix-for-latest-headers-3.8+.patch  |   19 +++++++++
 package/connman/connman-uclibc-backtrace.patch     |   44 --------------------
 package/connman/connman.mk                         |    2 +-
 4 files changed, 64 insertions(+), 45 deletions(-)
 create mode 100644 package/connman/connman-000-uclibc-backtrace.patch
 create mode 100644 package/connman/connman-001-fix-for-latest-headers-3.8+.patch
 delete mode 100644 package/connman/connman-uclibc-backtrace.patch

diff --git a/package/connman/connman-000-uclibc-backtrace.patch b/package/connman/connman-000-uclibc-backtrace.patch
new file mode 100644
index 0000000..4b806c6
--- /dev/null
+++ b/package/connman/connman-000-uclibc-backtrace.patch
@@ -0,0 +1,44 @@
+[PATCH] fix build on uClibc without UCLIBC_HAS_BACKTRACE
+
+Backtrace support is only used for logging on signal errors, which
+isn't really critical, so simply remove backtrace info if not
+available in uClibc.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/log.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+Index: connman-0.78/src/log.c
+===================================================================
+--- connman-0.78.orig/src/log.c
++++ connman-0.78/src/log.c
+@@ -30,7 +30,12 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <syslog.h>
++#include <features.h>
++/* backtrace support is optional on uClibc */
++#if !(defined(__UCLIBC__) && !defined (__UCLIBC_HAS_BACKTRACE__))
++#define HAVE_BACKTRACE
+ #include <execinfo.h>
++#endif
+ #include <dlfcn.h>
+ 
+ #include "connman.h"
+@@ -112,6 +117,7 @@
+ 
+ static void print_backtrace(unsigned int offset)
+ {
++#ifdef HAVE_BACKTRACE
+ 	void *frames[99];
+ 	size_t n_ptrs;
+ 	unsigned int i;
+@@ -210,6 +216,7 @@
+ 
+ 	close(outfd[1]);
+ 	close(infd[0]);
++#endif /* HAVE_BACKTRACE */
+ }
+ 
+ static void signal_handler(int signo)
diff --git a/package/connman/connman-001-fix-for-latest-headers-3.8+.patch b/package/connman/connman-001-fix-for-latest-headers-3.8+.patch
new file mode 100644
index 0000000..ef1fabc
--- /dev/null
+++ b/package/connman/connman-001-fix-for-latest-headers-3.8+.patch
@@ -0,0 +1,19 @@
+tethering: fix build with kernel headers 3.8+
+
+Highly inspired by:
+    package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch
+    http://www.redhat.com/archives/libvir-list/2013-January/msg01253.html
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN connman-1.11.orig/src/tethering.c connman-1.11/src/tethering.c
+--- connman-1.11.orig/src/tethering.c	2012-12-22 22:52:47.000000000 +0100
++++ connman-1.11/src/tethering.c	2013-03-21 19:39:17.036029270 +0100
+@@ -35,6 +35,7 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <linux/if_tun.h>
++#include <netinet/in.h>
+ #include <linux/if_bridge.h>
+ 
+ #include "connman.h"
diff --git a/package/connman/connman-uclibc-backtrace.patch b/package/connman/connman-uclibc-backtrace.patch
deleted file mode 100644
index 4b806c6..0000000
--- a/package/connman/connman-uclibc-backtrace.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-[PATCH] fix build on uClibc without UCLIBC_HAS_BACKTRACE
-
-Backtrace support is only used for logging on signal errors, which
-isn't really critical, so simply remove backtrace info if not
-available in uClibc.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- src/log.c |    7 +++++++
- 1 file changed, 7 insertions(+)
-
-Index: connman-0.78/src/log.c
-===================================================================
---- connman-0.78.orig/src/log.c
-+++ connman-0.78/src/log.c
-@@ -30,7 +30,12 @@
- #include <stdlib.h>
- #include <string.h>
- #include <syslog.h>
-+#include <features.h>
-+/* backtrace support is optional on uClibc */
-+#if !(defined(__UCLIBC__) && !defined (__UCLIBC_HAS_BACKTRACE__))
-+#define HAVE_BACKTRACE
- #include <execinfo.h>
-+#endif
- #include <dlfcn.h>
- 
- #include "connman.h"
-@@ -112,6 +117,7 @@
- 
- static void print_backtrace(unsigned int offset)
- {
-+#ifdef HAVE_BACKTRACE
- 	void *frames[99];
- 	size_t n_ptrs;
- 	unsigned int i;
-@@ -210,6 +216,7 @@
- 
- 	close(outfd[1]);
- 	close(infd[0]);
-+#endif /* HAVE_BACKTRACE */
- }
- 
- static void signal_handler(int signo)
diff --git a/package/connman/connman.mk b/package/connman/connman.mk
index bb528b4..f29ff3b 100644
--- a/package/connman/connman.mk
+++ b/package/connman/connman.mk
@@ -4,7 +4,7 @@
 #
 #######################################################
 
-CONNMAN_VERSION = 1.11
+CONNMAN_VERSION = 1.12
 CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman/
 CONNMAN_DEPENDENCIES = libglib2 dbus iptables gnutls
 CONNMAN_INSTALL_STAGING = YES
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
  2013-03-24  8:26 ` [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 11:43   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch Thomas Petazzoni
                   ` (19 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

From: Gustavo Zacarias <gustavo@zacarias.com.ar>

Fixes:
http://autobuild.buildroot.net/results/e5777d754653edef9d8c8558f04c2836734f2c25/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/gettext/gettext-fix_rpl_gettimeofday.patch |  282 ++++++++++++++++++++
 1 file changed, 282 insertions(+)
 create mode 100644 package/gettext/gettext-fix_rpl_gettimeofday.patch

diff --git a/package/gettext/gettext-fix_rpl_gettimeofday.patch b/package/gettext/gettext-fix_rpl_gettimeofday.patch
new file mode 100644
index 0000000..e97ceb2
--- /dev/null
+++ b/package/gettext/gettext-fix_rpl_gettimeofday.patch
@@ -0,0 +1,282 @@
+Newer sys_time.in.h from gnulib breaks on uClibc with C++ so roll back
+to a previous version that's known to work.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura gettext-0.18.2.1.orig/gettext-tools/gnulib-lib/sys_time.in.h gettext-0.18.2.1/gettext-tools/gnulib-lib/sys_time.in.h
+--- gettext-0.18.2.1.orig/gettext-tools/gnulib-lib/sys_time.in.h	2013-03-12 09:17:10.530475932 -0300
++++ gettext-0.18.2.1/gettext-tools/gnulib-lib/sys_time.in.h	2013-03-19 12:00:17.557958255 -0300
+@@ -1,6 +1,6 @@
+ /* Provide a more complete sys/time.h.
+ 
+-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
++   Copyright (C) 2007-2012 Free Software Foundation, Inc.
+ 
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+@@ -17,34 +17,37 @@
+ 
+ /* Written by Paul Eggert.  */
+ 
+-#ifndef _ at GUARD_PREFIX@_SYS_TIME_H
+-
+ #if __GNUC__ >= 3
+ @PRAGMA_SYSTEM_HEADER@
+ #endif
+ @PRAGMA_COLUMNS@
+ 
+-/* The include_next requires a split double-inclusion guard.  */
+-#if @HAVE_SYS_TIME_H@
+-# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
+-#endif
++#if defined _ at GUARD_PREFIX@_SYS_TIME_H
+ 
+-#ifndef _ at GUARD_PREFIX@_SYS_TIME_H
+-#define _ at GUARD_PREFIX@_SYS_TIME_H
++/* Simply delegate to the system's header, without adding anything.  */
++# if @HAVE_SYS_TIME_H@
++#  @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
++# endif
+ 
+-#if ! @HAVE_SYS_TIME_H@
+-# include <time.h>
+-#endif
++#else
++
++# define _ at GUARD_PREFIX@_SYS_TIME_H
++
++# if @HAVE_SYS_TIME_H@
++#  @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
++# else
++#  include <time.h>
++# endif
+ 
+ /* On native Windows with MSVC, get the 'struct timeval' type.
+    Also, on native Windows with a 64-bit time_t, where we are overriding the
+    'struct timeval' type, get all declarations of system functions whose
+    signature contains 'struct timeval'.  */
+-#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H
+-# define _GL_INCLUDING_WINSOCK2_H
+-# include <winsock2.h>
+-# undef _GL_INCLUDING_WINSOCK2_H
+-#endif
++# if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H
++#  define _GL_INCLUDING_WINSOCK2_H
++#  include <winsock2.h>
++#  undef _GL_INCLUDING_WINSOCK2_H
++# endif
+ 
+ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+ 
+@@ -52,112 +55,112 @@
+ 
+ /* The definition of _GL_WARN_ON_USE is copied here.  */
+ 
+-#ifdef __cplusplus
++# ifdef __cplusplus
+ extern "C" {
+-#endif
++# endif
+ 
+-#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@
++# if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@
+ 
+-# if @REPLACE_STRUCT_TIMEVAL@
+-#  define timeval rpl_timeval
+-# endif
++#  if @REPLACE_STRUCT_TIMEVAL@
++#   define timeval rpl_timeval
++#  endif
+ 
+-# if !GNULIB_defined_struct_timeval
++#  if !GNULIB_defined_struct_timeval
+ struct timeval
+ {
+   time_t tv_sec;
+   long int tv_usec;
+ };
+-#  define GNULIB_defined_struct_timeval 1
+-# endif
++#   define GNULIB_defined_struct_timeval 1
++#  endif
+ 
+-#endif
++# endif
+ 
+-#ifdef __cplusplus
++# ifdef __cplusplus
+ }
+-#endif
++# endif
+ 
+-#if @GNULIB_GETTIMEOFDAY@
+-# if @REPLACE_GETTIMEOFDAY@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gettimeofday
+-#   define gettimeofday rpl_gettimeofday
+-#  endif
++# if @GNULIB_GETTIMEOFDAY@
++#  if @REPLACE_GETTIMEOFDAY@
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef gettimeofday
++#    define gettimeofday rpl_gettimeofday
++#   endif
+ _GL_FUNCDECL_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+ _GL_CXXALIAS_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict));
+-# else
+-#  if !@HAVE_GETTIMEOFDAY@
++                  (struct timeval *__restrict, void *__restrict));
++#  else
++#   if !@HAVE_GETTIMEOFDAY@
+ _GL_FUNCDECL_SYS (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+-#  endif
++#   endif
+ /* Need to cast, because on glibc systems, by default, the second argument is
+                                                   struct timezone *.  */
+ _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
+-                       (struct timeval *restrict, void *restrict));
+-# endif
++                       (struct timeval *__restrict, void *__restrict));
++#  endif
+ _GL_CXXALIASWARN (gettimeofday);
+-#elif defined GNULIB_POSIXCHECK
+-# undef gettimeofday
+-# if HAVE_RAW_DECL_GETTIMEOFDAY
++# elif defined GNULIB_POSIXCHECK
++#  undef gettimeofday
++#  if HAVE_RAW_DECL_GETTIMEOFDAY
+ _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
+                  "use gnulib module gettimeofday for portability");
++#  endif
+ # endif
+-#endif
+ 
+ /* Hide some function declarations from <winsock2.h>.  */
+ 
+-#if defined _MSC_VER && @HAVE_WINSOCK2_H@
+-# if !defined _ at GUARD_PREFIX@_UNISTD_H
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef close
+-#   define close close_used_without_including_unistd_h
+-#  else
++# if defined _MSC_VER && @HAVE_WINSOCK2_H@
++#  if !defined _ at GUARD_PREFIX@_UNISTD_H
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef close
++#    define close close_used_without_including_unistd_h
++#   else
+      _GL_WARN_ON_USE (close,
+                       "close() used without including <unistd.h>");
+-#  endif
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gethostname
+-#   define gethostname gethostname_used_without_including_unistd_h
+-#  else
++#   endif
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef gethostname
++#    define gethostname gethostname_used_without_including_unistd_h
++#   else
+      _GL_WARN_ON_USE (gethostname,
+                       "gethostname() used without including <unistd.h>");
++#   endif
+ #  endif
+-# endif
+-# if !defined _ at GUARD_PREFIX@_SYS_SOCKET_H
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef socket
+-#   define socket              socket_used_without_including_sys_socket_h
+-#   undef connect
+-#   define connect             connect_used_without_including_sys_socket_h
+-#   undef accept
+-#   define accept              accept_used_without_including_sys_socket_h
+-#   undef bind
+-#   define bind                bind_used_without_including_sys_socket_h
+-#   undef getpeername
+-#   define getpeername         getpeername_used_without_including_sys_socket_h
+-#   undef getsockname
+-#   define getsockname         getsockname_used_without_including_sys_socket_h
+-#   undef getsockopt
+-#   define getsockopt          getsockopt_used_without_including_sys_socket_h
+-#   undef listen
+-#   define listen              listen_used_without_including_sys_socket_h
+-#   undef recv
+-#   define recv                recv_used_without_including_sys_socket_h
+-#   undef send
+-#   define send                send_used_without_including_sys_socket_h
+-#   undef recvfrom
+-#   define recvfrom            recvfrom_used_without_including_sys_socket_h
+-#   undef sendto
+-#   define sendto              sendto_used_without_including_sys_socket_h
+-#   undef setsockopt
+-#   define setsockopt          setsockopt_used_without_including_sys_socket_h
+-#   undef shutdown
+-#   define shutdown            shutdown_used_without_including_sys_socket_h
+-#  else
++#  if !defined _ at GUARD_PREFIX@_SYS_SOCKET_H
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef socket
++#    define socket              socket_used_without_including_sys_socket_h
++#    undef connect
++#    define connect             connect_used_without_including_sys_socket_h
++#    undef accept
++#    define accept              accept_used_without_including_sys_socket_h
++#    undef bind
++#    define bind                bind_used_without_including_sys_socket_h
++#    undef getpeername
++#    define getpeername         getpeername_used_without_including_sys_socket_h
++#    undef getsockname
++#    define getsockname         getsockname_used_without_including_sys_socket_h
++#    undef getsockopt
++#    define getsockopt          getsockopt_used_without_including_sys_socket_h
++#    undef listen
++#    define listen              listen_used_without_including_sys_socket_h
++#    undef recv
++#    define recv                recv_used_without_including_sys_socket_h
++#    undef send
++#    define send                send_used_without_including_sys_socket_h
++#    undef recvfrom
++#    define recvfrom            recvfrom_used_without_including_sys_socket_h
++#    undef sendto
++#    define sendto              sendto_used_without_including_sys_socket_h
++#    undef setsockopt
++#    define setsockopt          setsockopt_used_without_including_sys_socket_h
++#    undef shutdown
++#    define shutdown            shutdown_used_without_including_sys_socket_h
++#   else
+      _GL_WARN_ON_USE (socket,
+                       "socket() used without including <sys/socket.h>");
+      _GL_WARN_ON_USE (connect,
+@@ -186,18 +189,17 @@
+                       "setsockopt() used without including <sys/socket.h>");
+      _GL_WARN_ON_USE (shutdown,
+                       "shutdown() used without including <sys/socket.h>");
++#   endif
+ #  endif
+-# endif
+-# if !defined _ at GUARD_PREFIX@_SYS_SELECT_H
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef select
+-#   define select select_used_without_including_sys_select_h
+-#  else
++#  if !defined _ at GUARD_PREFIX@_SYS_SELECT_H
++#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
++#    undef select
++#    define select select_used_without_including_sys_select_h
++#   else
+      _GL_WARN_ON_USE (select,
+                       "select() used without including <sys/select.h>");
++#   endif
+ #  endif
+ # endif
+-#endif
+ 
+ #endif /* _ at GUARD_PREFIX@_SYS_TIME_H */
+-#endif /* _ at GUARD_PREFIX@_SYS_TIME_H */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
  2013-03-24  8:26 ` [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers Thomas Petazzoni
  2013-03-24  8:26 ` [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++ Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 11:44   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 04/22] gcc: fix location of snapshots Thomas Petazzoni
                   ` (18 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

The libgtk2 package was using a host-<foo>.patch that should be
applied only on the host variant of the package. Unfortunately, with
the patch model rework, this doesn't work anymore: Buildroot tries to
apply the patch twice, for some reason.

But instead of fixing the patch model, it is probably a lot better to
fix this patch itself, which is the only usage of host-only patch in
Buildroot.

So instead of simply removing code that detects dependencies in gtk2's
configure.in script, we use a condition based on the value of
gdktarget. And it turns out that it makes the patch shorter.

However, it requires autoreconfiguring the libgtk2 target package,
because we are now modifying its configure.in.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../libgtk2/host-libgtk2-reduce-dependencies.patch |  168 --------------------
 package/libgtk2/libgtk2-reduce-dependencies.patch  |  117 ++++++++++++++
 package/libgtk2/libgtk2.mk                         |    2 +
 3 files changed, 119 insertions(+), 168 deletions(-)
 delete mode 100644 package/libgtk2/host-libgtk2-reduce-dependencies.patch
 create mode 100644 package/libgtk2/libgtk2-reduce-dependencies.patch

diff --git a/package/libgtk2/host-libgtk2-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-reduce-dependencies.patch
deleted file mode 100644
index 091eeb0..0000000
--- a/package/libgtk2/host-libgtk2-reduce-dependencies.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-Hack the configure.in file to add a "none" gdktarget which removes
-dependencies on graphic backends such as X.org or DirectFB. Gtk does
-not fully build in this mode, but it builds sufficiently to build the
-host tools that are needed to build the target Gtk.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure.in |  101 ++---------------------------------------------------------
- 1 file changed, 4 insertions(+), 97 deletions(-)
-
-Index: gtk+-2.24.8/configure.in
-===================================================================
---- gtk+-2.24.8.orig/configure.in
-+++ gtk+-2.24.8/configure.in
-@@ -259,12 +259,12 @@
-   gdktarget=x11
- fi
- 
--AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
-+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target],
- 	gdktarget=$with_gdktarget)
- 
- AC_SUBST(gdktarget)
- case $gdktarget in
--  x11|win32|quartz|directfb) ;;
-+  x11|win32|quartz|directfb|none) ;;
-   *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
- esac
- 
-@@ -374,9 +374,6 @@
- ## annoying to construct
- PKG_CHECK_MODULES(BASE_DEPENDENCIES,
-   [glib-2.0 >= glib_required_version dnl
--   atk >= atk_required_version dnl
--   pango >= pango_required_version dnl
--   cairo >= cairo_required_version dnl
-    gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
- 
- ## In addition to checking that cairo is present, we also need to
-@@ -389,8 +386,6 @@
- if test "x$cairo_backend" = "xx11"; then
-    cairo_backend=xlib
- fi
--PKG_CHECK_MODULES(CAIRO_BACKEND,
--  [cairo-$cairo_backend >= cairo_required_version])
- 
- if test "$os_win32" != yes; then
-     # libtool option to control which symbols are exported
-@@ -1280,50 +1275,6 @@
- fi
- 
- 
--# Check for Pango flags
--
--if test "x$gdktarget" = "xwin32"; then
--	PANGO_PACKAGES="pangowin32 pangocairo"
--else
--	PANGO_PACKAGES="pango pangocairo"
--fi
--
--AC_MSG_CHECKING(Pango flags)
--if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
--        PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
--        PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
--
--        AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
--else
--        AC_MSG_ERROR([
--*** Pango not found. Pango built with Cairo support is required
--*** to build GTK+. See http://www.pango.org for Pango information.
--])
--fi
--
--CFLAGS="$CFLAGS $PANGO_CFLAGS"
--
--if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
--        :
--else
--	gtk_save_LIBS="$LIBS"
--        LIBS="$PANGO_LIBS $LIBS"
--        AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
--*** Can't link to Pango. Pango is required to build
--*** GTK+. For more information see http://www.pango.org]))
--        LIBS="$gtk_save_LIBS"
--fi
--
--CFLAGS="$saved_cflags"
--LDFLAGS="$saved_ldflags"
--
--# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
--if test "x$gdktarget" = "xx11"; then
--  GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
--else
--  GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
--fi
--
- GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB"
- GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
- #
-@@ -1331,7 +1282,7 @@
- # into the pkg-config files
- #
- if test $enable_explicit_deps != yes ; then
--  GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0"
-+  GDK_PACKAGES="gdk-pixbuf-2.0"
-   GDK_EXTRA_LIBS=
- fi
- 
-@@ -1341,37 +1292,7 @@
- AC_SUBST(GDK_DEP_LIBS)
- AC_SUBST(GDK_DEP_CFLAGS)
- 
--
--########################################
--# Check for Accessibility Toolkit flags
--########################################
--
--ATK_PACKAGES=atk
--AC_MSG_CHECKING(ATK flags)
--if $PKG_CONFIG --exists $ATK_PACKAGES ; then
--        ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
--        ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
--
--        AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
--else
--        AC_MSG_ERROR([
--*** Accessibility Toolkit not found. Accessibility Toolkit is required
--*** to build GTK+.
--])
--fi
--
--if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
--        :
--else
--	gtk_save_LIBS="$LIBS"
--        LIBS="$ATK_LIBS $LIBS"
--        AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
--                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
--                *** to build GTK+]))
--        LIBS="$gtk_save_LIBS"
--fi
--
--GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
-+GTK_PACKAGES="gdk-pixbuf-2.0"
- if test "x$gdktarget" = "xx11"; then
-   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
- fi
-@@ -1527,20 +1448,6 @@
- gtk_save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
- 
--AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
--*** Can't find cairo-pdf.h. You must build Cairo with the pdf
--*** backend enabled.]))
--
--if test "$os_win32" != "yes"; then
--  AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
--*** Can't find cairo-ps.h. You must build Cairo with the 
--*** postscript backend enabled.]))
--
--  AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([
--*** Can't find cairo-svg.h. You must build Cairo with the
--*** svg backend enabled.]))
--fi   
--
- CPPFLAGS="$gtk_save_cppflags"
-      
- 			  	
diff --git a/package/libgtk2/libgtk2-reduce-dependencies.patch b/package/libgtk2/libgtk2-reduce-dependencies.patch
new file mode 100644
index 0000000..5bb9db9
--- /dev/null
+++ b/package/libgtk2/libgtk2-reduce-dependencies.patch
@@ -0,0 +1,117 @@
+Hack the configure.in file to add a "none" gdktarget which removes
+dependencies on graphic backends such as X.org or DirectFB. Gtk does
+not fully build in this mode, but it builds sufficiently to build the
+host tools that are needed to build the target Gtk.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.in |   34 +++++++++++++++++++++++++++-------
+ 1 file changed, 27 insertions(+), 7 deletions(-)
+
+Index: b/configure.in
+===================================================================
+--- a/configure.in
++++ b/configure.in
+@@ -259,12 +259,12 @@
+   gdktarget=x11
+ fi
+ 
+-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
++AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target],
+ 	gdktarget=$with_gdktarget)
+ 
+ AC_SUBST(gdktarget)
+ case $gdktarget in
+-  x11|win32|quartz|directfb) ;;
++  x11|win32|quartz|directfb|none) ;;
+   *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
+ esac
+ 
+@@ -374,11 +374,15 @@
+ ## annoying to construct
+ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
+   [glib-2.0 >= glib_required_version dnl
+-   atk >= atk_required_version dnl
+-   pango >= pango_required_version dnl
+-   cairo >= cairo_required_version dnl
+    gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
+ 
++if test "x$gdktarget" != "xnone"; then
++   PKG_CHECK_MODULES(BASE_DEPENDENCIES,
++	[atk >= atk_required_version dnl
++	 pango >= pango_required_version dnl
++	 cairo >= cairo_required_version])
++fi
++
+ ## In addition to checking that cairo is present, we also need to
+ ## check that the correct cairo backend is there. E.g. if the GDK
+ ## target is win32 we need the cairo-win32 backend and so on.
+@@ -389,8 +393,11 @@
+ if test "x$cairo_backend" = "xx11"; then
+    cairo_backend=xlib
+ fi
+-PKG_CHECK_MODULES(CAIRO_BACKEND,
+-  [cairo-$cairo_backend >= cairo_required_version])
++
++if test "x$gdktarget" != "xnone"; then
++   PKG_CHECK_MODULES(CAIRO_BACKEND,
++	[cairo-$cairo_backend >= cairo_required_version])
++fi
+ 
+ PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
+ 
+@@ -1281,6 +1288,7 @@
+   AM_CONDITIONAL(USE_DIRECTFB, false)
+ fi
+ 
++if test "x$gdktarget" != "xnone"; then
+ 
+ # Check for Pango flags
+ 
+@@ -1326,6 +1334,8 @@
+   GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
+ fi
+ 
++fi # gdktarget != none
++
+ GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB"
+ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
+ #
+@@ -1344,6 +1354,8 @@
+ AC_SUBST(GDK_DEP_CFLAGS)
+ 
+ 
++if test "x$gdktarget" != "xnone"; then
++
+ ########################################
+ # Check for Accessibility Toolkit flags
+ ########################################
+@@ -1374,6 +1386,10 @@
+ fi
+ 
+ GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
++else # gdktarget != none
++GTK_PACKAGES="gdk-pixbuf-2.0"
++fi # gdktarget != none
++
+ if test "x$gdktarget" = "xx11"; then
+   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
+ fi
+@@ -1529,6 +1545,8 @@
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
+ 
++if test "x$gdktarget" != "xnone"; then
++
+ AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
+ *** Can't find cairo-pdf.h. You must build Cairo with the pdf
+ *** backend enabled.]))
+@@ -1543,6 +1561,8 @@
+ *** svg backend enabled.]))
+ fi   
+ 
++fi # gdktarget != none
++
+ CPPFLAGS="$gtk_save_cppflags"
+      
+ 			  	
diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk
index e6a9d84..b1ce99a 100644
--- a/package/libgtk2/libgtk2.mk
+++ b/package/libgtk2/libgtk2.mk
@@ -12,6 +12,8 @@ LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJ
 LIBGTK2_INSTALL_STAGING = YES
 LIBGTK2_INSTALL_TARGET = YES
 
+LIBGTK2_AUTORECONF = YES
+
 LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
 		glib_cv_uscore=no \
 		ac_cv_func_strtod=yes \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 04/22] gcc: fix location of snapshots
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 11:45   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8 Thomas Petazzoni
                   ` (17 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

The gcc snapshots are now located at
ftp://gcc.gnu.org/pub/gcc/snapshots/. This has been tested with a
recent 4.8.0-RC snapshot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/gcc-uclibc-4.x.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index bdc38cd..3bfa13b 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -26,7 +26,7 @@ GCC_SNAP_DATE:=
 endif
 
 ifneq ($(GCC_SNAP_DATE),)
- GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_VERSION)
+ GCC_SITE:=ftp://gcc.gnu.org/pub/gcc/snapshots/$(GCC_SNAP_DATE)/
 else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32)
  GCC_SITE:=ftp://www.at91.com/pub/buildroot/
 else
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 04/22] gcc: fix location of snapshots Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:39   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication Thomas Petazzoni
                   ` (16 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

This commit adds support for the recently released gcc 4.8. We re-add
the same patch series as the one used for 4.7.x, after refreshing the
patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
I've tested gcc 4.8.x with a allyespackageconfig build, and it does
not blow up immediatly. Many, many packages build successfully. Apart
from issues non-related to gcc 4.8.x, the first real failure due to
gcc 4.8.x was caused by libeXosip, which is built with warnings
treated as errors, and gcc 4.8.x has some additional warnings. I
however, didn't complete the allyespackageconfig build, so this is
only a partial view.
---
 toolchain/gcc/4.8.0/100-uclibc-conf.patch          |   37 ++++++
 toolchain/gcc/4.8.0/301-missing-execinfo_h.patch   |   13 +++
 toolchain/gcc/4.8.0/302-c99-snprintf.patch         |   13 +++
 .../gcc/4.8.0/305-libmudflap-susv3-legacy.patch    |   49 ++++++++
 toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch |   30 +++++
 toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch   |   13 +++
 .../powerpc-link-with-math-lib.patch.conditional   |  122 ++++++++++++++++++++
 toolchain/gcc/Config.in                            |    5 +
 toolchain/gcc/gcc-uclibc-4.x.mk                    |   10 ++
 9 files changed, 292 insertions(+)
 create mode 100644 toolchain/gcc/4.8.0/100-uclibc-conf.patch
 create mode 100644 toolchain/gcc/4.8.0/301-missing-execinfo_h.patch
 create mode 100644 toolchain/gcc/4.8.0/302-c99-snprintf.patch
 create mode 100644 toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch
 create mode 100644 toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch
 create mode 100644 toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch
 create mode 100644 toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional

diff --git a/toolchain/gcc/4.8.0/100-uclibc-conf.patch b/toolchain/gcc/4.8.0/100-uclibc-conf.patch
new file mode 100644
index 0000000..d855b30
--- /dev/null
+++ b/toolchain/gcc/4.8.0/100-uclibc-conf.patch
@@ -0,0 +1,37 @@
+Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
+===================================================================
+--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh	2009-04-09 17:00:19.000000000 +0200
++++ gcc-4.8.0/contrib/regression/objs-gcc.sh	2013-03-23 17:39:04.000000000 +0100
+@@ -106,6 +106,10 @@
+  then
+   make all-gdb all-dejagnu all-ld || exit 1
+   make install-gdb install-dejagnu install-ld || exit 1
++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
++ then
++  make all-gdb all-dejagnu all-ld || exit 1
++  make install-gdb install-dejagnu install-ld || exit 1
+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
+   make bootstrap || exit 1
+   make install || exit 1
+Index: gcc-4.8.0/libjava/classpath/ltconfig
+===================================================================
+--- gcc-4.8.0.orig/libjava/classpath/ltconfig	2011-02-13 12:45:53.000000000 +0100
++++ gcc-4.8.0/libjava/classpath/ltconfig	2013-03-23 17:39:04.000000000 +0100
+@@ -603,7 +603,7 @@
+ 
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
+-linux-gnu*) ;;
++linux-gnu*|linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+ 
+@@ -1247,7 +1247,7 @@
+   ;;
+ 
+ # This must be Linux ELF.
+-linux-gnu*)
++linux*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
diff --git a/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch b/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch
new file mode 100644
index 0000000..00efda2
--- /dev/null
+++ b/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.8.0/boehm-gc/include/gc.h
+===================================================================
+--- gcc-4.8.0.orig/boehm-gc/include/gc.h	2007-04-23 23:10:09.000000000 +0200
++++ gcc-4.8.0/boehm-gc/include/gc.h	2013-03-23 17:39:20.000000000 +0100
+@@ -503,7 +503,7 @@
+ #if defined(__linux__) || defined(__GLIBC__)
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+-     && !defined(__ia64__)
++     && !defined(__ia64__) && !defined(__UCLIBC__)
+ #   ifndef GC_HAVE_BUILTIN_BACKTRACE
+ #     define GC_HAVE_BUILTIN_BACKTRACE
+ #   endif
diff --git a/toolchain/gcc/4.8.0/302-c99-snprintf.patch b/toolchain/gcc/4.8.0/302-c99-snprintf.patch
new file mode 100644
index 0000000..cd4d2cc
--- /dev/null
+++ b/toolchain/gcc/4.8.0/302-c99-snprintf.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.8.0/libstdc++-v3/include/c_global/cstdio
+===================================================================
+--- gcc-4.8.0.orig/libstdc++-v3/include/c_global/cstdio	2013-02-03 18:54:05.000000000 +0100
++++ gcc-4.8.0/libstdc++-v3/include/c_global/cstdio	2013-03-23 17:39:32.000000000 +0100
+@@ -138,7 +138,7 @@
+   using ::vsprintf;
+ } // namespace
+ 
+-#if _GLIBCXX_USE_C99
++#if _GLIBCXX_USE_C99 || defined __UCLIBC__
+ 
+ #undef snprintf
+ #undef vfscanf
diff --git a/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch
new file mode 100644
index 0000000..35d5f50
--- /dev/null
+++ b/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch
@@ -0,0 +1,49 @@
+Index: gcc-4.8.0/libmudflap/mf-hooks2.c
+===================================================================
+--- gcc-4.8.0.orig/libmudflap/mf-hooks2.c	2013-02-03 18:48:05.000000000 +0100
++++ gcc-4.8.0/libmudflap/mf-hooks2.c	2013-03-23 17:39:43.000000000 +0100
+@@ -424,7 +424,7 @@
+ {
+   TRACE ("%s\n", __PRETTY_FUNCTION__);
+   MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
+-  bzero (s, n);
++  memset (s, 0, n);
+ }
+ 
+ 
+@@ -434,7 +434,7 @@
+   TRACE ("%s\n", __PRETTY_FUNCTION__);
+   MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
+   MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
+-  bcopy (src, dest, n);
++  memmove (dest, src, n);
+ }
+ 
+ 
+@@ -444,7 +444,7 @@
+   TRACE ("%s\n", __PRETTY_FUNCTION__);
+   MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
+   MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
+-  return bcmp (s1, s2, n);
++  return n == 0 ? 0 : memcmp (s1, s2, n);
+ }
+ 
+ 
+@@ -453,7 +453,7 @@
+   size_t n = strlen (s);
+   TRACE ("%s\n", __PRETTY_FUNCTION__);
+   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
+-  return index (s, c);
++  return strchr (s, c);
+ }
+ 
+ 
+@@ -462,7 +462,7 @@
+   size_t n = strlen (s);
+   TRACE ("%s\n", __PRETTY_FUNCTION__);
+   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
+-  return rindex (s, c);
++  return strrchr (s, c);
+ }
+ 
+ /* XXX:  stpcpy, memccpy */
diff --git a/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch
new file mode 100644
index 0000000..c8cb377
--- /dev/null
+++ b/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch
@@ -0,0 +1,30 @@
+Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.0/gcc/config/arm/linux-elf.h	2013-03-23 17:40:00.000000000 +0100
+@@ -55,7 +55,7 @@
+    %{shared:-lc} \
+    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+ 
+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+ 
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+ 
+Index: gcc-4.8.0/libgcc/config/arm/t-linux
+===================================================================
+--- gcc-4.8.0.orig/libgcc/config/arm/t-linux	2012-03-22 16:14:46.000000000 +0100
++++ gcc-4.8.0/libgcc/config/arm/t-linux	2013-03-23 17:40:54.000000000 +0100
+@@ -1,6 +1,11 @@
+ LIB1ASMSRC = arm/lib1funcs.S
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+-	_ctzsi2 _arm_addsubdf3 _arm_addsubsf3
++	_ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
++	_arm_addsubdf3 _arm_addsubsf3 \
++	_arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
++	_arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
++	_arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
++	_arm_fixsfsi _arm_fixunssfsi
+ 
+ # Just for these, we omit the frame pointer since it makes such a big
+ # difference.
diff --git a/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch b/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch
new file mode 100644
index 0000000..37f8f2a
--- /dev/null
+++ b/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch
@@ -0,0 +1,13 @@
+http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
+
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -45,7 +45,7 @@
+    The ARM10TDMI core is the default for armv5t, so set
+    SUBTARGET_CPU_DEFAULT to achieve this.  */
+ #undef  SUBTARGET_CPU_DEFAULT
+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+ 
+ /* TARGET_BIG_ENDIAN_DEFAULT is set in
+    config.gcc for big endian configurations.  */
diff --git a/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional
new file mode 100644
index 0000000..b7094fe
--- /dev/null
+++ b/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional
@@ -0,0 +1,122 @@
+http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
+
+On glibc the libc.so carries a copy of the math function copysignl() but
+on uClibc math functions like copysignl() live in libm. Since libgcc_s
+contains unresolved symbols, any attempt to link against libgcc_s
+without explicitely specifying -lm fails, resulting in a broken
+bootstrap of the compiler.
+
+Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+---
+ libgcc/Makefile.in  |    4 +++-
+ libgcc/configure    |   32 ++++++++++++++++++++++++++++++++
+ libgcc/configure.ac |   21 +++++++++++++++++++++
+ 3 files changed, 56 insertions(+), 1 deletion(-)
+
+Index: gcc-4.8.0/libgcc/Makefile.in
+===================================================================
+--- gcc-4.8.0.orig/libgcc/Makefile.in	2013-02-04 20:06:20.000000000 +0100
++++ gcc-4.8.0/libgcc/Makefile.in	2013-03-24 09:12:43.000000000 +0100
+@@ -41,6 +41,7 @@
+ decimal_float = @decimal_float@
+ enable_decimal_float = @enable_decimal_float@
+ fixed_point = @fixed_point@
++LIBGCC_LIBM = @LIBGCC_LIBM@
+ 
+ host_noncanonical = @host_noncanonical@
+ target_noncanonical = @target_noncanonical@
+@@ -927,9 +928,10 @@
+ 		@multilib_dir@,$(MULTIDIR),$(subst \
+ 		@shlib_objs@,$(objects) libgcc.a,$(subst \
+ 		@shlib_base_name@,libgcc_s,$(subst \
++		@libgcc_libm@,$(LIBGCC_LIBM),$(subst \
+ 		@shlib_map_file@,$(mapfile),$(subst \
+ 		@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
+-		@shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
++		@shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
+ 
+ libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
+ 	# @multilib_flags@ is still needed because this may use
+Index: gcc-4.8.0/libgcc/configure
+===================================================================
+--- gcc-4.8.0.orig/libgcc/configure	2012-11-05 00:08:42.000000000 +0100
++++ gcc-4.8.0/libgcc/configure	2013-03-24 09:12:43.000000000 +0100
+@@ -564,6 +564,7 @@
+ tmake_file
+ sfp_machine_header
+ set_use_emutls
++LIBGCC_LIBM
+ set_have_cc_tls
+ vis_hide
+ fixed_point
+@@ -4481,6 +4482,37 @@
+ 	fi
+ fi
+ 
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++echo "$as_me:$LINENO: checking for library containing copysignl" >&5
++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
++if test "${libgcc_cv_copysignl_lib+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++    echo '#include <features.h>' > conftest.c
++    echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++    libgcc_cv_copysignl_lib="-lc"
++    if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }
++    then
++       libgcc_cv_copysignl_lib="-lm"
++    fi
++    rm -f conftest.*
++
++fi
++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
++
++case /${libgcc_cv_copysignl_lib}/ in
++  /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++  *) LIBGCC_LIBM= ;;
++esac
+ 
+ # Conditionalize the makefile for this target machine.
+ tmake_file_=
+Index: gcc-4.8.0/libgcc/configure.ac
+===================================================================
+--- gcc-4.8.0.orig/libgcc/configure.ac	2012-10-15 15:10:30.000000000 +0200
++++ gcc-4.8.0/libgcc/configure.ac	2013-03-24 09:12:43.000000000 +0100
+@@ -326,6 +326,27 @@
+ fi
+ AC_SUBST(set_have_cc_tls)
+ 
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++AC_CACHE_CHECK
++  libgcc_cv_copysignl_lib,
++    echo '#include <features.h>' > conftest.c
++    echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++    libgcc_cv_copysignl_lib="-lc"
++    if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
++    then
++       libgcc_cv_copysignl_lib="-lm"
++    fi
++    rm -f conftest.*
++  ])
++
++case /${libgcc_cv_copysignl_lib}/ in
++  /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++  *) LIBGCC_LIBM= ;;
++esac
++AC_SUBST(LIBGCC_LIBM)
++
+ # See if we have emulated thread-local storage.
+ GCC_CHECK_EMUTLS
+ set_use_emutls=
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index d16e7b0..1499c05 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -34,6 +34,10 @@ choice
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
 		bool "gcc 4.7.x"
 
+	config BR2_GCC_VERSION_4_8_X
+		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		bool "gcc 4.8.x"
+
 	config BR2_GCC_VERSION_SNAP
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
 		bool "gcc snapshot"
@@ -65,6 +69,7 @@ config BR2_GCC_VERSION
 	default "4.5.4"     if BR2_GCC_VERSION_4_5_X
 	default "4.6.3"     if BR2_GCC_VERSION_4_6_X
 	default "4.7.2"     if BR2_GCC_VERSION_4_7_X
+	default "4.8.0"     if BR2_GCC_VERSION_4_8_X
 	default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP
 
 config BR2_EXTRA_GCC_CONFIG_OPTIONS
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 3bfa13b..4f1bb49 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -191,6 +191,16 @@ endif
 GCC_HOST_PREREQ += host-mpc
 endif
 
+# GCC 4.8.x prerequisites
+ifeq ($(findstring x4.8.,x$(GCC_VERSION)),x4.8.)
+GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
+GCC_TARGET_PREREQ += mpc
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
+HOST_SOURCE += host-mpc-source
+endif
+GCC_HOST_PREREQ += host-mpc
+endif
+
 # GCC snapshot prerequisites
 # Since we don't know and it can be quite new just ask for everything known
 ifneq ($(GCC_SNAP_DATE),)
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8 Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:40   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 07/22] gcc: add missing $(Q) Thomas Petazzoni
                   ` (15 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

For each version of gcc, we need to check whether it requires mpc as a
dependency. Since this is true for 4.5, 4.6, 4.7, snapshots and now
4.8, let's factorize this code a bit by using a Kconfig symbol that
tells us whether we are using a gcc version that requires mpc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/Config.in         |    8 +++++++
 toolchain/gcc/gcc-uclibc-4.x.mk |   44 +--------------------------------------
 2 files changed, 9 insertions(+), 43 deletions(-)

diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 1499c05..87d9cc1 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -2,6 +2,9 @@
 
 comment "GCC Options"
 
+config BR2_GCC_NEEDS_MPC
+	bool
+
 choice
 	prompt "GCC compiler Version"
 	default BR2_GCC_VERSION_4_6_X if !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
@@ -24,22 +27,27 @@ choice
 
 	config BR2_GCC_VERSION_4_5_X
 		depends on !BR2_avr32 && !BR2_cortex_a15 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.5.x"
 
 	config BR2_GCC_VERSION_4_6_X
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.6.x"
 
 	config BR2_GCC_VERSION_4_7_X
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.7.x"
 
 	config BR2_GCC_VERSION_4_8_X
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.8.x"
 
 	config BR2_GCC_VERSION_SNAP
 		depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		select BR2_GCC_NEEDS_MPC
 		bool "gcc snapshot"
 endchoice
 
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 4f1bb49..db9715a 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -161,49 +161,7 @@ endif
 GCC_HOST_PREREQ = host-gmp host-mpfr
 GCC_TARGET_PREREQ += mpfr gmp
 
-# GCC 4.5.x prerequisites
-ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.)
-GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
-GCC_TARGET_PREREQ += mpc
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-HOST_SOURCE += host-mpc-source
-endif
-GCC_HOST_PREREQ += host-mpc
-endif
-
-# GCC 4.6.x prerequisites
-ifeq ($(findstring x4.6.,x$(GCC_VERSION)),x4.6.)
-GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
-GCC_TARGET_PREREQ += mpc
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-HOST_SOURCE += host-mpc-source
-endif
-GCC_HOST_PREREQ += host-mpc
-endif
-
-# GCC 4.7.x prerequisites
-ifeq ($(findstring x4.7.,x$(GCC_VERSION)),x4.7.)
-GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
-GCC_TARGET_PREREQ += mpc
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-HOST_SOURCE += host-mpc-source
-endif
-GCC_HOST_PREREQ += host-mpc
-endif
-
-# GCC 4.8.x prerequisites
-ifeq ($(findstring x4.8.,x$(GCC_VERSION)),x4.8.)
-GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
-GCC_TARGET_PREREQ += mpc
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-HOST_SOURCE += host-mpc-source
-endif
-GCC_HOST_PREREQ += host-mpc
-endif
-
-# GCC snapshot prerequisites
-# Since we don't know and it can be quite new just ask for everything known
-ifneq ($(GCC_SNAP_DATE),)
+ifeq ($(BR2_GCC_NEEDS_MPC),y)
 GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr
 GCC_TARGET_PREREQ += mpc
 ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 07/22] gcc: add missing $(Q)
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:41   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 08/22] kernel-headers: " Thomas Petazzoni
                   ` (14 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/gcc-uclibc-4.x.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index db9715a..1b7f222 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -211,7 +211,7 @@ endif
 
 $(DL_DIR)/$(GCC_SOURCE):
 	mkdir -p $(DL_DIR)
-	$(call MESSAGE,"Downloading gcc")
+	$(Q)$(call MESSAGE,"Downloading gcc")
 	$(call DOWNLOAD,$(GCC_SITE)/$(GCC_SOURCE))
 
 gcc-unpacked: $(GCC_DIR)/.patched
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 08/22] kernel-headers: add missing $(Q)
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 07/22] gcc: add missing $(Q) Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:41   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 09/22] uClibc: " Thomas Petazzoni
                   ` (13 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/kernel-headers/kernel-headers.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk
index 073d609..7ce6264 100644
--- a/toolchain/kernel-headers/kernel-headers.mk
+++ b/toolchain/kernel-headers/kernel-headers.mk
@@ -70,7 +70,7 @@ $(DL_DIR)/$(LINUX_HEADERS_SOURCE):
 ifeq ($(BR2_KERNEL_HEADERS_SNAP),y)
 	$(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?)
 endif
-	$(call MESSAGE,"Downloading kernel headers")
+	$(Q)$(call MESSAGE,"Downloading kernel headers")
 	$(call DOWNLOAD,$(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE))
 
 kernel-headers: $(LINUX_HEADERS_DIR)/.configured
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 09/22] uClibc: add missing $(Q)
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 08/22] kernel-headers: " Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:42   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 10/22] gmp: requires host-m4 Thomas Petazzoni
                   ` (12 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/uClibc/uclibc.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index 1b49a8d..e8b2bb4 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -62,7 +62,7 @@ UCLIBC_LOCALES = $(foreach locale,$(GENERATE_LOCALE),\
 endif
 
 $(DL_DIR)/$(UCLIBC_SOURCE):
-	$(call MESSAGE,"Downloading uClibc")
+	$(Q)$(call MESSAGE,"Downloading uClibc")
 	$(call DOWNLOAD,$(UCLIBC_SITE)/$(UCLIBC_SOURCE))
 
 uclibc-unpacked: $(UCLIBC_DIR)/.unpacked
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 10/22] gmp: requires host-m4
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 09/22] uClibc: " Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:43   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies Thomas Petazzoni
                   ` (11 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

On a system where m4 is not installed, gmp does not build due to the
lack of m4. Add the missing host-m4 dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/gmp/gmp.mk |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk
index 093d60c..24fbb3d 100644
--- a/package/gmp/gmp.mk
+++ b/package/gmp/gmp.mk
@@ -11,6 +11,8 @@ GMP_INSTALL_STAGING = YES
 GMP_LICENSE = LGPLv3+
 GMP_LICENSE_FILES = COPYING.LIB
 
+GMP_DEPENDENCIES = host-m4
+
 # Bad ARM assembly breaks on pure thumb
 ifeq ($(ARCH),arm)
 GMP_MAKE_OPT += CFLAGS="$(TARGET_CFLAGS) -marm"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (9 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 10/22] gmp: requires host-m4 Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:44   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison Thomas Petazzoni
                   ` (10 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

In preparation for the removal of the flex/bison mandatory
dependencies, make sure libpcap builds host-flex/host-bison.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/libpcap/libpcap.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk
index 06aec0f..5e077a2 100644
--- a/package/libpcap/libpcap.mk
+++ b/package/libpcap/libpcap.mk
@@ -20,7 +20,7 @@ LIBPCAP_INSTALL_STAGING = YES
 # configure script correctly handles --enable-shared/--disable-shared.
 LIBPCAP_AUTORECONF = YES
 
-LIBPCAP_DEPENDENCIES = zlib
+LIBPCAP_DEPENDENCIES = zlib host-flex host-bison
 LIBPCAP_CONF_ENV = ac_cv_linux_vers=2 \
 		ac_cv_header_linux_wireless_h=yes # configure misdetects this
 LIBPCAP_CONF_OPT = --disable-yydebug --with-pcap=linux
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (10 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:47   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host Thomas Petazzoni
                   ` (9 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

iproute2 requires bison, so we add the necessary dependency. In
addition, in order for iproute2 to find bison, we need to pass
$(TARGET_MAKE_ENV).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/iproute2/iproute2.mk |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk
index 7766ab8..98a7da0 100644
--- a/package/iproute2/iproute2.mk
+++ b/package/iproute2/iproute2.mk
@@ -10,6 +10,8 @@ IPROUTE2_TARGET_SBINS = ctstat genl ifstat ip lnstat nstat routef routel rtacct
 IPROUTE2_LICENSE = GPLv2
 IPROUTE2_LICENSE_FILES = COPYING
 
+IPROUTE2_DEPENDENCIES += host-bison
+
 # If both iproute2 and busybox are selected, make certain we win
 # the fight over who gets to have their utils actually installed.
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
@@ -42,11 +44,12 @@ endef
 
 define IPROUTE2_BUILD_CMDS
 	$(SED) 's/$$(CCOPTS)//' $(@D)/netem/Makefile
-	$(MAKE) CC="$(TARGET_CC)" CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D)
+	$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D)
 endef
 
 define IPROUTE2_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" SBINDIR=/sbin \
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" \
+		SBINDIR=/sbin \
 		DOCDIR=/usr/share/doc/iproute2-$(IPROUTE2_VERSION) \
 		MANDIR=/usr/share/man install
 	# Wants bash
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (11 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:48   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 14/22] gettext: provide a host variant Thomas Petazzoni
                   ` (8 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

On the host, we generally build and install a shared library rather
than a static version of libraries. In this specific case, we will
want to build host-gettext, which builds a shared library that depends
on ncurses. And this doesn't work well if ncurses is static because it
hasn't been built with -fPIC. Therefore, let's build ncurses as shared
on the host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ncurses/ncurses.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index c01dfbc..eb47c36 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -116,7 +116,7 @@ define HOST_NCURSES_BUILD_CMDS
 endef
 
 HOST_NCURSES_CONF_OPT = \
-	--without-shared --without-gpm \
+	--with-shared --without-gpm \
 	--without-manpages \
 	--without-cxx \
 	--without-cxx-binding \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 14/22] gettext: provide a host variant
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (12 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:49   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext Thomas Petazzoni
                   ` (7 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

In preparation for the removal of gettext as a hard dependency, we
need to be able to provide a host variant of gettext for the few
packages that require msgfmt.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/gettext/gettext.mk |    1 +
 1 file changed, 1 insertion(+)

diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
index d374050..fe42c42 100644
--- a/package/gettext/gettext.mk
+++ b/package/gettext/gettext.mk
@@ -56,3 +56,4 @@ GETTEXT_POST_PATCH_HOOKS += GETTEXT_DISABLE_TOOLS
 GETTEXT_POST_PATCH_HOOKS += GETTEXT_DISABLE_TESTS
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
\ No newline at end of file
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (13 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 14/22] gettext: provide a host variant Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:50   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison Thomas Petazzoni
                   ` (6 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

libglib2 requires msgfmt, which is now provided by host-gettext since
gettext will no longer be part of the mandatory dependencies.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/libglib2/libglib2.mk |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 4ca6ca3..d78e8ec 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -68,9 +68,9 @@ HOST_LIBGLIB2_CONF_OPT = \
 
 LIBGLIB2_CONF_OPT += --disable-tests
 
-LIBGLIB2_DEPENDENCIES = host-pkgconf host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext)
+LIBGLIB2_DEPENDENCIES = host-pkgconf host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext) host-gettext
 
-HOST_LIBGLIB2_DEPENDENCIES = host-pkgconf host-libffi host-zlib
+HOST_LIBGLIB2_DEPENDENCIES = host-pkgconf host-libffi host-zlib host-gettext
 
 ifneq ($(BR2_ENABLE_LOCALE),y)
 LIBGLIB2_DEPENDENCIES += libiconv
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (14 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:50   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies Thomas Petazzoni
                   ` (5 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/at/at.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/at/at.mk b/package/at/at.mk
index 1cea39b..6432ae3 100644
--- a/package/at/at.mk
+++ b/package/at/at.mk
@@ -9,7 +9,7 @@ AT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/a/at
 # missing deps for parsetime.l
 AT_MAKE = $(MAKE1)
 AT_AUTORECONF = YES
-AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex)
+AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex
 
 AT_CONF_OPT = \
         --with-jobdir=/var/spool/cron/atjobs \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (15 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:51   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 18/22] dependencies: remove useless newlines Thomas Petazzoni
                   ` (4 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

awk, bison, flex, makeinfo, gettext should be built as dependencies of
packages when needed. In practice, even the toolchain build doesn't
need any of these, and only a few packages do require them.

It is not needed to list gzip and bzip2 since they are already checked
through ${DL_TOOLS}: whenever a package needs gzip or bzip2 for its
extraction, the dependency is added.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 docs/manual/prerequisite.txt         |    5 -----
 support/dependencies/dependencies.sh |    8 ++------
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt
index 5a9d049..9d36402 100644
--- a/docs/manual/prerequisite.txt
+++ b/docs/manual/prerequisite.txt
@@ -30,10 +30,6 @@ Mandatory packages
 ** +gcc+ (version 2.95 or any later)
 ** `g++` (version 2.95 or any later)
 ** +bash+
-** +gawk+
-** +bison+
-** +flex+
-** +gettext+
 ** +patch+
 ** +gzip+
 ** +bzip2+
@@ -43,7 +39,6 @@ Mandatory packages
 ** +python+ (version 2.6 or 2.7)
 ** +unzip+
 ** +rsync+
-** +texinfo+ (required for internal Buildroot toolchain backend)
 
 * Source fetching tools:
 ** +wget+
diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index acba57c..cd3c839 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -131,14 +131,10 @@ 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 python unzip rsync ${DL_TOOLS} ; do
+for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
     if ! which $prog > /dev/null ; then
 	/bin/echo -e "\nYou must install '$prog' on your build machine";
-	if test $prog = "makeinfo" ; then
-	    /bin/echo -e "makeinfo is usually part of the texinfo package in your distribution\n"
-	elif test $prog = "msgfmt" ; then
-	    /bin/echo -e "msgfmt is usually part of the gettext package in your distribution\n"
-	elif test $prog = "svn" ; then
+	if test $prog = "svn" ; then
 	    /bin/echo -e "svn is usually part of the subversion package in your distribution\n"
 	else
 	    /bin/echo -e "\n"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 18/22] dependencies: remove useless newlines
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (16 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:51   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install Thomas Petazzoni
                   ` (3 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index cd3c839..9d06a0d 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -133,11 +133,9 @@ fi;
 # Check that a few mandatory programs are installed
 for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
     if ! which $prog > /dev/null ; then
-	/bin/echo -e "\nYou must install '$prog' on your build machine";
+	/bin/echo -e "You must install '$prog' on your build machine";
 	if test $prog = "svn" ; then
-	    /bin/echo -e "svn is usually part of the subversion package in your distribution\n"
-	else
-	    /bin/echo -e "\n"
+	    /bin/echo -e "svn is usually part of the subversion package in your distribution"
 	fi
 	exit 1;
     fi
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (17 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 18/22] dependencies: remove useless newlines Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:56   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out Thomas Petazzoni
                   ` (2 subsequent siblings)
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 9d06a0d..ab7f4a4 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -135,7 +135,13 @@ for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
     if ! which $prog > /dev/null ; then
 	/bin/echo -e "You must install '$prog' on your build machine";
 	if test $prog = "svn" ; then
-	    /bin/echo -e "svn is usually part of the subversion package in your distribution"
+	    /bin/echo -e "  svn is usually part of the subversion package in your distribution"
+	elif test $prog = "hg" ; then
+            /bin/echo -e "  hg is usually part of the mercurial package in your distribution"
+	elif test $prog = "zcat" ; then
+            /bin/echo -e "  zcat is usually part of the gzip package in your distribution"
+	elif test $prog = "bzcat" ; then
+            /bin/echo -e "  bzcat is usually part of the bzip2 package in your distribution"
 	fi
 	exit 1;
     fi
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (18 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:57   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available Thomas Petazzoni
  2013-03-24  8:26 ` [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed Thomas Petazzoni
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

The current dependencies code abort as soon as one program is
missing. It is quite annoying when multiple programs are
missing. Instead, bail out if needed after testing all programs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index ab7f4a4..c11d362 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -131,9 +131,11 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then
 fi;
 
 # Check that a few mandatory programs are installed
+missing_progs="no"
 for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
     if ! which $prog > /dev/null ; then
 	/bin/echo -e "You must install '$prog' on your build machine";
+	missing_progs="yes"
 	if test $prog = "svn" ; then
 	    /bin/echo -e "  svn is usually part of the subversion package in your distribution"
 	elif test $prog = "hg" ; then
@@ -143,10 +145,13 @@ for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
 	elif test $prog = "bzcat" ; then
             /bin/echo -e "  bzcat is usually part of the bzip2 package in your distribution"
 	fi
-	exit 1;
     fi
 done
 
+if test "${missing_progs}" = "yes" ; then
+    exit 1
+fi
+
 if grep ^BR2_TOOLCHAIN_BUILDROOT=y $BUILDROOT_CONFIG > /dev/null && \
    grep ^BR2_ENABLE_LOCALE=y       $BUILDROOT_CONFIG > /dev/null ; then
    if ! which locale > /dev/null ; then
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (19 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 12:57   ` Peter Korsgaard
  2013-03-24  8:26 ` [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed Thomas Petazzoni
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

The host-autoconf build process requires a full Perl installation, or
at least a Perl installation that has the Data::Dumper module
installed. On a basic Debian system, only 'perl-base' is installed,
but Data::Dumper is in the 'perl' package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index c11d362..5fb4c19 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -192,3 +192,11 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BUILDROOT_CONFIG ; then
 	exit 1
     fi
 fi
+
+# Check that the Perl installation is complete enough to build
+# host-autoconf.
+if ! perl  -e "require Data::Dumper" > /dev/null 2>&1 ; then
+    /bin/echo -e "Your Perl installation is not complete enough, at least Data::Dumper is missing."
+    /bin/echo -e "On Debian/Ubuntu distributions, install the 'perl' package."
+    exit 1
+fi
\ No newline at end of file
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed
  2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
                   ` (20 preceding siblings ...)
  2013-03-24  8:26 ` [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available Thomas Petazzoni
@ 2013-03-24  8:26 ` Thomas Petazzoni
  2013-03-24 13:00   ` Peter Korsgaard
  21 siblings, 1 reply; 45+ messages in thread
From: Thomas Petazzoni @ 2013-03-24  8:26 UTC (permalink / raw)
  To: buildroot

Some packages are hosted on https:// servers, and wget only works on
these if the SSL certificates are installed. For example, downloading
the kernel sources from kernel.org requires those SSL certificates to
be installed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/dependencies/dependencies.sh |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 5fb4c19..9ee63b5 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -199,4 +199,13 @@ if ! perl  -e "require Data::Dumper" > /dev/null 2>&1 ; then
     /bin/echo -e "Your Perl installation is not complete enough, at least Data::Dumper is missing."
     /bin/echo -e "On Debian/Ubuntu distributions, install the 'perl' package."
     exit 1
+fi
+
+# Check that we have the SSL certificates to make https:// downloads
+# work.
+if ! test -d /etc/ssl/certs; then
+    /bin/echo -e "Your system lacks Common CA certificates for SSL."
+    /bin/echo -e "This prevents https:// downloads from suceeding."
+    /bin/echo -e "On Debian/Ubuntu distributions, install 'ca-certificates' package."
+    exit 1
 fi
\ No newline at end of file
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers
  2013-03-24  8:26 ` [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers Thomas Petazzoni
@ 2013-03-24 11:42   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 11:42 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Thomas> ... while keeping compatibility with older ones.

 Thomas> Fixes autobuild failure:
 Thomas> http://autobuild.buildroot.org/results/f99ae7af46c70f7c356b7771321511a42eb3694d/

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++
  2013-03-24  8:26 ` [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++ Thomas Petazzoni
@ 2013-03-24 11:43   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 11:43 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> From: Gustavo Zacarias <gustavo@zacarias.com.ar>
 Thomas> Fixes:
 Thomas> http://autobuild.buildroot.net/results/e5777d754653edef9d8c8558f04c2836734f2c25/

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch
  2013-03-24  8:26 ` [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch Thomas Petazzoni
@ 2013-03-24 11:44   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 11:44 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The libgtk2 package was using a host-<foo>.patch that should be
 Thomas> applied only on the host variant of the package. Unfortunately, with
 Thomas> the patch model rework, this doesn't work anymore: Buildroot tries to
 Thomas> apply the patch twice, for some reason.

 Thomas> But instead of fixing the patch model, it is probably a lot better to
 Thomas> fix this patch itself, which is the only usage of host-only patch in
 Thomas> Buildroot.

 Thomas> So instead of simply removing code that detects dependencies in gtk2's
 Thomas> configure.in script, we use a condition based on the value of
 Thomas> gdktarget. And it turns out that it makes the patch shorter.

 Thomas> However, it requires autoreconfiguring the libgtk2 target package,
 Thomas> because we are now modifying its configure.in.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 04/22] gcc: fix location of snapshots
  2013-03-24  8:26 ` [Buildroot] [PATCH 04/22] gcc: fix location of snapshots Thomas Petazzoni
@ 2013-03-24 11:45   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 11:45 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The gcc snapshots are now located at
 Thomas> ftp://gcc.gnu.org/pub/gcc/snapshots/. This has been tested with a
 Thomas> recent 4.8.0-RC snapshot.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8
  2013-03-24  8:26 ` [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8 Thomas Petazzoni
@ 2013-03-24 12:39   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> This commit adds support for the recently released gcc 4.8. We re-add
 Thomas> the same patch series as the one used for 4.7.x, after refreshing the
 Thomas> patches.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication
  2013-03-24  8:26 ` [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication Thomas Petazzoni
@ 2013-03-24 12:40   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:40 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> For each version of gcc, we need to check whether it requires mpc as a
 Thomas> dependency. Since this is true for 4.5, 4.6, 4.7, snapshots and now
 Thomas> 4.8, let's factorize this code a bit by using a Kconfig symbol that
 Thomas> tells us whether we are using a gcc version that requires mpc.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 07/22] gcc: add missing $(Q)
  2013-03-24  8:26 ` [Buildroot] [PATCH 07/22] gcc: add missing $(Q) Thomas Petazzoni
@ 2013-03-24 12:41   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:41 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Add a missing $(Q) in front of a MESSAGE call, which leads to the
 Thomas> message being displayed but also the command that shows the message.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 08/22] kernel-headers: add missing $(Q)
  2013-03-24  8:26 ` [Buildroot] [PATCH 08/22] kernel-headers: " Thomas Petazzoni
@ 2013-03-24 12:41   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:41 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Add a missing $(Q) in front of a MESSAGE call, which leads to the
 Thomas> message being displayed but also the command that shows the message.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 09/22] uClibc: add missing $(Q)
  2013-03-24  8:26 ` [Buildroot] [PATCH 09/22] uClibc: " Thomas Petazzoni
@ 2013-03-24 12:42   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:42 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Add a missing $(Q) in front of a MESSAGE call, which leads to the
 Thomas> message being displayed but also the command that shows the message.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 10/22] gmp: requires host-m4
  2013-03-24  8:26 ` [Buildroot] [PATCH 10/22] gmp: requires host-m4 Thomas Petazzoni
@ 2013-03-24 12:43   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:43 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> On a system where m4 is not installed, gmp does not build due to the
 Thomas> lack of m4. Add the missing host-m4 dependency.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies
  2013-03-24  8:26 ` [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies Thomas Petazzoni
@ 2013-03-24 12:44   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:44 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> In preparation for the removal of the flex/bison mandatory
 Thomas> dependencies, make sure libpcap builds host-flex/host-bison.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison
  2013-03-24  8:26 ` [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison Thomas Petazzoni
@ 2013-03-24 12:47   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:47 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> iproute2 requires bison, so we add the necessary dependency. In
 Thomas> addition, in order for iproute2 to find bison, we need to pass
 Thomas> $(TARGET_MAKE_ENV).

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host
  2013-03-24  8:26 ` [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host Thomas Petazzoni
@ 2013-03-24 12:48   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:48 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> On the host, we generally build and install a shared library
 Thomas> rather than a static version of libraries. In this specific
 Thomas> case, we will want to build host-gettext, which builds a shared
 Thomas> library that depends on ncurses. And this doesn't work well if
 Thomas> ncurses is static because it hasn't been built with
 Thomas> -fPIC. Therefore, let's build ncurses as shared on the host.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 14/22] gettext: provide a host variant
  2013-03-24  8:26 ` [Buildroot] [PATCH 14/22] gettext: provide a host variant Thomas Petazzoni
@ 2013-03-24 12:49   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:49 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> In preparation for the removal of gettext as a hard dependency,
 Thomas> we need to be able to provide a host variant of gettext for the
 Thomas> few packages that require msgfmt.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext
  2013-03-24  8:26 ` [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext Thomas Petazzoni
@ 2013-03-24 12:50   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:50 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> libglib2 requires msgfmt, which is now provided by host-gettext since
 Thomas> gettext will no longer be part of the mandatory dependencies.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison
  2013-03-24  8:26 ` [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison Thomas Petazzoni
@ 2013-03-24 12:50   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:50 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies
  2013-03-24  8:26 ` [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies Thomas Petazzoni
@ 2013-03-24 12:51   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:51 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> awk, bison, flex, makeinfo, gettext should be built as dependencies of
 Thomas> packages when needed. In practice, even the toolchain build doesn't
 Thomas> need any of these, and only a few packages do require them.

 Thomas> It is not needed to list gzip and bzip2 since they are already checked
 Thomas> through ${DL_TOOLS}: whenever a package needs gzip or bzip2 for its
 Thomas> extraction, the dependency is added.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 18/22] dependencies: remove useless newlines
  2013-03-24  8:26 ` [Buildroot] [PATCH 18/22] dependencies: remove useless newlines Thomas Petazzoni
@ 2013-03-24 12:51   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:51 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install
  2013-03-24  8:26 ` [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install Thomas Petazzoni
@ 2013-03-24 12:56   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:56 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Thomas> ---
 Thomas>  support/dependencies/dependencies.sh |    8 +++++++-
 Thomas>  1 file changed, 7 insertions(+), 1 deletion(-)

 Thomas> diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
 Thomas> index 9d06a0d..ab7f4a4 100755
 Thomas> --- a/support/dependencies/dependencies.sh
 Thomas> +++ b/support/dependencies/dependencies.sh
 Thomas> @@ -135,7 +135,13 @@ for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do
 Thomas>      if ! which $prog > /dev/null ; then
 Thomas>  	/bin/echo -e "You must install '$prog' on your build machine";
 Thomas>  	if test $prog = "svn" ; then
 Thomas> -	    /bin/echo -e "svn is usually part of the subversion package in your distribution"
 Thomas> +	    /bin/echo -e "  svn is usually part of the subversion package in your distribution"

I'm not sure I like the indentation, but ok - Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out
  2013-03-24  8:26 ` [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out Thomas Petazzoni
@ 2013-03-24 12:57   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:57 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The current dependencies code abort as soon as one program is
 Thomas> missing. It is quite annoying when multiple programs are
 Thomas> missing. Instead, bail out if needed after testing all programs.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available
  2013-03-24  8:26 ` [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available Thomas Petazzoni
@ 2013-03-24 12:57   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 12:57 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> The host-autoconf build process requires a full Perl installation, or
 Thomas> at least a Perl installation that has the Data::Dumper module
 Thomas> installed. On a basic Debian system, only 'perl-base' is installed,
 Thomas> but Data::Dumper is in the 'perl' package.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed
  2013-03-24  8:26 ` [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed Thomas Petazzoni
@ 2013-03-24 13:00   ` Peter Korsgaard
  0 siblings, 0 replies; 45+ messages in thread
From: Peter Korsgaard @ 2013-03-24 13:00 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Some packages are hosted on https:// servers, and wget only works on
 Thomas> these if the SSL certificates are installed. For example, downloading
 Thomas> the kernel sources from kernel.org requires those SSL certificates to
 Thomas> be installed.

 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Thomas> ---
 Thomas>  support/dependencies/dependencies.sh |    9 +++++++++
 Thomas>  1 file changed, 9 insertions(+)

 Thomas> diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
 Thomas> index 5fb4c19..9ee63b5 100755
 Thomas> --- a/support/dependencies/dependencies.sh
 Thomas> +++ b/support/dependencies/dependencies.sh
 Thomas> @@ -199,4 +199,13 @@ if ! perl  -e "require Data::Dumper" > /dev/null 2>&1 ; then
 Thomas>      /bin/echo -e "Your Perl installation is not complete enough, at least Data::Dumper is missing."
 Thomas>      /bin/echo -e "On Debian/Ubuntu distributions, install the 'perl' package."
 Thomas>      exit 1
 Thomas> +fi
 Thomas> +
 Thomas> +# Check that we have the SSL certificates to make https:// downloads
 Thomas> +# work.
 Thomas> +if ! test -d /etc/ssl/certs; then

I don't know if all distributions install them here, hopefully they do.

 Thomas> +    /bin/echo -e "Your system lacks Common CA certificates for SSL."
 Thomas> +    /bin/echo -e "This prevents https:// downloads from suceeding."

s/suceeding/succeeding/

Committed with that fixed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2013-03-24 13:00 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-24  8:26 [Buildroot] [PATCH 00/22] Fixes, gcc 4.8 support, cleanup of dependencies Thomas Petazzoni
2013-03-24  8:26 ` [Buildroot] [PATCH 01/22] package/connman: version bump to 1.12, and fix build with newer kernels headers Thomas Petazzoni
2013-03-24 11:42   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 02/22] gettext: fix tools build failure for uClibc toolchain with C++ Thomas Petazzoni
2013-03-24 11:43   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 03/22] libgtk2: use non-host specific patch Thomas Petazzoni
2013-03-24 11:44   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 04/22] gcc: fix location of snapshots Thomas Petazzoni
2013-03-24 11:45   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 05/22] gcc: add support for gcc 4.8 Thomas Petazzoni
2013-03-24 12:39   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 06/22] gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication Thomas Petazzoni
2013-03-24 12:40   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 07/22] gcc: add missing $(Q) Thomas Petazzoni
2013-03-24 12:41   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 08/22] kernel-headers: " Thomas Petazzoni
2013-03-24 12:41   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 09/22] uClibc: " Thomas Petazzoni
2013-03-24 12:42   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 10/22] gmp: requires host-m4 Thomas Petazzoni
2013-03-24 12:43   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 11/22] libpcap: add missing flex/bison dependencies Thomas Petazzoni
2013-03-24 12:44   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 12/22] iproute2: add dependency on host-bison Thomas Petazzoni
2013-03-24 12:47   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 13/22] ncurses: enable shared library build on the host Thomas Petazzoni
2013-03-24 12:48   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 14/22] gettext: provide a host variant Thomas Petazzoni
2013-03-24 12:49   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 15/22] libglib2: add dependency on host-gettext Thomas Petazzoni
2013-03-24 12:50   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 16/22] at: needs host-flex and host-bison Thomas Petazzoni
2013-03-24 12:50   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 17/22] dependencies: remove a few useless mandatory dependencies Thomas Petazzoni
2013-03-24 12:51   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 18/22] dependencies: remove useless newlines Thomas Petazzoni
2013-03-24 12:51   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 19/22] dependencies: add details about which distro package to install Thomas Petazzoni
2013-03-24 12:56   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 20/22] dependencies: test all programs before bailing out Thomas Petazzoni
2013-03-24 12:57   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 21/22] dependencies: check that a full perl installation is available Thomas Petazzoni
2013-03-24 12:57   ` Peter Korsgaard
2013-03-24  8:26 ` [Buildroot] [PATCH 22/22] dependencies: check that SSL certificates are installed Thomas Petazzoni
2013-03-24 13:00   ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.