nodejs: Add patch to compile with GCC 4.3.3

Submitted by chase maupin on July 19, 2011, 12:29 p.m.

Details

Message ID 1311078599-7474-1-git-send-email-Chase.Maupin@ti.com
State New, archived
Headers show

Commit Message

chase maupin July 19, 2011, 12:29 p.m.
* Add a patch to nodejs to allow compiling with GCC versions
  less than or equal to 4.3.3.
* Define the function nodejs_get_gcc_ver to allow applying the
  patch conditionally based on compiler version.
* Patch based on post at https://github.com/joyent/node/issues/883

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 ...01-Add-missing-compiler-flags-for-GCC-4.3.patch |   34 ++++++++++++++++++++
 recipes/nodejs/nodejs_0.4.0.bb                     |    9 +++++
 2 files changed, 43 insertions(+), 0 deletions(-)
 create mode 100644 recipes/nodejs/files/0001-Add-missing-compiler-flags-for-GCC-4.3.patch

Patch hide | download patch | download mbox

diff --git a/recipes/nodejs/files/0001-Add-missing-compiler-flags-for-GCC-4.3.patch b/recipes/nodejs/files/0001-Add-missing-compiler-flags-for-GCC-4.3.patch
new file mode 100644
index 0000000..080b88f
--- /dev/null
+++ b/recipes/nodejs/files/0001-Add-missing-compiler-flags-for-GCC-4.3.patch
@@ -0,0 +1,34 @@ 
+From 7cb51ed25b688be08825950ce3f5ce2ad38e3f95 Mon Sep 17 00:00:00 2001
+From: Chase Maupin <Chase.Maupin@ti.com>
+Date: Tue, 12 Jul 2011 11:00:48 -0500
+Subject: [PATCH] Add missing compiler flags for GCC 4.3
+
+* When compiling nodejs for GCC 4.3.3 you need to also add the
+  flag -fno-tree-sink.
+* This patch was taken from the thread at:
+    * https://github.com/joyent/node/issues/883
+* Believe that no action is taken on this change upstream because
+  it is GCC 4.3.3 specific and is not required for GCC 4.5
+
+Upstream-Status: Denied
+
+Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
+---
+ deps/v8/SConstruct |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct
+index b2542fd..31c4c7b 100644
+--- a/deps/v8/SConstruct
++++ b/deps/v8/SConstruct
+@@ -210,6 +210,7 @@ LIBRARY_FLAGS = {
+     },
+     'arch:arm': {
+       'CPPDEFINES':   ['V8_TARGET_ARCH_ARM'],
++      'CCFLAGS': ['-fno-tree-sink'],
+       'unalignedaccesses:on' : {
+         'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=1']
+       },
+-- 
+1.7.0.4
+
diff --git a/recipes/nodejs/nodejs_0.4.0.bb b/recipes/nodejs/nodejs_0.4.0.bb
index be3d23e..fe8a878 100644
--- a/recipes/nodejs/nodejs_0.4.0.bb
+++ b/recipes/nodejs/nodejs_0.4.0.bb
@@ -4,11 +4,20 @@  LICENSE = "MIT"
 
 DEPENDS = "openssl"
 
