aboutsummaryrefslogblamecommitdiffstats
path: root/xcomp/erl-xcomp.conf.template
blob: 090f92c15fc53af17ec668d997b507e5d8734689 (plain) (tree)






















                                                                               
                                                                              
                                                                               

                                                       



                                                                               

                                                                            

                    
                                          

                                                                            











                                                                             

                 




                                                                               

                

                                                                     

                           
                                          
 


                                                                              
 


                                                                         

    
                               

        
                                             

               


                                                                        

                            
                           

     
                                      

          
                        

     
                                   

          
                 

    
                            

         
                      
      
 
                                                 
 
                                                              
 
                                                           

        
                                                     

             

                                                                            

                                  
                                
 
                                                            
 
                                                      

            
                                                   

             
                                             

          
                         
 
                                          

        
                              

    



                                                                           

         
                                       
 





                                                                           

                   


                                                                              


                                                        
                                           

                                                                               
                                                                            

                            
                                                                           
                                                                            

                                    
                                                                             

                                                            




                                                                              
 





                                                                            
 



                                                                             
 



                                                                             
 



                                                                              
 





                                                                              
 




                                                                               

                  




                                                                              
 




                                                                            
 




                                                                               
 




                                                                              
 




                                                                              
 



                                                                             
 


                                                                              
 
    
#### -*-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.

### ### 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=

## `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 to pass to the
##    `configure` script.
#erl_xcomp_configure_flags=

### ### 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=

## `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=

## `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=

####