blob: 410a77d91cdc351e91448ec4a7e0825effc5b349 (
plain) (
tree)
|
|
#!/bin/sh
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 1996-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%
#
# Patch $ERL_ROOT/emulator/obj/Makefile.dist & make
#
#
start_option=query
unset cross
while [ $# -ne 0 ]; do
case $1 in
-minimal) start_option=minimal ;;
-sasl) start_option=sasl ;;
-cross) cross=yes ;;
*) ERL_ROOT=$1 ;;
esac
shift
done
if [ -z "$cross" ]
then
TARGET_ERL_ROOT="$ERL_ROOT"
else
TARGET_ERL_ROOT="$ERL_ROOT"
ERL_ROOT=`pwd`
fi
if [ -z "$ERL_ROOT" -o ! -d "$ERL_ROOT" ]
then
echo "Install: need ERL_ROOT directory as argument"
exit 1
fi
case ":$ERL_ROOT" in
:/*)
;;
*)
echo "Install: need an absolute path to ERL_ROOT"
exit 1
;;
esac
if [ ! -d "$ERL_ROOT/erts-%I_VSN%/bin" ]
then
echo "Install: The directory $ERL_ROOT/erts-%I_VSN%/bin does not exist"
echo " Bad location or erts module not un-tared"
exit 1
fi
if [ ! -d $ERL_ROOT/bin ]
then
mkdir $ERL_ROOT/bin
fi
#
# Fetch target system.
#
SYS=`(uname -s) 2>/dev/null` || SYS=unknown
REL=`(uname -r) 2>/dev/null` || REL=unknown
case $SYS:$REL in
SunOS:5.*)
TARGET=sunos5 ;;
Linux:*)
TARGET=linux ;;
*)
TARGET="" ;;
esac
cd $ERL_ROOT/erts-%I_VSN%/bin
sed -e "s;%FINAL_ROOTDIR%;$TARGET_ERL_ROOT;" erl.src > erl
chmod 755 erl
#
# Create start file for embedded system use,
#
(cd $ERL_ROOT/erts-%I_VSN%/bin;
sed -e "s;%FINAL_ROOTDIR%;$TARGET_ERL_ROOT;" start.src > start;
chmod 755 start)
cd $ERL_ROOT/bin
cp -p $ERL_ROOT/erts-%I_VSN%/bin/erl .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/erlc .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/dialyzer .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/typer .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/escript .
#
# Set a soft link to epmd
# This should not be done for an embedded system!
#
# Remove old links first.
if [ -h epmd ]; then
/bin/rm -f epmd
fi
ln -s $TARGET_ERL_ROOT/erts-%I_VSN%/bin/epmd epmd
cp -p $ERL_ROOT/erts-%I_VSN%/bin/run_erl .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/to_erl .
cp -p $ERL_ROOT/erts-%I_VSN%/bin/start .
sed -e "s;%EMU%;%EMULATOR%%EMULATOR_NUMBER%;" $ERL_ROOT/erts-%I_VSN%/bin/start_erl.src > start_erl
chmod 755 start_erl
echo ""
echo %I_VSN% %I_SYSTEM_VSN% > $ERL_ROOT/releases/start_erl.data
sed -e "s;%ERL_ROOT%;$TARGET_ERL_ROOT;" $ERL_ROOT/releases/RELEASES.src > $ERL_ROOT/releases/RELEASES
if [ "$start_option" = "query" ]
then
echo "Do you want to use a minimal system startup"
echo "instead of the SASL startup? (y/n) [n]: " | tr -d '\012'
read reply
case $reply in
[Yy]*)
start_option=minimal ;;
*)
start_option=sasl ;;
esac
fi
case $start_option in
minimal)
Name=start_clean ;;
sasl)
Name=start_sasl ;;
*)
Name=start_sasl ;;
esac
cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
cp -p $Name.boot start.boot
cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
#
# We always run ranlib unless Solaris/SunOS 5
# but ignore failures.
#
if [ "X$TARGET" != "Xsunos5" -a -d $ERL_ROOT/usr/lib ]; then
cd $ERL_ROOT/usr/lib
for library in lib*.a
do
(ranlib $library) > /dev/null 2>&1
done
fi
#
# Fixing the man pages
#
if [ -d $ERL_ROOT/man ]
then
cd $ERL_ROOT
./misc/format_man_pages $ERL_ROOT
fi
|