Merge branch 'fixes-20100729' of git://git.busybox.net/~tpetazzoni/git/buildroot

This commit is contained in:
Peter Korsgaard 2010-07-30 10:21:40 +02:00
commit 074b6689e8
19 changed files with 154 additions and 43 deletions

View File

@ -77,7 +77,7 @@ $(U_BOOT_DIR)/.patched: $(U_BOOT_DIR)/.unpacked
toolchain/patch-kernel.sh $(U_BOOT_DIR) boot/u-boot \
u-boot-$(U_BOOT_VERSION)-\*.patch \
u-boot-$(U_BOOT_VERSION)-\*.patch.$(ARCH)
ifneq ($(strip $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),"")
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
toolchain/patch-kernel.sh $(U_BOOT_DIR) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) u-boot-$(U_BOOT_VERSION)-\*.patch
endif
touch $@

View File

@ -160,3 +160,16 @@ linux26-rebuild-with-initramfs: $(LINUX26_DIR)/.stamp_initramfs_rebuilt
ifeq ($(BR2_LINUX_KERNEL),y)
TARGETS+=linux26
endif
# Checks to give errors that the user can understand
ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
ifeq ($(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG)),)
$(error No kernel defconfig name specified, check your BR2_LINUX_KERNEL_DEFCONFIG setting)
endif
endif
ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y)
ifeq ($(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)),)
$(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE setting)
endif
endif

View File

@ -93,11 +93,20 @@ LIBC=uclibc
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
LIBC=uclibc
else
LIBC=
LIBC=gnu
endif
# The ABI suffix is a bit special on ARM, as it needs to be
# -uclibcgnueabi for uClibc EABI, -uclibc for uClibc OABI, -gnueabi
# for glibc EABI and -gnu for glibc OABI. This means that the LIBC and
# ABI aren't strictly orthogonal, which explains why we need the test
# on LIBC below.
ifeq ($(BR2_ARM_EABI),y)
ifeq ($(LIBC),uclibc)
ABI=gnueabi
else
ABI=eabi
endif
endif
REAL_GNU_TARGET_NAME=$(ARCH)-unknown-linux-$(LIBC)$(ABI)

View File

@ -84,7 +84,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \
--with-autoipd-user=default \
--with-autoipd-group=default
AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool
AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool host-pkg-config
ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
AVAHI_DEPENDENCIES += libdaemon

View File

@ -30,5 +30,6 @@ config BR2_PACKAGE_CAIRO_PNG
config BR2_PACKAGE_CAIRO_SVG
bool "svg support"
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_CAIRO_PDF
endif

View File

