aboutsummaryrefslogtreecommitdiffstats
path: root/erts/configure.in
AgeCommit message (Collapse)Author
2011-11-13Optimize memory allocationRickard Green
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system.
2011-09-21Remove static ssl linking in crypto for otp_buildBjörn-Egil Dahlberg
2011-09-08Merge branch 'dc/fix_win32_static_crypto' into devHenrik Nord
* dc/fix_win32_static_crypto: Fix win32 OpenSSL static linking broken in 20c9d6e OTP-9532
2011-08-11Fix win32 OpenSSL static linking broken in 20c9d6eDave Cottlehuber
2011-06-13Document fdatasync -lrt requirement (SunOS <= 5.10)Tuncer Ayaz
2011-06-09Move fdatasync autoconf checks to proper placeTuncer Ayaz
2011-05-18Merge branch 'pan/win_static_openssl/OTP-9280' into devPatrik Nyblom
* pan/win_static_openssl/OTP-9280: Mend --with-ssl= in erts/configure Update OpenSSL license text in crypto Link OpenSSL libraries static on Windows
2011-05-13Mend --with-ssl= in erts/configurePatrik Nyblom
2011-05-10Link OpenSSL libraries static on WindowsPatrik Nyblom
2011-05-09Expand the use of high memory allocation in halfword emulatorSverker Eriksson
Also add 'low' field in system_info(allocator) SHORT_LIVED is still in low memory
2011-04-08Merge branch 'hw/epmd-bind-to-address' into devHenrik Nord
* hw/epmd-bind-to-address: Allow user to specify the IP address epmd binds to OTP-9213
2011-04-05Merge branch 'ks/hipe-ppc64' into devHenrik Nord
* ks/hipe-ppc64: Enable HiPE by default when compiling for PPC64 Translate RTL to PPC code on PPC64 too Changes in ppc files for PPC64 Additions for the PPC64 backend Changes for the PPC64 backend Added loader for ppc64 New files for the 64-bit backends Cleanup tags OTP-9198
2011-04-01Merge branch 'sverker/config-hipe-halfword-prevent' into devSverker Eriksson
* sverker/config-hipe-halfword-prevent: Prevent configuration of hipe and halfword emulator together
2011-03-21Make Erlang build with Latest MS SDK, 7.1 (and VStudio 2010)Patrik Nyblom
2011-03-17Prevent configuration of hipe and halfword emulator togetherSverker Eriksson
If not explicitly enabled, hipe is auto-disabled for halfword emulator. Configuration fails if both are explicitly enabled.
2011-02-14Enable HiPE by default when compiling for PPC64Kostis Sagonas
2011-01-17Pass the external word size to the beam_makeops scriptBjörn Gustavsson
Giving the beam_makeops script access to the external word size (=the size of instruction words) will allow it to pack more operands into a word for the 64 bits emulator.
2010-12-03Merge branch 'pan/inet6_corrections/OTP-8969' into devRaimo Niskanen
* pan/inet6_corrections/OTP-8969: Stop using uncertain flags for getaddrinfo() Teach inet_test_lib to understand enetunreach Make windows inet_gethost work for ipv6
2010-12-02Stop using uncertain flags for getaddrinfo()Raimo Niskanen
The AI_V4MAPPED flag is falling out of grace in modern IPv6 stacks, for security reasons, e.g. FreeBSD do not document it any longer. The AI_ADDRCONFIG flag have got unclear semantics on the same OS.
2010-12-01Make windows inet_gethost work for ipv6Patrik Nyblom
2010-11-30Adapt inet_drv to Visual Studio 2008Patrik Nyblom
2010-11-18Merge branch 'pg/freebsd-cpu-affinity-and-topology' into devRickard Green
* pg/freebsd-cpu-affinity-and-topology: Add support for CPU affinity & topology detection on FreeBSD 8 OTP-8939
2010-11-18Add support for CPU affinity & topology detection on FreeBSD 8Paul Guyot
2010-11-18Merge branch 'rickard/configure-help/OTP-8859' into devRickard Green
* rickard/configure-help/OTP-8859: Cleanup configure help texts Conflicts: erts/aclocal.m4
2010-11-17Allow user to specify the IP address epmd binds toHolger Weiß
The IP address(es) epmd binds to can now be specified by the user, either via epmd's new "-address" option or (if that's not used) by setting the environment variable ERL_EPMD_ADDRESS. Multiple addresses may be specified using a comma-separated list. If the loopback address is not in this list, it will be added implicitly, so that the daemon can be queried by an interactive epmd process.
2010-11-09Implement basic inet:getifaddrs/0Raimo Niskanen
2010-09-22Cleanup configure help textsRickard Green
2010-09-07Merge branch 'mk/net-dragonfly-bsd-patches' into devBjörn Gustavsson
* mk/net-dragonfly-bsd-patches: Remove unused variables Use proper install method Add support for DragonFly BSD Add support for NetBSD
2010-09-06Merge branch 'ms/inet-bug-fixes' into devBjörn Gustavsson
* ms/inet-bug-fixes: inet: support retrieving MAC address on BSD inet: fix getservbyname buffer overflow inet: fix ifr_name buffer overflow inet: null terminate ifr_name buffer OTP-8816
2010-09-03inet: support retrieving MAC address on BSDMichael Santos
On systems supporting getaddrinfo(), support looking up the MAC address from inet:ifget/2. The results have the same quirks as with Linux: if the MAC address is longer than 6 bytes (e.g., fw0 under Mac OS X), the address is truncated; if the interface does not have a MAC address (e.g., lo0), an address consisting of 0's is returned.
2010-09-01Cleanup ssl configure partsDan Gudmundsson
2010-08-30Merge branch 'pan/local_univ_time_bsd/OTP-8580' into devPatrik Nyblom
* pan/local_univ_time_bsd/OTP-8580: Teach erl_time_sup to handle timezones w/o DST on FreeBSD as on other platforms
2010-08-27Fix SSL build failure when building in minimal source treeRickard Green
Building in a source tree without prebuilt platform independent build results failed on the SSL examples when building on Windows.
2010-08-27Fix SSL build failure when building in minimal source treeRickard Green
Building in a source tree without prebuilt platform independent build results failed on the SSL examples when cross building. This has been solved by not building the SSL examples during a cross build.
2010-08-24Merge branch 'rickard/nptl-configure/OTP-8774' into devRickard Green
* rickard/nptl-configure/OTP-8774: Removed unused define Fix propagation of nptl info
2010-08-19Removed unused defineRickard Green
2010-08-19Fix propagation of nptl infoRickard Green
2010-08-17erts: Remove broken elib_mallocBjörn Gustavsson
elib_malloc is an alternate memory allocator that is no longer possible to build.
2010-08-13Add support for NetBSDMartti Kuparinen
These are the current NetBSD pkgsrc patches.
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-06-23Teach erl_time_sup to handle timezones w/o DST on FreeBSD as on other platformsPatrik Nyblom
This change handles erlang:localtime_to_universaltime(...,true) in timezones without DST in a consistent way over platforms. Specifically BSD did return an (accurate) -1 from mktime, which blew things up. Now all platforms regard no DST as a DST with delta zero. Linux, SunOS, MacOS etc already did this, why the behaviour on BSD was updated to the slightly incorrect one instead of breaking backward compatibility on most other platforms. Before this change, erlang:localtime_to_universaltime({{2008, 8, 1}, {0, 0, 0}},true) would return {1969, 12, 31}, {23, 59, 59}} when TZ=UTC on FreeBSD, now it mimics the behaviour of other systems and returns {{2008, 8, 1},{0, 0, 0}}. The problem was originally reported by Paul Guyot on erlang-bugs mailing list: http://www.erlang.org/pipermail/erlang-bugs/2008-November/001077.html This correction replaces earlier BSD specific open source patches for this problem.
2010-05-20Add file:advise/4 - a wrapper to the POSIX syscall posix_fadviseFilipe David Manana
Useful for informing the Operating System about the access pattern for a file's data, so that it can adapt the caching strategy to maximize disk IO performance.
2010-05-20Add file:datasync/1 for syncing file contents onlyFilipe David Manana
file:datasync/1 invokes the POSIX system call "int fdatasync(int fd)". This system call is similar to "fsync" but, unlike fsync, it does not update the metadata associated with the file (like the access time for example). It's used by many DBMSs (MySQL and SQLite of example) to increase disk IO performance, as it avoids disk seeks and disk write operations compared to fsync. More details on it at: http://linux.die.net/man/2/fdatasync An example, from the MySQL source: http://bazaar.launchpad.net/~mysql/mysql-server/mysql-5.1-telco-6.1/annotate/head%3A/mysys/my_sync.c#L61 This new function just calls fsync on systems not implementing fdatasync.
2010-04-30configure: Remove stray OSE/Delta supportBjörn Gustavsson
2010-04-06Build placeholder PDF files if FOP is not foundTuncer Ayaz
If FOP is not found create PDF files with fakefop script. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-03-31OTP-8484 Fix minor cross compilation issuesRickard Green
The use of mmap() was unnecessarily disabled when cross compiling. The configure arguments --with-ssl, and --with-odbc refused to accept libraries outside of $erl_xcomp_sysroot when cross compiling for no good reason. The configure argument --with-odbc didn't handle the value yes correct. The configure arguments --with-odbc, and --without-odbc have also been added to the configure help. (Thanks to Steve Vinoski for reporting these issues)
2010-03-10Store pointers to heap data in 32-bit wordsPatrik Nyblom
Store Erlang terms in 32-bit entities on the heap, expanding the pointers to 64-bit when needed. This works because all terms are stored on addresses in the 32-bit address range (the 32 most significant bits of pointers to term data are always 0). Introduce a new datatype called UWord (along with its companion SWord), which is an integer having the exact same size as the machine word (a void *), but might be larger than Eterm/Uint. Store code as machine words, as the instructions are pointers to executable code which might reside outside the 32-bit address range. Continuation pointers are stored on the 32-bit stack and hence must point to addresses in the low range, which means that loaded beam code much be placed in the low 32-bit address range (but, as said earlier, the instructions themselves are full words). No Erlang term data can be stored on C stacks (enforced by an earlier commit). This version gives a prompt, but test cases still fail (and dump core). The loader (and emulator loop) has instruction packing disabled. The main issues has been in rewriting loader and actual virtual machine. Subsystems (like distribution) does not work yet.
2010-02-10Fix the shell operator bug of "==" to "=" in erts/configure.inKenji Rikitake
In UNIX test command, "==" is incorrect for string comparison; "=" is the right operator. Originally pointed out by Giacomo Olgeni in the following article: http://www.erlang.org/pipermail/erlang-patches/2008-November/000334.html and available as a FreeBSD port patch. Accordingly fixed in erts/configure.in
2010-02-10Merge branch 'pan/enable_m32_build' into ccase/r13b04_devErlang/OTP
* pan/enable_m32_build: Teach configure --enable-m32-build for forcing a 32-bit build OTP-8415 configure learned the option --enable-m32-build to force the building of a 32-bit run-time on systems where the default C compiler generates 64-bit executables by default.
2010-02-08Merge branch 'gc/hipe_darwin_amd64' into ccase/r13b04_devErlang/OTP
* gc/hipe_darwin_amd64: Fix hipe memory allocation problems on darwin/amd64 Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code Automatically enable hipe for darwin/amd64 builds Allow configure to enable_hipe for darwin/amd64 builds OTP-8416 HiPE now works in the 64-bit emulator on Mac OS X. (Thanks to Geoff Cant.)