Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Results of an all-package build
From: Peter Korsgaard @ 2012-12-16  0:07 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <50C9901D.2020704@mind.be>

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

Hi,

 Arnout>  As part of the test of the disable-doc patch I just sent, I
 Arnout> built something approaching an allyespackageconfig for x86_64
 Arnout> with a Sourcery-2012.09 toolchain.  Interesting to look at the
 Arnout> results.

 Arnout> - The following fail to build:

 Arnout>  * classpath
 Arnout>  * diffutils
 Arnout>  * gpsd
 Arnout>  * ipsec-tools
 Arnout>  * linux-pam
 Arnout>  * ltp-testsuite
 Arnout>  * matchbox-desktop
 Arnout>  * metacity
 Arnout>  * webkit
 Arnout>  * neard
 Arnout>  * netatalk
 Arnout>  * network-manager
 Arnout>  * pcmanfm
 Arnout>  * pv
 Arnout>  * sconeserver-http-sconesite-image
 Arnout>  * xdriver_xf86-video-geode
 Arnout>  * xdriver_xf86-input-synaptics
 Arnout>  * valgrind (because glibc 2.16 is not supported, needs valgrind bump)
 Arnout>  * xstroke
 Arnout>  * grub
 Arnout>  * uboot (wrong ARCH parameter)

 Arnout>  midori and jamvm are not built because they depend on the above.

Interesting, and better than I feared ;) Do you have the build errors
archived somewhere? I would like to see atleast the classpath issue.


 Arnout>  There are a few more that fail to build in my environment if the
 Arnout> libxml2/mesa3d and linux-fusion patches are not applied. Also xenomai
 Arnout> must be extracted manually before the build, otherwise linux fails to
 Arnout> build.

 Arnout> - About 920 packages (host+target) are built, from 843 source
 Arnout> tarballs.

 Arnout> - legal-info succeeds without problems, except that sylpheed's
 Arnout> license file is not correctly defined.

Ok, could you provide a bit more info or send patches, please?


 Arnout> -rw-r--r-- 1 arnout arnout 374M Dec 13 05:47 bzImage
 Arnout> -rwxr-xr-x 1 arnout arnout  24K Dec 13 05:31 isolinux.bin*
 Arnout> -rwxr-xr-x 1 arnout arnout  27K Dec 13 05:31 pxelinux.bin*
 Arnout> -rw-r--r-- 1 arnout arnout 378M Dec 13 05:38 rootfs.cloop
 Arnout> -rw-r--r-- 1 arnout arnout 903M Dec 13 05:40 rootfs.cpio
 Arnout> -rw-r--r-- 1 arnout arnout 1.1G Dec 13 05:42 rootfs.ext2
 Arnout> -rw-r--r-- 1 arnout arnout 473M Dec 13 05:51 rootfs.jffs2
 Arnout> -rw-r--r-- 1 arnout arnout 899M Dec 13 05:54 rootfs.romfs
 Arnout> -rw-r--r-- 1 arnout arnout 369M Dec 13 05:56 rootfs.squashfs
 Arnout> -rw-r--r-- 1 arnout arnout 922M Dec 13 05:59 rootfs.tar
 Arnout> -rw-r--r-- 1 arnout arnout 251M Dec 13 06:12 rootfs.tar.lzma
 Arnout> -rw-r--r-- 1 arnout arnout 516M Dec 13 06:15 rootfs.ubi
 Arnout> -rw-r--r-- 1 arnout arnout 508M Dec 13 06:15 rootfs.ubifs

 Arnout> - The output directory (including all these images) is 31GB: 21GB
 Arnout> for build, 6.5GB for images, 2.9GB for host of which 2GB for staging.
 Arnout> The sources (excluding toolchain) are 1.6GB.

 Arnout> - Time for a clean build (without ccache and JLEVEL=3) on my laptop
 Arnout> is 6 hours. A yocto build takes roughly the same time on my laptop,
 Arnout> but has less than half as many packages.

Heh. Nice, it seems doable to do this on a relatively regular schedule.

Thanks!

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] sylpheed: fix license files typo
From: Peter Korsgaard @ 2012-12-16  0:05 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=6cd4b20e4a7a04d8ebde872175cb6d6b583e9f42
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

As pointed out by Arnout.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/sylpheed/sylpheed.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk
index f26e5fc..12fc18b 100644
--- a/package/sylpheed/sylpheed.mk
+++ b/package/sylpheed/sylpheed.mk
@@ -9,7 +9,7 @@ SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR)
 SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2
 SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR)
 SYLPHEED_LICENSE = GPLv2+ (executables), LGPLv2.1+ (library, attachment plugin)
-SYLPHEED_LICENSE_FILES = COPIYNG COPYING.LIB
+SYLPHEED_LICENSE_FILES = COPYING COPYING.LIB
 
 SYLPHEED_CONF_OPT = --disable-gtkspell
 

^ permalink raw reply related

* [Buildroot] [PATCH] system: add option to configure TERM variable
From: Peter Korsgaard @ 2012-12-16  0:02 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355394491-23029-1-git-send-email-rbraun@sceen.net>

>>>>> "Richard" == Richard Braun <rbraun@sceen.net> writes:

 Richard> This option is useful for cases where the terminal isn't a bare serial
 Richard> vt100, but e.g. a linux tty with more features.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] system: add option to configure TERM variable
From: Peter Korsgaard @ 2012-12-16  0:01 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=a0df7e1f0bc9247069c0598405e519dd7e190ce3
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

This option is useful for cases where the terminal isn't a bare serial
vt100, but e.g. a linux tty with more features.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 system/Config.in |    6 ++++++
 system/system.mk |    5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/system/Config.in b/system/Config.in
index 622b242..a557ea0 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -154,6 +154,12 @@ config BR2_TARGET_GENERIC_GETTY_BAUDRATE
 	default "57600"		if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
 	default "115200"	if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
 
+config BR2_TARGET_GENERIC_GETTY_TERM
+	string "Value to assign the TERM environment variable"
+	default "vt100"
+	help
+	  Specify a TERM type.
+
 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
 	bool "remount root filesystem read-write during boot"
 	default y
diff --git a/system/system.mk b/system/system.mk
index 4185202..353d0ba 100644
--- a/system/system.mk
+++ b/system/system.mk
@@ -2,6 +2,7 @@ TARGET_GENERIC_HOSTNAME:=$(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
 TARGET_GENERIC_ISSUE:=$(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
 TARGET_GENERIC_GETTY:=$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT))
 TARGET_GENERIC_GETTY_BAUDRATE:=$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE))
+TARGET_GENERIC_GETTY_TERM:=$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM))
 
 target-generic-hostname:
 	mkdir -p $(TARGET_DIR)/etc
@@ -14,13 +15,13 @@ target-generic-issue:
 	echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue
 
 target-generic-getty-busybox:
-	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) vt100 #~' \
+	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
 		$(TARGET_DIR)/etc/inittab
 
 # In sysvinit inittab, the "id" must not be longer than 4 bytes, so we
 # skip the "tty" part and keep only the remaining.
 target-generic-getty-sysvinit:
-	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) vt100 #~' \
+	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
 		$(TARGET_DIR)/etc/inittab
 
 # Find commented line, if any, and remove leading '#'s

^ permalink raw reply related

* [Buildroot] [git commit] transmission: needs threads support in toolchain
From: Peter Korsgaard @ 2012-12-15 23:53 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=4fe78ce36cf2d53ee7b7e9b719e0d56937c58941
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/transmission/Config.in |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/transmission/Config.in b/package/transmission/Config.in
index e7e9f66..9284075 100644
--- a/package/transmission/Config.in
+++ b/package/transmission/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_TRANSMISSION
 	bool "transmission"
 	depends on BR2_INET_IPV6
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBCURL
@@ -44,5 +45,5 @@ comment "transmission-gtk requires a toolchain with locale support"
 	depends on BR2_PACKAGE_LIBGTK2 && !BR2_ENABLE_LOCALE
 endif
 
-comment "Transmission requires a toolchain with IPv6 support"
-	depends on !BR2_INET_IPV6
+comment "Transmission requires a toolchain with IPv6 and threads support"
+	depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS

^ permalink raw reply related

* [Buildroot] [git commit] flashbench: unbreak build on microblaze
From: Peter Korsgaard @ 2012-12-15 23:49 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=d30e5e4fa462815fddefe40fb8f4cc611c71fd25
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Fixes http://autobuild.buildroot.net/results/498287519fbb588ed4ee9624ff82002a4766a5f4

The old 4.1.2 binary microblaze toolchain only provides LLONG_MAX when
used with the gnu99 dialect.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/flashbench/flashbench.mk |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/package/flashbench/flashbench.mk b/package/flashbench/flashbench.mk
index ead1346..faf8ae6 100644
--- a/package/flashbench/flashbench.mk
+++ b/package/flashbench/flashbench.mk
@@ -9,8 +9,16 @@ FLASHBENCH_SITE = git://git.linaro.org/people/arnd/flashbench.git
 FLASHBENCH_LICENSE = GPLv2
 FLASHBENCH_LICENSE_FILES = COPYING
 
