blob: 836d93929113d08dbf730f0aa7192dbfe74d6f74 [file] [log] [blame]
#!/bin/sh
#
# Call:
# ./configure [--datadir=DATADIR] [--mandir=MANDIR] [--disable-nls]
#
# Where shall we store our stuff?
# Old default: /usr/lib/kbd
# New default: /usr/share/kbd
#
prefix=
datadir=
mandir=
nls=1
for arg in $*; do
case "$arg" in
-*=*) optarg=`echo "$arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case "$arg" in
--da*)
datadir=$optarg
;;
--di*)
nls=0
;;
--ma*)
mandir=$optarg
;;
--pr*)
prefix=$optarg
;;
*)
echo "usage: configure [--prefix=PREFIXDIR] [--datadir=DATADIR] [--mandir=MANDIR]"
exit 1
;;
esac
done
if [ x$prefix = x ]; then
# the default case - don't bother the user with messages
prefix=/usr
else
case "$prefix" in
/*)
echo "Configuring for PREFIX=$prefix"
;;
*)
echo "PREFIX must have a leading slash"
exit 1
;;
esac
fi
if [ x$datadir = x ]; then
if [ -d $prefix/lib/kbd ]; then
datadir=$prefix/lib/kbd
elif [ -d $prefix/share/consolefonts ]; then
datadir=$prefix/share
elif [ -d $prefix/share ]; then
datadir=$prefix/share/kbd
else
datadir=$prefix/lib/kbd
fi
else
case "$datadir" in
/*)
datadir="$datadir"
echo "Configuring for DATADIR=$datadir"
;;
*)
echo "DATADIR must have a leading slash"
exit 1
;;
esac
fi
if [ x$mandir = x ]; then
if [ -d $prefix/share/man ]; then
mandir=$prefix/share/man
else
mandir=$prefix/man
fi
else
case "$mandir" in
/*)
mandir="$mandir"
echo "Configuring for MANDIR=$mandir"
;;
*)
echo "MANDIR must have a leading slash"
exit 1
;;
esac
fi
for i in Makefile src/Makefile po/Makefile man/man1/dumpkeys.1 man/man1/loadkeys.1 man/man8/setfont.8 man/man8/loadunimap.8 man/man8/mapscrn.8; do
sed -e "
s,@datadir@,$datadir,
s,@mandir@,$mandir,
s,@prefix@,$prefix,
" $i.in > $i
done
rm -f defines.h make_include
# Next, figure out some things about the environment
# Things taken from util-linux configure
if test "$RANDOM" = "$RANDOM"; then
# Plain old Bourne shell.
echo checking for gcc
test -z "$CC" -a -n "`gcc 2>&1`" && CC="gcc -O"
else
# ksh, bash or zsh. ksh and zsh write "command not found" to stderr.
echo checking for gcc
test -z "$CC" && type gcc && CC="gcc -O"
fi
CC=${CC-cc}
CFLAGS=${CFLAGS-"-O"}
compile="$CC $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1"
static_compile="$CC -static $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1"
rm -f conftest.c conftest
#
# 0. Figure out architecture (one of i386, alpha, sparc, arm, m68k, mips)
#
ARCH=`uname -m | sed s/i.86/i386/`
echo "ARCH=$ARCH" >> make_include
#
# 1. Do we have <locale.h>?
#
echo "
#include <locale.h>
main(){ exit(0); }
" > conftest.c
eval $compile
if test -s conftest && ./conftest 2>/dev/null; then
echo "#define HAVE_locale_h" >> defines.h
echo "You have <locale.h>"
else
echo "You don't have <locale.h>"
fi
rm -f conftest conftest.c
#
# 2. For lib/nls.h: do we have <libintl.h> and gettext() ?
#
echo '
#include <libintl.h>
main(int a, char **v){
if (a == -1) /* false */
gettext("There is no gettext man page\n");
exit(0);
}
' > conftest.c
eval $compile
if [ $nls = 1 ]; then
if test -s conftest && ./conftest 2>/dev/null; then
echo '#define HAVE_libintl_h' >> defines.h
echo "You have <libintl.h> and gettext()"
echo '#define ENABLE_NLS' >> defines.h
echo "Assuming that you want to enable NLS support."
echo "(Otherwise, edit defines.h and delete the line with ENABLE_NLS)"
ENABLE_NLS=yes
else
echo "You don't have <libintl.h> and gettext()"
ENABLE_NLS=no
fi
else
echo "NLS disabled"
ENABLE_NLS=no
fi
rm -f conftest conftest.c
#
# 3. Does xgettext exist and take the option --foreign-user?
#
if (test $ENABLE_NLS = yes && type xgettext > /dev/null 2>&1); then
msg=`xgettext --foreign-user 2>&1 | grep unrecognized`
if test -n "$msg"; then
echo "FOREIGN = " >> make_include
else
echo "FOREIGN = --foreign-user" >> make_include
fi
echo "HAVE_XGETTEXT=yes" >> make_include
else
echo "HAVE_XGETTEXT=no" >> make_include
fi
echo
echo "Done. You can run make now."