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.
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.
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).
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.
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.
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.
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().
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.
- unicode name tables are always compiled in when we have unicode support
- thread local variables support is removed
- profile and rt contribs are deprecated
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
* 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.
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.
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>
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>
- libatomic_ops is updated accordingly,
- new directory for garbage collector is bdwgc,
- updated MSVC Makefiles,
- obsolete directories gc and gc-unstable are removed.
- 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.
- 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