+FLASHBENCH_CFLAGS = $(TARGET_CFLAGS)
+
+ifeq ($(BR2_microblaze),y)
+# microblaze toolchain only provides LLONG_MAX when used with gnu99 dialect
+FLASHBENCH_CFLAGS += -std=gnu99
+endif
+
 define FLASHBENCH_BUILD_CMDS
 	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(FLASHBENCH_CFLAGS)" \
 		LDFLAGS="$(TARGET_LDFLAGS) -lrt"
 endef
 

^ permalink raw reply related

* [Buildroot] [git commit] kmod: bump version
From: Peter Korsgaard @ 2012-12-15 21:19 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=c27d252f3544dac60225973316b8908cc21fc023
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/kmod/kmod.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index 2833629..2c03435 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -1,4 +1,4 @@
-KMOD_VERSION = 11
+KMOD_VERSION = 12
 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz
 KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
 KMOD_INSTALL_STAGING = YES

^ permalink raw reply related

* [Buildroot] Misc fixes for build issues
From: Peter Korsgaard @ 2012-12-15 20:18 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

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

 Thomas> Hello,
 Thomas> Here is a set of fixes for various build issues raised by the
 Thomas> autobuilders:

 Thomas>  * The long-standing "random" host-python build failures

 Thomas>  * The util-linux build failure on AArch64

 Thomas>  * The long-standing webkit build failure

Committed series, thanks!

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] webkit: fix build with bison 2.6
From: Peter Korsgaard @ 2012-12-15 20:17 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=d11bb6da1c909d4961d6337479ca7fc0cd15ca64
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

WebKit 1.2.7 does not build with Bison 2.6, but Bison 2.6 is our
host-bison, so if the build machine has bison 2.6, or if by chance it
gets built before webkit, then the build fails with errors such as:

  http://autobuild.buildroot.org/results/0b7cfbebd4388cabfa243b5ef74e3b6316fd9fd9/build-end.log

(the real error is not visible due to the overwhelming number of
warnings).

So, we add a patch that modifies WebKit to make it compatible with
Bison 2.6 (patch taken from upstream), and we also add 'host-bison' to
the WebKit dependencies, so that we are sure that a well-known version
of bison is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/webkit/webkit-bison-2-6-compat.patch |  672 ++++++++++++++++++++++++++
 package/webkit/webkit.mk                     |    4 +-
 2 files changed, 674 insertions(+), 2 deletions(-)

