#!/bin/sh # # %CopyrightBegin% # # Copyright Ericsson AB 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% # # Author: Rickard Green # target= build_otp= erl_top= force=no while [ $# -gt 0 ]; do case "$1" in -target) shift test $# -gt 0 || { echo "$0: Missing target" 1>&2; exit 1; } target="$1";; -otp) shift test $# -gt 0 || { echo "$0: Missing otp release" 1>&2; exit 1; } build_otp="$1";; -erl_top) shift test $# -gt 0 || { echo "$0: Missing erl top" 1>&2; exit 1; } erl_top="$1";; -force) shift test $# -gt 0 || { echo "$0: Missing force value" 1>&2; exit 1; } force=$1;; *) echo "$0: Bad argument: $1" 1>&2 exit 1;; esac shift done test "X$target" != "X" || { echo "$0: Missing target" 1>&2; exit 1; } test "X$build_otp" != "X" || { echo "$0: Missing otp release" 1>&2; exit 1; } test "X$erl_top" != "X" || { echo "$0: Missing erl top" 1>&2; exit 1; } test "X$force" != "X" || { echo "$0: Missing force value" 1>&2; exit 1; } cd $erl_top cat > cross_check_erl.erl <<\EOF % % Copyright Ericsson AB 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. % -module(cross_check_erl). -export([start/0]). start() -> OTP = case catch erlang:system_info(otp_release) of {'EXIT', _} -> "OTP"; Rel -> "OTP-" ++ Rel end, io:format("~s~n", [OTP]), init:stop(). EOF erlc cross_check_erl.erl 2>/dev/null \ && used_otp=`erl -noshell -noinput -pa . -run cross_check_erl 2>/dev/null` res=$? rm -f cross_check_erl.erl cross_check_erl.beam test $res -eq 0 || { cat 1>&2 <&2 <