summaryrefslogtreecommitdiff
path: root/package/nodejs/Config.in
blob: b8c45f5dcdf7122082aa0247c750d8fc0ab509f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
comment "nodejs needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.8, wchar"
	depends on BR2_USE_MMU
	depends on BR2_arm || BR2_aarch64 || 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_aarch64 || 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.9.4"		if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
	default "0.10.48"

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.

endif