Commit Graph

67 Commits

Author SHA1 Message Date
Yann E. MORIN
edfbc27fac package/erlang: drop leftover comment
Commit b574a9606e (package/erlang: do not hard-code the Erlang
Interface Version (EI_VSN)) removed the need to care about keeping
the erlang version and its API version in sync, as the latter is
automatically extracted from installed files. The corresponding comment
was removed in that commit:

    # Whenever updating Erlang, this value should be updated as well, to the
    # value of EI_VSN in the file lib/erl_interface/vsn.mk

However, the removal of the comment above the package version was
leftover (probably because of a conflict with a version bump that was
improperly resolved).

Drop the comment now.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-10-07 22:52:33 +02:00
Frank Hunleth
54b6eced24 package/erlang: support building on aarch64
Erlang has good support for aarch64 hosts, and this allows it to be
built without a warning.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-08 22:19:34 +02:00
Yann E. MORIN
b574a9606e package/erlang: do not hard-code the Erlang Interface Version (EI_VSN)
The note above the erlang version instructs to refer to another note
further down the file. However, even if it is not too difficult to find,
it is still located a bit too far away, and the reference is not very
explicit what note we should look at.

When we introduced that variable in 6c1d128844 (package/erlang: export
EI_VSN so other packages can use it), the rationale for hard-coding it
was "to avoid spawning a shell every time the variable is dereferenced".

However, that can get a bit confusing and hard to follow. Also, that in
fact spawns a shell only once for each rebar-packages, so the overhead
is far from being too high.

The EI_VSN is only used by rebar-package packages, is derefrenced from
the rebar-infra and not the packages themselves, and is not needed by
erlang itself (it knows its own EI_VSN), so we can de-hard-code it, and
rely on build-time detection, by looking in the appropriate file.

We have two files where we could look:
  - lib/erl_interface/vsn.mk in the erlang source tree, but it is not
    installed,
  - .../lib/erlang/releases/$(ERLANG_RELASE)/installed_application_versions
    as installed by erlang.

We use the second one, as it is cleaner, for a package, to look into
installed files, rather than to look in the source tree of another
package.

Although both the host and target erlang are the same, we still look
into the corresponding file to extract the version. This is so that it
would be easier if in the future we ever manage to rely on a
system-installed erlang that could have a EI_VSN different from the
target one.

We can't re-use the variable ERLANG_EI_VSN, because it now needs to be
$(call)-ed with a parameter. Hopefully, external packages that use it
directly rather than through the rebar infra, are not legion...

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Will Newton <will.newton@gmail.com>
Cc: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-10 23:07:06 +02:00
Bernd Kuhls
2cfa86a548 package/erlang: bump version to 26.0.2
Needed for compatibility with OpenSSL 3.x which was added in version 25:
f11a9f2d3a

Added dependency to wchar due to upstream commit
bd0865ff86

Removed all patches.
Added new patch to fix build with defconfig bootlin-x86-64-uclibc.

CVE-2021-29221 does not need to be ignored anymore, the latest broken
version was 23.2.3.

Removed ERLANG_REMOVE_SSL_DEPS hook, bug was fixed upstream:
f03feee7e3

Updated ERLANG_RUN_AUTOCONF due to upstream commit
d277599a42 (diff-9d7b6b593fbd689e1f48ba5964dc3bcc87c51e8e1aab5ff496a4e5ba3a248775R1233)

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-07-20 23:08:03 +02:00
Fabrice Fontaine
2625406643 package/erlang: fix build with libressl >= 3.5.0
Fix the following build failure with libressl >= 3.5.0 raised since bump
to version 3.5.2 in commit 8b216927db:

api_ng.c: In function 'EVP_CIPHER_CTX_copy':
api_ng.c:392:28: error: invalid use of incomplete typedef 'EVP_CIPHER_CTX' {aka 'const struct evp_cipher_ctx_st'}
  392 |     if ((in == NULL) || (in->cipher == NULL))
      |                            ^~

