package/nodejs: use shared c-ares
PATCH v2 1/3 package/nodejs: use shared c-ares
nodejs requires c-ares and by default will use an internal copy bundled with the release. Change to using a shared c-ares library.
---
Changes v1 -> v2:
- always use shared c-ares (Thomas Petazzoni)
--- package/nodejs/Config.in | 1 + package/nodejs/nodejs.mk | 2 ++ 2 files changed, 3 insertions(+)
package/nodejs/Config.in +1 -0
@@ -25,6 +25,7 @@ config BR2_PACKAGE_NODEJS # linking, but that's too much of a corner case to support it. depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_C_ARES help Event-driven I/O server-side JavaScript environment based on V8.
package/nodejs/nodejs.mk +2 -0
@@ -8,6 +8,7 @@ NODEJS_VERSION = 8.1.4 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs zlib \ + c-ares \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) HOST_NODEJS_DEPENDENCIES = host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components)
@@ -16,6 +17,7 @@ NODEJS_LICENSE_FILES = LICENSE NODEJS_CONF_OPTS = \ --without-snapshot \ --shared-zlib \ + --shared-cares \ --without-dtrace \ --without-etw \ --dest-os=linux
Signature · 1 line
2.7.4
PATCH v2 2/3 package/nodejs: use shared libhttpparser
nodejs requires libhttpparser and by default will use an internal copy bundled with the release. Change to using a shared libhttpparser library.
---
Changes v1 -> v2:
- always use shared libhttpparser (Thomas Petazzoni)
--- package/nodejs/Config.in | 1 + package/nodejs/nodejs.mk | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)
package/nodejs/Config.in +1 -0
@@ -26,6 +26,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_LIBHTTPPARSER help Event-driven I/O server-side JavaScript environment based on V8.
package/nodejs/nodejs.mk +2 -1
@@ -8,7 +8,7 @@ NODEJS_VERSION = 8.1.4 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs zlib \ - c-ares \ + c-ares libhttpparser \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) HOST_NODEJS_DEPENDENCIES = host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components)
@@ -18,6 +18,7 @@ NODEJS_CONF_OPTS = \ --without-snapshot \ --shared-zlib \ --shared-cares \ + --shared-http-parser \ --without-dtrace \ --without-etw \ --dest-os=linux
Signature · 1 line
2.7.4
PATCH v2 3/3 package/nodejs: use shared libuv
In reply to Martin Barknodejs requires libuv and by default will use an internal copy bundled with the release. Change to using a shared libuv library.
---
Changes v1 -> v2:
- always use shared libuv (Thomas Petazzoni)
--- package/nodejs/Config.in | 9 ++++++--- package/nodejs/nodejs.mk | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-)
package/nodejs/Config.in +6 -3
@@ -5,15 +5,17 @@ config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 -comment "nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar" +comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 4.8, wchar" depends on BR2_USE_MMU depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR config BR2_PACKAGE_NODEJS bool "nodejs" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS depends on BR2_HOST_GCC_AT_LEAST_4_8
@@ -27,6 +29,7 @@ config BR2_PACKAGE_NODEJS select BR2_PACKAGE_ZLIB select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBHTTPPARSER + select BR2_PACKAGE_LIBUV help Event-driven I/O server-side JavaScript environment based on V8.
package/nodejs/nodejs.mk +2 -1
@@ -8,7 +8,7 @@ NODEJS_VERSION = 8.1.4 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs zlib \ - c-ares libhttpparser \ + c-ares libhttpparser libuv \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) HOST_NODEJS_DEPENDENCIES = host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components)
@@ -19,6 +19,7 @@ NODEJS_CONF_OPTS = \ --shared-zlib \ --shared-cares \ --shared-http-parser \ + --shared-libuv \ --without-dtrace \ --without-etw \ --dest-os=linux
Signature · 1 line
2.7.4
PATCH v2 3/3 package/nodejs: use shared libuv
Hello,
Quoted 12 lines · Martin Bark
package/nodejs/Config.in +1
-1@@ -5,15 +5,17 @@ config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 -comment "nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar" +comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 4.8, wchar" depends on BR2_USE_MMU depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
package/nodejs/Config.in config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS · line 18
Quoted 10 lines
package/nodejs/Config.in +4
-2- depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR config BR2_PACKAGE_NODEJS bool "nodejs" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
BR2_TOOLCHAIN_HAS_SYNC_4 really is an architecture dependency (we don't show a Config.in comment for it), so I've moved it under BR2_PACKAGE_NODEJS_ARCH_SUPPORTS, so it doesn't have to be duplicated.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v2 1/3 package/nodejs: use shared c-ares
In reply to Martin BarkHello,
package/nodejs/Config.in config BR2_PACKAGE_NODEJS · line 28
Quoted 9 lines · Martin Bark
package/nodejs/Config.in +1
-0@@ -25,6 +25,7 @@ config BR2_PACKAGE_NODEJS # linking, but that's too much of a corner case to support it. depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_C_ARES
Alphabetic ordering here and in <pkg>_DEPENDENCIES would have been better. I've fixed this and applied all three patches. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com