aboutsummaryrefslogtreecommitdiffstats
path: root/HOWTO/INSTALL.md
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-08-21 15:21:04 +0200
committerLukas Larsson <[email protected]>2013-08-21 15:21:04 +0200
commitb80f30417fce361ebb19a13a471090165b7ad1c8 (patch)
treea87b8f0b9bcbc782a137f08f2e240d0c4fb887e4 /HOWTO/INSTALL.md
parenta27e9776c839aa9fed9e71e3d06a33720377e293 (diff)
parenta6e883426efb5b205122e85a4f868647e31206c5 (diff)
downloadotp-b80f30417fce361ebb19a13a471090165b7ad1c8.tar.gz
otp-b80f30417fce361ebb19a13a471090165b7ad1c8.tar.bz2
otp-b80f30417fce361ebb19a13a471090165b7ad1c8.zip
Merge branch 'lukas/erts/static_nifs/OTP-11258'
* lukas/erts/static_nifs/OTP-11258: erts: Document --enable-static-nif/driver erts: Add support for static linked-in drivers erts: Add option to include nifs statically
Diffstat (limited to 'HOWTO/INSTALL.md')
-rw-r--r--HOWTO/INSTALL.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/HOWTO/INSTALL.md b/HOWTO/INSTALL.md
index fa1b9d2e89..9ea50ce86c 100644
--- a/HOWTO/INSTALL.md
+++ b/HOWTO/INSTALL.md
@@ -296,6 +296,18 @@ Some of the available `configure` options are:
you can build using a fallback implementation based on mutexes or spinlocks.
Performance of the SMP runtime system will however suffer immensely without
an implementation for native atomic memory accesses.
+* `--enable-static-{nifs,drivers}` - To allow usage of nifs and drivers on OSs
+ that do not support dynamic linking of libraries it is possible to statically
+ link nifs and drivers with the main Erlang VM binary. This is done by passing
+ a comma seperated list to the archives that you want to statically link. e.g.
+ `--enable-static-nifs=/home/$USER/my_nif.a`. The path has to be absolute and the
+ name of the archive has to be the same as the module, i.e. `my_nif` in the
+ example above. This is also true for drivers, but then it is the driver name
+ that has to be the same as the filename. You also have to define
+ `STATIC_ERLANG_{NIF,DRIVER}` when compiling the .o files for the nif/driver.
+ If your nif/driver depends on some other dynamic library, you now have to link
+ that to the Erlang VM binary. This is easily achived by passing `LIBS=-llibname`
+ to configure.
If you or your system has special requirements please read the `Makefile` for
additional configuration information.