aboutsummaryrefslogtreecommitdiffstats
path: root/xcomp/erl-xcomp.conf.template
diff options
context:
space:
mode:
Diffstat (limited to 'xcomp/erl-xcomp.conf.template')
-rw-r--r--xcomp/erl-xcomp.conf.template432
1 files changed, 235 insertions, 197 deletions
diff --git a/xcomp/erl-xcomp.conf.template b/xcomp/erl-xcomp.conf.template
index bed365e754..9242318577 100644
--- a/xcomp/erl-xcomp.conf.template
+++ b/xcomp/erl-xcomp.conf.template
@@ -1,198 +1,236 @@
-###
-### %CopyrightBegin%
-###
-### Copyright Ericsson AB 2009. All Rights Reserved.
-###
-### The contents of this file are subject to the Erlang Public License,
-### Version 1.1, (the "License"); you may not use this file except in
-### compliance with the License. You should have received a copy of the
-### Erlang Public License along with this software. If not, it can be
-### retrieved online at http://www.erlang.org/.
-###
-### Software distributed under the License is distributed on an "AS IS"
-### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-### the License for the specific language governing rights and limitations
-### under the License.
-###
-### %CopyrightEnd%
-###
-### File: erl-xcomp.conf
-### Author: Rickard Green
-###
-
-### ----------------------------------------------------------------------------
-### When cross compiling Erlang/OTP, copy this file and set the variables
-### needed below. Then pass the path to the copy of this file as an argument
-### to "eval `otp_build env_cross <absolute path to erl-xcomp.conf file>`".
-### ----------------------------------------------------------------------------
-
-### ----------------------------------------------------------------------------
-### Variables in the following section *have* to be set.
-###
-
-##
-## Target system. The value will be passed as '--host' argument to the configure
-## script. It does not have to be a full CPU-VENDOR-OS tripplet, but can be. The
-## full CPU-VENDOR-OS tripplet will be created by:
-## $ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host
-##
-erl_xcomp_host=
-
-### ----------------------------------------------------------------------------
-### To override the configure flags for a special target system, You
-### can set this variable which overrides configure parameters on the
-### command line and instead uses the specified options. The variable
-### leaves the build-host system untouched.
-### ----------------------------------------------------------------------------
-erl_xcomp_configure_flags=
-
-###-----------------------------------------------------------------------------
-### You can specify a specific CC or LD for the build target (the cross
-### compiler) here along with magic CFLAGS and/or LDFLAGS if needed
-### ar and ranlib might also be specified if needed.
-###-----------------------------------------------------------------------------
-
-erl_xcomp_cc=
-
-erl_xcomp_ld=
-
-erl_xcomp_cflags=
-
-erl_xcomp_cpp=
-
-erl_xcomp_ldflags=
-
-erl_xcomp_ranlib=
-
-erl_xcomp_ar=
-
-###-----------------------------------------------------------------------------
-### The ded_ls and ded_ldflags variables control linking of dynamically loaded
-### erlang drivers. On i.e. Linux these are set to
-### $(CC) and "-shared" respectively, but other OS'es might need other
-### programs and flags to build a dynamic library.
-### erl_xcomp_ded_ld_runtime_library_path is the flag to set a
-### specific runtime library path for the shared library at link time,
-### usually this should be left empty.
-###-----------------------------------------------------------------------------
-
-erl_xcomp_ded_ld=
-
-erl_xcomp_ded_ldflags=
-
-erl_xcomp_ded_ld_runtime_library_path=
-
-###
-### Optional feature, or 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 know what you are doing.
-###
-
-##
+#### -*-shell-script-*-
+####
+#### %CopyrightBegin%
+####
+#### Copyright Ericsson AB 2009-2010. All Rights Reserved.
+####
+#### The contents of this file are subject to the Erlang Public License,
+#### Version 1.1, (the "License"); you may not use this file except in
+#### compliance with the License. You should have received a copy of the
+#### Erlang Public License along with this software. If not, it can be
+#### retrieved online at http://www.erlang.org/.
+####
+#### Software distributed under the License is distributed on an "AS IS"
+#### basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+#### the License for the specific language governing rights and limitations
+#### under the License.
+####
+#### %CopyrightEnd%
+####
+#### File: erl-xcomp.conf.template
+#### Author: Rickard Green
+####
+#### --------------------------------------------------------------------------
+#### 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>'
+#### --------------------------------------------------------------------------
+
+### 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
+### the environment.
+
+### ---- `otp_build' only variables -------------------------------------------
+
+### 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'.
+#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=
+
+## erl_xcomp_configure_flags - Extra configure flags.
+## Extra flags to pass to the `configure' script.
+#erl_xcomp_configure_flags=
+
+### ---- Cross compiler and other tools to use --------------------------------
+
+### 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.
+#CC=
+
+## CFLAGS - C compiler flags.
+#CFLAGS=
+
+## 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=
+
+## CPP - C pre-processor.
+#CPP=
+
+## CPPFLAGS - C pre-processor flags.
+#CPPFLAGS=
+
+## CXX - C++ compiler.
+#CXX=
+
+## CXXFLAGS - C++ compiler flags.
+#CXXFLAGS=
+
+## LD - Linker
+#LD=
+
+## LDFLAGS - Linker flags.
+#LDFLAGS=
+
+### -- Dynamic Erlang Driver linker flags. --
+
+### NOTE! Either define all or non of the DED_LD* variables.
+
+## DED_LD - Linker.
+#DED_LD=
+
+## DED_LDFLAGS - Linker flags.
+#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=
+
+### -- Other tools --
+
+## RANLIB - ranlib
+#RANLIB=
+
+## AR - ar
+#AR=
+
+### ---- 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=
+
+## 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
+## root path is not the same as the system root path.
+#erl_xcomp_isysroot=
+
+### ---- Optional feature, or 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
+### know what you are doing.
+
+### 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_linux_clock_gettime_correction - yes|no (defaults to yes)
-## 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_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_linux_usable_sigusrx - yes|no (defaults to yes)
-## If yes, the SIGUSR1 and SIGUSR2 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_linux_usable_sigaltstack - yes|no (defaults to yes)
-## 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_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_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_reliable_fpe - yes|no (defaults to no)
-## If yes, the target system must have reliable floating point exceptions.
-##
-erl_xcomp_reliable_fpe=
-
-##
-## 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_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_clock_gettime - 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=
-
-##
-## 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_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=
-
-### ----------------------------------------------------------------------------
+## 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_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_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_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_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_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_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_reliable_fpe - yes|no (defaults to `no')
+## If `yes', the target system must have reliable floating point exceptions.
+#erl_xcomp_reliable_fpe=
+
+## 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_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_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_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_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=
+
+#### --------------------------------------------------------------------------