diff options
Diffstat (limited to 'xcomp/erl-xcomp.conf.template')
-rw-r--r-- | xcomp/erl-xcomp.conf.template | 287 |
1 files changed, 143 insertions, 144 deletions
diff --git a/xcomp/erl-xcomp.conf.template b/xcomp/erl-xcomp.conf.template index afbef66af1..090f92c15f 100644 --- a/xcomp/erl-xcomp.conf.template +++ b/xcomp/erl-xcomp.conf.template @@ -21,239 +21,238 @@ #### Author: Rickard Green #### #### -------------------------------------------------------------------------- -#### When cross compiling Erlang/OTP using `otp_build', copy this file and set +#### When cross compiling Erlang/OTP using `otp_build`, copy this file and set #### the variables needed below. Then pass the path to the copy of this file as -#### an argument to `otp_build' in the configure stage: -#### `otp_build configure --xcomp-conf=<FILE>' +#### an argument to `otp_build` in the configure stage: +#### `otp_build configure --xcomp-conf=<FILE>` #### -------------------------------------------------------------------------- ### Note that you cannot define arbitrary variables in a cross compilation ### configuration file. Only the ones listed below will be guaranteed to be -### visible throughout the whole execution of all `configure' scripts. Other -### variables needs to be defined as arguments to `configure' or exported in +### visible throughout the whole execution of all `configure` scripts. Other +### variables needs to be defined as arguments to `configure` or exported in ### the environment. -### ---- `otp_build' only variables ------------------------------------------- +### ### Variables for `otp_build` Only ### ### Variables in this section are only used, when configuring Erlang/OTP for -### cross compilation using `$ERL_TOP/otp_build configure'. - -### NOTE! These variables currently have *no* effect if you configure using the -### `configure' script directly. - -## erl_xcomp_build - Build system. -## This value will be passed as `--build=$erl_xcomp_build' argument to the -## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, -## but can be. The full CPU-VENDOR-OS triplet will be created by: -## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build' -## If `erl_xcomp_build=guess', the build system will be guessed using: -## `$ERL_TOP/erts/autoconf/config.guess'. +### cross compilation using `$ERL_TOP/otp_build configure`. + +### *NOTE*! These variables currently have *no* effect if you configure using +### the `configure` script directly. + +## `erl_xcomp_build` - The build system used. This value will be passed as +## `--build=$erl_xcomp_build` argument to the `configure` script. It does +## not have to be a full `CPU-VENDOR-OS` triplet, but can be. The full +## `CPU-VENDOR-OS` triplet will be created by +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build`. +## If set to `guess`, the build system will be guessed using +## `$ERL_TOP/erts/autoconf/config.guess`. #erl_xcomp_build= -## erl_xcomp_host - Cross host system. -## This value will be passed as `--host=$erl_xcomp_host' argument to the -## `configure' script. It does not have to be a full CPU-VENDOR-OS triplet, -## but can be. The full CPU-VENDOR-OS triplet will be created by: -## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host' +## `erl_xcomp_host` - Cross host/target system to build for. This value will +## be passed as `--host=$erl_xcomp_host` argument to the `configure` script. +## It does not have to be a full `CPU-VENDOR-OS` triplet, but can be. The +## full `CPU-VENDOR-OS` triplet will be created by: +## `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host` #erl_xcomp_host= -## erl_xcomp_configure_flags - Extra configure flags. -## Extra flags to pass to the `configure' script. +## `erl_xcomp_configure_flags` - Extra configure flags to pass to the +## `configure` script. #erl_xcomp_configure_flags= -### ---- Cross compiler and other tools to use -------------------------------- +### ### Cross Compiler and Other Tools ### -### If the cross compilation tools are prefixed by `<HOST>-' you probably do -### not need to set these variables (where `<HOST>' is what has been passed as -### `--host=<HOST>' argument to `configure'). +### If the cross compilation tools are prefixed by `<HOST>-` you probably do +### not need to set these variables (where `<HOST>` is what has been passed as +### `--host=<HOST>` argument to `configure`). -## CC - C compiler. +### All variables in this section can also be used when native compiling. + +## `CC` - C compiler. #CC= -## CFLAGS - C compiler flags. +## `CFLAGS` - C compiler flags. #CFLAGS= -## STATIC_CFLAGS - Static C compiler flags. +## `STATIC_CFLAGS` - Static C compiler flags. #STATIC_CFLAGS= -## CFLAG_RUNTIME_LIBRARY_PATH - C compiler runtime library path flag. -## This flag should set a specific runtime library path for the shared -## library at link time. Note that this is actually a linker flag, but it -## needs to be passed via the compiler. +## `CFLAG_RUNTIME_LIBRARY_PATH` - This flag should set runtime library +## search path for the shared libraries. Note that this actually is a +## linker flag, but it needs to be passed via the compiler. #CFLAG_RUNTIME_LIBRARY_PATH= -## CPP - C pre-processor. +## `CPP` - C pre-processor. #CPP= -## CPPFLAGS - C pre-processor flags. +## `CPPFLAGS` - C pre-processor flags. #CPPFLAGS= -## CXX - C++ compiler. +## `CXX` - C++ compiler. #CXX= -## CXXFLAGS - C++ compiler flags. +## `CXXFLAGS` - C++ compiler flags. #CXXFLAGS= -## LD - Linker. +## `LD` - Linker. #LD= -## LDFLAGS - Linker flags. +## `LDFLAGS` - Linker flags. #LDFLAGS= -## LIBS - Libraries. +## `LIBS` - Libraries. #LIBS= -### -- Dynamic Erlang Driver linker flags -- +### #### *D*ynamic *E*rlang *D*river Linking #### -### NOTE! Either set all or non of the DED_LD* variables. +### *NOTE*! Either set all or none of the `DED_LD*` variables. -## DED_LD - Linker. +## `DED_LD` - Linker for Dynamically loaded Erlang Drivers. #DED_LD= -## DED_LDFLAGS - Linker flags. +## `DED_LDFLAGS` - Linker flags to use with `DED_LD`. #DED_LDFLAGS= -## DED_LD_FLAG_RUNTIME_LIBRARY_PATH - Linker runtime library path flag. -## This flag should set a specific runtime library path for the shared -## library at link time. +## `DED_LD_FLAG_RUNTIME_LIBRARY_PATH` - This flag should set runtime library +## search path for shared libraries when linking with `DED_LD`. #DED_LD_FLAG_RUNTIME_LIBRARY_PATH= -### -- Large file support -- +### #### Large File Support #### -### NOTE! Either set all or non of the LFS_* variables. +### *NOTE*! Either set all or none of the `LFS_*` variables. -## LFS_CFLAGS - Large file support C compiler flags. +## `LFS_CFLAGS` - Large file support C compiler flags. #LFS_CFLAGS= -## LFS_LDFLAGS - Large file support linker flags. +## `LFS_LDFLAGS` - Large file support linker flags. #LFS_LDFLAGS= -## LFS_LIBS - Large file support libraries. +## `LFS_LIBS` - Large file support libraries. #LFS_LIBS= -### -- Other tools -- +### #### Other Tools #### -## RANLIB - `ranlib' archive index tool. +## `RANLIB` - `ranlib` archive index tool. #RANLIB= -## AR - `ar' archiving tool. +## `AR` - `ar` archiving tool. #AR= -## GETCONF - `getconf' system configuration inspection tool. +## `GETCONF` - `getconf` system configuration inspection tool. `getconf` is +## currently used for finding out large file support flags to use, and +## on Linux systems for finding out if we have an NPTL thread library or +## not. #GETCONF= -### ---- Cross System Root Locations ------------------------------------------ +### ### Cross System Root Locations ### -## erl_xcomp_sysroot - Absolute cross system root path. -## The absolute path to the system root of the cross compilation -## environment. Currently, the `crypto', `odbc', `ssh' and `ssl' -## applications need the system root. These applications will be skipped -## if the system root has not been set. The system root might be needed -## for other things too. If this is the case and the system root has not -## been set, `configure' will fail and request you to set it. +## `erl_xcomp_sysroot` - The absolute path to the system root of the cross +## compilation environment. Currently, the `crypto`, `odbc`, `ssh` and +## `ssl` applications need the system root. These applications will be +## skipped if the system root has not been set. The system root might be +## needed for other things too. If this is the case and the system root +## has not been set, `configure` will fail and request you to set it. #erl_xcomp_sysroot= -## erl_xcomp_isysroot - Absolute cross include system root path. -## The absolute path to the system root for includes of the cross -## compilation environment. If not set, this value defaults to -## `$erl_xcomp_sysroot', i.e., only set this value if the include system +## `erl_xcomp_isysroot` - The absolute path to the system root for includes +## of the cross compilation environment. If not set, this value defaults +## to `$erl_xcomp_sysroot`, i.e., only set this value if the include system ## root path is not the same as the system root path. #erl_xcomp_isysroot= -### ---- Optional feature, or bug tests --------------------------------------- +### ### Optional Feature, and Bug Tests ### ### These tests cannot (always) be done automatically when cross compiling. You -### usually does not need to set these variables. Only set these if you really +### usually do not need to set these variables. Only set these if you really ### know what you are doing. ### Note that some of these values will override results of tests performed -### by `configure', and some will not be used until `configure' is sure that +### by `configure`, and some will not be used until `configure` is sure that ### it cannot figure the result out. -### The `configure' script will issue a warning when a default value is used. +### The `configure` script will issue a warning when a default value is used. ### When a variable has been set, no warning will be issued. -## erl_xcomp_bigendian - yes|no -## If `yes', the target system must be big endian. If `no', little endian. -## This can often be automatically detected, but not always. If not -## automatically detected, `configure' will fail unless this variable is -## set. No default value is used, i.e., `configure' will try to figure -## this out automatically. -#erl_xcomp_bigendian= +## `erl_xcomp_after_morecore_hook` - `yes|no`. Defaults to `no`. If `yes`, the +## target system must have a working `__after_morecore_hook` that can be +## used for tracking used `malloc()` implementations core memory usage. +## This is currently only used by unsupported features. +#erl_xcomp_after_morecore_hook= -## erl_xcomp_linux_clock_gettime_correction - yes|no (defaults to `yes' on -## Linux; otherwise, `no') -## If `yes', `clock_gettime(CLOCK_MONOTONIC, _)' on the target system must -## work. This variable is recommended to be set to `no' on Linux systems -## with kernel versions less than 2.6. -#erl_xcomp_linux_clock_gettime_correction= +## `erl_xcomp_bigendian` - `yes|no`. No default. If `yes`, the target system +## must be big endian. If `no`, little endian. This can often be +## automatically detected, but not always. If not automatically detected, +## `configure` will fail unless this variable is set. Since no default +## value is used, `configure` will try to figure this out automatically. +#erl_xcomp_bigendian= -## erl_xcomp_linux_nptl - yes|no (defaults to `yes' on Linux; otherwise, `no') -## If `yes', the target system must have NPTL (Native POSIX Thread Library). -## Older Linux systems have LinuxThreads instead of NPTL (Linux kernel -## versions typically less than 2.6). -#erl_xcomp_linux_nptl= +## `erl_xcomp_clock_gettime_cpu_time` - `yes|no`. Defaults to `no`. If `yes`, +## the target system must have a working `clock_gettime()` implementation +## that can be used for retrieving process CPU time. +#erl_xcomp_clock_gettime_cpu_time= -## erl_xcomp_linux_usable_sigusrx - yes|no (defaults to `yes') -## If `yes', the `SIGUSR1' and `SIGUSR2' signals must be usable by the ERTS. -## Old LinuxThreads thread libraries (Linux kernel versions less than 2.2) -## used these signals and made them unusable by the ERTS. -#erl_xcomp_linux_usable_sigusrx= +## `erl_xcomp_getaddrinfo` - `yes|no`. Defaults to `no`. If `yes`, the target +## system must have a working `getaddrinfo()` implementation that can +## handle both IPv4 and IPv6. +#erl_xcomp_getaddrinfo= -## erl_xcomp_linux_usable_sigaltstack - yes|no (defaults to `yes' on Linux; -## otherwise, `no') -## If `yes', `sigaltstack()' must be usable on the target system. -## `sigaltstack()' on Linux kernel versions less than 2.4 are broken. -#erl_xcomp_linux_usable_sigaltstack= +## `erl_xcomp_gethrvtime_procfs_ioctl` - `yes|no`. Defaults to `no`. If `yes`, +## the target system must have a working `gethrvtime()` implementation and +## is used with procfs `ioctl()`. +#erl_xcomp_gethrvtime_procfs_ioctl= -## erl_xcomp_poll - yes|no (defaults to `no' on Darwin/MacOSX; otherwise, `yes') -## If `yes', the target system must have a working `poll()' implementation -## that also can handle devices. If `no', `select()' will be used instead of -## `poll()'. -#erl_xcomp_poll= +## `erl_xcomp_dlsym_brk_wrappers` - `yes|no`. Defaults to `no`. If `yes`, the +## target system must have a working `dlsym(RTLD_NEXT, <S>)` implementation +## that can be used on `brk` and `sbrk` symbols used by the `malloc()` +## implementation in use, and by this track the `malloc()` implementations +## core memory usage. This is currently only used by unsupported features. +#erl_xcomp_dlsym_brk_wrappers= -## erl_xcomp_kqueue - yes|no (defaults to `no') -## If `yes', the target system must have a working `kqueue()' implementation -## that returns a file descriptor which can be used by `poll()' and/or -## `select()'. If `no' and the target system has not got `epoll()' or -## `/dev/poll', the kernel-poll feature will be disabled. +## `erl_xcomp_kqueue` - `yes|no`. Defaults to `no`. If `yes`, the target system +## must have a working `kqueue()` implementation that returns a file +## descriptor which can be used by `poll()` and/or `select()`. If `no` and +## the target system has not got `epoll()` or `/dev/poll`, the kernel-poll +## feature will be disabled. #erl_xcomp_kqueue= -## erl_xcomp_putenv_copy - yes|no (defaults to `no') -## If `yes', the target system must have a `putenv()' implementation that -## stores a copy of the key/value pair. -#erl_xcomp_putenv_copy= +## `erl_xcomp_linux_clock_gettime_correction` - `yes|no`. Defaults to `yes` on +## Linux; otherwise, `no`. If `yes`, `clock_gettime(CLOCK_MONOTONIC, _)` on +## the target system must work. This variable is recommended to be set to +## `no` on Linux systems with kernel versions less than 2.6. +#erl_xcomp_linux_clock_gettime_correction= -## erl_xcomp_reliable_fpe - yes|no (defaults to `no') -## If `yes', the target system must have reliable floating point exceptions. -#erl_xcomp_reliable_fpe= +## `erl_xcomp_linux_nptl` - `yes|no`. Defaults to `yes` on Linux; otherwise, +## `no`. If `yes`, the target system must have NPTL (Native POSIX Thread +## Library). Older Linux systems have LinuxThreads instead of NPTL (Linux +## kernel versions typically less than 2.6). +#erl_xcomp_linux_nptl= -## erl_xcomp_getaddrinfo - yes|no (defaults to `no') -## If `yes', the target system must have a working `getaddrinfo()' -## implementation that can handle both IPv4 and IPv6. -#erl_xcomp_getaddrinfo= +## `erl_xcomp_linux_usable_sigaltstack` - `yes|no`. Defaults to `yes` on Linux; +## otherwise, `no`. If `yes`, `sigaltstack()` must be usable on the target +## system. `sigaltstack()` on Linux kernel versions less than 2.4 are +## broken. +#erl_xcomp_linux_usable_sigaltstack= -## erl_xcomp_gethrvtime_procfs_ioctl - yes|no (defaults to `no') -## If `yes', the target system must have a working `gethrvtime()' -## implementation and is used with procfs `ioctl()'. -#erl_xcomp_gethrvtime_procfs_ioctl= +## `erl_xcomp_linux_usable_sigusrx` - `yes|no`. Defaults to `yes`. If `yes`, +## the `SIGUSR1` and `SIGUSR2` signals must be usable by the ERTS. Old +## LinuxThreads thread libraries (Linux kernel versions typically less than +## 2.2) used these signals and made them unusable by the ERTS. +#erl_xcomp_linux_usable_sigusrx= -## erl_xcomp_clock_gettime_cpu_time - yes|no (defaults to `no') -## If `yes', the target system must have a working `clock_gettime()' -## implementation that can be used for retrieving process CPU time. -#erl_xcomp_clock_gettime_cpu_time= +## `erl_xcomp_poll` - `yes|no`. Defaults to `no` on Darwin/MacOSX; otherwise, +## `yes`. If `yes`, the target system must have a working `poll()` +## implementation that also can handle devices. If `no`, `select()` will be +## used instead of `poll()`. +#erl_xcomp_poll= -## erl_xcomp_after_morecore_hook - yes|no (defaults to `no') -## If `yes', the target system must have a working `__after_morecore_hook' -## that can be used for tracking used `malloc()' implementations core memory -## usage. -#erl_xcomp_after_morecore_hook= +## `erl_xcomp_putenv_copy` - `yes|no`. Defaults to `no`. If `yes`, the target +## system must have a `putenv()` implementation that stores a copy of the +## key/value pair. +#erl_xcomp_putenv_copy= -## erl_xcomp_dlsym_brk_wrappers - yes|no (defaults to `no') -## If `yes', the target system must have a working `dlsym(RTLD_NEXT, <S>)' -## implementation that can be used on `brk' and `sbrk' symbols used by the -## `malloc()' implementation in use, and by this track the `malloc()' -## implementations core memory usage. -#erl_xcomp_dlsym_brk_wrappers= +## `erl_xcomp_reliable_fpe` - `yes|no`. Defaults to `no`. If `yes`, the target +## system must have reliable floating point exceptions. +#erl_xcomp_reliable_fpe= -#### -------------------------------------------------------------------------- +#### |