Packages
nerves_system_br
0.16.0-2017-11
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
Current section
Files
nerves_system_br
nerves-env.sh
nerves-env.sh
#!/bin/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/')
NERVES_ELIXIR_VERSION_FILE=$(dirname $(readlink_f $(which iex)))/../VERSION
echo "Shell environment updated for Nerves"
echo
echo "Nerves configuration: $NERVES_DEFCONFIG"
echo "Cross-compiler prefix: $(basename $CROSSCOMPILE)"
echo "Erlang/OTP release on target: $NERVES_TARGET_ERL_VER"
if [ -e $NERVES_ELIXIR_VERSION_FILE ]; then
echo "Elixir version: $(cat $NERVES_ELIXIR_VERSION_FILE)"
fi
fi