Commit graph

212 commits

Author SHA1 Message Date
Marius Gerbershagen
90043d205c stacks: fix default C stack size
The ifdef in config-internal.h was buggy since RLIMIT_STACK is only defined after
sys/resource.h has been included which it wasn't. This lead to the stack size always being
increased to at least the default of 1 MB. To fix this, we move the check for RLIMIT_STACK
to the configure script.
2020-06-11 15:16:10 +02:00
Marius Gerbershagen
e0bf0f5ac2 gc: remove unnecessary workarounds for old bdwgc versions 2020-05-10 19:47:05 +02:00
Marius Gerbershagen
350c493cb4 configure: only disable fpe but not ieee-fp for mingw
Due to recent changes, it is possible to have infinity and NaN, but
without floating point exceptions.
2020-03-01 18:49:49 +01:00
Marius Gerbershagen
e65e23ee8a configure: check if feenableexcept is actually working
Not all processors will signal floating point exceptions even when
told so, for example the Raspberry Pi as Dave Richards pointed out on
the ecl-devel mailing list.
2020-01-11 15:37:15 +01:00
Marius Gerbershagen
d7b2dfb722 Change handling of C stack size
Previously: unconditionally use the size from ECL_OPT_C_STACK_SIZE if
it is larger than the OS provided value and if possible resize the
stack at runtime.

Now: Use ECL_OPT_C_STACK_SIZE if provided. Otherwise, use a) the OS
provided value if we can resize the stack at runtime (for Unix) or b)
the new build option ECL_DEFAULT_C_STACK_SIZE (1 MB) if we can set the
stack size at link time (for Windows).
2019-12-26 19:13:31 +01:00
Marius Gerbershagen
dbe43c09e6 libffi: disable building the documentation 2019-12-18 21:38:59 +01:00
Marius Gerbershagen
5860f42f88 ffi: Update libffi to version 3.3 2019-12-09 19:49:30 +01:00
Daniel Kochmański
bc839d2a41 aclocal: fix typo in test for complex float 2019-05-25 09:55:50 +02:00
Daniel Kochmański
ea87100a06 long-float: remove conditionalization
Many parts of the source code were bent backward to support builds
without long floats which are always present given we depend expect
c99 compiler.

The corresponding C macros (ECL_LONG_FLOAT) and the *feature*
entry (:long-float) are marked as deprecated in the documentation.
2019-05-24 21:04:59 +00:00
Daniel Kochmański
1533824059 buildsystem: improve checks for floats
We do not check for c99-mandated functions for long float (we only
check for the type). We also check for complex numbers in a separate
function and define ECL_COMPLEX_FLOAT when found.
2019-05-05 10:38:02 +02:00
Marius Gerbershagen
1ad91df1cf configure: fix check for system libatomic_ops
Previously we would not fail if trying to link to an incompatible
libatomic_ops.a
Fixes #481.
2019-03-25 19:46:02 +01:00
Marius Gerbershagen
19c6635ff0 expt: use pow function for floating point numbers
Improves speed and accurracy.
2019-02-12 22:37:23 +01:00
Marius Gerbershagen
d0cf3c86e4 build libecl.so with soname on Android
Otherwise the linker on recent Android versions will not find
    libecl.so. For compatibility with existing Android apps which only
    distribute a libecl.so file, but not a libecl.so.16.x file, we
    don't use a version component in soname, since the linker on older
    Android versions only looks for libraries matching the exact
    soname.
