diff options
Diffstat (limited to 'xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf')
-rw-r--r-- | xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf | 446 |
1 files changed, 252 insertions, 194 deletions
diff --git a/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf b/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf index c8e7212e1f..9379739744 100644 --- a/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf +++ b/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf @@ -1,200 +1,258 @@ -### -### %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-TileraMDE2.0-tilepro.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 -## +#### -*-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-TileraMDE2.0-tilepro.conf +#### 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. + +### ### 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` - 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=guess + +## `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=tile -### ---------------------------------------------------------------------------- -### ---------------------------------------------------------------------------- -### 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` - Extra configure flags to pass to the +## `configure` script. erl_xcomp_configure_flags="--without-termcap" -###----------------------------------------------------------------------------- -### 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. -### - -## -## 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=yes - -## -## 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=yes - -## -## 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=yes - -## -## 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=yes - -## -## 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=yes - -## -## 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. -## +### ### 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`). + +### All variables in this section can also be used when native compiling. + +## `CC` - C compiler. +#CC= + +## `CFLAGS` - C compiler flags. +#CFLAGS= + +## `STATIC_CFLAGS` - Static C compiler flags. +#STATIC_CFLAGS= + +## `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= + +## `CPPFLAGS` - C pre-processor flags. +#CPPFLAGS= + +## `CXX` - C++ compiler. +#CXX= + +## `CXXFLAGS` - C++ compiler flags. +#CXXFLAGS= + +## `LD` - Linker. +#LD= + +## `LDFLAGS` - Linker flags. +#LDFLAGS= + +## `LIBS` - Libraries. +#LIBS= + +### #### *D*ynamic *E*rlang *D*river Linking #### + +### *NOTE*! Either set all or none of the `DED_LD*` variables. + +## `DED_LD` - Linker for Dynamically loaded Erlang Drivers. +#DED_LD= + +## `DED_LDFLAGS` - Linker flags to use with `DED_LD`. +#DED_LDFLAGS= + +## `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 #### + +### *NOTE*! Either set all or none of the `LFS_*` variables. + +## `LFS_CFLAGS` - Large file support C compiler flags. +#LFS_CFLAGS= + +## `LFS_LDFLAGS` - Large file support linker flags. +#LFS_LDFLAGS= + +## `LFS_LIBS` - Large file support libraries. +#LFS_LIBS= + +### #### Other Tools #### + +## `RANLIB` - `ranlib` archive index tool. +#RANLIB= + +## `AR` - `ar` archiving tool. +#AR= + +## `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 ### + +## `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="$TILERA_ROOT/tile" + +## `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, and Bug Tests ### + +### These tests cannot (always) be done automatically when cross compiling. You +### 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 +### it cannot figure the result out. + +### 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_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_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_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_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=yes -## -## 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= - -### ---------------------------------------------------------------------------- +## `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_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= + +## `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_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_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_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_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= + +#### |