@ -11,15 +11,23 @@ else
CMAKE_ENDIAN_OPT=-DBITFIELDS_HTOL=0
endif
# CMake doesn't support having the --sysroot option directly in the
# compiler path, so move this option to the CFLAGS/CXXFLAGS variables.
CDRKIT_TARGET_CC = $(filter-out --sysroot=%,$(TARGET_CC))
CDRKIT_TARGET_CXX = $(filter-out --sysroot=%,$(TARGET_CXX))
CDRKIT_TARGET_CFLAGS = $(filter --sysroot=%,$(TARGET_CC)) $(TARGET_CFLAGS)
CDRKIT_TARGET_CXXFLAGS = $(filter --sysroot=%,$(TARGET_CXX)) $(TARGET_CXXFLAGS)
define CDRKIT_CONFIGURE_CMDS
-mkdir $(@D)/build
(cd $(@D)/build ; \
$(HOST_DIR)/usr/bin/cmake .. \
-Wno-dev \
-DCMAKE_SYSTEM_NAME:STRING="Linux" \
-DCMAKE_C_COMPILER:FILEPATH="$(TARGET_CC)" \
-DCMAKE_CXX_COMPILER:FILEPATH="$(TARGET_CXX)" \
-DCMAKE_C_FLAGS:STRING="$(TARGET_CFLAGS)" \
-DCMAKE_C_COMPILER:FILEPATH="$(CDRKIT_TARGET_CC)" \
-DCMAKE_CXX_COMPILER:FILEPATH="$(CDRKIT_TARGET_CXX)" \
-DCMAKE_C_FLAGS:STRING="$(CDRKIT_TARGET_CFLAGS)" \
-DCMAKE_CXX_FLAGS:STRING="$(CDRKIT_TARGET_CXXFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \

View File

@ -0,0 +1,60 @@
Without -fPIC, dmalloc does not build with:
/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC
libdmalloc.a(arg_check.o): could not read symbols: Bad value
This patch, taken from
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dmalloc/files/dmalloc-5.2.4-fpic.patch?hideattic=0&view=markup,
fixes the problem by passing the -fPIC flag. It isn't passed through
the ./configure environment in order to not clutter the configuration
cache with incorrect values.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Makefile.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: dmalloc-5.4.3/Makefile.in
===================================================================
--- dmalloc-5.4.3.orig/Makefile.in
+++ dmalloc-5.4.3/Makefile.in
@@ -319,17 +319,17 @@
# special _th versions of objects with the LOCK_THREADS variable defined to 1
chunk_th.o : $(srcdir)/chunk.c
rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-c $(srcdir)/chunk.c -o ./$@
error_th.o : $(srcdir)/error.c
rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-c $(srcdir)/error.c -o ./$@
malloc_th.o : $(srcdir)/malloc.c
rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -DLOCK_THREADS=1 \
-c $(srcdir)/malloc.c -o ./$@
tests : $(TEST)
@@ -355,7 +355,7 @@
.c.o :
rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
#
# .cc.o auto-target doesn't work on some systems.
@@ -363,7 +363,7 @@
#
dmallocc.o : $(srcdir)/dmallocc.cc
rm -f $@
- $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
-o ./$@
.texi.info :

View File

@ -1,25 +0,0 @@
ssluse.c: fix build breakage with --with-ssl --disable-verbose
Revision 1.206 of ssluse.c removed the prefix argument to asn1_output,
but it is still referenced in the CURL_DISABLE_VERBOSE_STRINGS case.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
lib/ssluse.c | 4 ----
1 file changed, 4 deletions(-)
Index: curl-7.19.2/lib/ssluse.c
===================================================================
--- curl-7.19.2.orig/lib/ssluse.c
+++ curl-7.19.2/lib/ssluse.c
@@ -923,10 +923,6 @@
int i;
int year=0,month=0,day=0,hour=0,minute=0,second=0;
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
- (void)prefix;
-#endif
-
i=tm->length;
asn1_string=(const char *)tm->data;

View File

@ -3,11 +3,12 @@
# libcurl
#
#############################################################
LIBCURL_VERSION = 7.19.2
LIBCURL_VERSION = 7.21.0
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
LIBCURL_SITE = http://curl.haxx.se/download/
LIBCURL_INSTALL_STAGING = YES
LIBCURL_CONF_OPT = --disable-verbose --disable-manual --enable-hidden-symbols
LIBCURL_LIBTOOL_PATCH = NO
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBCURL_DEPENDENCIES += openssl

View File

@ -22,8 +22,6 @@ $(LIBEXOSIP2_DIR)/.configured: $(LIBEXOSIP2_DIR)/.unpacked
(cd $(LIBEXOSIP2_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
OSIP_CFLAGS="$(TARGET_CFLAGS)" \
OSIP_LIBS="-L$(STAGING_DIR)/usr/lib -losip2 -losipparser2" \
./configure $(QUIET) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
@ -73,7 +71,7 @@ $(TARGET_DIR)/usr/bin/sip_reg: $(STAGING_DIR)/usr/bin/sip_reg
libeXosip2: libosip2 $(TARGET_DIR)/usr/lib/libeXosip2.so
libeXosip2: host-pkg-config libosip2 $(TARGET_DIR)/usr/lib/libeXosip2.so
libeXosip2-source: $(DL_DIR)/$(LIBEXOSIP2_SOURCE)

View File

@ -23,3 +23,10 @@ ifneq ($(BR2_ENABLE_DEBUG),y)
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libcharset.so.*
endif
touch $@
# Configurations where the toolchain supports locales and the libiconv
# package is enabled are incorrect, because the toolchain already
# provides libiconv functionality, and having both confuses packages.
ifeq ($(BR2_PACKAGE_LIBICONV)$(BR2_ENABLE_LOCALE),yy)
$(error Libiconv should never be enabled when the toolchain supports locales. Report this failure to Buildroot developers)
endif

View File

@ -3,9 +3,11 @@
# speech-tools
#
#############################################################
SPEECH_TOOLS_VERSION = 1.2.96-beta
SPEECH_TOOLS_SOURCE = speech_tools-$(SPEECH_TOOLS_VERSION).tar.gz
SPEECH_TOOLS_SITE = http://festvox.org/packed/festival/1.96
SPEECH_TOOLS_VERSION = 1.2.96~beta
SPEECH_TOOLS_SOURCE = speech-tools_$(SPEECH_TOOLS_VERSION).orig.tar.gz
SPEECH_TOOLS_PATCH = speech-tools_$(SPEECH_TOOLS_VERSION)-6.diff.gz
SPEECH_TOOLS_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/s/speech-tools/
SPEECH_TOOLS_AUTORECONF = NO
SPEECH_TOOLS_INSTALL_STAGING = NO
SPEECH_TOOLS_INSTALL_TARGET = YES
@ -14,6 +16,15 @@ SPEECH_TOOLS_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) STRIP=$(TARGET_STRIP) in
SPEECH_TOOLS_CONF_OPT =
SPEECH_TOOLS_MAKE_OPT = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)"
define SPEECH_TOOLS_DEBIAN_PATCH_APPLY
# Use the order of the quilt patch series to apply the patches
for p in $$(cat $(@D)/debian/patches/series) ; do \
toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches $$p; \
done
endef
SPEECH_TOOLS_POST_PATCH_HOOKS += SPEECH_TOOLS_DEBIAN_PATCH_APPLY
SPEECH_TOOLS_DEPENDENCIES = ncurses
$(eval $(call AUTOTARGETS,package/multimedia/festival,speech-tools))

View File

@ -1,5 +1,9 @@
config BR2_PACKAGE_OPROFILE
bool "oprofile"
# The dependency on binutils_target does not work with
# external toolchains since the binutils version was not
# choosen in the config. This will have to be fixed later.
depends on !BR2_TOOLCHAIN_EXTERNAL
select BR2_PACKAGE_POPT
depends on BR2_INSTALL_LIBSTDCPP
help

View File

@ -161,6 +161,17 @@ $(SAMBA_HOOK_POST_INSTALL):
# remove unneeded
rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_BINTARGETS_))
rm -f $(addprefix $(TARGET_DIR)/, $(SAMBA_TXTTARGETS_))
ifeq ($(BR2_PACKAGE_SAMBA_SWAT),y)
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
# Remove the documentation
rm -rf $(TARGET_DIR)/usr/swat/help/manpages
rm -rf $(TARGET_DIR)/usr/swat/help/Samba3*
rm -rf $(TARGET_DIR)/usr/swat/using_samba/
# Removing the welcome.html file will make swat default to
# welcome-no-samba-doc.html
rm -rf $(TARGET_DIR)/usr/swat/help/welcome.html
endif
endif
# strip binaries
$(STRIPCMD) $(STRIP_STRIP_ALL) $(addprefix $(TARGET_DIR)/, $(SAMBA_BINTARGETS_y))
# install start/stop script

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_XERCES
bool "xerces-c++"
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_LIBICONV
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
Xerces-C++ is a validating XML parser written in portable C++.