2019-01-12 22:51:59 +01:00
Marius Gerbershagen
6090d9d201 update installation instructions for recent Android NDKs and support ARM64
Works for Android NDKs with unified headers (see https://android.googlesource.com/platform/ndk/+/ndk-release-r16/docs/UnifiedHeaders.md).
    Separate step of configuring a standalone toolchain is recommended
    by the Android docs. Explicitely setting CC to clang is useful,
    since gcc in Android NDK is deprecated and outright broken in NDK
    version 18. Using the bfd linker is needed for bdwgc to work
    correctly (see also https://github.com/ivmai/bdwgc/issues/259).
2019-01-12 22:51:17 +01:00
Marius Gerbershagen
06d6ffe158 android: do not compile with -D_FILE_OFFSET_BITS=64
Otherwise on NDK >= 16 fseeko and ftello are not declared in
    stdio.h for Android API versions smaller than 24 (See
    https://android-developers.googleblog.com/2017/09/introducing-android-native-development.html).
2019-01-12 20:21:19 +01:00
Marius Gerbershagen
76941e25dc fix the broken serialization functions for externalizable objects 2018-12-10 18:14:01 +01:00
Sébastien Villemot
2ef5d11cf9 Fix ECL_LINEFEED_MODE test with -Werror=format-security
In Debian, the -Werror=format-security flag is now passed by default to gcc.
This makes the ECL_LINEFEED_MODE test fail.

The fix is to replace the call to fprintf() by fputs().
2018-10-29 19:38:17 +01:00
Marius Gerbershagen
fb643f6b0f buildsystem: fix building for mingw64
mingw64 also defines __MINGW32__ and sets the host system type to
    be x86_64-w64-mingw32, so we only need to change the way we detect this
    in aclocal.m4.
2018-07-07 22:16:49 +02:00
Marius Gerbershagen
b87fc19afb remove no longer needed checks in configure.ac 2018-05-08 19:36:11 +02:00
Daniel Kochmanski
0494fb1592 Moderate interface cleanup
- unicode name tables are always compiled in when we have unicode support
- thread local variables support is removed
- profile and rt contribs are deprecated
2018-05-01 10:16:20 +02:00
Fabrizio Fabbri
ed737d2050
Fix configure on solaris 2017-06-22 00:45:38 +02:00
Fabrizio Fabbri
6be9cb9dee osx: fix #343 runtime path 2017-01-19 23:12:43 +01:00
Daniel Kochmański
cb3294fc7b fix parallel builds 2017-01-06 18:52:24 +01:00
Daniel Kochmański
370bc48622 autotools: improve cc script 2016-12-11 11:11:28 +01:00
Daniel Kochmański
14a849b7fe mingw: ieee-fp implies with-fpe 2016-12-09 16:46:30 +01:00
Daniel Kochmański
67ceb4e7f9 aclocal: fix cygwin and mingw 2016-12-09 15:28:12 +01:00
Daniel Kochmański
53e2f6807a correct typo 2016-11-19 11:45:34 +01:00
Daniel Kochmański
09cdf272a2 build: remove c/-subdir recursive make 2016-10-08 23:04:10 +02:00
Daniel Kochmański
1c2942d15d configure: ensure pthreads_rwlock_t 2016-09-20 14:53:33 +02:00
Kacper Kasper
c951b72b2d Haiku support.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2016-08-10 16:47:07 +02:00
Fabrizio Fabbri
8ba88efb61 Build svr4 like shared object on AIX. 2016-05-31 08:09:47 -04:00
Daniel Kochmański
d948bd69fe Merge branch 'develop' into 'develop'
Support for aix on 32 and 64 bit.

* add UNIX as *features* on aix to build asdf.
* configure thread and runlime linking.
* generalize print_lock macro as xlC complain on variadic
  macro arguments number.

See merge request !23
2016-05-30 10:42:40 +00:00
Fabrizio Fabbri
311f34a2d6 Support for aix on 32 and 64 bit.
* add UNIX as *features* on aix to build asdf.
* configure thread and runlime linking.
* generalize print_lock macro as xlC complain on variadic
  macro arguments number.
2016-05-30 06:32:41 -04:00
Daniel Kochmański
da59fc8081 configure: longdouble: check more libm functions
On armv7hf NetBSD libm doesn't provide ldexpl frexpl functions while
provides sinl cosl tanl logl and expl apparently. To sanitize the
autodetection of long double we need to add them to the list.
2016-05-30 10:01:55 +02:00
Fabrizio Fabbri
52de2ceea6 Fix compilation for AIX and xlc compiler. 2016-03-02 12:08:48 -05:00
Daniel Kochmański
f49fd1ea81 build: fix solaris target (enable C99) 2015-12-10 13:49:01 +01:00
Daniel Kochmański
d7776157d6 makefile: bdwgc depends on libatomic_ops
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
db8190752b cosmetic: indentation tabs and columns number
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
048492ab56 build: fix include directory for bdwgc
It couldn't find atomic_ops.h which were in build/ecl directory

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
7c713d7dd0 build: fix tabs and don't overwrite gc dir
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Sylvain Ageneau
df019224f8 mobile: support Nacl and PNacl
This patch adds support for chrome's Native Client and Portable Native
Client
2015-10-23 18:12:54 +02:00
Daniel Kochmański
fe68809a34 mobile: add android platform to the build scripts
This allows enables building of ECL for android platform.
Based on work of Sylvain Ageneau.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
d077473517 changelog: check for GC_get_thr_restart_signal only on threaded build
ECL checked for GC_get_thr_restart_signal even if was built without
threads. This function is present in boehm only when it's build with
threads, but we don't need this functionality for single-threaded
builds. Fixes #146.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-29 20:25:31 +02:00
Philipp Marek
f6cc726a16 configure: Don't overwrite system_boehm detection variable.
All conditions must be fulfilled to enable the already-installed
BWDGC; on *any* failures the included one must be used.
2015-08-21 07:50:10 +02:00
Daniel Kochmański
54777b8b40 configure: fix boehm autodetection
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-20 20:50:13 +02:00
Daniel Kochmański
f52cf9c671 autotools, gc: refine aclocal.m4, refine GC detection, remove hack
Remove `ifdef' against GC version with hack - if GC too old use
included one. Also set default stack direction to `down' (on
cross-compilation) and fix cross-compilation of GMP. Fixes #87.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-06 22:43:16 +02:00
Daniel Kochmański
ebb2373650 bdwgc: Update library to version 7.4.2.
- libatomic_ops is updated accordingly,
- new directory for garbage collector is bdwgc,
- updated MSVC Makefiles,
- obsolete directories gc and gc-unstable are removed.
2015-04-24 23:28:24 +02:00
evrimulu
285850ae23 - Fix stack direction determining code in src/aclocal.m4
- update autoconf, autoreconf -ivf
2015-02-24 12:43:25 +09:00
evrimulu
1c18da9102 Upgrade to autoconf 2.69,
- fix AC_DEFINE's,
 - fix AC_DEFINE_QUOTED,
 - add autoreconf to bdwgc if its not already configures
   (this is the case for the latest)
 - add directory src/ecl
 - add file src/ecl/configpre.h generated by autoreconf.

Please run autoreconf -ivf next time if you wish to regenerate.
Maybe its better to switch to automake some time later.
-evrim.
2015-02-24 12:39:40 +09:00
D Herring
285eb31812 fixes for the detection of GC_start_call_back
- HAVE_GC_SET_START_CALLBACK was defined unconditionally
- there was no AC_DEFINE if system_boehm was false
- there was a typo in one usage site of this macro

see 6b754564f1
2014-02-27 09:43:21 +01:00