Files
mercury/tools/configure_mingw_cross
Peter Wang dd2a1c2ef5 Avoid which utility.
tools/configure_mingw_cross:
    Use shell builtin `command -v' instead of which(1).
2018-03-07 10:58:22 +11:00

92 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
#---------------------------------------------------------------------------#
# Copyright (C) 2012 The University of Melbourne.
# Copyright (C) 2014, 2018 The Mercury team.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
#
# This script prepares the Mercury source tree for building with a MinGW
# cross-compiler. Please see README.MinGW-cross for details.
#
#-----------------------------------------------------------------------------#
set -e
for arg
do
case $arg in
--host=*)
host=${arg#--host=}
break
;;
esac
done
host=${host:-i686-pc-mingw32}
hostcc=$host-gcc
case $host in
x86_64*)
bits=64 ;;
*)
bits=32 ;;
esac
echo "Configuring for host $host, assuming ${bits}-bit"
if command -v $hostcc >/dev/null
then
true
else
echo "You need $hostcc in your PATH."
exit 1
fi
if command -v mmc >/dev/null && mmc -v 2>&1 | grep -q Mercury
then
true
else
echo "You need a working native mmc in your PATH."
exit 2
fi
if test configure -ot configure.ac
then
aclocal -I m4 && autoconf
fi
if ! test -f configure.ac
then
echo "You need to run this script at the top of the Mercury tree."
exit 3
fi
# Set values which would otherwise be determined with AC_TRY_RUN.
# Taken from the config.cache file after running configure -C in msys.
mercury_cv_cc_type=gcc \
mercury_cv_sigaction_field=no \
mercury_cv_sigcontext_struct_2arg=no \
mercury_cv_sigcontext_struct_3arg=no \
mercury_cv_siginfo_t=no \
mercury_cv_is_bigender=no \
mercury_cv_is_littleender=yes \
mercury_cv_normal_system_retval=no \
mercury_cv_can_do_pending_io=no \
mercury_cv_gcc_labels=yes \
mercury_cv_asm_labels=yes \
mercury_cv_gcc_model_fast=yes \
mercury_cv_gcc_model_reg=yes \
mercury_cv_cannot_use_structure_assignment=yes \
sh configure "$@" \
--host=$host \
--with-cc=$hostcc
echo
echo "If you wish to run mmake in the subdirectories, you will need to set"
echo "MMAKE_DIR=`pwd`/scripts"
echo
exit