diff --git a/package/webkit/webkit-bison-2-6-compat.patch b/package/webkit/webkit-bison-2-6-compat.patch
new file mode 100644
index 0000000..7a94164
--- /dev/null
+++ b/package/webkit/webkit-bison-2-6-compat.patch
@@ -0,0 +1,672 @@
+Bison 2.6 compatibility fix
+
+Taken from upstream at http://trac.webkit.org/changeset/124099, with
+minor adaptations.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: webkit-1.2.7/WebCore/ChangeLog
+===================================================================
+--- webkit-1.2.7.orig/WebCore/ChangeLog	2010-12-28 13:27:37.000000000 +0100
++++ webkit-1.2.7/WebCore/ChangeLog	2012-12-15 15:48:40.000000000 +0100
+@@ -1,3 +1,28 @@
++2012-07-30  Alexis Menard  <alexis.menard@openbossa.org>
++
++        Build fix with newer bison 2.6.
++        https://bugs.webkit.org/show_bug.cgi?id=92264
++
++        Reviewed by Adam Barth.
++
++        As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
++        YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS
++        version I had access to as well as recent Linux runs at least version 2.3 so it's safe
++        to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.
++        As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release
++        of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.
++
++        No new tests : build fix and the patch should not trigger any regressions
++
++        * css/CSSGrammar.y:
++        * css/CSSParser.cpp:
++        * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.
++        * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h
++        therefore including this file within the namespace {} declarations leads to xpathyyparse being
++        defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp
++        (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 
++        to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.
++
+ 2010-06-21  Philippe Normand  <pnormand@igalia.com>
+ 
+         Reviewed by Xan Lopez.
+Index: webkit-1.2.7/WebCore/css/CSSParser.cpp
+===================================================================
+--- webkit-1.2.7.orig/WebCore/css/CSSParser.cpp	2010-12-28 13:24:33.000000000 +0100
++++ webkit-1.2.7/WebCore/css/CSSParser.cpp	2012-12-15 17:29:57.000000000 +0100
+@@ -81,7 +81,7 @@
+ extern int cssyydebug;
+ #endif
+ 
+-extern int cssyyparse(void* parser);
++extern int cssyyparse(WebCore::CSSParser*);
+ 
+ using namespace std;
+ using namespace WTF;
+@@ -226,7 +226,7 @@
+     m_defaultNamespace = starAtom; // Reset the default namespace.
+     
+     setupParser("", string, "");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ }
+ 
+@@ -235,7 +235,7 @@
+     m_styleSheet = sheet;
+     m_allowNamespaceDeclarations = false;
+     setupParser("@-webkit-rule{", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     return m_rule.release();
+ }
+ 
+@@ -243,7 +243,7 @@
+ {
+     m_styleSheet = sheet;
+     setupParser("@-webkit-keyframe-rule{ ", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     return m_keyframe.release();
+ }
+ 
+@@ -257,7 +257,7 @@
+     m_id = id;
+     m_important = important;
+     
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     
+     m_rule = 0;
+ 
+@@ -304,7 +304,7 @@
+     m_styleSheet = static_cast<CSSStyleSheet*>(declaration->stylesheet());
+ 
+     setupParser("@-webkit-decls{color:", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     return (m_numParsedProperties && m_parsedProperties[0]->m_id == CSSPropertyColor);
+@@ -319,7 +319,7 @@
+ 
+     setupParser("@-webkit-selector{", string, "}");
+ 
+-    cssyyparse(this);
++    ::cssyyparse(this);
+ 
+     m_selectorListForParseSelector = 0;
+ }
+@@ -330,7 +330,7 @@
+     m_styleSheet = static_cast<CSSStyleSheet*>(declaration->stylesheet());
+ 
+     setupParser("@-webkit-decls{", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     bool ok = false;
+@@ -354,7 +354,7 @@
+     // can't use { because tokenizer state switches from mediaquery to initial state when it sees { token.
+     // instead insert one " " (which is WHITESPACE in CSSGrammar.y)
+     setupParser("@-webkit-mediaquery ", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+ 
+     bool ok = false;
+     if (m_mediaQuery) {
+@@ -5191,7 +5191,7 @@
+     nameValuePair += variableValue;
+ 
+     setupParser("@-webkit-variables-decls{", nameValuePair, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     bool ok = false;
+Index: webkit-1.2.7/WebCore/css/CSSGrammar.y
+===================================================================
+--- webkit-1.2.7.orig/WebCore/css/CSSGrammar.y	2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/css/CSSGrammar.y	2012-12-15 15:48:40.000000000 +0100
+@@ -51,14 +51,13 @@
+ #define YYMAXDEPTH 10000
+ #define YYDEBUG 0
+ 
+-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
+-#define YYPARSE_PARAM parser
+-#define YYLEX_PARAM parser
+-
+ %}
+ 
+ %pure_parser
+ 
++%parse-param { CSSParser* parser }
++%lex-param { CSSParser* parser }
++
+ %union {
+     bool boolean;
+     char character;
+@@ -85,7 +84,7 @@
+ 
+ %{
+ 
+-static inline int cssyyerror(const char*)
++static inline int cssyyerror(void*, const char*)
+ {
+     return 1;
+ }
+Index: webkit-1.2.7/WebCore/xml/XPathParser.cpp
+===================================================================
+--- webkit-1.2.7.orig/WebCore/xml/XPathParser.cpp	2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/xml/XPathParser.cpp	2012-12-15 15:56:37.000000000 +0100
+@@ -35,20 +35,18 @@
+ #include "XPathEvaluator.h"
+ #include "XPathException.h"
+ #include "XPathNSResolver.h"
++#include "XPathPath.h"
+ #include "XPathStep.h"
+ #include <wtf/StdLibExtras.h>
+ 
+-int xpathyyparse(void*);
+-
++using namespace WebCore;
+ using namespace WTF;
+ using namespace Unicode;
+ 
+-namespace WebCore {
+-namespace XPath {
+-
+-class LocationPath;
++using namespace XPath;
+ 
+-#include "XPathGrammar.h"    
++extern int xpathyyparse(WebCore::XPath::Parser*);
++#include "XPathGrammar.h"
+ 
+ Parser* Parser::currentParser = 0;
+     
+@@ -630,7 +628,5 @@
+     delete t;
+ }
+ 
+-}
+-}
+ 
+ #endif // ENABLE(XPATH)
+Index: webkit-1.2.7/WebCore/xml/XPathGrammar.y
+===================================================================
+--- webkit-1.2.7.orig/WebCore/xml/XPathGrammar.y	2010-02-05 17:26:58.000000000 +0100
++++ webkit-1.2.7/WebCore/xml/XPathGrammar.y	2012-12-15 15:48:40.000000000 +0100
+@@ -36,6 +36,7 @@
+ #include "XPathParser.h"
+ #include "XPathPath.h"
+ #include "XPathPredicate.h"
++#include "XPathStep.h"
+ #include "XPathVariableReference.h"
+ #include <wtf/FastMalloc.h>
+ 
+@@ -46,8 +47,6 @@
+ #define YYLTYPE_IS_TRIVIAL 1
+ #define YYDEBUG 0
+ #define YYMAXDEPTH 10000
+-#define YYPARSE_PARAM parserParameter
+-#define PARSER static_cast<Parser*>(parserParameter)
+ 
+ using namespace WebCore;
+ using namespace XPath;
+@@ -55,6 +54,7 @@
+ %}
+ 
+ %pure_parser
++%parse-param { WebCore::XPath::Parser* parser }
+ 
+ %union
+ {
+@@ -73,7 +73,7 @@
+ %{
+ 
+ static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
+-static void xpathyyerror(const char*) { }
++static void xpathyyerror(void*, const char*) { }
+     
+ %}
+ 
+@@ -120,7 +120,7 @@
+ Expr:
+     OrExpr
+     {
+-        PARSER->m_topExpr = $1;
++        parser->m_topExpr = $1;
+     }
+     ;
+ 
+@@ -140,7 +140,7 @@
+     '/'
+     {
+         $$ = new LocationPath;
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     |
+     '/' RelativeLocationPath
+@@ -152,7 +152,7 @@
+     {
+         $$ = $2;
+         $$->insertFirstStep($1);
+-        PARSER->unregisterParseNode($1);
++        parser->unregisterParseNode($1);
+     }
+     ;
+ 
+@@ -161,22 +161,22 @@
+     {
+         $$ = new LocationPath;
+         $$->appendStep($1);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->registerParseNode($$);
+     }
+     |
+     RelativeLocationPath '/' Step
+     {
+         $$->appendStep($3);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($3);
+     }
+     |
+     RelativeLocationPath DescendantOrSelf Step
+     {
+         $$->appendStep($2);
+         $$->appendStep($3);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($2);
++        parser->unregisterParseNode($3);
+     }
+     ;
+ 
+@@ -185,58 +185,58 @@
+     {
+         if ($2) {
+             $$ = new Step(Step::ChildAxis, *$1, *$2);
+-            PARSER->deletePredicateVector($2);
++            parser->deletePredicateVector($2);
+         } else
+             $$ = new Step(Step::ChildAxis, *$1);
+-        PARSER->deleteNodeTest($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteNodeTest($1);
++        parser->registerParseNode($$);
+     }
+     |
+     NAMETEST OptionalPredicateList
+     {
+         String localName;
+         String namespaceURI;
+-        if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
+-            PARSER->m_gotNamespaceError = true;
++        if (!parser->expandQName(*$1, localName, namespaceURI)) {
++            parser->m_gotNamespaceError = true;
+             YYABORT;
+         }
+         
+         if ($2) {
+             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
+-            PARSER->deletePredicateVector($2);
++            parser->deletePredicateVector($2);
+         } else
+             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     AxisSpecifier NodeTest OptionalPredicateList
+     {
+         if ($3) {
+             $$ = new Step($1, *$2, *$3);
+-            PARSER->deletePredicateVector($3);
++            parser->deletePredicateVector($3);
+         } else
+             $$ = new Step($1, *$2);
+-        PARSER->deleteNodeTest($2);
+-        PARSER->registerParseNode($$);
++        parser->deleteNodeTest($2);
++        parser->registerParseNode($$);
+     }
+     |
+     AxisSpecifier NAMETEST OptionalPredicateList
+     {
+         String localName;
+         String namespaceURI;
+-        if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
+-            PARSER->m_gotNamespaceError = true;
++        if (!parser->expandQName(*$2, localName, namespaceURI)) {
++            parser->m_gotNamespaceError = true;
+             YYABORT;
+         }
+ 
+         if ($3) {
+             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
+-            PARSER->deletePredicateVector($3);
++            parser->deletePredicateVector($3);
+         } else
+             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+-        PARSER->deleteString($2);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($2);
++        parser->registerParseNode($$);
+     }
+     |
+     AbbreviatedStep
+@@ -261,23 +261,23 @@
+         else if (*$1 == "comment")
+             $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
+ 
+-        PARSER->deleteString($1);
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->registerNodeTest($$);
+     }
+     |
+     PI '(' ')'
+     {
+         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
+-        PARSER->deleteString($1);        
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->registerNodeTest($$);
+     }
+     |
+     PI '(' LITERAL ')'
+     {
+         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
+-        PARSER->deleteString($1);        
+-        PARSER->deleteString($3);
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->deleteString($3);
++        parser->registerNodeTest($$);
+     }
+     ;
+ 
+@@ -295,14 +295,14 @@
+     {
+         $$ = new Vector<Predicate*>;
+         $$->append(new Predicate($1));
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerPredicateVector($$);
++        parser->unregisterParseNode($1);
++        parser->registerPredicateVector($$);
+     }
+     |
+     PredicateList Predicate
+     {
+         $$->append(new Predicate($2));
+-        PARSER->unregisterParseNode($2);
++        parser->unregisterParseNode($2);
+     }
+     ;
+ 
+@@ -317,7 +317,7 @@
+     SLASHSLASH
+     {
+         $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -325,13 +325,13 @@
+     '.'
+     {
+         $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     |
+     DOTDOT
+     {
+         $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -339,8 +339,8 @@
+     VARIABLEREFERENCE
+     {
+         $$ = new VariableReference(*$1);
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     '(' Expr ')'
+@@ -351,15 +351,15 @@
+     LITERAL
+     {
+         $$ = new StringExpression(*$1);
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     NUMBER
+     {
+         $$ = new Number($1->toDouble());
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     FunctionCall
+@@ -371,8 +371,8 @@
+         $$ = createFunction(*$1);
+         if (!$$)
+             YYABORT;
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     FUNCTIONNAME '(' ArgumentList ')'
+@@ -380,9 +380,9 @@
+         $$ = createFunction(*$1, *$3);
+         if (!$$)
+             YYABORT;
+-        PARSER->deleteString($1);
+-        PARSER->deleteExpressionVector($3);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->deleteExpressionVector($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -391,14 +391,14 @@
+     {
+         $$ = new Vector<Expression*>;
+         $$->append($1);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerExpressionVector($$);
++        parser->unregisterParseNode($1);
++        parser->registerExpressionVector($$);
+     }
+     |
+     ArgumentList ',' Argument
+     {
+         $$->append($3);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($3);
+     }
+     ;
+ 
+@@ -414,9 +414,9 @@
+         $$ = new Union;
+         $$->addSubExpression($1);
+         $$->addSubExpression($3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -432,9 +432,9 @@
+     {
+         $3->setAbsolute(true);
+         $$ = new Path(static_cast<Filter*>($1), $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     |
+     FilterExpr DescendantOrSelf RelativeLocationPath
+@@ -442,10 +442,10 @@
+         $3->insertFirstStep($2);
+         $3->setAbsolute(true);
+         $$ = new Path(static_cast<Filter*>($1), $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($2);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -455,9 +455,9 @@
+     PrimaryExpr PredicateList
+     {
+         $$ = new Filter($1, *$2);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->deletePredicateVector($2);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->deletePredicateVector($2);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -467,9 +467,9 @@
+     OrExpr OR AndExpr
+     {
+         $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -479,9 +479,9 @@
+     AndExpr AND EqualityExpr
+     {
+         $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -491,9 +491,9 @@
+     EqualityExpr EQOP RelationalExpr
+     {
+         $$ = new EqTestOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -503,9 +503,9 @@
+     RelationalExpr RELOP AdditiveExpr
+     {
+         $$ = new EqTestOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -515,17 +515,17 @@
+     AdditiveExpr PLUS MultiplicativeExpr
+     {
+         $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     |
+     AdditiveExpr MINUS MultiplicativeExpr
+     {
+         $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -535,9 +535,9 @@
+     MultiplicativeExpr MULOP UnaryExpr
+     {
+         $$ = new NumericOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -548,8 +548,8 @@
+     {
+         $$ = new Negative;
+         $$->addSubExpression($2);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($2);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 326be14..a9701e4 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -7,8 +7,8 @@
 WEBKIT_VERSION = 1.2.7
 WEBKIT_SITE = http://www.webkitgtk.org
 WEBKIT_INSTALL_STAGING = YES
-WEBKIT_DEPENDENCIES = host-flex host-gperf icu libcurl libxml2 libxslt \
-			libgtk2 sqlite enchant libsoup jpeg libgail
+WEBKIT_DEPENDENCIES = host-flex host-bison host-gperf icu libcurl libxml2 \
+	libxslt libgtk2 sqlite enchant libsoup jpeg libgail
 
 # Give explicit path to icu-config, and silence gazillions of warnings
 # with recent gcc versions.

^ permalink raw reply related

* [Buildroot] [git commit] webkit: silence gazillions of warnings
From: Peter Korsgaard @ 2012-12-15 18:07 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=d2d81f4b3420ae004bdcd3b3edf742ac7f10ff7a
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Building webkit with a recent gcc versions gives gazillions of
warnings such as 'warning: cast from 'WTF::AlignedBufferChar* {aka
char*}' to 'JSC::Identifier*' increases required alignment of target
type [-Wcast-align]'.

Those make the webkit build very noise, and hard to debug, so let's
silence those warnings.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/webkit/webkit.mk |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 580c5d2..326be14 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -9,7 +9,13 @@ WEBKIT_SITE = http://www.webkitgtk.org
 WEBKIT_INSTALL_STAGING = YES
 WEBKIT_DEPENDENCIES = host-flex host-gperf icu libcurl libxml2 libxslt \
 			libgtk2 sqlite enchant libsoup jpeg libgail
-WEBKIT_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config
+
+# Give explicit path to icu-config, and silence gazillions of warnings
+# with recent gcc versions.
+WEBKIT_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config \
+	CFLAGS="$(TARGET_CFLAGS) -Wno-cast-align" \
+	CXXFLAGS="$(TARGET_CXXFLAGS) -Wno-cast-align"
+
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
 	WEBKIT_CONF_OPT += --with-target=x11

^ permalink raw reply related

* [Buildroot] [git commit] util-linux: fix build on AArch64
From: Peter Korsgaard @ 2012-12-15 18:07 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=24c442bce4cf51dfcce8efbd5e135186e561ea11
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Fixes:

 http://autobuild.buildroot.org/results/5b63022f4c2d8bdd72697e8007e8a6101a64dd12/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 .../util-linux-fdisk-aarch64-support.patch         |   22 ++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/package/util-linux/util-linux-fdisk-aarch64-support.patch b/package/util-linux/util-linux-fdisk-aarch64-support.patch
new file mode 100644
index 0000000..825e82c
--- /dev/null
+++ b/package/util-linux/util-linux-fdisk-aarch64-support.patch
@@ -0,0 +1,22 @@
+Add case for the aarch64 architecture
+
+Taken from https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1061609
+
+Code written by Wookey.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/fdisk/fdiskbsdlabel.h
+===================================================================
+--- a/fdisk/fdiskbsdlabel.h
++++ b/fdisk/fdiskbsdlabel.h
+@@ -48,7 +48,8 @@
+ 
+ #if defined (i386) || defined (__sparc__) || defined (__arm__) || \
+     defined (__mips__) || defined (__s390__) || defined (__sh__) || \
+-    defined(__x86_64__) || defined (__avr32__) || defined(__cris__)
++    defined(__x86_64__) || defined (__avr32__) || defined(__cris__) || \
++    defined(__aarch64__)
+ #define BSD_LABELSECTOR   1
+ #define BSD_LABELOFFSET   0
+ #elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__) || defined (__hppa__)

^ permalink raw reply related

* [Buildroot] [git commit] util-linux: rename versioned patch without version
From: Peter Korsgaard @ 2012-12-15 18:06 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=f23953d8cf7e136366e044166e6c02558d23b477
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

util-linux-2.20.1-sscanf-no-ms-as.patch has a version in its name, and
therefore the other patch, unversioned,
util-linux-uclibc-build-fix.patch, never gets applied.

Fix this by renaming util-linux-2.20.1-sscanf-no-ms-as.patch to
util-linux-sscanf-no-ms-as.patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 ...s-as.patch => util-linux-sscanf-no-ms-as.patch} |    0
 1 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch b/package/util-linux/util-linux-sscanf-no-ms-as.patch
similarity index 100%
rename from package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch
rename to package/util-linux/util-linux-sscanf-no-ms-as.patch

^ permalink raw reply

* [Buildroot] [git commit] python: build host-python with MAKE1
From: Peter Korsgaard @ 2012-12-15 18:06 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=4e7b07b4d513dc481b5a0a8c49180f2824fcc967
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Building host-python in parallel sometimes causes "Bus error" during
the installation step on our autobuilders, such as:

  http://autobuild.buildroot.org/results/04bcc907c5e075fe1f39d4f49dcc50ec93708eb4/build-end.log

Extensive testing on one autobuilder has shown that building
host-python with MAKE1 work arounds this strange problem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/python/python.mk |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/package/python/python.mk b/package/python/python.mk
index 6e960cd..71591b7 100644
--- a/package/python/python.mk
+++ b/package/python/python.mk
@@ -39,6 +39,14 @@ HOST_PYTHON_MAKE_ENV = \
 
 HOST_PYTHON_AUTORECONF = YES
 
+# Building host python in parallel sometimes triggers a "Bus error"
+# during the execution of "./python setup.py build" in the
+# installation step. It is probably due to the installation of a
+# shared library taking place in parallel to the execution of
+# ./python, causing spurious Bus error. Building host-python with
+# MAKE1 has shown to workaround the problem.
+HOST_PYTHON_MAKE = $(MAKE1)
+
 PYTHON_DEPENDENCIES  = host-python libffi
 
 HOST_PYTHON_DEPENDENCIES = host-expat host-zlib

^ permalink raw reply related

* [Buildroot] [PATCH 5/5] webkit: fix build with bison 2.6
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

WebKit 1.2.7 does not build with Bison 2.6, but Bison 2.6 is our
host-bison, so if the build machine has bison 2.6, or if by chance it
gets built before webkit, then the build fails with errors such as:

  http://autobuild.buildroot.org/results/0b7cfbebd4388cabfa243b5ef74e3b6316fd9fd9/build-end.log

(the real error is not visible due to the overwhelming number of
warnings).

So, we add a patch that modifies WebKit to make it compatible with
Bison 2.6 (patch taken from upstream), and we also add 'host-bison' to
the WebKit dependencies, so that we are sure that a well-known version
of bison is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/webkit/webkit-bison-2-6-compat.patch |  672 ++++++++++++++++++++++++++
 package/webkit/webkit.mk                     |    4 +-
 2 files changed, 674 insertions(+), 2 deletions(-)
 create mode 100644 package/webkit/webkit-bison-2-6-compat.patch

diff --git a/package/webkit/webkit-bison-2-6-compat.patch b/package/webkit/webkit-bison-2-6-compat.patch
new file mode 100644
index 0000000..7a94164
--- /dev/null
+++ b/package/webkit/webkit-bison-2-6-compat.patch
@@ -0,0 +1,672 @@
+Bison 2.6 compatibility fix
+
+Taken from upstream at http://trac.webkit.org/changeset/124099, with
+minor adaptations.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: webkit-1.2.7/WebCore/ChangeLog
+===================================================================
+--- webkit-1.2.7.orig/WebCore/ChangeLog	2010-12-28 13:27:37.000000000 +0100
++++ webkit-1.2.7/WebCore/ChangeLog	2012-12-15 15:48:40.000000000 +0100
+@@ -1,3 +1,28 @@
++2012-07-30  Alexis Menard  <alexis.menard@openbossa.org>
++
++        Build fix with newer bison 2.6.
++        https://bugs.webkit.org/show_bug.cgi?id=92264
++
++        Reviewed by Adam Barth.
++
++        As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
++        YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS
++        version I had access to as well as recent Linux runs at least version 2.3 so it's safe
++        to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.
++        As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release
++        of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.
++
++        No new tests : build fix and the patch should not trigger any regressions
++
++        * css/CSSGrammar.y:
++        * css/CSSParser.cpp:
++        * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.
++        * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h
++        therefore including this file within the namespace {} declarations leads to xpathyyparse being
++        defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp
++        (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 
++        to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.
++
+ 2010-06-21  Philippe Normand  <pnormand@igalia.com>
+ 
+         Reviewed by Xan Lopez.
+Index: webkit-1.2.7/WebCore/css/CSSParser.cpp
+===================================================================
+--- webkit-1.2.7.orig/WebCore/css/CSSParser.cpp	2010-12-28 13:24:33.000000000 +0100
++++ webkit-1.2.7/WebCore/css/CSSParser.cpp	2012-12-15 17:29:57.000000000 +0100
+@@ -81,7 +81,7 @@
+ extern int cssyydebug;
+ #endif
+ 
+-extern int cssyyparse(void* parser);
++extern int cssyyparse(WebCore::CSSParser*);
+ 
+ using namespace std;
+ using namespace WTF;
+@@ -226,7 +226,7 @@
+     m_defaultNamespace = starAtom; // Reset the default namespace.
+     
+     setupParser("", string, "");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ }
+ 
+@@ -235,7 +235,7 @@
+     m_styleSheet = sheet;
+     m_allowNamespaceDeclarations = false;
+     setupParser("@-webkit-rule{", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     return m_rule.release();
+ }
+ 
+@@ -243,7 +243,7 @@
+ {
+     m_styleSheet = sheet;
+     setupParser("@-webkit-keyframe-rule{ ", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     return m_keyframe.release();
+ }
+ 
+@@ -257,7 +257,7 @@
+     m_id = id;
+     m_important = important;
+     
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     
+     m_rule = 0;
+ 
+@@ -304,7 +304,7 @@
+     m_styleSheet = static_cast<CSSStyleSheet*>(declaration->stylesheet());
+ 
+     setupParser("@-webkit-decls{color:", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     return (m_numParsedProperties && m_parsedProperties[0]->m_id == CSSPropertyColor);
+@@ -319,7 +319,7 @@
+ 
+     setupParser("@-webkit-selector{", string, "}");
+ 
+-    cssyyparse(this);
++    ::cssyyparse(this);
+ 
+     m_selectorListForParseSelector = 0;
+ }
+@@ -330,7 +330,7 @@
+     m_styleSheet = static_cast<CSSStyleSheet*>(declaration->stylesheet());
+ 
+     setupParser("@-webkit-decls{", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     bool ok = false;
+@@ -354,7 +354,7 @@
+     // can't use { because tokenizer state switches from mediaquery to initial state when it sees { token.
+     // instead insert one " " (which is WHITESPACE in CSSGrammar.y)
+     setupParser("@-webkit-mediaquery ", string, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+ 
+     bool ok = false;
+     if (m_mediaQuery) {
+@@ -5191,7 +5191,7 @@
+     nameValuePair += variableValue;
+ 
+     setupParser("@-webkit-variables-decls{", nameValuePair, "} ");
+-    cssyyparse(this);
++    ::cssyyparse(this);
+     m_rule = 0;
+ 
+     bool ok = false;
+Index: webkit-1.2.7/WebCore/css/CSSGrammar.y
+===================================================================
+--- webkit-1.2.7.orig/WebCore/css/CSSGrammar.y	2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/css/CSSGrammar.y	2012-12-15 15:48:40.000000000 +0100
+@@ -51,14 +51,13 @@
+ #define YYMAXDEPTH 10000
+ #define YYDEBUG 0
+ 
+-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
+-#define YYPARSE_PARAM parser
+-#define YYLEX_PARAM parser
+-
+ %}
+ 
+ %pure_parser
+ 
++%parse-param { CSSParser* parser }
++%lex-param { CSSParser* parser }
++
+ %union {
+     bool boolean;
+     char character;
+@@ -85,7 +84,7 @@
+ 
+ %{
+ 
+-static inline int cssyyerror(const char*)
++static inline int cssyyerror(void*, const char*)
+ {
+     return 1;
+ }
+Index: webkit-1.2.7/WebCore/xml/XPathParser.cpp
+===================================================================
+--- webkit-1.2.7.orig/WebCore/xml/XPathParser.cpp	2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/xml/XPathParser.cpp	2012-12-15 15:56:37.000000000 +0100
+@@ -35,20 +35,18 @@
+ #include "XPathEvaluator.h"
+ #include "XPathException.h"
+ #include "XPathNSResolver.h"
++#include "XPathPath.h"
+ #include "XPathStep.h"
+ #include <wtf/StdLibExtras.h>
+ 
+-int xpathyyparse(void*);
+-
++using namespace WebCore;
+ using namespace WTF;
+ using namespace Unicode;
+ 
+-namespace WebCore {
+-namespace XPath {
+-
+-class LocationPath;
++using namespace XPath;
+ 
+-#include "XPathGrammar.h"    
++extern int xpathyyparse(WebCore::XPath::Parser*);
++#include "XPathGrammar.h"
+ 
+ Parser* Parser::currentParser = 0;
+     
+@@ -630,7 +628,5 @@
+     delete t;
+ }
+ 
+-}
+-}
+ 
+ #endif // ENABLE(XPATH)
+Index: webkit-1.2.7/WebCore/xml/XPathGrammar.y
+===================================================================
+--- webkit-1.2.7.orig/WebCore/xml/XPathGrammar.y	2010-02-05 17:26:58.000000000 +0100
++++ webkit-1.2.7/WebCore/xml/XPathGrammar.y	2012-12-15 15:48:40.000000000 +0100
+@@ -36,6 +36,7 @@
+ #include "XPathParser.h"
+ #include "XPathPath.h"
+ #include "XPathPredicate.h"
++#include "XPathStep.h"
+ #include "XPathVariableReference.h"
+ #include <wtf/FastMalloc.h>
+ 
+@@ -46,8 +47,6 @@
+ #define YYLTYPE_IS_TRIVIAL 1
+ #define YYDEBUG 0
+ #define YYMAXDEPTH 10000
+-#define YYPARSE_PARAM parserParameter
+-#define PARSER static_cast<Parser*>(parserParameter)
+ 
+ using namespace WebCore;
+ using namespace XPath;
+@@ -55,6 +54,7 @@
+ %}
+ 
+ %pure_parser
++%parse-param { WebCore::XPath::Parser* parser }
+ 
+ %union
+ {
+@@ -73,7 +73,7 @@
+ %{
+ 
+ static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
+-static void xpathyyerror(const char*) { }
++static void xpathyyerror(void*, const char*) { }
+     
+ %}
+ 
+@@ -120,7 +120,7 @@
+ Expr:
+     OrExpr
+     {
+-        PARSER->m_topExpr = $1;
++        parser->m_topExpr = $1;
+     }
+     ;
+ 
+@@ -140,7 +140,7 @@
+     '/'
+     {
+         $$ = new LocationPath;
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     |
+     '/' RelativeLocationPath
+@@ -152,7 +152,7 @@
+     {
+         $$ = $2;
+         $$->insertFirstStep($1);
+-        PARSER->unregisterParseNode($1);
++        parser->unregisterParseNode($1);
+     }
+     ;
+ 
+@@ -161,22 +161,22 @@
+     {
+         $$ = new LocationPath;
+         $$->appendStep($1);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->registerParseNode($$);
+     }
+     |
+     RelativeLocationPath '/' Step
+     {
+         $$->appendStep($3);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($3);
+     }
+     |
+     RelativeLocationPath DescendantOrSelf Step
+     {
+         $$->appendStep($2);
+         $$->appendStep($3);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($2);
++        parser->unregisterParseNode($3);
+     }
+     ;
+ 
+@@ -185,58 +185,58 @@
+     {
+         if ($2) {
+             $$ = new Step(Step::ChildAxis, *$1, *$2);
+-            PARSER->deletePredicateVector($2);
++            parser->deletePredicateVector($2);
+         } else
+             $$ = new Step(Step::ChildAxis, *$1);
+-        PARSER->deleteNodeTest($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteNodeTest($1);
++        parser->registerParseNode($$);
+     }
+     |
+     NAMETEST OptionalPredicateList
+     {
+         String localName;
+         String namespaceURI;
+-        if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
+-            PARSER->m_gotNamespaceError = true;
++        if (!parser->expandQName(*$1, localName, namespaceURI)) {
++            parser->m_gotNamespaceError = true;
+             YYABORT;
+         }
+         
+         if ($2) {
+             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
+-            PARSER->deletePredicateVector($2);
++            parser->deletePredicateVector($2);
+         } else
+             $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     AxisSpecifier NodeTest OptionalPredicateList
+     {
+         if ($3) {
+             $$ = new Step($1, *$2, *$3);
+-            PARSER->deletePredicateVector($3);
++            parser->deletePredicateVector($3);
+         } else
+             $$ = new Step($1, *$2);
+-        PARSER->deleteNodeTest($2);
+-        PARSER->registerParseNode($$);
++        parser->deleteNodeTest($2);
++        parser->registerParseNode($$);
+     }
+     |
+     AxisSpecifier NAMETEST OptionalPredicateList
+     {
+         String localName;
+         String namespaceURI;
+-        if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
+-            PARSER->m_gotNamespaceError = true;
++        if (!parser->expandQName(*$2, localName, namespaceURI)) {
++            parser->m_gotNamespaceError = true;
+             YYABORT;
+         }
+ 
+         if ($3) {
+             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
+-            PARSER->deletePredicateVector($3);
++            parser->deletePredicateVector($3);
+         } else
+             $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+-        PARSER->deleteString($2);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($2);
++        parser->registerParseNode($$);
+     }
+     |
+     AbbreviatedStep
+@@ -261,23 +261,23 @@
+         else if (*$1 == "comment")
+             $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
+ 
+-        PARSER->deleteString($1);
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->registerNodeTest($$);
+     }
+     |
+     PI '(' ')'
+     {
+         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
+-        PARSER->deleteString($1);        
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->registerNodeTest($$);
+     }
+     |
+     PI '(' LITERAL ')'
+     {
+         $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
+-        PARSER->deleteString($1);        
+-        PARSER->deleteString($3);
+-        PARSER->registerNodeTest($$);
++        parser->deleteString($1);
++        parser->deleteString($3);
++        parser->registerNodeTest($$);
+     }
+     ;
+ 
+@@ -295,14 +295,14 @@
+     {
+         $$ = new Vector<Predicate*>;
+         $$->append(new Predicate($1));
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerPredicateVector($$);
++        parser->unregisterParseNode($1);
++        parser->registerPredicateVector($$);
+     }
+     |
+     PredicateList Predicate
+     {
+         $$->append(new Predicate($2));
+-        PARSER->unregisterParseNode($2);
++        parser->unregisterParseNode($2);
+     }
+     ;
+ 
+@@ -317,7 +317,7 @@
+     SLASHSLASH
+     {
+         $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -325,13 +325,13 @@
+     '.'
+     {
+         $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     |
+     DOTDOT
+     {
+         $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+-        PARSER->registerParseNode($$);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -339,8 +339,8 @@
+     VARIABLEREFERENCE
+     {
+         $$ = new VariableReference(*$1);
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     '(' Expr ')'
+@@ -351,15 +351,15 @@
+     LITERAL
+     {
+         $$ = new StringExpression(*$1);
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     NUMBER
+     {
+         $$ = new Number($1->toDouble());
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     FunctionCall
+@@ -371,8 +371,8 @@
+         $$ = createFunction(*$1);
+         if (!$$)
+             YYABORT;
+-        PARSER->deleteString($1);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->registerParseNode($$);
+     }
+     |
+     FUNCTIONNAME '(' ArgumentList ')'
+@@ -380,9 +380,9 @@
+         $$ = createFunction(*$1, *$3);
+         if (!$$)
+             YYABORT;
+-        PARSER->deleteString($1);
+-        PARSER->deleteExpressionVector($3);
+-        PARSER->registerParseNode($$);
++        parser->deleteString($1);
++        parser->deleteExpressionVector($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -391,14 +391,14 @@
+     {
+         $$ = new Vector<Expression*>;
+         $$->append($1);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->registerExpressionVector($$);
++        parser->unregisterParseNode($1);
++        parser->registerExpressionVector($$);
+     }
+     |
+     ArgumentList ',' Argument
+     {
+         $$->append($3);
+-        PARSER->unregisterParseNode($3);
++        parser->unregisterParseNode($3);
+     }
+     ;
+ 
+@@ -414,9 +414,9 @@
+         $$ = new Union;
+         $$->addSubExpression($1);
+         $$->addSubExpression($3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -432,9 +432,9 @@
+     {
+         $3->setAbsolute(true);
+         $$ = new Path(static_cast<Filter*>($1), $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     |
+     FilterExpr DescendantOrSelf RelativeLocationPath
+@@ -442,10 +442,10 @@
+         $3->insertFirstStep($2);
+         $3->setAbsolute(true);
+         $$ = new Path(static_cast<Filter*>($1), $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($2);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -455,9 +455,9 @@
+     PrimaryExpr PredicateList
+     {
+         $$ = new Filter($1, *$2);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->deletePredicateVector($2);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->deletePredicateVector($2);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -467,9 +467,9 @@
+     OrExpr OR AndExpr
+     {
+         $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -479,9 +479,9 @@
+     AndExpr AND EqualityExpr
+     {
+         $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -491,9 +491,9 @@
+     EqualityExpr EQOP RelationalExpr
+     {
+         $$ = new EqTestOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -503,9 +503,9 @@
+     RelationalExpr RELOP AdditiveExpr
+     {
+         $$ = new EqTestOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -515,17 +515,17 @@
+     AdditiveExpr PLUS MultiplicativeExpr
+     {
+         $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     |
+     AdditiveExpr MINUS MultiplicativeExpr
+     {
+         $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -535,9 +535,9 @@
+     MultiplicativeExpr MULOP UnaryExpr
+     {
+         $$ = new NumericOp($2, $1, $3);
+-        PARSER->unregisterParseNode($1);
+-        PARSER->unregisterParseNode($3);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($1);
++        parser->unregisterParseNode($3);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
+@@ -548,8 +548,8 @@
+     {
+         $$ = new Negative;
+         $$->addSubExpression($2);
+-        PARSER->unregisterParseNode($2);
+-        PARSER->registerParseNode($$);
++        parser->unregisterParseNode($2);
++        parser->registerParseNode($$);
+     }
+     ;
+ 
diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 326be14..a9701e4 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -7,8 +7,8 @@
 WEBKIT_VERSION = 1.2.7
 WEBKIT_SITE = http://www.webkitgtk.org
 WEBKIT_INSTALL_STAGING = YES
-WEBKIT_DEPENDENCIES = host-flex host-gperf icu libcurl libxml2 libxslt \
-			libgtk2 sqlite enchant libsoup jpeg libgail
+WEBKIT_DEPENDENCIES = host-flex host-bison host-gperf icu libcurl libxml2 \
+	libxslt libgtk2 sqlite enchant libsoup jpeg libgail
 
 # Give explicit path to icu-config, and silence gazillions of warnings
 # with recent gcc versions.
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 4/5] webkit: silence gazillions of warnings
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

Building webkit with a recent gcc versions gives gazillions of
warnings such as 'warning: cast from 'WTF::AlignedBufferChar* {aka
char*}' to 'JSC::Identifier*' increases required alignment of target
type [-Wcast-align]'.

Those make the webkit build very noise, and hard to debug, so let's
silence those warnings.

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

diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 580c5d2..326be14 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -9,7 +9,13 @@ WEBKIT_SITE = http://www.webkitgtk.org
 WEBKIT_INSTALL_STAGING = YES
 WEBKIT_DEPENDENCIES = host-flex host-gperf icu libcurl libxml2 libxslt \
 			libgtk2 sqlite enchant libsoup jpeg libgail
-WEBKIT_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config
+
+# Give explicit path to icu-config, and silence gazillions of warnings
+# with recent gcc versions.
+WEBKIT_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config \
+	CFLAGS="$(TARGET_CFLAGS) -Wno-cast-align" \
+	CXXFLAGS="$(TARGET_CXXFLAGS) -Wno-cast-align"
+
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
 	WEBKIT_CONF_OPT += --with-target=x11
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 3/5] util-linux: fix build on AArch64
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

Fixes:

 http://autobuild.buildroot.org/results/5b63022f4c2d8bdd72697e8007e8a6101a64dd12/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../util-linux-fdisk-aarch64-support.patch         |   22 ++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 package/util-linux/util-linux-fdisk-aarch64-support.patch

diff --git a/package/util-linux/util-linux-fdisk-aarch64-support.patch b/package/util-linux/util-linux-fdisk-aarch64-support.patch
new file mode 100644
index 0000000..825e82c
--- /dev/null
+++ b/package/util-linux/util-linux-fdisk-aarch64-support.patch
@@ -0,0 +1,22 @@
+Add case for the aarch64 architecture
+
+Taken from https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1061609
+
+Code written by Wookey.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/fdisk/fdiskbsdlabel.h
+===================================================================
+--- a/fdisk/fdiskbsdlabel.h
++++ b/fdisk/fdiskbsdlabel.h
+@@ -48,7 +48,8 @@
+ 
+ #if defined (i386) || defined (__sparc__) || defined (__arm__) || \
+     defined (__mips__) || defined (__s390__) || defined (__sh__) || \
+-    defined(__x86_64__) || defined (__avr32__) || defined(__cris__)
++    defined(__x86_64__) || defined (__avr32__) || defined(__cris__) || \
++    defined(__aarch64__)
+ #define BSD_LABELSECTOR   1
+ #define BSD_LABELOFFSET   0
+ #elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__) || defined (__hppa__)
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 2/5] util-linux: rename versioned patch without version
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

util-linux-2.20.1-sscanf-no-ms-as.patch has a version in its name, and
therefore the other patch, unversioned,
util-linux-uclibc-build-fix.patch, never gets applied.

Fix this by renaming util-linux-2.20.1-sscanf-no-ms-as.patch to
util-linux-sscanf-no-ms-as.patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../util-linux-2.20.1-sscanf-no-ms-as.patch        |   87 --------------------
 .../util-linux/util-linux-sscanf-no-ms-as.patch    |   87 ++++++++++++++++++++
 2 files changed, 87 insertions(+), 87 deletions(-)
 delete mode 100644 package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch
 create mode 100644 package/util-linux/util-linux-sscanf-no-ms-as.patch

diff --git a/package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch b/package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch
deleted file mode 100644
index 5b0ac36..0000000
--- a/package/util-linux/util-linux-2.20.1-sscanf-no-ms-as.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-[PATCH] Fix libmount build under uClibc
-
-Taken from gentoo-hardened:
-http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=91879751
-
-For details, see https://bugs.gentoo.org/show_bug.cgi?id=406303
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-diff -Naur util-linux-2.20.1.orig/libmount/src/tab_parse.c util-linux-2.20.1/libmount/src/tab_parse.c
---- util-linux-2.20.1.orig/libmount/src/tab_parse.c	2011-12-12 20:51:06.646614964 -0500
-+++ util-linux-2.20.1/libmount/src/tab_parse.c	2011-12-12 21:02:03.587865010 -0500
-@@ -51,19 +51,21 @@
-  */
- static int mnt_parse_table_line(struct libmnt_fs *fs, char *s)
- {
--	int rc, n = 0;
--	char *src, *fstype, *optstr;
--
--	rc = sscanf(s,	UL_SCNsA" "	/* (1) source */
--			UL_SCNsA" "	/* (2) target */
--			UL_SCNsA" "	/* (3) FS type */
--			UL_SCNsA" "	/* (4) options */
-+	int rc, n = 0, len = strlen (s) + 1;
-+	char *src     = malloc (sizeof *src * len);
-+  char *fstype  = malloc (sizeof *fstype * len);
-+  char *optstr  = malloc (sizeof *optstr * len);
-+
-+	rc = sscanf(s,	"%s"" "	/* (1) source */
-+			"%s"" "	/* (2) target */
-+			"%s"" "	/* (3) FS type */
-+			"%s"" "	/* (4) options */
- 			"%n",		/* byte count */
- 
--			&src,
--			&fs->target,
--			&fstype,
--			&optstr,
-+			src,
-+			fs->target,
-+			fstype,
-+			optstr,
- 			&n);
- 
- 	if (rc == 4) {
-@@ -108,16 +110,20 @@
-  */
- static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
- {
--	int rc, end = 0;
-+	int rc, end = 0, len = strlen (s) + 1;
- 	unsigned int maj, min;
- 	char *fstype, *src, *p;
- 
-+  fs->root        = malloc (sizeof *fs->root * len);
-+  fs->target      = malloc (sizeof *fs->target * len);
-+  fs->vfs_optstr  = malloc (sizeof *fs->vfs_optstr * len);
-+
- 	rc = sscanf(s,	"%u "		/* (1) id */
- 			"%u "		/* (2) parent */
- 			"%u:%u "	/* (3) maj:min */
--			UL_SCNsA" "	/* (4) mountroot */
--			UL_SCNsA" "	/* (5) target */
--			UL_SCNsA	/* (6) vfs options (fs-independent) */
-+			"%s"" "	/* (4) mountroot */
-+			"%s"" "	/* (5) target */
-+			"%s"	/* (6) vfs options (fs-independent) */
- 			"%n",		/* number of read bytes */
- 
- 			&fs->id,
-@@ -139,9 +145,14 @@
- 	}
- 	s = p + 3;
- 
--	rc += sscanf(s,	UL_SCNsA" "	/* (8) FS type */
--			UL_SCNsA" "	/* (9) source */
--			UL_SCNsA,	/* (10) fs options (fs specific) */
-+  len           = strlen (s) + 1;
-+	fstype        = malloc (sizeof *fstype * len);
-+  src           = malloc (sizeof *src * len);
-+  fs->fs_optstr = malloc (sizeof *fs->fs_optstr * len);
-+
-+	rc += sscanf(s,	"%s"" "	/* (8) FS type */
-+			"%s"" "	/* (9) source */
-+			"%s",	/* (10) fs options (fs specific) */
- 
- 			&fstype,
- 			&src,
diff --git a/package/util-linux/util-linux-sscanf-no-ms-as.patch b/package/util-linux/util-linux-sscanf-no-ms-as.patch
new file mode 100644
index 0000000..5b0ac36
--- /dev/null
+++ b/package/util-linux/util-linux-sscanf-no-ms-as.patch
@@ -0,0 +1,87 @@
+[PATCH] Fix libmount build under uClibc
+
+Taken from gentoo-hardened:
+http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=91879751
+
+For details, see https://bugs.gentoo.org/show_bug.cgi?id=406303
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+diff -Naur util-linux-2.20.1.orig/libmount/src/tab_parse.c util-linux-2.20.1/libmount/src/tab_parse.c
+--- util-linux-2.20.1.orig/libmount/src/tab_parse.c	2011-12-12 20:51:06.646614964 -0500
++++ util-linux-2.20.1/libmount/src/tab_parse.c	2011-12-12 21:02:03.587865010 -0500
+@@ -51,19 +51,21 @@
+  */
+ static int mnt_parse_table_line(struct libmnt_fs *fs, char *s)
+ {
+-	int rc, n = 0;
+-	char *src, *fstype, *optstr;
+-
+-	rc = sscanf(s,	UL_SCNsA" "	/* (1) source */
+-			UL_SCNsA" "	/* (2) target */
+-			UL_SCNsA" "	/* (3) FS type */
+-			UL_SCNsA" "	/* (4) options */
++	int rc, n = 0, len = strlen (s) + 1;
++	char *src     = malloc (sizeof *src * len);
++  char *fstype  = malloc (sizeof *fstype * len);
++  char *optstr  = malloc (sizeof *optstr * len);
++
++	rc = sscanf(s,	"%s"" "	/* (1) source */
++			"%s"" "	/* (2) target */
++			"%s"" "	/* (3) FS type */
++			"%s"" "	/* (4) options */
+ 			"%n",		/* byte count */
+ 
+-			&src,
+-			&fs->target,
+-			&fstype,
+-			&optstr,
++			src,
++			fs->target,
++			fstype,
++			optstr,
+ 			&n);
+ 
+ 	if (rc == 4) {
+@@ -108,16 +110,20 @@
+  */
+ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+ {
+-	int rc, end = 0;
++	int rc, end = 0, len = strlen (s) + 1;
+ 	unsigned int maj, min;
+ 	char *fstype, *src, *p;
+ 
++  fs->root        = malloc (sizeof *fs->root * len);
++  fs->target      = malloc (sizeof *fs->target * len);
++  fs->vfs_optstr  = malloc (sizeof *fs->vfs_optstr * len);
++
+ 	rc = sscanf(s,	"%u "		/* (1) id */
+ 			"%u "		/* (2) parent */
+ 			"%u:%u "	/* (3) maj:min */
+-			UL_SCNsA" "	/* (4) mountroot */
+-			UL_SCNsA" "	/* (5) target */
+-			UL_SCNsA	/* (6) vfs options (fs-independent) */
++			"%s"" "	/* (4) mountroot */
++			"%s"" "	/* (5) target */
++			"%s"	/* (6) vfs options (fs-independent) */
+ 			"%n",		/* number of read bytes */
+ 
+ 			&fs->id,
+@@ -139,9 +145,14 @@
+ 	}
+ 	s = p + 3;
+ 
+-	rc += sscanf(s,	UL_SCNsA" "	/* (8) FS type */
+-			UL_SCNsA" "	/* (9) source */
+-			UL_SCNsA,	/* (10) fs options (fs specific) */
++  len           = strlen (s) + 1;
++	fstype        = malloc (sizeof *fstype * len);
++  src           = malloc (sizeof *src * len);
++  fs->fs_optstr = malloc (sizeof *fs->fs_optstr * len);
++
++	rc += sscanf(s,	"%s"" "	/* (8) FS type */
++			"%s"" "	/* (9) source */
++			"%s",	/* (10) fs options (fs specific) */
+ 
+ 			&fstype,
+ 			&src,
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 1/5] python: build host-python with MAKE1
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355592582-31374-1-git-send-email-thomas.petazzoni@free-electrons.com>

Building host-python in parallel sometimes causes "Bus error" during
the installation step on our autobuilders, such as:

  http://autobuild.buildroot.org/results/04bcc907c5e075fe1f39d4f49dcc50ec93708eb4/build-end.log

Extensive testing on one autobuilder has shown that building
host-python with MAKE1 work arounds this strange problem.

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

diff --git a/package/python/python.mk b/package/python/python.mk
index 6e960cd..71591b7 100644
--- a/package/python/python.mk
+++ b/package/python/python.mk
@@ -39,6 +39,14 @@ HOST_PYTHON_MAKE_ENV = \
 
 HOST_PYTHON_AUTORECONF = YES
 
+# Building host python in parallel sometimes triggers a "Bus error"
+# during the execution of "./python setup.py build" in the
+# installation step. It is probably due to the installation of a
+# shared library taking place in parallel to the execution of
+# ./python, causing spurious Bus error. Building host-python with
+# MAKE1 has shown to workaround the problem.
+HOST_PYTHON_MAKE = $(MAKE1)
+
 PYTHON_DEPENDENCIES  = host-python libffi
 
 HOST_PYTHON_DEPENDENCIES = host-expat host-zlib
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] Misc fixes for build issues
From: Thomas Petazzoni @ 2012-12-15 17:29 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a set of fixes for various build issues raised by the
autobuilders:

 * The long-standing "random" host-python build failures

 * The util-linux build failure on AArch64

 * The long-standing webkit build failure

Thanks,

Thomas

^ permalink raw reply

* [Buildroot] [PATCH] gd: fix build failure related to iconv/gettext
From: Peter Korsgaard @ 2012-12-15 16:23 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355571977-29757-1-git-send-email-gustavo@zacarias.com.ar>

>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 Gustavo> Fixes
 Gustavo> http://autobuild.buildroot.net/results/e3a2a81327877f9482341daff9623d759d1b2900/

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] gd: fix build failure related to iconv/gettext
From: Peter Korsgaard @ 2012-12-15 13:47 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=c3e9f1cf49d8fb8039e3501417235044813cfa57
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/gd/gd-iconv.patch |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/package/gd/gd-iconv.patch b/package/gd/gd-iconv.patch
new file mode 100644
index 0000000..821f5cb
--- /dev/null
+++ b/package/gd/gd-iconv.patch
@@ -0,0 +1,17 @@
+Seems gd is using an ancient gettext for m4 sources which has issues.
+Idea from OpenWRT patch and general knowledge on the internetweb.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura gd-2.0.35.orig/configure.ac gd-2.0.35/configure.ac
+--- gd-2.0.35.orig/configure.ac	2012-12-15 08:36:07.165683957 -0300
++++ gd-2.0.35/configure.ac	2012-12-15 08:42:59.354213570 -0300
+@@ -61,7 +61,7 @@
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS([errno.h limits.h stddef.h stdlib.h string.h unistd.h])
+ 
+-AM_ICONV
++m4_pattern_allow([AM_ICONV])
+ # if test -n "$LIBICONV" ; then
+ #   LIBS="$LIBS $LIBICONV"
+ # fi

^ permalink raw reply related

* [Buildroot] [autobuild.buildroot.net] Build results for 2012-12-14
From: Gustavo Zacarias @ 2012-12-15 11:46 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <87ip83hc85.fsf@dell.be.48ers.dk>

On 12/15/2012 06:54 AM, Peter Korsgaard wrote:

> This looks to be caused by the gettext bump. Gustavo, any ideas?

Arcane gettext used as aclocal.m4 source in gd.
Patch sent.
Regards.

^ permalink raw reply

* [Buildroot] [PATCH] gd: fix build failure related to iconv/gettext
From: Gustavo Zacarias @ 2012-12-15 11:46 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/gd/gd-iconv.patch |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
 create mode 100644 package/gd/gd-iconv.patch

diff --git a/package/gd/gd-iconv.patch b/package/gd/gd-iconv.patch
new file mode 100644
index 0000000..821f5cb
--- /dev/null
+++ b/package/gd/gd-iconv.patch
@@ -0,0 +1,17 @@
+Seems gd is using an ancient gettext for m4 sources which has issues.
+Idea from OpenWRT patch and general knowledge on the internetweb.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura gd-2.0.35.orig/configure.ac gd-2.0.35/configure.ac
+--- gd-2.0.35.orig/configure.ac	2012-12-15 08:36:07.165683957 -0300
++++ gd-2.0.35/configure.ac	2012-12-15 08:42:59.354213570 -0300
+@@ -61,7 +61,7 @@
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS([errno.h limits.h stddef.h stdlib.h string.h unistd.h])
+ 
+-AM_ICONV
++m4_pattern_allow([AM_ICONV])
+ # if test -n "$LIBICONV" ; then
+ #   LIBS="$LIBS $LIBICONV"
+ # fi
-- 
1.7.8.6

^ permalink raw reply related

* [Buildroot] [autobuild.buildroot.net] Build results for 2012-12-14
From: Peter Korsgaard @ 2012-12-15  9:54 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <20121215073441.8B91F52C104@lolut.humanoidz.org>

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

 Thomas> Hello,

 Thomas> On 2012-12-14, 204 random build tests have been done and
 Thomas> submitted on autobuild.buildroot.net.
 Thomas>  103 builds have been successful
 Thomas>  101 builds have failed

 Thomas> Below the results of the failed builds. Successful builds are omitted.

 Thomas> Build e3a2a81327877f9482341daff9623d759d1b2900
 Thomas> ==============================================

 Thomas> Status         : NOK
 Thomas> Failure reason : gd-2.0.35
 Thomas> Architecture   : i686
 Thomas> Submitted by   : Peter Korsgaard (gcc110)
 Thomas> Submitted at   : 2012-12-14 14:11:30
 Thomas> Git commit ID  : http://git.buildroot.net/buildroot/commit/?id=933ebedd200088600809a1149bb1670c58e25c62
 Thomas> End of log     : http://autobuild.buildroot.net/results/e3a2a81327877f9482341daff9623d759d1b2900/build-end.log
 Thomas> Complete log   : http://autobuild.buildroot.net/results/e3a2a81327877f9482341daff9623d759d1b2900/build.log.bz2
 Thomas> Configuration  : http://autobuild.buildroot.net/results/e3a2a81327877f9482341daff9623d759d1b2900/config
 Thomas> Defconfig      : http://autobuild.buildroot.net/results/e3a2a81327877f9482341daff9623d759d1b2900/defconfig

This looks to be caused by the gettext bump. Gustavo, any ideas?

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [PATCH 2/2] luajit: allow to build Lua extensions without lua
From: Francois Perrad @ 2012-12-15  9:33 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1355564002-14490-1-git-send-email-francois.perrad@gadz.org>

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Makefile.in                              |    6 ++++++
 package/lua-msgpack-native/lua-msgpack-native.mk |    2 +-
 package/luacjson/luacjson.mk                     |    2 +-
 package/luaexpat/luaexpat.mk                     |    2 +-
 package/luafilesystem/luafilesystem.mk           |    2 +-
 package/luajit/luajit.mk                         |   11 ++++++++++-
 package/luasocket/luasocket.mk                   |    2 +-
 package/rings/rings.mk                           |    2 +-
 8 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/package/Makefile.in b/package/Makefile.in
index 8dea51e..c19887b 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -307,6 +307,12 @@ else
 SHARED_STATIC_LIBS_OPTS=--enable-static --enable-shared
 endif
 
+ifeq ($(BR2_PACKAGE_LUA),y)
+LUA_INTERPRETER = lua
+else ifeq ($(BR2_PACKAGE_LUAJIT),y)
+LUA_INTERPRETER = luajit
+endif
+
 include package/pkg-utils.mk
 include package/pkg-download.mk
 include package/pkg-autotools.mk
diff --git a/package/lua-msgpack-native/lua-msgpack-native.mk b/package/lua-msgpack-native/lua-msgpack-native.mk
index 97ce83c..5387f53 100644
--- a/package/lua-msgpack-native/lua-msgpack-native.mk
+++ b/package/lua-msgpack-native/lua-msgpack-native.mk
@@ -5,7 +5,7 @@
 #############################################################
 LUA_MSGPACK_NATIVE_VERSION = g41cce91
 LUA_MSGPACK_NATIVE_SITE = http://github.com/kengonakajima/lua-msgpack-native/tarball/master
-LUA_MSGPACK_NATIVE_DEPENDENCIES = lua
+LUA_MSGPACK_NATIVE_DEPENDENCIES = $(LUA_INTERPRETER)
 LUA_MSGPACK_NATIVE_LICENSE = Apache-2.0
 LUA_MSGPACK_NATIVE_LICENSE_FILES = LICENSE.txt
 
diff --git a/package/luacjson/luacjson.mk b/package/luacjson/luacjson.mk
index 1f79d5d..de79e9f 100644
--- a/package/luacjson/luacjson.mk
+++ b/package/luacjson/luacjson.mk
@@ -6,7 +6,7 @@
 LUACJSON_VERSION       = 2.1.0
 LUACJSON_SOURCE        = lua-cjson-$(LUACJSON_VERSION).tar.gz
 LUACJSON_SITE          = http://www.kyne.com.au/~mark/software/download
-LUACJSON_DEPENDENCIES  = lua
+LUACJSON_DEPENDENCIES  = $(LUA_INTERPRETER)
 LUACJSON_LICENSE       = MIT
 LUACJSON_LICENSE_FILES = LICENSE
 
diff --git a/package/luaexpat/luaexpat.mk b/package/luaexpat/luaexpat.mk
index 2d4c517..435eb8e 100644
--- a/package/luaexpat/luaexpat.mk
+++ b/package/luaexpat/luaexpat.mk
@@ -6,7 +6,7 @@
 
 LUAEXPAT_VERSION      = 1.2.0
 LUAEXPAT_SITE         = http://matthewwild.co.uk/projects/luaexpat
-LUAEXPAT_DEPENDENCIES = lua expat
+LUAEXPAT_DEPENDENCIES = $(LUA_INTERPRETER) expat
 LUAEXPAT_LICENSE      = MIT
 
 
diff --git a/package/luafilesystem/luafilesystem.mk b/package/luafilesystem/luafilesystem.mk
index 8553212..5e964af 100644
--- a/package/luafilesystem/luafilesystem.mk
+++ b/package/luafilesystem/luafilesystem.mk
@@ -6,7 +6,7 @@
 
 LUAFILESYSTEM_VERSION = 1.5.0
 LUAFILESYSTEM_SITE = http://github.com/downloads/keplerproject/luafilesystem
-LUAFILESYSTEM_DEPENDENCIES = lua
+LUAFILESYSTEM_DEPENDENCIES = $(LUA_INTERPRETER)
 LUAFILESYSTEM_LICENSE = MIT
 
 ifeq ($(BR2_LARGEFILE),y)
diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk
index 844122e..d7e5d4d 100644
--- a/package/luajit/luajit.mk
+++ b/package/luajit/luajit.mk
@@ -4,7 +4,10 @@
 #
 #############################################################
 
-LUAJIT_VERSION = 2.0.0
+LUAJIT_MAJVER=  2
+LUAJIT_MINVER=  0
+LUAJIT_RELVER=  0
+LUAJIT_VERSION = $(LUAJIT_MAJVER).$(LUAJIT_MINVER).$(LUAJIT_RELVER)
 LUAJIT_SOURCE  = LuaJIT-$(LUAJIT_VERSION).tar.gz
 LUAJIT_SITE    = http://luajit.org/download
 LUAJIT_LICENSE = MIT
@@ -47,8 +50,14 @@ define LUAJIT_BUILD_CMDS
 		-C $(@D) amalg
 endef
 
+LUAJIT_FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp
+
 define LUAJIT_INSTALL_STAGING_CMDS
 	$(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" -C $(@D) install
+	for i in $(LUAJIT_FILES_INC); do \
+		ln -sf $(STAGING_DIR)/usr/include/luajit-$(LUAJIT_MAJVER).$(LUAJIT_MINVER)/$$i \
+		       $(STAGING_DIR)/usr/include/$$i; \
+	done
 endef
 
 define LUAJIT_INSTALL_TARGET_CMDS
diff --git a/package/luasocket/luasocket.mk b/package/luasocket/luasocket.mk
index 45fb9a3..3126ea3 100644
--- a/package/luasocket/luasocket.mk
+++ b/package/luasocket/luasocket.mk
@@ -6,7 +6,7 @@
 
 LUASOCKET_VERSION = 2.0.2
 LUASOCKET_SITE = http://luaforge.net/frs/download.php/2664
-LUASOCKET_DEPENDENCIES = lua
+LUASOCKET_DEPENDENCIES = $(LUA_INTERPRETER)
 LUASOCKET_LICENSE = MIT
 LUASOCKET_LICENSE_FILES = LICENSE
 
diff --git a/package/rings/rings.mk b/package/rings/rings.mk
index e2a2bd7..791cf5e 100644
--- a/package/rings/rings.mk
+++ b/package/rings/rings.mk
@@ -6,7 +6,7 @@
 
 RINGS_VERSION = 1.2.3
 RINGS_SITE = http://github.com/downloads/keplerproject/rings
-RINGS_DEPENDENCIES = lua
+RINGS_DEPENDENCIES = $(LUA_INTERPRETER)
 RINGS_LICENSE = MIT
 
 define RINGS_BUILD_CMDS
-- 
1.7.9.5

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox