aboutsummaryrefslogtreecommitdiffstats
path: root/HOWTO
AgeCommit message (Collapse)Author
2015-07-14Merge branch 'lukas/ose/remove/OTP-12573'Lukas Larsson
* lukas/ose/remove/OTP-12573: Remove OSE from erl_interface ose: Remove all code related to the OSE port
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-07-08Prefer monotonic time that stop during suspendRickard Green
2015-07-07Add the --enable-gettimeofday-as-os-system-time configure switchRickard Green
Forces usage of gettimeofday() for OS system time
2015-06-18Change license text to APLv2Bruce Yinhe
2015-03-27Merge branch 'dgud/wx/prefer-wxMSW-3/OTP-12632'Dan Gudmundsson
* dgud/wx/prefer-wxMSW-3/OTP-12632: wx: Fix variable cursor constants wx: On Mac keyboards use meta field as raw_ctrl wx: Prefer wxWidgets-3.0. branch on windows
2015-03-27wx: Prefer wxWidgets-3.0. branch on windowsDan Gudmundsson
Since no bug fixes are done anymore on the 2.8 branch it is time to switch the preferred version to 3.0 branch.
2015-03-20Merge branch 'rickard/gcc-atomics/OTP-12383'Rickard Green
* rickard/gcc-atomics/OTP-12383: Improve ethread atomics based on GCC builtins Conflicts: erts/aclocal.m4
2015-03-17Minor fixesRickard Green
2015-03-17Add support for patching of individual applicationsRickard Green
2015-01-14Improve ethread atomics based on GCC builtinsRickard Green
* Use of __atomic builtins when available. * Improved configure test that checks for missing memory barrier in __sync_synchronize(). The old approach was to verify known working gcc versions and check gcc version at compile time. Besides not being very safe, the old approach often unnecessarily caused usage of the very expensive workaround. * Introduced (no overhead) workaround for missing clobber in __sync_synchronize() when using buggy LLVM implementation of __sync_synchronize(). * Implement native memory barriers for ARM processors supporting the DMB instruction. * Use of volatile store on Alpha as atomic set operation if no __atomic_store_n() is available (already used on x86/x86_64 Sparc V9, PowerPC, and MIPS). Fallback used when not using volatile store is typically very expensive. * Use volatile load on Alpha and ARM as atomic read operation if no __atomic_load_n() is available (already used on x86/x86_64 Sparc V9, PowerPC, and MIPS). Fallback when not using volatile load is typically very expensive.
2014-11-26Improve documentation about atomic operationsRickard Green
2014-08-04Fix some spelling misstakesLukas Larsson
2014-06-17doc: Fix broken links in Installation GuideBjörn-Egil Dahlberg
2014-04-03Update instructions for cloning the wxWidgets repositoryBjörn Gustavsson
The master branch has incompatible changes by default. The safest course for now is to use the WX_3_0_branch.
2014-04-03Update/remove references to --enable-shared-zlibBjörn Gustavsson
In 9f57d8c4f86323cf7481c9a7e512486087bb5542, the configure option --enable-shared-zlib. It was replaced with --enable-builtin-zlib.
2014-04-02Correct and clean up documentationMagnus Lidén
The build and install documentation was not complete and needed some restructuring.
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson
2014-03-21Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
2014-03-12Update compile instructions when compiling from gitSage Imel
Updating to reflect the instructions found on the mailing list. http://erlang.org/pipermail/erlang-questions/2012-April/066184.html
2014-02-26Let xcomp/README.md refer to HOWTO/INSTALL-CROSS.mdRickard Green
2014-02-24Merge branch 'lukas/ose/master/OTP-11334'Lukas Larsson
* lukas/ose/master/OTP-11334: (71 commits) erts: Fix unix efile assert ose: Use -O2 when building ose: Expand OSE docs ose: Add dummy ttsl driver ose: Cleanup cleanup of mutex selection defines ose: Polish mmap configure checks ose: Add ose specific x-compile flags ose: Updating fd_driver and spawn_driver for OSE ose: Updating event and signal API for OSE ose: Cleanup of mutex selection defines win32: Compile erl_log.exe ose: Remove uneccesary define ose: Fix ssl configure test for osx erts: Fix sys_msg_dispatcher assert ose: Fix broken doc links ose: Thread priorities configurable from lmconf ose: Yielding the cpu is done "the OSE" way ose: Start using ppdata for tse key ose: Do not use spinlocks on OSE ose: Fix support for crypto ... Conflicts: lib/crypto/c_src/crypto.c
2014-02-24ose: Add ose specific x-compile flagsLukas Larsson
2014-02-24Merge branch 'rickard/configure-defaults/OTP-11723'Rickard Green
* rickard/configure-defaults/OTP-11723: Always default to disabled floating point exceptions on Linux
2014-02-24Always default to disabled floating point exceptions on LinuxRickard Green
This since there exist unresolved stability issues in the implementation for Linux.
2014-02-23Introduce configure option --with-assumed-cache-line-size=SIZERickard Green
2014-02-21Merge branch 'rickard/doc-build/OTP-11713'Rickard Green
* rickard/doc-build/OTP-11713: Build documentation with bootstrap system
2014-02-21Merge branch 'rickard/otp_version/OTP-11615'Rickard Green
* rickard/otp_version/OTP-11615: Misc adjustments of OTP version
2014-02-19Build documentation with bootstrap systemRickard Green
Enables build of documentation in source trees that has been cross built
2014-02-19Misc adjustments of OTP versionRickard Green
2014-02-06dtrace: Update dtrace docs with latest tested platformsLukas Larsson
2014-01-29Minor update of INSTALL.mdRickard Green
2014-01-28Merge branch 'vinoski/ds'Rickard Green
* vinoski/ds: initial support for dirty schedulers and dirty NIFs
2014-01-28initial support for dirty schedulers and dirty NIFsSteve Vinoski
Add initial support for dirty schedulers. There are two types of dirty schedulers: CPU schedulers and I/O schedulers. By default, there are as many dirty CPU schedulers as there are normal schedulers and as many dirty CPU schedulers online as normal schedulers online. There are 10 dirty I/O schedulers (similar to the choice of 10 as the default for async threads). By default, dirty schedulers are disabled and conditionally compiled out. To enable them, you must pass --enable-dirty-schedulers to the top-level configure script when building Erlang/OTP. Current dirty scheduler support requires the emulator to be built with SMP support. This restriction will be lifted in the future. You can specify the number of dirty schedulers with the command-line options +SDcpu (for dirty CPU schedulers) and +SDio (for dirty I/O schedulers). The +SDcpu option is similar to the +S option in that it takes two numbers separated by a colon: C1:C2, where C1 specifies the number of dirty schedulers available and C2 specifies the number of dirty schedulers online. The +SDPcpu option allows numbers of dirty CPU schedulers available and dirty CPU schedulers online to be specified as percentages, similar to the existing +SP option for normal schedulers. The number of dirty CPU schedulers created and dirty CPU schedulers online may not exceed the number of normal schedulers created and normal schedulers online, respectively. The +SDio option takes only a single number specifying the number of dirty I/O schedulers available and online. There is no support yet for programmatically changing at run time the number of dirty CPU schedulers online via erlang:system_flag/2. Also, changing the number of normal schedulers online via erlang:system_flag(schedulers_online, NewSchedulersOnline) should ensure that there are no more dirty CPU schedulers than normal schedulers, but this is not yet implemented. You can retrieve the number of dirty schedulers by passing dirty_cpu_schedulers, dirty_cpu_schedulers_online, or dirty_io_schedulers to erlang:system_info/1. Currently only NIFs are able to access dirty scheduler functionality. Neither drivers nor BIFs currently support dirty schedulers. This restriction will be addressed in the future. If dirty scheduler support is present in the runtime, the initial status line Erlang prints before presenting its interactive prompt will include the indicator "[ds:C1:C2:I]" where "ds" indicates "dirty schedulers", "C1" indicates the number of dirty CPU schedulers available, "C2" indicates the number of dirty CPU schedulers online, and "I" indicates the number of dirty I/O schedulers. Document The dirty NIF API in the erl_nif man page. The API closely follows Rickard Green's presentation slides from his talk "Future Extensions to the Native Interface", presented at the 2011 Erlang Factory held in the San Francisco Bay Area. Rickard's slides are available online at http://bit.ly/1m34UHB . Document the new erl command-line options, the additions to erlang:system_info/1, and also add the erlang:system_flag/2 dirty scheduler documentation even though it's not yet implemented. To determine whether the dirty NIF API is available, native code can check to see whether the C preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT is defined. To check if dirty schedulers are available at run time, native code can call the boolean enif_have_dirty_schedulers() function, and Erlang code can call erlang:system_info(dirty_cpu_schedulers), which raises badarg if no dirty scheduler support is available. Add a simple dirty NIF test to the emulator NIF suite.
2014-01-28Fix MacOSX build instructionsDan Gudmundsson
Remove confusing and obsolete build instructions for Lion.
2014-01-21Merge branch 'maint'Dan Gudmundsson
2014-01-15Update wx build instsructions for DarwinDan Gudmundsson
2013-11-01Merge branch 'maint'Lukas Larsson
* maint: erts: Add max alignment posix_memalign configure check
2013-11-01Merge branch 'lukas/erts/openbsd-posix-memalign-fix/OTP-11371' into maintLukas Larsson
* lukas/erts/openbsd-posix-memalign-fix/OTP-11371: erts: Add max alignment posix_memalign configure check
2013-11-01erts: Add max alignment posix_memalign configure checkLukas Larsson
On some OSs posix_memalign exists, but it does not allow for alignment greater than the current page size. So we have to do a runtime check for alignment size and also add cross compile options.
2013-10-30Merge branch 'maint'Fredrik Gustafsson
2013-10-30Update INSTALL.mdJakub
Added info how to generate configure file if building from git.
2013-09-06Merge branch 'maint'Lukas Larsson
* maint: Ignore odbc cores Cross compilation is now a supported feature
2013-09-06Merge branch 'lukas/r16b02/docfixes' into maintLukas Larsson
* lukas/r16b02/docfixes: Ignore odbc cores Cross compilation is now a supported feature
2013-09-02Merge branch 'maint'Lukas Larsson
* maint: Refactor and change EXTRA_APPLICATIONS to use ls Add configure option --without-$app Conflicts: HOWTO/INSTALL.md lib/Makefile
2013-09-02Add configure option --without-$appLukas Larsson
This is used to skip the specified app when building and releasing
2013-08-29Cross compilation is now a supported featureLukas Larsson
2013-08-21erts: Document --enable-static-nif/driverLukas Larsson
2013-07-09Refuse to build SMP runtime by default without native atomicsRickard Green
Build with fallback can be enabled by passing the `configure` command line argument `--disable-smp-require-native-atomics`