1config BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS
2	bool
3	default y if BR2_HOSTARCH = "aarch64"
4	default y if BR2_HOSTARCH = "x86_64"
5	default y if BR2_HOSTARCH = "x86"
6
7config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
8	bool
9	# see HOWTO/INSTALL.md for Erlang's supported platforms
10	# when using its native atomic ops implementation or gcc's
11	# __atomic_* builtins
12	default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || \
13		BR2_sparc_v9 || BR2_arm || BR2_aarch64 || BR2_mipsel || \
14		BR2_RISCV_64
15	# erlang needs host-erlang
16	depends on BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS
17
18comment "erlang needs a glibc or musl toolchain w/ dynamic library, threads, wchar"
19	depends on BR2_USE_MMU # fork()
20	depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
21	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
22		|| !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_UCLIBC
23
24config BR2_PACKAGE_ERLANG
25	bool "erlang"
26	depends on BR2_USE_MMU # fork()
27	depends on BR2_USE_WCHAR
28	depends on !BR2_STATIC_LIBS
29	depends on BR2_TOOLCHAIN_HAS_THREADS
30	depends on !BR2_TOOLCHAIN_USES_UCLIBC
31	depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
32	select BR2_PACKAGE_ZLIB
33	help
34	  Erlang is a programming language used to build massively
35	  scalable soft real-time systems with requirements on high
36	  availability. Some of its uses are in telecoms, banking,
37	  e-commerce, computer telephony and instant messaging.
38	  Erlang's runtime system has built-in support for
39	  concurrency, distribution and fault tolerance.
40
41	  http://www.erlang.org
42
43if BR2_PACKAGE_ERLANG
44
45config BR2_PACKAGE_ERLANG_MEGACO
46	bool "install megaco application"
47	help
48	  The Megaco application is a framework for building
49	  applications on top of the Megaco/H.248 protocol. It is
50	  approximately 14MB in size so if you do not need it then
51	  it is recommended not to enable it.
52
53endif # BR2_PACKAGE_ERLANG
54