Config.in 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. config 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_aarch64 || BR2_i386 || BR2_x86_64
  6. # libuv
  7. depends on BR2_TOOLCHAIN_HAS_SYNC_4
  8. depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
  9. comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 10, wchar, host gcc >= 10"
  10. depends on BR2_USE_MMU
  11. depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
  12. depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
  13. !BR2_HOST_GCC_AT_LEAST_10 || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !BR2_USE_WCHAR
  14. config BR2_PACKAGE_NODEJS
  15. bool "nodejs"
  16. depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
  17. depends on BR2_INSTALL_LIBSTDCPP
  18. depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
  19. depends on BR2_HOST_GCC_AT_LEAST_10
  20. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10
  21. depends on BR2_USE_WCHAR
  22. # uses fork()
  23. depends on BR2_USE_MMU
  24. # uses dlopen(). On ARMv5, we could technically support static
  25. # linking, but that's too much of a corner case to support it.
  26. depends on !BR2_STATIC_LIBS
  27. select BR2_PACKAGE_NODEJS_SRC
  28. select BR2_PACKAGE_HOST_NODEJS if BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL != ""
  29. select BR2_PACKAGE_HOST_PYTHON3
  30. select BR2_PACKAGE_HOST_PYTHON3_BZIP2
  31. select BR2_PACKAGE_HOST_PYTHON3_SSL
  32. select BR2_PACKAGE_HOST_QEMU
  33. select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
  34. select BR2_PACKAGE_C_ARES
  35. select BR2_PACKAGE_LIBUV
  36. select BR2_PACKAGE_ZLIB
  37. select BR2_PACKAGE_NGHTTP2
  38. help
  39. Event-driven I/O server-side JavaScript environment based on
  40. V8.
  41. http://nodejs.org/
  42. if BR2_PACKAGE_NODEJS
  43. config 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. http://www.npmjs.org
  51. Note that NPM is always built for the buildroot host.
  52. config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL
  53. string "Additional modules"
  54. help
  55. List of space-separated nodejs modules to install via npm.
  56. See https://npmjs.org/ to find modules and 'npm help install'
  57. for available installation methods. For repeatable builds,
  58. download and save tgz files or clone git repos for the
  59. components you care about.
  60. Example:
  61. serialport uglify-js@1.3.4 /my/module/mymodule.tgz \
  62. git://github.com/someuser/somemodule.git#v1.2
  63. This would install the serialport module (at the newest
  64. version), the uglify-js module at 1.3.4, a module from a
  65. filesystem path, and a module from a git repository.
  66. config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS
  67. string "Additional module dependencies"
  68. help
  69. List of space-separated buildroot recipes which must be
  70. built before your npms can be installed. For example, if in
  71. 'Additional modules' you specified 'node-curl' (see:
  72. https://github.com/jiangmiao/node-curl), you could then
  73. specify 'libcurl' here, to ensure that buildroot builds the
  74. libcurl package, and does so before building your node
  75. modules.
  76. endif
  77. source "package/nodejs/nodejs-src/Config.in"