#!/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