1config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS 2 bool 3 # On ARM, at least ARMv6+ with VFPv2+ is needed 4 default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 5 default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT 6 default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 7 # libuv 8 depends on BR2_TOOLCHAIN_HAS_SYNC_4 9 depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET 10 11comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8" 12 depends on BR2_USE_MMU 13 depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS 14 depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ 15 !BR2_HOST_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR 16 17config BR2_PACKAGE_NODEJS 18 bool "nodejs" 19 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv 20 depends on BR2_INSTALL_LIBSTDCPP 21 depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS 22 depends on BR2_HOST_GCC_AT_LEAST_8 # qemu 23 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 24 depends on BR2_USE_WCHAR 25 # uses fork() 26 depends on BR2_USE_MMU 27 # uses dlopen(). On ARMv5, we could technically support static 28 # linking, but that's too much of a corner case to support it. 29 depends on !BR2_STATIC_LIBS 30 select BR2_PACKAGE_HOST_NODEJS 31 select BR2_PACKAGE_C_ARES 32 select BR2_PACKAGE_LIBUV 33 select BR2_PACKAGE_ZLIB 34 select BR2_PACKAGE_NGHTTP2 35 help 36 Event-driven I/O server-side JavaScript environment based on 37 V8. 38 39 http://nodejs.org/ 40 41if BR2_PACKAGE_NODEJS 42 43config BR2_PACKAGE_NODEJS_NPM 44 bool "NPM for the target" 45 select BR2_PACKAGE_OPENSSL 46 help 47 NPM is the package manager for the Node JavaScript platform. 48 Note that enabling NPM on the target also selects OpenSSL 49 for the target. 50 51 http://www.npmjs.org 52 53 Note that NPM is always built for the buildroot host. 54 55config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL 56 string "Additional modules" 57 help 58 List of space-separated nodejs modules to install via npm. 59 See https://npmjs.org/ to find modules and 'npm help install' 60 for available installation methods. For repeatable builds, 61 download and save tgz files or clone git repos for the 62 components you care about. 63 64 Example: 65 serialport uglify-js@1.3.4 /my/module/mymodule.tgz \ 66 git://github.com/someuser/somemodule.git#v1.2 67 68 This would install the serialport module (at the newest 69 version), the uglify-js module at 1.3.4, a module from a 70 filesystem path, and a module from a git repository. 71 72config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS 73 string "Additional module dependencies" 74 help 75 List of space-separated buildroot recipes which must be 76 built before your npms can be installed. For example, if in 77 'Additional modules' you specified 'node-curl' (see: 78 https://github.com/jiangmiao/node-curl), you could then 79 specify 'libcurl' here, to ensure that buildroot builds the 80 libcurl package, and does so before building your node 81 modules. 82 83endif 84