2013-03-07 16:31:16 +01:00
|
|
|
config BR2_PACKAGE_NODEJS
|
|
|
|
bool "nodejs"
|
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
2013-12-17 02:16:15 +01:00
|
|
|
depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
|
|
|
|
depends on !BR2_MIPS_SOFT_FLOAT
|
2013-07-12 02:58:55 +02:00
|
|
|
# ARM needs BLX, so v5t+
|
2014-10-21 22:26:58 +02:00
|
|
|
depends on !BR2_ARM_CPU_ARMV4
|
2013-03-07 16:31:16 +01:00
|
|
|
# uses fork()
|
|
|
|
depends on BR2_USE_MMU
|
2015-08-02 11:07:19 +02:00
|
|
|
# uses dlopen(). On ARMv5, we could technically support static
|
|
|
|
# linking, but that's too much of a corner case to support it.
|
|
|
|
depends on !BR2_STATIC_LIBS
|
2014-08-15 19:20:03 +02:00
|
|
|
select BR2_PACKAGE_ZLIB
|
2013-03-07 16:31:16 +01:00
|
|
|
help
|
|
|
|
Event-driven I/O server-side JavaScript environment based on V8.
|
|
|
|
|
|
|
|
http://nodejs.org/
|
|
|
|
|
2015-08-02 11:07:19 +02:00
|
|
|
comment "nodejs needs a toolchain w/ C++, dynamic library, threads"
|
2013-11-07 09:24:37 +01:00
|
|
|
depends on BR2_USE_MMU
|
2013-12-17 02:16:15 +01:00
|
|
|
depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
|
2014-10-21 22:26:58 +02:00
|
|
|
depends on !BR2_ARM_CPU_ARMV4
|
2015-08-02 11:07:19 +02:00
|
|
|
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
2013-03-07 16:31:16 +01:00
|
|
|
|
|
|
|
if BR2_PACKAGE_NODEJS
|
|
|
|
|
2015-10-19 23:59:07 +02:00
|
|
|
# Starting with 0.12.x, on ARM, V8 (the JS engine)
|
|
|
|
# now requires an armv6+ and a VFPv2+.
|
|
|
|
config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
|
|
|
|
bool
|
|
|
|
# On supported architectures other than ARM, no special requirement
|
|
|
|
default y if !BR2_arm
|
|
|
|
# On ARM, at least ARMv6+ with VFPv2+ is needed
|
|
|
|
default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2
|
|
|
|
|
2015-06-27 04:01:34 +02:00
|
|
|
choice
|
|
|
|
prompt "Node.js version"
|
2015-07-05 19:43:22 +02:00
|
|
|
default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5
|
2015-10-19 23:59:08 +02:00
|
|
|
default BR2_BR2_PACKAGE_NODEJS_4_X
|
2015-06-27 04:01:34 +02:00
|
|
|
help
|
|
|
|
Select the version of Node.js you wish to use.
|
|
|
|
|
2015-07-05 19:43:22 +02:00
|
|
|
config BR2_BR2_PACKAGE_NODEJS_0_10_X
|
2015-12-08 22:18:18 +01:00
|
|
|
bool "v0.10.41"
|
2015-06-27 04:01:34 +02:00
|
|
|
|
2015-07-05 19:43:22 +02:00
|
|
|
config BR2_BR2_PACKAGE_NODEJS_0_12_X
|
2015-12-08 22:18:19 +01:00
|
|
|
bool "v0.12.9"
|
2015-10-19 23:59:07 +02:00
|
|
|
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
|
2015-07-02 11:43:24 +02:00
|
|
|
|
2015-10-19 23:59:08 +02:00
|
|
|
config BR2_BR2_PACKAGE_NODEJS_4_X
|
2015-12-08 22:18:20 +01:00
|
|
|
bool "v4.2.3"
|
2015-10-19 23:59:08 +02:00
|
|
|
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
|
|
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
|
|
|
2015-12-08 22:18:20 +01:00
|
|
|
comment "v4.2.3 needs a toolchain w/ gcc >= 4.8"
|
2015-10-19 23:59:08 +02:00
|
|
|
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
|
|
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
|
|
|
2015-06-27 04:01:34 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_VERSION_STRING
|
|
|
|
string
|
2015-12-08 22:18:18 +01:00
|
|
|
default "0.10.41" if BR2_BR2_PACKAGE_NODEJS_0_10_X
|
2015-12-08 22:18:19 +01:00
|
|
|
default "0.12.9" if BR2_BR2_PACKAGE_NODEJS_0_12_X
|
2015-12-08 22:18:20 +01:00
|
|
|
default "4.2.3" if BR2_BR2_PACKAGE_NODEJS_4_X
|
2015-06-27 04:01:34 +02:00
|
|
|
|
2013-03-07 16:31:16 +01:00
|
|
|
menu "Module Selection"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_NPM
|
|
|
|
bool "NPM for the target"
|
|
|
|
select BR2_PACKAGE_OPENSSL
|
|
|
|
help
|
|
|
|
NPM is the package manager for the Node JavaScript platform.
|
|
|
|
Note that enabling NPM on the target also selects OpenSSL for the
|
|
|
|
target.
|
|
|
|
|
|
|
|
http://www.npmjs.org
|
|
|
|
|
|
|
|
Note that NPM is always built for the buildroot host.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_MODULES_EXPRESS
|
|
|
|
bool "Express web application framework"
|
|
|
|
help
|
|
|
|
Express is a minimal and flexible node.js web application
|
|
|
|
framework, providing a robust set of features for building
|
|
|
|
single and multi-page, and hybrid web applications.
|
|
|
|
|
|
|
|
http://www.expressjs.com
|
|
|
|
https://github.com/visionmedia/express
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT
|
|
|
|
bool "CoffeeScript"
|
|
|
|
help
|
|
|
|
CoffeeScript is a little language that compiles into JavaScript.
|
|
|
|
|
|
|
|
http://www.coffeescript.org
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL
|
|
|
|
string "Additional modules"
|
|
|
|
help
|
|
|
|
List of space-separated nodejs modules to install via npm.
|
|
|
|
See https://npmjs.org/ to find modules and 'npm help install'
|
2015-04-23 00:14:34 +02:00
|
|
|
for available installation methods. For repeatable builds,
|
2013-03-07 16:31:16 +01:00
|
|
|
download and save tgz files or clone git repos for the
|
|
|
|
components you care about.
|
|
|
|
|
|
|
|
Example: serialport uglify-js@1.3.4 /my/module/mymodule.tgz git://github.com/someuser/somemodule.git#v1.2
|
|
|
|
|
|
|
|
This would install the serialport module (at the newest version),
|
|
|
|
the uglify-js module at 1.3.4, a module from a filesystem path,
|
|
|
|
and a module from a git repository.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS
|
|
|
|
string "Additional module dependencies"
|
|
|
|
help
|
|
|
|
List of space-separated buildroot recipes which must be built before
|
2015-04-23 00:14:34 +02:00
|
|
|
your npms can be installed. For example, if in 'Additional modules'
|
2013-03-07 16:31:16 +01:00
|
|
|
you specified 'node-curl' (see:
|
|
|
|
https://github.com/jiangmiao/node-curl), you could then specify
|
|
|
|
'libcurl' here, to ensure that buildroot builds the libcurl package,
|
|
|
|
and does so before building your node modules.
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
endif
|