View File

@ -5,7 +5,7 @@
#############################################################
XERCES_VERSION:=3.0.1
XERCES_SOURCE:=xerces-c-$(XERCES_VERSION).tar.gz
XERCES_SITE:=http://apache.jumper.nu/xerces/c/3/sources/
XERCES_SITE:=http://archive.apache.org/dist/xerces/c/3/sources/
XERCES_CAT:=$(ZCAT)
XERCES_DIR:=$(BUILD_DIR)/xerces-c-$(XERCES_VERSION)
LIBXERCES_BINARY:=libxerces-c-3.0.so
@ -39,6 +39,10 @@ XERCES_APPS:= \
XERCES_INCLUDES:=/usr/include/xercesc
ifneq ($(BR2_ENABLE_LOCALE),y)
XERCES_MAKE_OPT=LIBS="-liconv"
endif
$(DL_DIR)/$(XERCES_SOURCE):
$(call DOWNLOAD,$(XERCES_SITE),$(XERCES_SOURCE))
@ -74,7 +78,7 @@ $(XERCES_DIR)/.configured: $(XERCES_DIR)/.unpacked
touch $@
$(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY): $(XERCES_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) LIBS="-liconv" -C $(XERCES_DIR)
$(MAKE) $(TARGET_CONFIGURE_OPTS) $(XERCES_MAKE_OPT) -C $(XERCES_DIR)
$(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY): $(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY)
$(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) \
@ -87,7 +91,7 @@ $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY): $(STAGING_DIR)/usr/lib/$(LIBXERCES_BI
cp -a $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)* $(TARGET_DIR)/usr/lib
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces: $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces: $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces-bin: $(XERCES_DIR)/usr/lib/$(LIBXERCES_BINARY)

View File

@ -137,13 +137,15 @@ 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 ; do
for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio python svn ; 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
/bin/echo -e "svn is usually part of the subversion package in your distribution\n"
else
/bin/echo -e "\n"
fi

View File

@ -18,6 +18,9 @@ config BR2_PACKAGE_GDB_SERVER
config BR2_PACKAGE_GDB_HOST
bool "Build gdb for the Host"
# cross-gdb is supposed to be part of the external
# toolchain. And the build currently fails.
depends on !BR2_TOOLCHAIN_EXTERNAL
help
Build gdb to run on the host to debug programs run on the target.

View File

@ -157,6 +157,7 @@ config BR2_GCC_CROSS_CXX
config BR2_INSTALL_LIBSTDCPP
bool "Build/install c++ compiler and libstdc++?"
select BR2_GCC_CROSS_CXX
depends on !(BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31)
help
If you are building your own toolchain and want to build and install
the C++ compiler and library then you need to enable this option.
@ -164,6 +165,9 @@ config BR2_INSTALL_LIBSTDCPP
support and you want to use the compiler / library then you need
to select this option.
comment "C++ support broken in uClibc 0.9.31 with locale enabled"
depends on BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31
config BR2_TARGET_OPTIMIZATION
string "Target Optimizations"
default "-pipe"