| comment "nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar" |
| depends on BR2_USE_MMU |
| depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel |
| depends on !BR2_MIPS_SOFT_FLOAT |
| depends on !BR2_ARM_CPU_ARMV4 |
| depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ |
| !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_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 |
| # 0.10.x could be built without the following toolchain dependencies but |
| # simplify things by requiring these basic dependencies for all versions. |
| depends on BR2_HOST_GCC_AT_LEAST_4_8 |
| depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 |
| depends on BR2_USE_WCHAR |
| # 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/ |
| |
| 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 |
| |
| config BR2_PACKAGE_NODEJS_VERSION_STRING |
| string |
| default "6.1.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS |
| default "0.10.45" |
| |
| 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 |