aboutsummaryrefslogtreecommitdiffstats
path: root/xcomp/erl-xcomp-vxworks_ppc32.conf
diff options
context:
space:
mode:
Diffstat (limited to 'xcomp/erl-xcomp-vxworks_ppc32.conf')
-rw-r--r--xcomp/erl-xcomp-vxworks_ppc32.conf429
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=
+
+#### --------------------------------------------------------------------------