+PR = "r1"
+
+def nodejs_get_gcc_version(d):
+    import subprocess,os,bb
+    if os.path.exists(bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc'):
+        return subprocess.Popen([bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc', '-v'], stderr=subprocess.PIPE).communicate()[1].splitlines()[-1].split()[2]
+
 SRC_URI = " \
   http://nodejs.org/dist/node-v${PV}.tar.gz \
   file://libev-cross-cc_${PV}.patch \
 "
 
+SRC_URI += "${@["", "file://0001-Add-missing-compiler-flags-for-GCC-4.3.patch"][nodejs_get_gcc_version(d) <= "4.3.3"]}"
+
 SRC_URI[md5sum] = "18f89256751f9b8e27dee8494f508171"
 SRC_URI[sha256sum] = "4a30bd9963373cb86a994479bdd451ab3b6f2124f0089493366315da79d3408e"
 

Comments

chase maupin July 19, 2011, 12:31 p.m.
Just FYI, this patch is against the nodejs version in the maintenance branch and was sent to the list so it could be picked up into Koen's staging tree for his next pull request.  The previously sent version was for the OE dev mainline and has already been accepted.

> -----Original Message-----
> From: Chase Maupin [mailto:chasemaupin03@gmail.com]
> Sent: Tuesday, July 19, 2011 7:30 AM
> To: openembedded-devel@lists.openembedded.org
> Cc: Maupin, Chase
> Subject: [PATCH] nodejs: Add patch to compile with GCC 4.3.3
> 
> * Add a patch to nodejs to allow compiling with GCC versions
>   less than or equal to 4.3.3.
> * Define the function nodejs_get_gcc_ver to allow applying the
>   patch conditionally based on compiler version.
> * Patch based on post at https://github.com/joyent/node/issues/883
> 
> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> ---
>  ...01-Add-missing-compiler-flags-for-GCC-4.3.patch |   34
> ++++++++++++++++++++
>  recipes/nodejs/nodejs_0.4.0.bb                     |    9 +++++
>  2 files changed, 43 insertions(+), 0 deletions(-)
>  create mode 100644 recipes/nodejs/files/0001-Add-missing-compiler-
> flags-for-GCC-4.3.patch
> 
> diff --git a/recipes/nodejs/files/0001-Add-missing-compiler-flags-for-
> GCC-4.3.patch b/recipes/nodejs/files/0001-Add-missing-compiler-flags-
> for-GCC-4.3.patch
> new file mode 100644
> index 0000000..080b88f
> --- /dev/null
> +++ b/recipes/nodejs/files/0001-Add-missing-compiler-flags-for-GCC-
> 4.3.patch
> @@ -0,0 +1,34 @@
> +From 7cb51ed25b688be08825950ce3f5ce2ad38e3f95 Mon Sep 17 00:00:00 2001
> +From: Chase Maupin <Chase.Maupin@ti.com>
> +Date: Tue, 12 Jul 2011 11:00:48 -0500
> +Subject: [PATCH] Add missing compiler flags for GCC 4.3
> +
> +* When compiling nodejs for GCC 4.3.3 you need to also add the
> +  flag -fno-tree-sink.
> +* This patch was taken from the thread at:
> +    * https://github.com/joyent/node/issues/883
> +* Believe that no action is taken on this change upstream because
> +  it is GCC 4.3.3 specific and is not required for GCC 4.5
> +
> +Upstream-Status: Denied
> +
> +Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> +---
> + deps/v8/SConstruct |    1 +
> + 1 files changed, 1 insertions(+), 0 deletions(-)
> +
> +diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct
> +index b2542fd..31c4c7b 100644
> +--- a/deps/v8/SConstruct
> ++++ b/deps/v8/SConstruct
> +@@ -210,6 +210,7 @@ LIBRARY_FLAGS = {
> +     },
> +     'arch:arm': {
> +       'CPPDEFINES':   ['V8_TARGET_ARCH_ARM'],
> ++      'CCFLAGS': ['-fno-tree-sink'],
> +       'unalignedaccesses:on' : {
> +         'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=1']
> +       },
> +--
> +1.7.0.4
> +
> diff --git a/recipes/nodejs/nodejs_0.4.0.bb
> b/recipes/nodejs/nodejs_0.4.0.bb
> index be3d23e..fe8a878 100644
> --- a/recipes/nodejs/nodejs_0.4.0.bb
> +++ b/recipes/nodejs/nodejs_0.4.0.bb
> @@ -4,11 +4,20 @@ LICENSE = "MIT"
> 
>  DEPENDS = "openssl"
> 
> +PR = "r1"
> +
> +def nodejs_get_gcc_version(d):
> +    import subprocess,os,bb
> +    if os.path.exists(bb.data.getVar('TOOLCHAIN_PATH', d,
> 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc'):
> +        return subprocess.Popen([bb.data.getVar('TOOLCHAIN_PATH', d,
> 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc', '-v'],
> stderr=subprocess.PIPE).communicate()[1].splitlines()[-1].split()[2]
> +
>  SRC_URI = " \
>    http://nodejs.org/dist/node-v${PV}.tar.gz \
>    file://libev-cross-cc_${PV}.patch \
>  "
> 
> +SRC_URI += "${@["", "file://0001-Add-missing-compiler-flags-for-GCC-
> 4.3.patch"][nodejs_get_gcc_version(d) <= "4.3.3"]}"
> +
>  SRC_URI[md5sum] = "18f89256751f9b8e27dee8494f508171"
>  SRC_URI[sha256sum] =
> "4a30bd9963373cb86a994479bdd451ab3b6f2124f0089493366315da79d3408e"
> 
> --
> 1.7.0.4