| 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 |
| |
| choice |
| prompt "Node.js version" |
| default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 |
| default BR2_BR2_PACKAGE_NODEJS_0_12_X |
| help |
| Select the version of Node.js you wish to use. |
| |
| config BR2_BR2_PACKAGE_NODEJS_0_10_X |
| bool "v0.10.40" |
| |
| # V8 included with v0.12.5 requires at least ARMv6 |
| config BR2_BR2_PACKAGE_NODEJS_0_12_X |
| bool "v0.12.7" |
| depends on !BR2_ARM_CPU_ARMV5 |
| |
| 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 |
| |
| 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 |