diff options
Diffstat (limited to 'xcomp/erl-xcomp-vxworks_ppc32.conf')
-rw-r--r-- | xcomp/erl-xcomp-vxworks_ppc32.conf | 429 |
1 files changed, 234 insertions, 195 deletions
diff --git a/xcomp/erl-xcomp-vxworks_ppc32.conf b/xcomp/erl-xcomp-vxworks_ppc32.conf index 544212233a..fbd23c2fb9 100644 --- a/xcomp/erl-xcomp-vxworks_ppc32.conf +++ b/xcomp/erl-xcomp-vxworks_ppc32.conf @@ -1,197 +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-vxworks_ppc32.conf -### Author: Rickard Green/Patrik Nyblom -### - -### ---------------------------------------------------------------------------- -### 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 <path to erl-xcomp.conf file>`". -### ---------------------------------------------------------------------------- - -### ---------------------------------------------------------------------------- -### Variables in the following section *have* to be set. -### - -## -## Operating system and hardware architecture. -## -# Operating system: linux|solaris<ver>|darwin|freebsd|win32|<...> -erl_xcomp_os=vxworks -# Hardware architecture: x86|x86_64|ultrasparc|sparc64|ppc|arm|tile|<...> -# Note that this will be the host parameter to configure, so it -# should be both recognizable by config.sub and a valid prefix for -# i.e. gcc etc. -erl_xcomp_hw=ppc-wrs -# Manufacturer: (unknown is ok) -erl_xcomp_man=wrs -# Extra target info (unknown is ok) -erl_xcomp_target_xtra=unknown - -# Target (change if default isn't satisfactory) -erl_xcomp_target=powerpc-wrs-vxworks - -## -## Sizes (in bytes) of some important types. -## -# void * -erl_xcomp_void_p=4 -# short -erl_xcomp_short=2 -# int -erl_xcomp_int=4 -# long -erl_xcomp_long=4 -# long long (use 0 if no 'long long' type exist) -erl_xcomp_long_long=8 -# size_t -erl_xcomp_sizeof_size_t=4 -# off_t -erl_xcomp_sizeof_off_t=4 - -### ---------------------------------------------------------------------------- -### The variables in the following section have to be set for linux systems -### -# linux kernel version (as reported by "uname -r") -erl_xcomp_linux_kernel= - -### ---------------------------------------------------------------------------- -### --------------------------------------------------------------------------- -### 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="--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 -###---------------------------------------------------------------------------- - -erl_xcomp_cc="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ccppc" - -erl_xcomp_ld="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ldppc" - -erl_xcomp_cflags="-DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DWANT_NONBLOCKING -DHAVE_SENS -DHAVE_MEMMOVE -DVXWORKS -I$WIND_BASE/vxworks-6.3/target/h -I$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/lib/gcc/powerpc-wrs-vxworks/3.4.4/include -I$WIND_BASE/vxworks-6.3/target/h/wrn/coreip -I$WIND_BASE/vxworks-6.3/target/h -mstrict-align -fvolatile -fno-builtin -mlongcall" - -erl_xcomp_cpp="$erl_xcomp_cc $erl_xcomp_cflags -E" - -erl_xcomp_ldflags="-mlongcall" - -erl_xcomp_ranlib="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ranlibppc" -erl_xcomp_ar="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/arppc" - -###---------------------------------------------------------------------------- -### 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= - -### The variables in the following section does not need to be set. Only -### set these if you really know what you are doing. -### - -## -## Big endian/little endian can usually be determined by configure correctly, -## but if not, set this variable -## +#### -*-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-vxworks_ppc32.conf +#### Author: Rickard Green/Patrik Nyblom +#### +#### -------------------------------------------------------------------------- +#### 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=guess + +## 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=powerpc-wrs-vxworks + +## erl_xcomp_configure_flags - Extra configure flags. +## Extra flags to pass to the `configure' script. +erl_xcomp_configure_flags="--disable-threads --without-termcap" + +### ---- 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="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ccppc" + +## CFLAGS - C compiler flags. +CFLAGS="-DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DWANT_NONBLOCKING -DHAVE_SENS -DHAVE_MEMMOVE -DVXWORKS -I$WIND_BASE/vxworks-6.3/target/h -I$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/lib/gcc/powerpc-wrs-vxworks/3.4.4/include -I$WIND_BASE/vxworks-6.3/target/h/wrn/coreip -I$WIND_BASE/vxworks-6.3/target/h -mstrict-align -fvolatile -fno-builtin -mlongcall" + +## 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="$CC $CFLAGS -E" + +## CPPFLAGS - C pre-processor flags. +#CPPFLAGS= + +## CXX - C++ compiler. +#CXX= + +## CXXFLAGS - C++ compiler flags. +#CXXFLAGS= + +## LD - Linker +LD="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ldppc" + +## LDFLAGS - Linker flags. +LDFLAGS="-mlongcall" + +### -- 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="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/ranlibppc" + +## AR - ar +AR="$WIND_BASE/gnu/3.4.4-vxworks-6.3/$WIND_HOST_TYPE/bin/arppc" + +### ---- 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=yes -## -## If you have a working poll that can be used: yes|no -## -erl_xcomp_poll= - -## -## If you have a working kqueue() that can be used: yes|no -## -erl_xcomp_kqueue= - -## -## If you have a putenv() that stores a copy of the key-value pair: yes|no -## -erl_xcomp_putenv_copy= - -## -## If you have reliable floating point exeptions that can be -## used: yes|no -## -erl_xcomp_reliable_fpe= - -## -## If you have getaddrinfo() usable for ipv6: yes|no -## -erl_xcomp_getaddrinfo= - -## -## If you have a gethrvtime() that works and uses ioctl() -## to /proc/self: yes|no -## -erl_xcomp_gethrvtime_procfs_ioctl= - -## -## If you have a working clock_gettime(): yes|no -## -erl_xcomp_clock_gettime= - -## -## If you have a __after_morecore_hook that can track malloc()s -## core memory use: yes|no -## -erl_xcomp_after_morecore_hook= - -## -## If you have brk, sbrk and end symbols: yes|no -## -# brk -erl_xcomp_have_brk= -# _brk -erl_xcomp_have__brk= -# __brk -erl_xcomp_have___brk= -# sbrk -erl_xcomp_have_sbrk= -# _sbrk -erl_xcomp_have__sbrk= -# __sbrk -erl_xcomp_have___sbrk= -# end -erl_xcomp_end= -# _end -erl_xcomp__end= - -## -## If sbrk/brk wrappers using dlsym(RTLD_NEXT, _) can track malloc()s -## core memory use: yes|no -## -erl_xcomp_brk_wrappers= - -### ---------------------------------------------------------------------------- +## 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= + +#### -------------------------------------------------------------------------- |