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