#!/bin/sh
# a simple configure-make wrapper for use in conjunction with the 'lazy' build script.
# 'lazy' is deviant, occasionally useful, and permissively licensed; get_lazy() below,
# then look for configure.template in the root directory.
init_vars()
{
lz_config_dir=`readlink -f $(dirname $0)`
lz_pwd=`pwd`
if [ x"$lz_config" = x ]; then
. $lz_config_dir/config.lzy || exit 2
else
. "$lz_config" || exit 2
fi
}
error_msg()
{
echo $@ >&2
}
require_out_of_tree()
{
if [ x"$lz_config_dir" = x"$lz_pwd" ]; then
error_msg "$lz_package: out-of-tree builds are required."
error_msg "please invoke configure again from a clean build directory."
exit 2
fi
return 0
}
get_lazy()
{
which lazy && lazy=`which lazy` && return 0
if ! [ -d slazy ]; then
git clone git://midipix.org/lazy slazy || exit 2
fi
lazy=$lz_pwd/slazy/lazy
}
lazy_approach()
{
if [ x"$lz_prefix" = x ]; then
error_msg "prefix is required."
exit 2
fi
if [ x"$lz_arch" = x ]; then lz_arch=$lz_default_arch; fi
if [ x"$lz_subarch" = x ]; then lz_subarch=$lz_default_subarch; fi
if [ x"$lz_target" = x ]; then lz_target=$lz_default_target; fi
if [ x"$lz_compiler" = x ]; then lz_compiler=$lz_default_compiler; fi
if [ x"$lz_compiler" = x ]; then lz_compiler=gcc; fi
$lazy -x config $lz_debug \
-t $lz_target \
-a $lz_arch \
-c $lz_compiler \
-n $lz_package \
-p $lz_config_dir \
-f $lz_prefix \
|| exit 2
}
lazy_copy()
{
cp "$lz_config_dir/Makefile.in" "$lz_pwd/Makefile"
}
for arg ; do
case "$arg" in
--help) usage
;;
--prefix=*)
lz_prefix=${arg#*=}
;;
--host=*)
lz_target=${arg#*=}
;;
--target=*)
lz_target=${arg#*=}
;;
--compiler=*)
lz_compiler=${arg#*=}
;;
--config=*)
lz_config=${arg#*=}
;;
--debug)
lz_debug='-d'
;;
*)
error_msg ${arg#}: "unsupported config argument."
exit 2
;;
esac
done
init_vars
require_out_of_tree
get_lazy
lazy_approach
lazy_copy