Commit Graph

29 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Frank Hunleth
3e506a980d erlang: bump to version 17.3
Erlang/OTP 17.3 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.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-21 21:16:03 +02:00
Frank Hunleth
7abc724b78 erlang: bump to version 17.1
Erlang/OTP 17.1 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:
  - crypto: Add aes_cfb8 cypher to crypto:block_encrypt and block_decrypt.
  - diameter: Add result code counters for CEA, DWA, and DPA.
  - erts: The following built in functions in the erlang and binary modules
    now bump an appropriate amount of reductions and yield when out of
    reductions:
    binary_to_list/1, binary_to_list/3, bitstring_to_list/1,
    list_to_binary/1,
    iolist_to_binary/1, list_to_bitstring/1, binary:list_to_bin/1
  - hipe: Handle Maps instructions get_map_elements, put_map_assoc,
    put_map_exact in the HiPE native code compiler.
  - mnesia: The time for inserting locks for a transaction with large
    number of locks is reduced significantly.
  - ssh: Option max_sessions added to ssh:daemon/{2,3}.
  - stdlib: Add maps:get/3 to maps module. The function will return the
    supplied default value if the key does not exist in the map.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-15 11:23:50 +02:00
Frank Hunleth
00856e2ba2 erlang: bump version to 17.0
Erlang/OTP 17.0 is a new major release with new features, characteristics
improvements, as well as some minor incompatibilities.

Some highlights of the release are:
  - Erlang/OTP has been ported to the realtime operating system OSE.
  - Maps, a new dictionary data type (experimental)
  - A more natural mapping from ASN.1 OCTET STRING and BIT STRING to Erlang
    types, and other ASN.1 improvements and optimizations
  - The {active, N} socket option for TCP, UDP, and SCTP
  - A new (optional) scheduler utilization balancing mechanism
  - Migration of memory carriers has been enabled by default on all ERTS
    internal memory allocators
  - Increased garbage collection tenure rate
  - Experimental "dirty schedulers" functionality
  - Funs can now be given names
  - Miscellaneous unicode support enhancements
  - A new version scheme for OTP its applications has been introduced

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-10 22:40:45 +02:00
Frank Hunleth
da18018b5f erlang: bump version to R16B03-1
OTP R16B03-1 is a service release which corrects a few issues found in
the R16B03 release. The corrections are:

 - The ODBC application was missing in the prebuilt Windows installers
 - 3 corrections in the SSL application:
   - Add missing validation of the server_name_indication option and test for
     its explicit use.
   - Elliptic curve selection in server mode now properly selects a curve
     suggested by the client, if possible.
   - The server did not indicate support for secure renegotiation during TLS
     extension handling.
 - In the syntax tools application a bug was introduced which broke
   reverting of local funs. This is now corrected (thanks to Anthony
   Ramine)
 - wx - Solved a problem which caused the debugger to crash when closing a
   window. Fixed static linking on Mac.
 - xmerl - Fixed a problem in the SAX-parser when the header of the next
   document was appearing in the buffer when using the
   xmerl_sax_parser:stream/2 function.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-28 14:11:03 +01:00
Frank Hunleth
472f629fa9 erlang: bump to version R16B03
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-15 20:39:16 +01:00
Frank Hunleth
c1781787f8 erlang: add option to enable SMP support
Erlang builds two emulators depending on whether SMP is supported or
not. If it is known that the target does not support SMP, turning off
the SMP emulator saves compile time and reduces the size of the
installation.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-15 09:47:37 +01:00
Frank Hunleth
98fe337d19 erlang: bump to version R16B01
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-20 15:18:32 +02:00
Frank Hunleth
205d72c686 erlang: pass erl_xcomp_sysroot to configure
This is required for building the 'crypto', 'odbc', 'ssh'
and 'ssl' Erlang applications. These apps are skipped
regardless of whether they're enabled and their dependencies
can be met if this environment variable isn't set.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-20 15:18:24 +02:00
Hans Bulfone
fef61fb468 erlang: install to staging
This is required to build custom port drivers/NIFs or code that
uses erl_interface.

Signed-off-by: Hans Bulfone <hans@nil.at>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-10 09:23:25 +02:00
Peter Korsgaard
d3235d7a96 erlang: bump version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-12 10:25:37 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Thomas Petazzoni
9bf020f544 erlang: don't build the Java stuff on the host
We don't need the Java stuff, and it causes build failures on certain
machines:

 http://autobuild.buildroot.org/results/99035e89e101c41d5e8b5ef6a025856f4af88ae2/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-16 23:25:11 +02:00
Peter Korsgaard
ebb2e058b0 erlang: fix host version dependencies
Fixes http://autobuild.buildroot.net/results/8816fe16534062cdf0d3a682a7408f9adbea2985

The host version of erlang does not need to enable support for & depend on
host versions of ncurses/openssl/zlib, even if the target version does.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-05 07:23:15 +02:00
Will Newton
5886b6f15c erlang: new package
Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-24 23:39:29 +02:00