* [Buildroot] [PATCH 01/19] Add a BR2_NEEDS_GETTEXT option
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT Thomas Petazzoni
` (18 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
When using an external toolchain that uses the glibc or eglibc C
libraries, compiling a separate gettext and libintl is not needed and
is even a source of confusion, causing build failures. These build
failures are due to the fact that when libintl is compiled, it
replaces the C library libintl.h by its own, which does #define
gettext libintl_gettext. Then, when packages want to use gettext,
autoconf realize that gettext is available in the C library and
therefore do not add -lintl to the LDFLAGS, causing the build failure
because the program has been compiled to use libintl_gettext but this
function is not available.
Therefore, we should only use gettext if a uClibc internal toolchain
or a uClibc external toolchain. If an external glibc toolchain is
used, gettext shouldn't be used.
In order to implement that, we introduce the BR2_NEEDS_GETTEXT option,
which is hidden to the user, and whose value is computed automatically
from the rest of the configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/Config.in.2 | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2
index f04f18a..fc6759d 100644
--- a/toolchain/Config.in.2
+++ b/toolchain/Config.in.2
@@ -56,6 +56,14 @@ config BR2_ENABLE_LOCALE_WHITELIST
will be available on the target - That purely depends on the
support for that locale in the selected packages.
+# uClibc toolchains require a separatly-compiled gettext/libintl when
+# locale support is enabled. This isn't necessary with glibc
+# toolchains as glibc includes gettext/libintl.
+config BR2_NEEDS_GETTEXT
+ bool
+ default y if (BR2_TOOLCHAIN_BUILDROOT && BR2_ENABLE_LOCALE)
+ default y if (BR2_TOOLCHAIN_EXTERNAL_UCLIBC && BR2_ENABLE_LOCALE)
+
config BR2_USE_WCHAR
bool "Enable WCHAR support"
help
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 01/19] Add a BR2_NEEDS_GETTEXT option Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 19:56 ` Peter Korsgaard
2010-05-21 8:08 ` [Buildroot] [PATCH 03/19] libcap: fix build failure Thomas Petazzoni
` (17 subsequent siblings)
19 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/avahi/Config.in | 4 ++--
package/avahi/avahi.mk | 2 +-
package/gmpc/Config.in | 4 ++--
package/gmpc/gmpc.mk | 3 ++-
package/grep/Config.in | 4 ++--
package/grep/grep.mk | 2 +-
package/hal/Config.in | 4 ++--
package/hal/hal.mk | 2 +-
package/libglib2/Config.in | 4 ++--
package/libglib2/libglib2.mk | 2 +-
package/libidn/libidn.mk | 2 +-
package/libsoup/libsoup.mk | 2 +-
package/make/Config.in | 4 ++--
package/make/make.mk | 2 +-
package/multimedia/libmpd/Config.in | 2 --
package/pango/pango.mk | 2 +-
package/php/Config.ext | 2 +-
package/php/php.mk | 2 +-
package/psmisc/Config.in | 4 ++--
package/psmisc/psmisc.mk | 8 +-------
package/sshfs/Config.in | 4 ++--
package/sshfs/sshfs.mk | 2 +-
package/util-linux/Config.in | 4 ++--
package/util-linux/util-linux.mk | 4 ++--
24 files changed, 34 insertions(+), 41 deletions(-)
diff --git a/package/avahi/Config.in b/package/avahi/Config.in
index 35b7c27..3386005 100644
--- a/package/avahi/Config.in
+++ b/package/avahi/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_AVAHI
bool "avahi"
- select BR2_PACKAGE_GETTEXT if BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBINTL if BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
help
Avahi is a system which facilitates service
discovery on a local network.
diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk
index 9940d28..5e64047 100644
--- a/package/avahi/avahi.mk
+++ b/package/avahi/avahi.mk
@@ -82,7 +82,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \
--with-autoipd-user=default \
--with-autoipd-group=default
-AVAHI_DEPENDENCIES = $(if $(BR2_PACKAGE_GETTEXT),gettext) host-intltool
+AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl) host-intltool
ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
AVAHI_DEPENDENCIES += libdaemon
diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in
index a834361..056f5a0 100644
--- a/package/gmpc/Config.in
+++ b/package/gmpc/Config.in
@@ -2,8 +2,8 @@ config BR2_PACKAGE_GMPC
bool "gmpc"
depends on BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_GETTEXT
- select BR2_PACKAGE_LIBINTL
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_LIBMPD
select BR2_PACKAGE_LIBCURL
diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk
index 0db89b9..aa74a2e 100644
--- a/package/gmpc/gmpc.mk
+++ b/package/gmpc/gmpc.mk
@@ -11,7 +11,8 @@ GMPC_CONF_ENV = ac_cv_lib_curl_curl_global_init=yes \
ac_cv_path_GOB2=$(GOB2_HOST_BINARY)
GMPC_CONF_OPT = --disable-mmkeys
-GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2 host-intltool
+GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2 host-intltool \
+ $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
ifeq ($(BR2_PACKAGE_XLIB_LIBSM),y)
GMPC_DEPENENCIES += xlib_libSM
diff --git a/package/grep/Config.in b/package/grep/Config.in
index 3795330..f898fdf 100644
--- a/package/grep/Config.in
+++ b/package/grep/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_GREP
bool "grep"
- select BR2_PACKAGE_GETTEXT if BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBINTL if BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
help
The GNU regular expression matcher.
diff --git a/package/grep/grep.mk b/package/grep/grep.mk
index acef6e9..93c6caf 100644
--- a/package/grep/grep.mk
+++ b/package/grep/grep.mk
@@ -8,6 +8,6 @@ GREP_SOURCE:=grep-$(GREP_VERSION).tar.bz2
GREP_SITE:=$(BR2_GNU_MIRROR)/grep
GREP_CONF_OPT = --disable-perl-regexp --without-included-regex
-GREP_DEPENDENCIES = $(if $(BR2_ENABLE_LOCALE),gettext libintl)
+GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
$(eval $(call AUTOTARGETS,package,grep))
diff --git a/package/hal/Config.in b/package/hal/Config.in
index 250e005..9518f13 100644
--- a/package/hal/Config.in
+++ b/package/hal/Config.in
@@ -2,8 +2,8 @@ config BR2_PACKAGE_HAL
bool "hal"
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_GETTEXT
- select BR2_PACKAGE_LIBINTL
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_EXPAT
diff --git a/package/hal/hal.mk b/package/hal/hal.mk
index 262fc41..62eca70 100644
--- a/package/hal/hal.mk
+++ b/package/hal/hal.mk
@@ -79,7 +79,7 @@ $(TARGET_DIR)/$(HAL_TARGET_BINARY): $(HAL_DIR)/hald/hald
rm -f $(TARGET_DIR)/usr/libexec/$$file; \
done
-hal: host-pkg-config host-libxml-parser-perl dbus-glib hwdata udev $(TARGET_DIR)/$(HAL_TARGET_BINARY)
+hal: host-pkg-config host-libxml-parser-perl dbus-glib hwdata udev $(if $(BR2_NEEDS_GETTEXT),gettext libintl) $(TARGET_DIR)/$(HAL_TARGET_BINARY)
hal-clean:
rm -f $(TARGET_DIR)/etc/dbus-1/system.d/hal.conf
diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index d947eb6..cc1d6e2 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBGLIB2
bool "libglib2"
- select BR2_PACKAGE_GETTEXT
- select BR2_PACKAGE_LIBINTL
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
Low-level core library that forms the basis of GTK+ and GNOME.
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 72a1396..43b1a89 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -55,7 +55,7 @@ HOST_LIBGLIB2_CONF_OPT = \
--disable-gtk-doc \
--enable-debug=no \
-LIBGLIB2_DEPENDENCIES = gettext libintl host-pkg-config host-libglib2
+LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config
diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk
index 6ee1a96..bc8e001 100644
--- a/package/libidn/libidn.mk
+++ b/package/libidn/libidn.mk
@@ -10,7 +10,7 @@ LIBIDN_INSTALL_STAGING = YES
LIBIDN_INSTALL_TARGET = YES
LIBIDN_CONF_OPT = --enable-shared --disable-java --enable-csharp=no
LIBIDN_LIBTOOL_PATCH = NO
-LIBIDN_DEPENDENCIES = host-pkg-config gettext $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+LIBIDN_DEPENDENCIES = host-pkg-config $(if $(BR2_NEEDS_GETTEXT),gettext) $(if $(BR2_PACKAGE_LIBICONV),libiconv)
$(eval $(call AUTOTARGETS,package,libidn))
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 3829a81..45f62e8 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -26,6 +26,6 @@ LIBSOUP_CONF_OPT = \
--without-gnome \
--disable-gtk-doc
-LIBSOUP_DEPENDENCIES = gettext libintl host-pkg-config host-libglib2 libglib2 libxml2
+LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2
$(eval $(call AUTOTARGETS,package,libsoup))
diff --git a/package/make/Config.in b/package/make/Config.in
index 5264005..674e245 100644
--- a/package/make/Config.in
+++ b/package/make/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MAKE
bool "make"
- select BR2_PACKAGE_GETTEXT if BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBINTL if BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
help
A tool which controls the generation of executables and other
non-source files of a program from the program's source files.
diff --git a/package/make/make.mk b/package/make/make.mk
index 29c7af4..5dd0637 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -56,7 +56,7 @@ $(TARGET_DIR)/$(GNUMAKE_TARGET_BINARY): $(GNUMAKE_DIR)/$(GNUMAKE_BINARY)
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
-make: $(if $(BR2_PACKAGE_GETTEXT),gettext) $(TARGET_DIR)/$(GNUMAKE_TARGET_BINARY)
+make: $(if $(BR2_NEEDS_GETTEXT),gettext) $(TARGET_DIR)/$(GNUMAKE_TARGET_BINARY)
make-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUMAKE_DIR) uninstall
diff --git a/package/multimedia/libmpd/Config.in b/package/multimedia/libmpd/Config.in
index c79203c..4f3a714 100644
--- a/package/multimedia/libmpd/Config.in
+++ b/package/multimedia/libmpd/Config.in
@@ -1,8 +1,6 @@
config BR2_PACKAGE_LIBMPD
bool "libmpd"
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_GETTEXT
- select BR2_PACKAGE_LIBINTL
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
High-level client library for accessing Music Player Daemon.
diff --git a/package/pango/pango.mk b/package/pango/pango.mk
index 38e163e..812a4c8 100644
--- a/package/pango/pango.mk
+++ b/package/pango/pango.mk
@@ -45,7 +45,7 @@ HOST_PANGO_CONF_OPT = \
$(if $(BR2_PACKAGE_XORG7),--with-x,--without-x) \
--disable-debug \
-PANGO_DEPENDENCIES = gettext libintl host-pkg-config host-pango libglib2 cairo
+PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl) host-pkg-config host-pango libglib2 cairo
HOST_PANGO_DEPENDENCIES = host-pkg-config host-cairo host-libglib2 host-autoconf host-automake
diff --git a/package/php/Config.ext b/package/php/Config.ext
index 9b53e87..2fbd05e 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -67,7 +67,7 @@ config BR2_PACKAGE_PHP_EXT_FTP
config BR2_PACKAGE_PHP_EXT_GETTEXT
bool "gettext"
- select BR2_PACKAGE_GETTEXT
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
help
gettext support
diff --git a/package/php/php.mk b/package/php/php.mk
index cd5ed9e..c5f9c14 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -84,7 +84,7 @@ endif
ifeq ($(BR2_PACKAGE_PHP_EXT_GETTEXT),y)
PHP_CONF_OPT += --with-gettext=$(STAGING_DIR)/usr
- PHP_DEPENDENCIES += gettext
+ PHP_DEPENDENCIES += $(if $(BR2_NEEDS_GETTEXT),gettext)
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y)
diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in
index e7ce704..31e982c 100644
--- a/package/psmisc/Config.in
+++ b/package/psmisc/Config.in
@@ -1,8 +1,8 @@
config BR2_PACKAGE_PSMISC
bool "psmisc"
select BR2_PACKAGE_NCURSES
- select BR2_PACKAGE_GETTEXT if BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBINTL if BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
help
Helpful /proc related utilities such as pstree, fuser, and killall
diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk
index e04923d..b82883f 100644
--- a/package/psmisc/psmisc.mk
+++ b/package/psmisc/psmisc.mk
@@ -7,12 +7,6 @@ PSMISC_VERSION:=22.8
PSMISC_SOURCE:=psmisc-$(PSMISC_VERSION).tar.gz
PSMISC_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/psmisc
PSMISC_AUTORECONF:=NO
-PSMISC_DEPENDENCIES:=ncurses
-
-ifeq ($(BR2_ENABLE_LOCALE),y)
-# psmisc gets confused and forgets to link with libintl
-PSMISC_MAKE_OPT:=LIBS=-lintl
-PSMISC_DEPENDENCIES+= gettext libintl
-endif
+PSMISC_DEPENDENCIES:=ncurses $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
$(eval $(call AUTOTARGETS,package,psmisc))
diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in
index 12d98f6..7ddd0c1 100644
--- a/package/sshfs/Config.in
+++ b/package/sshfs/Config.in
@@ -2,8 +2,8 @@ config BR2_PACKAGE_SSHFS
bool "sshfs (FUSE)"
select BR2_PACKAGE_LIBFUSE
select BR2_PACKAGE_LIBGLIB2
- select BR2_PACKAGE_GETTEXT
- select BR2_PACKAGE_LIBINTL
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
depends on BR2_PACKAGE_OPENSSH
help
diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk
index 4acc293..d15aa00 100644
--- a/package/sshfs/sshfs.mk
+++ b/package/sshfs/sshfs.mk
@@ -11,6 +11,6 @@ SSHFS_AUTORECONF:=NO
SSHFS_INSTALL_STAGING:=NO
SSHFS_INSTALL_TARGET:=YES
-SSHFS_DEPENDENCIES = libglib2 libfuse
+SSHFS_DEPENDENCIES = libglib2 libfuse $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
$(eval $(call AUTOTARGETS,package,sshfs))
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index e21daf6..533ef69 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_UTIL-LINUX
bool "util-linux"
- select BR2_PACKAGE_GETTEXT if BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBINTL if BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
depends on BR2_INET_RPC
help
Various useful/essential Linux utilities.
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index e2135e7..6446d37 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -18,8 +18,8 @@ else
UTIL-LINUX_SCHED_UTILS:=--disable-schedutils
endif
-ifeq ($(BR2_PACKAGE_LIBINTL),y)
-UTIL-LINUX_DEPENDENCIES += libintl
+ifeq ($(BR2_NEEDS_GETTEXT),y)
+UTIL-LINUX_DEPENDENCIES += gettext libintl
UTIL-LINUX_MAKE_OPT = LIBS=-lintl
endif
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
2010-05-21 8:08 ` [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT Thomas Petazzoni
@ 2010-05-21 19:56 ` Peter Korsgaard
2010-05-21 22:11 ` Thomas Petazzoni
0 siblings, 1 reply; 25+ messages in thread
From: Peter Korsgaard @ 2010-05-21 19:56 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> --- a/package/libglib2/Config.in
Thomas> +++ b/package/libglib2/Config.in
Thomas> @@ -1,7 +1,7 @@
Thomas> config BR2_PACKAGE_LIBGLIB2
Thomas> bool "libglib2"
Thomas> - select BR2_PACKAGE_GETTEXT
Thomas> - select BR2_PACKAGE_LIBINTL
Thomas> + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
Thomas> + select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
I unfortunately now get the following error when building with an
internal toolchain and locales NOT enabled:
checking libintl.h usability... no
checking libintl.h presence... no
checking for libintl.h... no
configure: error:
*** You must have either have gettext support in your C library, or use the
*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
make: *** [/tmp/br/build/libglib2-2.22.5/.stamp_configured] Error 1
Seems like we need to make libglib2 depend on locale support?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 25+ messages in thread
* [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
2010-05-21 19:56 ` Peter Korsgaard
@ 2010-05-21 22:11 ` Thomas Petazzoni
2010-05-22 7:34 ` Peter Korsgaard
0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 22:11 UTC (permalink / raw)
To: buildroot
On Fri, 21 May 2010 21:56:05 +0200
Peter Korsgaard <jacmet@uclibc.org> wrote:
> I unfortunately now get the following error when building with an
> internal toolchain and locales NOT enabled:
>
> checking libintl.h usability... no
> checking libintl.h presence... no
> checking for libintl.h... no
> configure: error:
> *** You must have either have gettext support in your C library, or
> use the *** GNU gettext library.
> (http://www.gnu.org/software/gettext/gettext.html
>
> make: *** [/tmp/br/build/libglib2-2.22.5/.stamp_configured] Error 1
>
> Seems like we need to make libglib2 depend on locale support?
I can reproduce the same problem (strange because I thought I tested
this case, but anyway).
So we have two cases :
* Packages like Avahi. They understand --disable-nls and therefore
when locale support is not enabled, they don't need gettext.
* Packages like libglib2. They don't understand --disable-nls, so even
when locale is not enabled, they need gettext. libglib2 builds
fine in the previous situation, where BR2_NEEDS_GETTEXT was set
to yes as soon as an uClibc toolchain was used (regardless of
whether BR2_ENABLE_LOCALE is set or not). So it is possible to build
libglib2 with a !BR2_ENABLE_LOCALE toolchain, but it requires
gettext to be built.
So either we decide that packages such as libglib2 do require
BR2_ENABLE_LOCALE, or we need to find some smarter way.
In general, this locale/gettext/libintl/libiconv thing still isn't 100%
clear to me. Why is iconv selected only when !BR2_ENABLE_LOCALE ? Does
gettext works when the toolchain doesn't support locales ? What is the
exact role of all these components ?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 25+ messages in thread
* [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
2010-05-21 22:11 ` Thomas Petazzoni
@ 2010-05-22 7:34 ` Peter Korsgaard
2010-05-22 8:27 ` Peter Korsgaard
0 siblings, 1 reply; 25+ messages in thread
From: Peter Korsgaard @ 2010-05-22 7:34 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Hi,
Thomas> So we have two cases :
Thomas> * Packages like Avahi. They understand --disable-nls and therefore
Thomas> when locale support is not enabled, they don't need gettext.
Thomas> * Packages like libglib2. They don't understand --disable-nls, so even
Thomas> when locale is not enabled, they need gettext. libglib2 builds
Thomas> fine in the previous situation, where BR2_NEEDS_GETTEXT was set
Thomas> to yes as soon as an uClibc toolchain was used (regardless of
Thomas> whether BR2_ENABLE_LOCALE is set or not). So it is possible to build
Thomas> libglib2 with a !BR2_ENABLE_LOCALE toolchain, but it requires
Thomas> gettext to be built.
Yes, but note that gettext needs wchar - So there's a wchar dependency here.
Thomas> So either we decide that packages such as libglib2 do require
Thomas> BR2_ENABLE_LOCALE, or we need to find some smarter way.
A lot of stuff depends on libglib2, so I would prefer if we wouldn't add
a "fake" dependency on localization.
We could handle it in several different ways:
- Make gettext a dummy kconfig/make target when glibc is used
- Make BR2_NEEDS_GETTEXT simply be always enabled on uclibc and then
- select gettext if BR2_NEEDS_GETTEXT (and depends on BR2_USE_WCHAR)
for stuff like libglib2
- select getttext if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE) for
stuff like avahi
Thomas> In general, this locale/gettext/libintl/libiconv thing still
Thomas> isn't 100% clear to me. Why is iconv selected only when
Thomas> !BR2_ENABLE_LOCALE ?
I'm definately not localization expert, but this is how I understand it:
Because it's a replacement for the iconv() implementation that uclibc
has available when BR2_ENABLE_LOCALE is enabled.
Thomas> Does gettext works when the toolchain doesn't support locales ?
I believe it does - Possible together with libiconv if needed.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
2010-05-22 7:34 ` Peter Korsgaard
@ 2010-05-22 8:27 ` Peter Korsgaard
0 siblings, 0 replies; 25+ messages in thread
From: Peter Korsgaard @ 2010-05-22 8:27 UTC (permalink / raw)
To: buildroot
>>>>> "Peter" == Peter Korsgaard <jacmet@uclibc.org> writes:
Thomas> So we have two cases :
Thomas> * Packages like Avahi. They understand --disable-nls and therefore
Thomas> when locale support is not enabled, they don't need gettext.
Thomas> * Packages like libglib2. They don't understand --disable-nls, so even
Thomas> when locale is not enabled, they need gettext. libglib2 builds
Thomas> fine in the previous situation, where BR2_NEEDS_GETTEXT was set
Thomas> to yes as soon as an uClibc toolchain was used (regardless of
Thomas> whether BR2_ENABLE_LOCALE is set or not). So it is possible to build
Thomas> libglib2 with a !BR2_ENABLE_LOCALE toolchain, but it requires
Thomas> gettext to be built.
Peter> We could handle it in several different ways:
Peter> - Make gettext a dummy kconfig/make target when glibc is used
Peter> - Make BR2_NEEDS_GETTEXT simply be always enabled on uclibc and then
Peter> - select gettext if BR2_NEEDS_GETTEXT (and depends on BR2_USE_WCHAR)
Peter> for stuff like libglib2
Peter> - select getttext if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE) for
Peter> stuff like avahi
Thinking a bit more about it, the easiest might just be to introduce two
symbols, one for each of the cases, E.G.:
diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2
index fc6759d..233303a 100644
--- a/toolchain/Config.in.2
+++ b/toolchain/Config.in.2
@@ -56,13 +56,16 @@ config BR2_ENABLE_LOCALE_WHITELIST
will be available on the target - That purely depends on the
support for that locale in the selected packages.
+config BR2_TOOLCHAIN_HAS_GETTEXT
+ bool
+ default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
+
# uClibc toolchains require a separatly-compiled gettext/libintl when
# locale support is enabled. This isn't necessary with glibc
# toolchains as glibc includes gettext/libintl.
config BR2_NEEDS_GETTEXT
bool
- default y if (BR2_TOOLCHAIN_BUILDROOT && BR2_ENABLE_LOCALE)
- default y if (BR2_TOOLCHAIN_EXTERNAL_UCLIBC && BR2_ENABLE_LOCALE)
+ default y if (!BR2_TOOLCHAIN_HAS_GETTEXT && BR2_ENABLE_LOCALE)
config BR2_USE_WCHAR
bool "Enable WCHAR support"
And then let stuff like glib2 do:
select GETTEXT if !BR2_TOOLCHAIN_HAS_GETTEXT (and depend on wchar)
And stuff like avahi stays:
select GETTEXT if BR2_NEEDS_GETTEXT
The BR2_TOOLCHAIN_HAS_GETTEXT unfortunately needs to be used in it's
negative form, but I cannot think of a good name in the reverse form
that clearly seperates it from BR2_NEEDS_GETTEXT.
--
Bye, Peter Korsgaard
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [Buildroot] [PATCH 03/19] libcap: fix build failure
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 01/19] Add a BR2_NEEDS_GETTEXT option Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 04/19] libcgicc: fix package after autotools infrastructure conversion Thomas Petazzoni
` (16 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
On a x86-64 host, libcap tried to install things in
$(STAGING_DIR)/lib64 and $(TARGET_DIR)/lib64. Therefore, pass lib= and
prefix=, as required by the strange build system used by libcap.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libcap/libcap.mk | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk
index 3ea5e51..301d1b1 100644
--- a/package/libcap/libcap.mk
+++ b/package/libcap/libcap.mk
@@ -8,7 +8,7 @@ define LIBCAP_BUILD_CMDS
endef
define LIBCAP_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(STAGING_DIR) install
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(STAGING_DIR) prefix=/usr lib=lib install
endef
define LIBCAP_INSTALL_TARGET_CMDS
@@ -20,7 +20,7 @@ define HOST_LIBCAP_BUILD_CMDS
endef
define HOST_LIBCAP_INSTALL_CMDS
- $(HOST_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(HOST_DIR) install
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(HOST_DIR) prefix=/usr lib=lib install
endef
$(eval $(call GENTARGETS,package,libcap))
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 04/19] libcgicc: fix package after autotools infrastructure conversion
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (2 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 03/19] libcap: fix build failure Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 05/19] ltrace: fix build failure Thomas Petazzoni
` (15 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
The patch had an incorrect name, and the libtool patch was applied
while it shouldn't, and the package wasn't autoreconfed while the
patch changes some Makefile.am files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
...cgicc-3.2.9-disable-documentation-option.patch} | 0
package/libcgicc/libcgicc.mk | 2 ++
2 files changed, 2 insertions(+), 0 deletions(-)
rename package/libcgicc/{cgicc-3.2.9-disable-documentation-option.patch => libcgicc-3.2.9-disable-documentation-option.patch} (100%)
diff --git a/package/libcgicc/cgicc-3.2.9-disable-documentation-option.patch b/package/libcgicc/libcgicc-3.2.9-disable-documentation-option.patch
similarity index 100%
rename from package/libcgicc/cgicc-3.2.9-disable-documentation-option.patch
rename to package/libcgicc/libcgicc-3.2.9-disable-documentation-option.patch
diff --git a/package/libcgicc/libcgicc.mk b/package/libcgicc/libcgicc.mk
index c2f80b6..b281eed 100644
--- a/package/libcgicc/libcgicc.mk
+++ b/package/libcgicc/libcgicc.mk
@@ -7,6 +7,8 @@ LIBCGICC_VERSION=3.2.9
LIBCGICC_SITE=$(BR2_GNU_MIRROR)/cgicc
LIBCGICC_SOURCE=cgicc-$(LIBCGICC_VERSION).tar.gz
LIBCGICC_INSTALL_STAGING=YES
+LIBCGICC_LIBTOOL_PATCH=NO
+LIBCGICC_AUTORECONF=YES
LIBCGICC_CONF_OPT = \
--disable-demos \
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 05/19] ltrace: fix build failure
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (3 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 04/19] libcgicc: fix package after autotools infrastructure conversion Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 06/19] gettext: make only available if BR2_NEEDS_GETTEXT is set Thomas Petazzoni
` (14 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
ltrace failed to build because of missing arguments to gcc to find the
header files. This is due to the fact that the existing ltrace.mk was
setting CC and LD at build time to incorrect values. Keeping the
values set at configure time is just the right thing to do.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/ltrace/ltrace.mk | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/package/ltrace/ltrace.mk b/package/ltrace/ltrace.mk
index c99f223..4a6811d 100644
--- a/package/ltrace/ltrace.mk
+++ b/package/ltrace/ltrace.mk
@@ -54,8 +54,7 @@ $(LTRACE_DIR)/.configured: $(LTRACE_DIR)/.patched
touch $@
$(LTRACE_DIR)/$(LTRACE_BINARY): $(LTRACE_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(LTRACE_ARCH) \
- -C $(LTRACE_DIR)
+ $(MAKE) ARCH=$(LTRACE_ARCH) -C $(LTRACE_DIR)
$(TARGET_DIR)/$(LTRACE_TARGET_BINARY): $(LTRACE_DIR)/$(LTRACE_BINARY)
#$(MAKE) DESTDIR=$(TARGET_DIR) ARCH=$(LTRACE_ARCH) -C $(LTRACE_DIR) install
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 06/19] gettext: make only available if BR2_NEEDS_GETTEXT is set
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (4 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 05/19] ltrace: fix build failure Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 07/19] external toolchain: check BR2_INSTALL_LIBSTDCPP Thomas Petazzoni
` (13 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
This allows to make sure that an user, or a randpackageconfig, will
not select the gettext or libintl package when using an external
toolchain based on glibc/eglibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/gettext/Config.in | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index bd5950c..c6792ac 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_GETTEXT
bool "gettext"
+ depends on BR2_NEEDS_GETTEXT
help
The GNU `gettext' utilities are a set of tools that provide a
framework to help other GNU packages produce multi-lingual
@@ -21,6 +22,7 @@ config BR2_PACKAGE_GETTEXT_STATIC
config BR2_PACKAGE_LIBINTL
bool "libintl"
+ depends on BR2_NEEDS_GETTEXT
help
Selecting this package installs all of gettext in the staging
directory and the shared library for it's use in the target.
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 07/19] external toolchain: check BR2_INSTALL_LIBSTDCPP
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (5 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 06/19] gettext: make only available if BR2_NEEDS_GETTEXT is set Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 08/19] iconv: disallow selection when BR2_ENABLE_LOCALE is enabled Thomas Petazzoni
` (12 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Verify that the value of BR2_INSTALL_LIBSTDCPP set by the user in the
Buildroot configuration really matches the external toolchain
capabilities by checking that a C++ cross-compiler is available.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/external-toolchain/ext-tool.mk | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk
index 2c2562c..bb4809c 100644
--- a/toolchain/external-toolchain/ext-tool.mk
+++ b/toolchain/external-toolchain/ext-tool.mk
@@ -232,6 +232,15 @@ check_arm_abi = \
fi ; \
#
+# Check that the external toolchain supports C++
+#
+check_cplusplus = \
+ if ! test -x $(TARGET_CXX) ; then \
+ echo "BR2_INSTALL_LIBSTDCPP is selected but C++ support not available in external toolchain" ; \
+ exit 1 ; \
+ fi ; \
+
+#
# Check that the cross-compiler given in the configuration exists
#
check_cross_compiler_exists = \
@@ -288,6 +297,9 @@ endif
ifeq ($(BR2_arm),y)
$(Q)$(call check_arm_abi)
endif
+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
+ $(Q)$(call check_cplusplus)
+endif
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
$(Q)$(call check_uclibc,$(SYSROOT_DIR))
else
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 08/19] iconv: disallow selection when BR2_ENABLE_LOCALE is enabled
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (6 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 07/19] external toolchain: check BR2_INSTALL_LIBSTDCPP Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 09/19] lmbench: needs BR2_INET_RPC Thomas Petazzoni
` (11 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
A C library compiled with locale support already has an iconv()
implementation. In that case, libiconv is useless. Therefore, disallow
the selection of libiconv when the configuration says that the
toolchain has locale support.
This fixes build issues similar to the one we had with gettext:
libiconv headers are installed, but -liconv is not added because the
./configure script detects that the C library supports iconv.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libiconv/Config.in | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/package/libiconv/Config.in b/package/libiconv/Config.in
index b600944..ee4fd62 100644
--- a/package/libiconv/Config.in
+++ b/package/libiconv/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBICONV
bool "libiconv"
+ depends on !BR2_ENABLE_LOCALE
help
unicode conversion library
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 09/19] lmbench: needs BR2_INET_RPC
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (7 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 08/19] iconv: disallow selection when BR2_ENABLE_LOCALE is enabled Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 10/19] startup-notification: add dependency on xlib_libX11 Thomas Petazzoni
` (10 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
This package uses several pmap_*() functions in the C library, that
are only available if the C library has RPC support.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/lmbench/Config.in | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
index 704b3ff..d09a333 100644
--- a/package/lmbench/Config.in
+++ b/package/lmbench/Config.in
@@ -1,7 +1,12 @@
config BR2_PACKAGE_LMBENCH
bool "lmbench"
+ # Uses pmap_set, pmap__unset, pmap_getport, etc.
+ depends on BR2_INET_RPC
help
LMbench is a suite of simple, portable,
ANSI/C microbenchmarks for UNIX/POSIX.
http://sourceforge.net/projects/lmbench/
+
+comment "lmbench requires a toolchain with RPC support"
+ depends on !BR2_INET_RPC
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 10/19] startup-notification: add dependency on xlib_libX11
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (8 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 09/19] lmbench: needs BR2_INET_RPC Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 11/19] ntp: fix build failure Thomas Petazzoni
` (9 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/startup-notification/Config.in | 2 ++
.../startup-notification/startup-notification.mk | 1 +
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/package/startup-notification/Config.in b/package/startup-notification/Config.in
index 23fdf74..277d300 100644
--- a/package/startup-notification/Config.in
+++ b/package/startup-notification/Config.in
@@ -1,5 +1,7 @@
config BR2_PACKAGE_STARTUP_NOTIFICATION
bool "startup-notification"
+ select BR2_PACKAGE_XLIB_LIBX11
+ depends on BR2_PACKAGE_XORG7
help
Startup-notification is a library used to monitor application startup.
diff --git a/package/startup-notification/startup-notification.mk b/package/startup-notification/startup-notification.mk
index 62f067a..f70fcc1 100644
--- a/package/startup-notification/startup-notification.mk
+++ b/package/startup-notification/startup-notification.mk
@@ -9,6 +9,7 @@ STARTUP_NOTIFICATION_SITE = http://freedesktop.org/software/startup-notification
STARTUP_NOTIFICATION_AUTORECONF = NO
STARTUP_NOTIFICATION_INSTALL_STAGING = YES
STARTUP_NOTIFICATION_INSTALL_TARGET = YES
+STARTUP_NOTIFICATION = xlib_libX11
STARTUP_NOTIFICATION_CONF_ENV = lf_cv_sane_realloc=yes
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 11/19] ntp: fix build failure
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (9 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 10/19] startup-notification: add dependency on xlib_libX11 Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 12/19] samba: only require libiconv if !BR2_ENABLE_LOCALE Thomas Petazzoni
` (8 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
This patch adds a patch to NTP to fix the following build failure,
using a workaround patch found on the Fedora bugzilla:
ntp_loopfilter.c: In function 'local_clock':
ntp_loopfilter.c:571: error: 'MOD_NANO' undeclared (first use in this function)
ntp_loopfilter.c:571: error: (Each undeclared identifier is reported only once
ntp_loopfilter.c:571: error: for each function it appears in.)
ntp_loopfilter.c: In function 'loop_config':
ntp_loopfilter.c:896: error: 'MOD_NANO' undeclared (first use in this function)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/ntp/ntp-4.2.4_p5-nano.patch | 36 +++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
create mode 100644 package/ntp/ntp-4.2.4_p5-nano.patch
diff --git a/package/ntp/ntp-4.2.4_p5-nano.patch b/package/ntp/ntp-4.2.4_p5-nano.patch
new file mode 100644
index 0000000..f4097ee
--- /dev/null
+++ b/package/ntp/ntp-4.2.4_p5-nano.patch
@@ -0,0 +1,36 @@
+Fixes the MOD_NANO build failure
+
+ntp_loopfilter.c: In function 'local_clock':
+ntp_loopfilter.c:571: error: 'MOD_NANO' undeclared (first use in this function)
+ntp_loopfilter.c:571: error: (Each undeclared identifier is reported only once
+ntp_loopfilter.c:571: error: for each function it appears in.)
+ntp_loopfilter.c: In function 'loop_config':
+ntp_loopfilter.c:896: error: 'MOD_NANO' undeclared (first use in this function)
+
+Taken from
+http://cvs.fedoraproject.org/viewvc/devel/ntp/ntp-4.2.4p7-nano.patch?revision=1.1&content-type=text/plain&view=co
+
+See the discussion at
+https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/412242 for more
+details and links. The below fix is not a correct fix, but only a
+workaround. The real fix required changes to kernel/libc headers.
+
+Index: ntp-4.2.4p5/include/ntp_syscall.h
+===================================================================
+--- ntp-4.2.4p5.orig/include/ntp_syscall.h 2010-05-14 17:34:48.000000000 +0200
++++ ntp-4.2.4p5/include/ntp_syscall.h 2010-05-14 17:35:13.000000000 +0200
+@@ -14,6 +14,14 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ #ifdef NTP_SYSCALLS_STD
+ # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 12/19] samba: only require libiconv if !BR2_ENABLE_LOCALE
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (10 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 11/19] ntp: fix build failure Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 13/19] pango: run pango-querymodules on the target instead of on the host Thomas Petazzoni
` (7 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/samba/Config.in | 2 +-
package/samba/samba.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/samba/Config.in b/package/samba/Config.in
index 720ecd7..a7a0b34 100644
--- a/package/samba/Config.in
+++ b/package/samba/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_SAMBA
bool "samba"
- select BR2_PACKAGE_LIBICONV
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
Provides print services to all manner of SMB/CIFS clients,
including the numerous versions of Microsoft Windows
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index 4115363..39968a9 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -16,7 +16,7 @@ SAMBA_INSTALL_TARGET = YES
SAMBA_DEPENDENCIES = \
- libiconv \
+ $(if $(BR2_ENABLE_LOCALE),,libiconv) \
$(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),readline) \
$(if $(BR2_PACKAGE_SAMBA_SMBCLIENT),readline) \
$(if $(BR2_PACKAGE_SAMBA_AVAHI),avahi) \
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 13/19] pango: run pango-querymodules on the target instead of on the host
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (11 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 12/19] samba: only require libiconv if !BR2_ENABLE_LOCALE Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 14/19] cairo: remove host variant Thomas Petazzoni
` (6 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
We needed to build pango for the host in order to compile
pango-querymodules for the host, which was used to produce
/etc/pango/pango.modules. Unfortunately:
* This produces an incorrect /etc/pango/pango.modules (no modules
detected in my case), probably because the host pango-querymodules
was looking at host pango modules
* This requires to build pango for the host, which requires to build
cairo for the host, which requires to build X11 for the host.
To make things work and remove the dependency between pango and
host-pango, we introduce a S25pango script that creates
/etc/pango/pango.modules on startup if it doesn't exist, just as we do
with libgtk2 for /etc/gtk-2.0/gdk-pixbuf.loaders.
Since host-pango is no longer needed, we remove all definitions
related to it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/pango/S25pango | 20 ++++++++++++++++++++
package/pango/pango.mk | 18 ++----------------
2 files changed, 22 insertions(+), 16 deletions(-)
create mode 100644 package/pango/S25pango
diff --git a/package/pango/S25pango b/package/pango/S25pango
new file mode 100644
index 0000000..9af9307
--- /dev/null
+++ b/package/pango/S25pango
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# run pango-querymodules if needed
+
+FILE=/etc/pango/pango.modules
+
+case "$1" in
+ start|"")
+ if [ ! -f $FILE ] ; then
+ mkdir -p /etc/pango
+ /usr/bin/pango-querymodules > "$FILE"
+ fi
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: $0 {start|stop}" >&2
+ exit 1
+ ;;
+esac
\ No newline at end of file
diff --git a/package/pango/pango.mk b/package/pango/pango.mk
index 812a4c8..c640045 100644
--- a/package/pango/pango.mk
+++ b/package/pango/pango.mk
@@ -40,16 +40,7 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
PANGO_CONF_OPT = --enable-shared --enable-static \
--enable-explicit-deps=no --disable-debug
-HOST_PANGO_CONF_OPT = \
- --disable-static \
- $(if $(BR2_PACKAGE_XORG7),--with-x,--without-x) \
- --disable-debug \
-
-PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl) host-pkg-config host-pango libglib2 cairo
-
-HOST_PANGO_DEPENDENCIES = host-pkg-config host-cairo host-libglib2 host-autoconf host-automake
-
-HOST_PANGO_AUTORECONF = YES
+PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT),gettext libintl) host-pkg-config libglib2 cairo
ifeq ($(BR2_PACKAGE_XORG7),y)
PANGO_CONF_OPT += --with-x \
@@ -61,12 +52,7 @@ else
endif
$(eval $(call AUTOTARGETS,package,pango))
-$(eval $(call AUTOTARGETS,package,pango,host))
$(PANGO_HOOK_POST_INSTALL):
- mkdir -p $(TARGET_DIR)/etc/pango
- $(PANGO_HOST_BINARY) > $(TARGET_DIR)/etc/pango/pango.modules
- $(SED) 's~$(HOST_DIR)~~g' $(TARGET_DIR)/etc/pango/pango.modules
+ $(INSTALL) -m 755 package/pango/S25pango $(TARGET_DIR)/etc/init.d/
touch $@
-
-PANGO_HOST_BINARY:=$(HOST_DIR)/usr/bin/pango-querymodules
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 14/19] cairo: remove host variant
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (12 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 13/19] pango: run pango-querymodules on the target instead of on the host Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 15/19] mutt: fix build and convert to autotools Thomas Petazzoni
` (5 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Since we no longer need to build pango on the host, cairo on the host
is no longer needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/cairo/cairo.mk | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
index 0ca99aa..9b72ffa 100644
--- a/package/cairo/cairo.mk
+++ b/package/cairo/cairo.mk
@@ -79,8 +79,6 @@ else
CAIRO_CONF_OPT += --disable-svg
endif
-HOST_CAIRO_DEPENDENCIES = host-pkg-config host-pixman host-fontconfig
-
HOST_CAIRO_CONF_OPT = \
--enable-ps \
--enable-pdf \
@@ -90,4 +88,3 @@ HOST_CAIRO_CONF_OPT = \
--disable-svg
$(eval $(call AUTOTARGETS,package,cairo))
-$(eval $(call AUTOTARGETS,package,cairo,host))
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 15/19] mutt: fix build and convert to autotools
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (13 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 14/19] cairo: remove host variant Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 16/19] lvm2: do not override CC and similar variables Thomas Petazzoni
` (4 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
mutt has been upgraded, but the mutt-1.5.16-makedoc-hostcc.patch
wasn't upgraded accordingly, causing build failures in the
documentation. Therefore, we add a new patch
mutt-1.5.17+20080114-nodoc.patch that disables the construction of the
documentation.
As this patch modifies Makefile.am, we need to autoreconf the
package. The simplest and cleanest way to do this is to convert the
package to the autotools infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/mutt/mutt-1.5.16-makedoc-hostcc.patch | 32 -----------
package/mutt/mutt-1.5.17+20080114-nodoc.patch | 21 +++++++
package/mutt/mutt.mk | 73 ++++---------------------
3 files changed, 32 insertions(+), 94 deletions(-)
delete mode 100644 package/mutt/mutt-1.5.16-makedoc-hostcc.patch
create mode 100644 package/mutt/mutt-1.5.17+20080114-nodoc.patch
diff --git a/package/mutt/mutt-1.5.16-makedoc-hostcc.patch b/package/mutt/mutt-1.5.16-makedoc-hostcc.patch
deleted file mode 100644
index de5cc2d..0000000
--- a/package/mutt/mutt-1.5.16-makedoc-hostcc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- mutt-1.5.16.oorig/Makefile.in 2007-09-02 22:16:23.000000000 +0200
-+++ mutt-1.5.16/Makefile.in 2007-09-02 22:19:49.000000000 +0200
-@@ -164,12 +164,6 @@
- DBX = @DBX@
- DEBUGGER = @DEBUGGER@
-
--# $(makedoc_OBJECTS): $(makedoc_SOURCES)
--# $(HOST_CC) $(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
--
--# makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
--# @rm -rf makedoc
--# $(HOST_CC) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
- DEFS = -DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
- -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
- -DHAVE_CONFIG_H=1
-@@ -447,9 +441,15 @@
-
- clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-+
-+$(makedoc_OBJECTS): $(makedoc_SOURCES)
-+ $(CC_FOR_BUILD) -DHAVE_UNISTD_H -DHAVE_GETOPT_H -DHAVE_STRERROR -c $< ;#$(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
-+#makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
-+# @rm -rf makedoc
-+# $(CC_FOR_BUILD) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
- makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
- @rm -f makedoc$(EXEEXT)
-- $(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
-+ $(CC_FOR_BUILD) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) -o $@
- mutt$(EXEEXT): $(mutt_OBJECTS) $(mutt_DEPENDENCIES)
- @rm -f mutt$(EXEEXT)
- $(LINK) $(mutt_LDFLAGS) $(mutt_OBJECTS) $(mutt_LDADD) $(LIBS)
diff --git a/package/mutt/mutt-1.5.17+20080114-nodoc.patch b/package/mutt/mutt-1.5.17+20080114-nodoc.patch
new file mode 100644
index 0000000..6fd556d
--- /dev/null
+++ b/package/mutt/mutt-1.5.17+20080114-nodoc.patch
@@ -0,0 +1,21 @@
+Disable the documentation build
+
+The documentation tool is compiled for the target, but executed on the
+host. We don't bother fixing this, as we don't care of the
+documentation in Buildroot.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: mutt-1.5.17+20080114/Makefile.am
+===================================================================
+--- mutt-1.5.17+20080114.orig/Makefile.am 2010-05-15 18:15:08.000000000 +0200
++++ mutt-1.5.17+20080114/Makefile.am 2010-05-15 18:15:17.000000000 +0200
+@@ -9,7 +9,7 @@
+ IMAP_INCLUDES = -I$(top_srcdir)/imap
+ endif
+
+-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
++SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR)
+
+ bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
+
diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk
index 3ad0f2f..d021aef 100644
--- a/package/mutt/mutt.mk
+++ b/package/mutt/mutt.mk
@@ -7,70 +7,19 @@ MUTT_VERSION:=1.5.17+20080114
MUTT_SOURCE:=mutt_$(MUTT_VERSION).orig.tar.gz
MUTT_PATCH:=mutt_$(MUTT_VERSION)-1.diff.gz
MUTT_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/m/mutt/
-MUTT_DIR:=$(BUILD_DIR)/mutt-$(MUTT_VERSION)
-MUTT_CAT:=$(ZCAT)
-MUTT_BINARY:=mutt
-MUTT_TARGET_BINARY:=usr/bin/mutt
-
-$(DL_DIR)/$(MUTT_SOURCE):
- $(call DOWNLOAD,$(MUTT_SITE),$(MUTT_SOURCE))
-
-$(DL_DIR)/$(MUTT_PATCH):
- $(call DOWNLOAD,$(MUTT_SITE),$(MUTT_PATCH))
-
-$(MUTT_DIR)/.unpacked: $(DL_DIR)/$(MUTT_SOURCE) $(DL_DIR)/$(MUTT_PATCH)
- $(MUTT_CAT) $(DL_DIR)/$(MUTT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(MUTT_DIR) package/mutt/ mutt-$(MUTT_VERSION)\*.patch
-ifneq ($(MUTT_PATCH),)
- (cd $(MUTT_DIR) && $(MUTT_CAT) $(DL_DIR)/$(MUTT_PATCH) | patch -p1)
- if [ -d $(MUTT_DIR)/debian/patches ]; then \
- toolchain/patch-kernel.sh $(MUTT_DIR) $(MUTT_DIR)/debian/patches \*.patch; \
- fi
-endif
- touch $@
-
-$(MUTT_DIR)/.configured: $(MUTT_DIR)/.unpacked
- (cd $(MUTT_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- $(DISABLE_LARGEFILE) \
- $(DISABLE_IPV6) \
- $(DISABLE_NLS) \
+MUTT_DEPENDENCIES=ncurses
+MUTT_CONF_OPT = \
--disable-smtp \
--disable-iconv \
- --without-wc-funcs \
- )
- touch $@
-
-$(MUTT_DIR)/$(MUTT_BINARY): $(MUTT_DIR)/.configured
- $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(MUTT_DIR)
-
-$(TARGET_DIR)/$(MUTT_TARGET_BINARY): $(MUTT_DIR)/$(MUTT_BINARY)
- cp -dpf $(MUTT_DIR)/$(MUTT_BINARY) $@
- $(STRIPCMD) $(STRIP_STRIP_ALL) $@
+ --without-wc-funcs
+MUTT_AUTORECONF=YES
-mutt-source: $(DL_DIR)/$(MUTT_SOURCE) $(DL_DIR)/$(MUTT_PATCH)
+define MUTT_APPLY_DEBIAN_PATCHES
+ if [ -d $(@D)/debian/patches ]; then \
+ toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
+ fi
+endef
-mutt-unpacked: $(MUTT_DIR)/.unpacked
+MUTT_POST_PATCH_HOOKS += MUTT_APPLY_DEBIAN_PATCHES
-mutt: ncurses $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
-
-mutt-clean:
- -$(MAKE) -C $(MUTT_DIR) clean
- rm -f $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
-
-mutt-dirclean:
- rm -rf $(MUTT_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_MUTT),y)
-TARGETS+=mutt
-endif
+$(eval $(call AUTOTARGETS,package,mutt))
\ No newline at end of file
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 16/19] lvm2: do not override CC and similar variables
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (14 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 15/19] mutt: fix build and convert to autotools Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 17/19] uemacs: don't forget CFLAGS at link time Thomas Petazzoni
` (3 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Since lvm2 uses autoconf, there's no point in overriding CC and other
variables at build time. This causes build breakage as CFLAGS aren't
used at link time, therefore --sysroot lacks, which breaks the build
with external toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/lvm2/lvm2.mk | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk
index bc6f458..2bd6b8b 100644
--- a/package/lvm2/lvm2.mk
+++ b/package/lvm2/lvm2.mk
@@ -74,7 +74,7 @@ $(LVM2_DIR)/.configured: $(LVM2_DIR)/.unpacked
$(LVM2_DIR)/.built: $(LVM2_DIR)/.configured
- $(MAKE1) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) AR=$(TARGET_AR) -C $(LVM2_DIR) DESTDIR=$(STAGING_DIR)
+ $(MAKE1) -C $(LVM2_DIR) DESTDIR=$(STAGING_DIR)
$(MAKE1) -C $(LVM2_DIR) DESTDIR=$(STAGING_DIR) install
# Fixup write permissions so that the files can be overwritten
# several times in the $(TARGET_DIR)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 17/19] uemacs: don't forget CFLAGS at link time
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (15 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 16/19] lvm2: do not override CC and similar variables Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 18/19] vpnc: pass " Thomas Petazzoni
` (2 subsequent siblings)
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
Without CFLAGS, the build breaks because --sysroot is missing at link
time, and this option is absolutely mandatory for external toolchain
builds.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/uemacs/uemacs.mk | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/package/uemacs/uemacs.mk b/package/uemacs/uemacs.mk
index 6e2f4c4..539ad51 100644
--- a/package/uemacs/uemacs.mk
+++ b/package/uemacs/uemacs.mk
@@ -23,7 +23,7 @@ $(UEMACS_DIR)/.unpacked: $(DL_DIR)/$(UEMACS_SOURCE)
$(UEMACS_DIR)/$(UEMACS_BINARY): $(UEMACS_DIR)/.unpacked
$(MAKE) -C $(UEMACS_DIR) \
- CC="$(TARGET_CC)" DEFINES="-DAUTOCONF -DPOSIX -DUSG" CFLAGS+="$(TARGET_CFLAGS) " LIBS=-lncurses
+ CC="$(TARGET_CC)" DEFINES="-DAUTOCONF -DPOSIX -DUSG" CFLAGS+="$(TARGET_CFLAGS) " LIBS="$(TARGET_CFLAGS) -lncurses"
$(STRIPCMD) $(UEMACS_DIR)/$(UEMACS_BINARY)
$(TARGET_DIR)/$(UEMACS_TARGET_BINARY): $(UEMACS_DIR)/$(UEMACS_BINARY)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 18/19] vpnc: pass CFLAGS at link time
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (16 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 17/19] uemacs: don't forget CFLAGS at link time Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 8:08 ` [Buildroot] [PATCH 19/19] netsnmp: disable build with external toolchain Thomas Petazzoni
2010-05-21 18:38 ` [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Peter Korsgaard
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
External toolchain builds absolutely require the --sysroot option to
be passed at link time.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/vpnc/vpnc.mk | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/vpnc/vpnc.mk b/package/vpnc/vpnc.mk
index 5d0f87a..c4f23fa 100644
--- a/package/vpnc/vpnc.mk
+++ b/package/vpnc/vpnc.mk
@@ -26,7 +26,7 @@ $(VPNC_BINARY): $(VPNC_DIR)/.unpacked
rm -f $@
$(MAKE) $(TARGET_CONFIGURE_OPTS) INCLUDE=$(STAGING_DIR)/usr/include \
CFLAGS="$(TARGET_CFLAGS)" \
- LDFLAGS+=-lgcrypt LDFLAGS+=-lgpg-error \
+ LDFLAGS+=-lgcrypt LDFLAGS+=-lgpg-error LDFLAGS+="$(TARGET_CFLAGS)" \
CC="$(TARGET_CC)" -C $(VPNC_DIR)
$(VPNC_TARGET_BINARY): $(VPNC_BINARY)
@@ -38,7 +38,7 @@ $(VPNC_TARGET_BINARY): $(VPNC_BINARY)
MANDIR=/usr/share/man \
VERSION=$(VPNC_VERSION) \
INCLUDE=$(STAGING_DIR)/usr/include \
- LDFLAGS="-lgcrypt -lgpg-error" \
+ LDFLAGS="-lgcrypt -lgpg-error $(TARGET_CFLAGS)" \
-C $(VPNC_DIR) install
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(VPNC_TARGET_BINARY)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [PATCH 19/19] netsnmp: disable build with external toolchain
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (17 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 18/19] vpnc: pass " Thomas Petazzoni
@ 2010-05-21 8:08 ` Thomas Petazzoni
2010-05-21 18:38 ` [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Peter Korsgaard
19 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2010-05-21 8:08 UTC (permalink / raw)
To: buildroot
There is a build problem with netsnmp on external toolchain that isn't
easy to fix: libtool strips the --sysroot that we are passing it,
which make the link step fail.
In preparation for the release, just make sure this package isn't
visible to external toolchain users. Of course, on the long run, we
should fix this.
We also disable the build of the Quagga SNMP support because it
selects netsnmp.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/netsnmp/Config.in | 6 ++++++
package/quagga/Config.in | 4 ++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/package/netsnmp/Config.in b/package/netsnmp/Config.in
index fd54eb4..810b654 100644
--- a/package/netsnmp/Config.in
+++ b/package/netsnmp/Config.in
@@ -1,7 +1,13 @@
config BR2_PACKAGE_NETSNMP
bool "netsnmp"
+ # Build with external toolchains is broken, libtool strips
+ # --sysroot at link time
+ depends on !BR2_TOOLCHAIN_EXTERNAL
help
Suite of applications used to implement SNMP v1, SNMP v2c, and
SNMP v3 using both IPv4 and IPv6.
http://net-snmp.sourceforge.net/
+
+comment "lmbench is broken with external toolchains"
+ depends on BR2_TOOLCHAIN_EXTERNAL
diff --git a/package/quagga/Config.in b/package/quagga/Config.in
index e540cc6..fb0d590 100644
--- a/package/quagga/Config.in
+++ b/package/quagga/Config.in
@@ -59,8 +59,12 @@ config BR2_PACKAGE_QUAGGA_NETLINK
config BR2_PACKAGE_QUAGGA_SNMP
bool "SNMP support"
+ depends on !BR2_TOOLCHAIN_EXTERNAL
select BR2_PACKAGE_NETSNMP
+comment "quagga snmp support broken with external toolchains"
+ depends on BR2_TOOLCHAIN_EXTERNAL
+
config BR2_PACKAGE_QUAGGA_TCP_ZEBRA
bool "TCP/IP socket connection between zebra and proto daemon"
--
1.6.3.3
^ permalink raw reply related [flat|nested] 25+ messages in thread* [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes
2010-05-21 8:08 [Buildroot] [pull request] Pull request for branch 2010-05-15-fixes Thomas Petazzoni
` (18 preceding siblings ...)
2010-05-21 8:08 ` [Buildroot] [PATCH 19/19] netsnmp: disable build with external toolchain Thomas Petazzoni
@ 2010-05-21 18:38 ` Peter Korsgaard
19 siblings, 0 replies; 25+ messages in thread
From: Peter Korsgaard @ 2010-05-21 18:38 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Hello,
Thomas> Here is a new pull request for the set of fixes I have for
Thomas> 2010.05. This new pull request gathers changes from both of the
Thomas> previous 2010-05-14-fixes and 2010-05-15-fixes pull requests.
Committed, thanks!
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 25+ messages in thread