Fixes:
 - http://autobuild.buildroot.org/results/90f7365d8477d35fca452b7b3f38babba086375e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-02-23 23:44:54 +01:00
Fabrice Fontaine
2ad6a3a428 package/erlang: bump to version 22.3.4.22
- Drop third patch (already in version)
- Fix build failure with autoconf >= 2.70 raised since commit
  ecd54b65c1

Fixes:
 - http://autobuild.buildroot.org/results/4f52b2f194dcfd619fefb192d1c0fd070d5bd408

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-12-28 14:18:39 +01:00
Peter Korsgaard
e7c2eaf929 package/erlang: ignore Windows specific CVE-2021-29221
CVE-2021-29221 is a Windows specific issue:

A local privilege escalation vulnerability was discovered in Erlang/OTP
prior to version 23.2.3.  By adding files to an existing installation's
directory, a local attacker could hijack accounts of other users running
Erlang programs or possibly coerce a service running with "erlsrv.exe" to
execute arbitrary code as Local System.  This can occur only under specific
conditions on Windows with unsafe filesystem permissions.

So ignore it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-09-18 19:42:50 +02:00
Frank Hunleth
76e64a175a package/erlang: risc-v should only add risc-v
This restricts the Erlang RISC-V update from
0bab8c1089 to only enabling RISCV_64
rather than enabling builds on all platforms with toolchains that
include atomics.

This fixes build errors on SPARCv8 and other platforms that look like
this:

/tmp/ccD9Q9F7.s: Assembler messages:
/tmp/ccD9Q9F7.s:230: Error: Architecture mismatch on "cas [%g3],%g2,%g1".
/tmp/ccD9Q9F7.s:230: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is v8.)

Fixes:
http://autobuild.buildroot.net/results/a57/a5779e22c41eb63b8400409f26f96b924fdde1bc/

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-03 23:07:32 +02:00
Frank Hunleth
0bab8c1089 package/erlang: support build when gcc __atomic_* exist
While Erlang will use it's own atomic operations, it can also use gcc
__atomic_* builtins. This is now listed in Erlang's HOWTO/INSTALL.md.

This change was necessary on RISC-V, since Erlang didn't have a built-in
implementation, but it was able to use gcc's __atomic_* functions.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-28 23:32:48 +02:00
Fabrice Fontaine
c9052d92b0 package/erlang: add CPE variables
cpe:2.3🅰️erlang:erlang\/otp is a valid CPE identifier for this package:

  https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&orderBy=2.3&keyword=cpe%3A2.3%3Aa%3Aerlang%3Aerlang%5C%2Fotp&status=FINAL

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-05 13:58:55 +01:00
Heiko Thiery
73f4ad304f package/erlang: fix -fno-common build failure
Added upstream patch for fixing build failure when using GCC10 as a host
compiler (-fno-common is now default).

Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-05-27 22:21:41 +02:00
Johan Oudinet
607040e913 package/erlang: patch the tarball
Remove the lib/ssl/src/deps directory before configuring the package.
Otherwise, during the compilation of the ssl app, it may fails by
looking for logger.hrl in the wrong location (bootstrap/lib/kernel
instead of lib/kernel).

Fixes:

  http://autobuild.buildroot.net/results/97606fcd11eaf0822b58a9532c5325601d43eaac/

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Tested-by: Frank Vanbever <frank.vanbever@essensium.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-02-19 20:56:01 +01:00
Frank Vanbever
6cdf1f44e4 package/erlang: bump to version 22.2
The issue fixed by 0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch (ERL-529)
has been fixed since OTP20.3 (a5cbcbdb85) and is no longer required.

OTP provides wrapper scripts (otp_build and configure) which perform tasks
previously handled directly by autotools i.e. autoreconf.

Signed-off-by: Frank Vanbever <frank.vanbever@essensium.com>
[Thomas:
 - drop the save_bootstrap step, which is not needed
 - properly run the autoconf step for both the host and target
   variants]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-02-05 15:37:51 +01:00
