Packages

nerves_system_br

1.5.4
1.34.0 1.33.9 1.33.8 1.33.7 1.33.6 1.33.5 1.33.4 1.33.3 1.33.2 1.33.1 1.33.0 1.32.5 1.32.4 1.32.3 1.32.2 1.32.1 1.32.0 1.31.7 1.31.6 1.31.5 1.31.4 1.31.3 1.31.2 1.31.1 1.31.0 1.30.1 1.30.0 1.29.3 1.29.2 1.29.1 1.29.0 1.28.3 1.28.2 1.28.1 1.28.0 1.27.3 1.27.2 1.27.1 1.27.0 1.26.1 1.26.0 1.25.3 1.25.2 1.25.1 1.25.0 1.24.1 1.24.0 1.23.3 1.23.2 1.23.1 1.23.0 1.22.8 1.22.7 1.22.6 1.22.5 1.22.4 1.22.3 1.22.2 1.22.1 1.22.0 1.21.6 1.21.5 1.21.4 1.21.3 1.21.2 1.21.1 1.21.0 1.20.6 1.20.5 1.20.4 1.20.3 1.20.2 1.20.1 1.20.0 1.19.1 1.19.0 1.18.6 1.18.5 1.18.4 1.18.3 1.18.2 1.18.1 1.18.0 1.17.4 1.17.3 1.17.2 1.17.1 1.17.0 1.16.5 1.16.4 1.16.3 1.16.2 1.16.1 1.16.0 1.15.2 1.15.1 1.15.0 1.14.5 1.14.4 1.14.3 1.14.2 1.14.1 1.14.0 1.13.8 1.13.7 1.13.6 1.13.5 1.13.4 1.13.3 1.13.2 1.13.1 1.13.0 1.12.4 1.12.3 1.12.2 1.12.1 1.12.0 1.12.0-rc.0 1.11.4 1.11.3 1.11.2 1.11.1 1.11.0 1.10.3 1.10.2 1.10.1 1.10.0 1.9.5 1.9.4 1.9.3 1.9.2 1.9.1 1.9.0 1.8.6 1.8.5 1.8.4 1.8.3 1.8.2 1.8.1 1.8.0 1.7.3 1.7.2 1.7.1 1.7.0 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.6 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.2 1.2.1 1.2.0 1.1.0 1.0.1 1.0.0 1.0.0-rc.4 1.0.0-rc.3 1.0.0-rc.2 1.0.0-rc.1 1.0.0-rc.0 0.17.0 0.16.4 0.16.3 0.16.2 0.16.1-2017-11 0.16.0-2017-11 0.15.1 0.15.0 0.14.1 0.14.0 0.13.9 0.13.8 0.13.7 0.13.6 0.13.5 0.13.4 retired 0.13.3 0.13.2 0.13.0 0.12.1 0.12.0 0.11.1 0.11.0 0.10.1 0.10.0 0.9.4 0.9.3 0.9.2 0.9.1 0.9.0 0.8.2 0.8.1 0.8.0 0.7.0 0.6.1 0.6.0 0.5.2 0.5.1 0.5.0 0.4.2 0.4.1

Nerves System BR - Buildroot based build platform for Nerves Systems

Current section

Files

Jump to
nerves_system_br nerves-env.sh
Raw

nerves-env.sh

#!/usr/bin/env bash
# Source this script to setup your environment to cross-compile
# and build Erlang apps for this Nerves build.
# "readlink -f" implementation for BSD
# This code was extracted from the Elixir shell scripts
readlink_f () {
cd "$(dirname "$1")" > /dev/null
filename="$(basename "$1")"
if [ -h "$filename" ]; then
readlink_f "$(readlink "$filename")"
else
echo "`pwd -P`/$filename"
fi
}
# If the script is called with the -get-nerves-root flag it just returns the
# Nerves system directory. This is so that other shells can execute the script
# without needing to implement the equivalent of $BASH_SOURCE for every shell.
for arg in $*
do
if [ $arg = "-get-nerves-root" ];
then
echo $(dirname $(readlink_f "${BASH_SOURCE[0]}"))
exit 0
fi
done
if [ "$BASH_SOURCE" = "" ]; then
GET_NR_COMMAND="$0 $@ -get-nerves-root"
SCRIPT_DIR=$(bash -c "$GET_NR_COMMAND")
else
SCRIPT_DIR=$(dirname $(readlink_f "${BASH_SOURCE[0]}"))
fi
# Detect if this script has been run directly rather than sourced, since
# that won't work.
if [[ "$SHELL" = "/bin/bash" ]]; then
if [ "$0" != "bash" -a "$0" != "-bash" -a "$0" != "/bin/bash" ]; then
echo ERROR: This scripted should be sourced from bash:
echo
echo source $BASH_SOURCE
echo
exit 1
fi
#elif [[ "$SHELL" = "/bin/zsh" ]]; then
# TODO: Figure out how to detect this error from other shells.
fi
# Determine the location of the NERVES_SYSTEM directory. This script is
# either being sourced from the directory or from the base of nerves_system_br.
# If it's the latter, then point the helper script at the appropriate place.
if [ -e "$SCRIPT_DIR/.config" ]; then
NERVES_SYSTEM=$SCRIPT_DIR
elif [ -e "$SCRIPT_DIR/buildroot/output" ]; then
NERVES_SYSTEM=$SCRIPT_DIR/buildroot/output
else
echo "ERROR: Can't find Nerves system directory. Has Nerves been built?"
echo " If sourcing from the nerves_system_br directory, then the build products"
echo " aren't in the default location. The new way is to source nerves-env.sh"
echo " from nerves_system_br's output directory."
return 1
fi
source $SCRIPT_DIR/scripts/nerves-env-helper.sh $NERVES_SYSTEM
if [ $? != 0 ]; then
echo "Shell environment NOT updated for Nerves!"
return 1
else
# Found it. Print out some useful information so that the user can
# easily figure out whether the wrong nerves installation was used.
NERVES_DEFCONFIG=$(grep BR2_DEFCONFIG= $NERVES_SYSTEM/.config | sed -e 's/BR2_DEFCONFIG="\(.*\)"/\1/')
GCC_VERSION=$($CROSSCOMPILE-gcc --version | head -1)
echo "Shell environment updated for Nerves"
echo
echo "Nerves configuration: $NERVES_DEFCONFIG"
echo "Cross-compiler: $GCC_VERSION"
echo "Erlang/OTP release on target: $NERVES_TARGET_ERL_VER"
if [ -n "$(which elixir)" ]; then
NERVES_ELIXIR_VERSION=$(elixir -v | grep lixir | cut -d' ' -f2-)
echo "Elixir version (from path): $NERVES_ELIXIR_VERSION"
else
echo "WARNING: Elixir not found on host"
fi
fi