config BR2_PACKAGE_NODEJS bool "nodejs" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 # uses fork() depends on BR2_USE_MMU # 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 select BR2_PACKAGE_ZLIB help Event-driven I/O server-side JavaScript environment based on V8. http://nodejs.org/ comment "nodejs needs a toolchain w/ C++, dynamic library, threads" depends on BR2_USE_MMU depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS if BR2_PACKAGE_NODEJS # 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 choice prompt "Node.js version" default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 default BR2_BR2_PACKAGE_NODEJS_4_X help Select the version of Node.js you wish to use. config BR2_BR2_PACKAGE_NODEJS_0_10_X bool "v0.10.40" config BR2_BR2_PACKAGE_NODEJS_0_12_X bool "v0.12.7" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS config BR2_BR2_PACKAGE_NODEJS_4_X bool "v4.1.2" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "v4.1.2 needs a toolchain w/ gcc >= 4.8" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 endchoice config BR2_PACKAGE_NODEJS_VERSION_STRING string default "0.10.40" if BR2_BR2_PACKAGE_NODEJS_0_10_X default "0.12.7" if BR2_BR2_PACKAGE_NODEJS_0_12_X default "4.1.2" if BR2_BR2_PACKAGE_NODEJS_4_X 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' for available installation methods. For repeatable builds, 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 your npms can be installed. For example, if in 'Additional modules' 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