Frank Hunleth
ec5378038f erlang: always use Buildroot's zlib
While Erlang includes a version of zlib, it's intended for Windows and
there's an expectation that non-Windows platforms provide it. It's also
not as regularly updated as the one in Buildroot. This change makes
Erlang always use a Buildroot-provided zlib.

Fixes this compile error:

 CC	/home/buildroot/autobuild/run/instance-0/output/build/erlang-21.0/erts/emulator/zlib/obj/x86_64-buildroot-linux-musl/opt/adler32.o
In file included from zlib/adler32.c:11:0:
zlib/zutil.h:172:39: error: "_LFS64_LARGEFILE" is not defined [-Werror=undef]
     (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
                                       ^~~~~~~~~~~~~~~~

See http://autobuild.buildroot.net/results/fc633f80c7c36a90e641487f5a888fbb767c2a54/.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-14 22:47:31 +02:00
Bernd Kuhls
c4d2699256 package/erlang: needs threads
Due to the removal of the non-smp option threads are needed now:
ee297c32a7 (diff-900a5d0495caac38a1f51a2cae1b2594R974)

Fixes
http://autobuild.buildroot.net/results/285/285ef07d8e0614dd90a1e4dd3ee28b116990dc0f/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-21 22:54:27 +02:00
Bernd Kuhls
d33f41a0fc package/erlang: fix host build with host-pcre package
https://git.buildroot.net/buildroot/commit/?id=bd12cd7d4633200ce01663df6528fd061d64b784
added an incompletely rebased patch to fix host-erlang when pcre is
available on the host.

Fixes
http://autobuild.buildroot.net/results/484/484a54b005764958073674bf07f6a760bfedb071/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-06-23 17:18:59 +02:00
Bernd Kuhls
bd12cd7d46 package/erlang: bump version to 21.0
Release notes: http://www.erlang.org/news/123

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-06-20 23:25:47 +02:00
Bernd Kuhls
25cc880794 package/erlang: bump version to 20.3
Removed patch 0001, not needed anymore after upstream commit
aa9054e0ea

Renumbered remaining patches, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-01 14:19:14 +02:00
Johan Oudinet
11b5afd6d8 erlang: enable host-erlang for x86/x86_64 architectures only
And make erlang depends on host-erlang.
This patch aims at avoiding the following autobuilder failures:
http://autobuild.buildroot.net/results/45edf95c0c44c9d553879e0cbb771098d7c63aa1
http://autobuild.buildroot.net/results/a36d00407a371d70b4551a9717ebd6ff852c8bca

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-26 23:39:45 +01:00
Frank Hunleth
c68ec4297e erlang: remove non-SMP build option
The non-SMP scheduler was deprecated with the Erlang/OTP 20.0 release and
slated for removal with the next major Erlang release. Since the non-SMP
scheduler isn't even built anymore, this option no longer has the
intended effect of saving space or compile time. The SMP scheduler
supports both SMP and non-SMP processors, so removing the option will
not break any platforms.

We do not need to add a legacy entry, because the new behavior is the
same as with the option previously set (i.e. SMP enabled).

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-28 23:25:43 +01:00
Johan Oudinet
572c3f59a9 erlang: Add a patch for hosts without libz
Since commit 640c988fd4, erts/configure adds -lz to LIBS but
this variable is also used in some Dynamic Erlang drivers. Fix
Makefiles in such drivers to use the LDLIBS variable instead.

This patch has been reported upstream (see
https://bugs.erlang.org/browse/ERL-529) and should fix:

  http://autobuild.buildroot.net/results/3a3b9a4568c706bd6caad3c63d356680c8405ac5/

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-06 23:39:24 +01:00
Johan Oudinet
121f0cd0e4 erlang: bump to version 20.0
This change bumps the Erlang version from 19.3 to 20.0. As a new major
release, there are a few incompatibilities. Details are here:
http://www.erlang.org/news/114

This should fix builds on ppc64le host machines:
http://autobuild.buildroot.net/results/407af9800313d4540643d7625e85acc0c2366892
http://autobuild.buildroot.net/results/2aca54ad48ecfd72242d97499e21a46c1b384b10

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Reviewed-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 22:46:48 +01:00
Arnout Vandecappelle
685f44de98 Globally replace $(HOST_DIR)/usr with $(HOST_DIR)
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\$(HOST_DIR)/usr%$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:22:29 +02:00
Peter Korsgaard
11271540bf Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-06-01 22:28:14 +02:00
Frank Hunleth
01ad3a38d2 erlang: fix check-package help text warnings
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-29 21:50:10 +02:00
Frank Hunleth
85dd8db43a erlang: bump version to 19.3
This change bumps the Erlang version from 18.3 to 19.3. Erlang 19.0 has
many improvements but introduces a few incompatible changes to Erlang
18.3. Details are at:

  http://erlang.org/download/otp_src_19.0.readme

The 19.x minor releases primarily contain bug fixes, optimizations and
other minor imporvements. Details are at:

  http://erlang.org/download/otp_src_19.1.readme
  http://erlang.org/download/otp_src_19.2.readme
  http://erlang.org/download/otp_src_19.3.readme

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-11 21:16:18 +02:00
Frank Hunleth
9e90efa52e erlang: set ERL_TOP to avoid using user's version
Explicitly set the ERL_TOP environment variable to override values set
on a user's system. This prevents Erlang's configure scripts from
using source files outside of the ones that Buildroot downloaded.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-19 23:20:43 +01:00
Thomas Petazzoni
1120fdc379 erlang: odbc support requires thread support
Fixes:

  http://autobuild.buildroot.net/results/cba60679fa916128796a7b4131ed50403bc74798/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-04 22:49:15 +01:00
Bernd Kuhls
f33fcdf225 package/erlang: add optional dependency to unixodbc
Quote from erlang configure without unixodbc:

checking for odbc in standard locations... no
configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"

Quote from erlang configure with unixodbc:

checking for odbc in standard locations... -L/home/buildroot/br3_couchdb/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib
checking for SQLAllocHandle in -lodbc... yes

To check for unixodbc support used by erlang use readelf:

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/erlang/lib/odbc-2.11.1/priv/bin/odbcserver | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libodbc.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Tested using this minimal defconfig:

BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_UNIXODBC=y

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-25 22:57:16 +02:00
Frank Hunleth
a542d0fd55 erlang: enable compilation on mipsel
Erlang works fine on mipsel platforms so add it to the supported list.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-01 00:44:36 +02:00
Frank Hunleth
3135c6374a erlang: use erlang's native atomic ops
Now that we're using Erlang 18, the preferred atomic ops implementation
for Erlang is its own built-in implementation, so use it instead of
libatomic_ops. BR2_PACKAGE_ERLANG_ARCH_SUPPORTS is added now that
BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS can no longer be used for
checking whether the package can be built.

This fixes autobuilder failures on aarch64 and sparc_v8:

http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/
http://autobuild.buildroot.net/results/688278236e6d5bcd63b7d4413303eb115a38f3a7/
http://autobuild.buildroot.net/results/7875a7425bfe1f43d46c9a1db9f96b54f7a99b19/

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-11 15:58:38 +02:00
Frank Hunleth
565e3412b0 erlang: bump to version 18.3
Erlang/OTP 18.3 is a service release on the 18 track with mostly bug
fixes, but is does contain a number of new features and improvements as
well.

Some highlights of the release are:

  . New statistics info about runnable and active processes & ports.
    Call erlang:statistics with: total_run_queue_lengths |
    run_queue_lengths | total_active_tasks | active_tasks.

  . Time warp improvements: dbg:p/2 and erlang:trace/3 with
    monotonic_timestamp |strict_monotonic_timestamp.

  . Introduced a validation callback for heart.

  . The module overload in sasl has been deprecated.

  . ~90 contributions since 18.2

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-22 20:19:19 +01:00
Frank Hunleth
bb0f32a057 erlang: remove unwanted packages from staging too
This fixes an issue where an Erlang program compiles fine against files
in staging, but fails to run on the target due to the unwanted packages
being removed.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-07 00:02:44 +01:00
Frank Hunleth
b640c257ea erlang: bump to version 18.2.1
This is a major release of Erlang that includes a licensing change from
the EPL to the Apache License, significant changes to the timer APIs, better
support for large maps, and security improvements.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-20 15:59:35 +01:00
Romain Naour
eebd770728 package/libatomic_ops: rename libatomic_ops supported arch Kconfig symbol
According to the discussion on the mailing-list [1], rename
the libatomic_ops supported architectures Kconfig symbol.

[1] http://lists.busybox.net/pipermail/buildroot/2016-February/152146.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-07 23:12:11 +01:00
Ezequiel García
cbcecc2453 erlang: Remove BR2_TOOLCHAIN_HAS_THREADS dependency
Erlang can be built without threads support, by passing an
appropriate config option.

This commit drops the config dependency on BR2_TOOLCHAIN_HAS_THREADS
and instead passes --disable-threads if the toolchain doesn't support
threads.

While here, change the wording of the config comment to "dynamic
library" to be consistent with similar comments elsewhere.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-21 22:12:05 +02:00
Frank Hunleth
12c37dbf1a erlang: bump version to 17.5
This also adds a hash file for the new version.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-09 21:39:22 +02:00
Johan Oudinet
cef4857638 erlang: fix incorrect use of AC_EGREP_CPP
Using 'AC_EGREP_CPP(yes' without restraining the pattern always return
true if it runs from a path containing the string 'yes'.

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-25 20:07:34 +01:00
Romain Naour
6076d9a7a6 package/erlang: fix build issue with pcre package
If the pcre package is build before erlang, the erlang's build
system use pcre.h from pcre package instead of using pcre.h bundled
by Erlang.

Erlang use an old version of this file which is incompatible
with the upstream one.

http://autobuild.buildroot.net/results/cbd/cbd8b54eef535f19d7d400fd269af1b3571d6143/build-end.log

And many more.

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-08 21:43:53 +01:00
Yann E. MORIN
6c1d128844 package/erlang: export EI_VSN so other packages can use it
Packages that depend on Erlang may need the Erlang Interface Version
(aka EI_VSN), so just export it.

We do export a static value instead of looking in the file, to avoid
spawning a shell every time the variable is dereferenced.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[johan.oudinet@gmail.com: update EI_VSN since the erlang update]
Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-03 10:22:51 +01:00
Thomas Petazzoni
fe430adc28 erlang: fix comment dependencies
The comment was missing the dependency on BR2_USE_MMU, and was using
'depends on !BR2_TOOLCHAIN_HAS_THREADS && BR2_STATIC_LIBS' while it
should in fact be '!BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS',
since we want show the comment *either* when we don't have threads
*or* when we are building a purely static lib system.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-04 21:28:21 +01:00
Yann E. MORIN
4a9df29424 package/erlang: fix detection of libatomic_ops
For some platforms, hardware-assisted compare-and-swap may not be
available, so libatomic_ops will not provide it.

However, libatomic_ops can provide a purely software CAS emulation, but
must be instructed to do so. erlang just forgot to tell libatomic_ops
that it does require CAS.

Fix that by defining AO_REQUIRE_CAS before including atmoic_ops.h, like
is done in libunwind, as pointed out by Thomas.

Also, erlang has a convoluted, mind-alterating set on aclocal.m4 macros,
that just forgets to link against -latomic_ops when checking CAS is
available, so that even if CAS is available, configure chokes.

Since I would like to keep the little sanity I still have, just force
linking with -latomic_ops. This is useless when the check is natrally
sucessful (i.e. on platforms where CAS is available in HW), but we
would eventually link with -latomic_ops there, too; it's just redundant.

Overall, just consider that erlang requires libatomic_ops, so forcibly
depend on it, it is easier than trying to disable it. We can revisit
that whenever someone wants to run erlang on a platform for which there
is no libatomic_ops support.

Fixes a slew of autobuild ARM failures:
    http://autobuild.buildroot.org/results/e7b/e7bfc4893dea6b133f0794ef44d50ad89bcb6662/
    http://autobuild.buildroot.org/results/3e9/3e9c307f1ec6536482641019dcaa94677f7267a3/
    http://autobuild.buildroot.org/results/a85/a85ca414e5b67af46510abd7b610eb5ae8661de4/
    [...]

[Thomas: fix minor typos in commit log, add dependency on
BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS to the Erlang comment about thread
and shared library dependency.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-04 21:26:07 +01:00
Frank Hunleth
e3254d06c5 erlang: fix typo in dependencies
If libatomic_ops was enabled, then the host-erlang dependency was lost.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-18 23:12:51 +01:00
Frank Hunleth
4a5b819c0f erlang: use libatomic_ops if available
Erlang can either provide its own atomic_ops implementation or use the
one in libatomic_ops. This patch ensures that it only uses the one from
libatomic_ops if it is available.

Fixes:

http://autobuild.buildroot.net/results/3eb/3ebfd36948d5a642cc83ce31ddf5902cb369bfbd/
http://autobuild.buildroot.net/results/04c/04cbf79ccf159e15f9ea3953b425faadafc8a1c0/
http://autobuild.buildroot.net/results/fc9/fc9904446553e67dd44954310fea26d751a0df5d/
http://autobuild.buildroot.net/results/501/501a12da25615071fb6197a898456cfe41a6451d/
http://autobuild.buildroot.net/results/34e/34e2fbb4d39737fd7defa5bd607726d52ef38568/
http://autobuild.buildroot.net/results/722/7220c3905ebe9e081f1e3b90641b0859d996c2ac/
http://autobuild.buildroot.net/results/ffd/ffdc531d8cf9adb43340d045aa88eb0b39fc9bb7/
http://autobuild.buildroot.net/results/b4f/b4f238bcb30b0191ce1a2be669fa792c8ccd3e69/

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-15 22:36:24 +01:00
Frank Hunleth
41d987dcc1 erlang: bump to version 17.4
Erlang/OTP 17.4 is a service release on the 17 track with mostly bug
fixes, but it does contain a number of new features and characteristics
improvements as well.

Some highlights of the release are:

  - eldap: Nearly all TCP options are possible to give in the
    eldap:open/2 call.
  - ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a
    pseudo tty.
  - ssl: Handle servers that may send an empty SNI extension to the client.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-13 10:06:02 +01:00
Thomas Petazzoni
665e13c85e Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.

As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.

This also helps preparing the addition of other options to select
shared, shared+static or just static.

Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-12-11 22:48:13 +01:00
Yann E. MORIN
1fee946037 package/erlang: disable for static builds
erlang wants to build shared libs, always.

So, disable erlang when we're building static-only.

Fixes:
    http://autobuild.buildroot.net/results/1ce/1ceaa6925d1ded236d01ae9feb31f5f915f6b51a/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-22 18:30:34 +01:00
Yann E. MORIN
e08ea03eb8 pakage/erlang: fix host build without termcap (curses) library
We do not need termcap (curses) support in the host variant of erlang.

Fixes a bunch of autobuild failures;
    http://autobuild.buildroot.net/results/4be/4bef658b6815929058c769037211f7e0fc8d1f9c/
    http://autobuild.buildroot.net/results/726/72619ed15590a3a5a41b7c398d973766ecab0a2e/
    http://autobuild.buildroot.net/results/366/366439438549d5f7656be72f71dae3bb5f99c6b2/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Nathaniel Roach <nroach44@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-18 21:52:31 +01:00
Yann E. MORIN
58381b3eca package/erlang: build host-erlang with support for openssl
Erlang uses openssl for all things crypto.

Since there are host Erlang tools that use crypto (such as rebar), we
need to build host-erlang with support for crypto, and thus it shall
depends on openssl.

Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Johan Oudinet <johan.oudinet@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-06 17:39:37 +02:00
Thomas De Schampheleire
aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00