303 lines
6.5 KiB
Bash
Executable File
303 lines
6.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# utt configure file
|
|
# creates config.mak which is used by other makefiles
|
|
|
|
# variables for dynamically selecting whether to compile utf8 versions
|
|
CUR_DIR=$(pwd)
|
|
SRC_DIR="${CUR_DIR}/src"
|
|
|
|
# list of components to compile
|
|
CMPLIST="compdic cor dgc dgp fla gph grp gue kon kor kot lem mar rat rm12 rs12 sen sen-nl ser tags tok.c tok.l tok.pl tre unfla"
|
|
COMP=
|
|
|
|
|
|
# sets all variables to a defined value
|
|
set_all(){
|
|
value=$1
|
|
shift
|
|
for var in $*; do
|
|
eval $var=$value
|
|
done
|
|
}
|
|
|
|
# enables a feature
|
|
enable(){
|
|
set_all yes $*
|
|
}
|
|
|
|
# disables a feature
|
|
disable(){
|
|
set_all no $*
|
|
}
|
|
|
|
# checks whether a feature is enabled
|
|
enabled(){
|
|
eval test "x\$$1" = "xyes"
|
|
}
|
|
|
|
# checks whether a feature is disabled
|
|
disabled(){
|
|
eval test "x\$$1" = "xno"
|
|
}
|
|
|
|
show_help(){
|
|
echo "Usage configure [options]"
|
|
echo "Options: [defaults in brackets after descriptions]"
|
|
echo "All \"enable\" options have \"disable\" counterparts"
|
|
echo
|
|
echo " --help print this message"
|
|
echo " --prefix=PREFIX install in PREFIX [$PREFIX]"
|
|
echo " --bindir=BINDIR install binaries in BINDIR [$bindir]"
|
|
echo " --confdir=CONFDIR install configuration in CONFDIR [$confdir]"
|
|
echo " --sharedir=SHAREDIR install shared in SHAREDIR [$sharedir]"
|
|
echo " --docdir=DOCDIR install doc in DOCDIR [$docdir]"
|
|
echo " --langdir=LANGDIR install lang in LANGDIR [$langdir]"
|
|
echo " --libdir=LIBDIR install libraries in LIBDIR [$libdir]"
|
|
echo
|
|
echo " --language=LANGUAGE select language"
|
|
echo
|
|
echo " --enable-static build static versions [no]"
|
|
echo " --enable-doc build documentation [yes]"
|
|
echo " --enable-utf8 build UTF-8 versions of applications [no]"
|
|
echo
|
|
echo " --cc=CC use C compiler CC [$cc_default]"
|
|
echo " --cxx=CXX use C++ compiler CXX [$cxx_default]"
|
|
echo " --gengetopt=GGO use gengetopt GGO [$gengetopt_default]"
|
|
echo " --flex=FLEX use flex FLEX [$flex_default]"
|
|
echo " --makeinfo=MAKEINFO use makeinfo MAKEINFO [$makeinfo_default]"
|
|
echo " --texi2dvi=TEXI2DVI use texi2dvi TEXI2DVI [$texi2dvi_default]"
|
|
echo " --texi2pdf=TEXI2PDF use texi2pdf TEXI2PDF [$texi2pdf_default]"
|
|
echo " --dvips=DVIPS use dvips DVIPS [$dvips_default]"
|
|
exit 1
|
|
}
|
|
|
|
die_unknown(){
|
|
echo "Unknown option \"$1\"."
|
|
echo "See $0 --help for availible options."
|
|
exit 1
|
|
}
|
|
|
|
#
|
|
# default values
|
|
PREFIX="/usr/local"
|
|
|
|
bindir="${PREFIX}/bin"
|
|
confdir="/etc/utt"
|
|
sharedir="${PREFIX}/share"
|
|
docdir="${PREFIX}/share/doc/utt"
|
|
langdir="${PREFIX}/share/utt"
|
|
libdir="${PREFIX}/lib/utt"
|
|
|
|
languages="pl_PL.ISO-8859-2"
|
|
language="pl_PL.ISO-8859-2"
|
|
|
|
cc_default="gcc"
|
|
cxx_default="g++"
|
|
gengetopt_default="gengetopt"
|
|
flex_default="flex"
|
|
makeinfo_default="makeinfo"
|
|
texi2dvi_default="texi2dvi"
|
|
texi2pdf_default="texi2pdf"
|
|
dvips_default="dvips"
|
|
|
|
# default switch values
|
|
DEFAULT="
|
|
"
|
|
|
|
DEFAULT_NO="static
|
|
utf8
|
|
"
|
|
|
|
DEFAULT_YES="doc
|
|
"
|
|
|
|
CMDLINE_SELECT="$DEFAULT
|
|
$DEFAULT_NO
|
|
$DEFAULT_YES
|
|
"
|
|
|
|
enable $DEFAULT_YES
|
|
disable $DEFAULT_NO
|
|
|
|
for opt do
|
|
optval="${opt#*=}"
|
|
case "$opt" in
|
|
--help)
|
|
show_help
|
|
;;
|
|
--prefix=*)
|
|
PREFIX="$optval"
|
|
bindir="$optval/bin"
|
|
sharedir="$optval/share"
|
|
docdir="$optval/share/doc/utt"
|
|
langdir="$optval/share/utt"
|
|
libdir="$optval/lib/utt"
|
|
;;
|
|
--bindir=*)
|
|
bindir="$optval"
|
|
;;
|
|
--confdir=*)
|
|
confdir="$optval"
|
|
;;
|
|
--sharedir=*)
|
|
sharedir="$optval"
|
|
;;
|
|
--docdir=*)
|
|
docdir="$optval"
|
|
;;
|
|
--langdir=*)
|
|
langdir="$optval"
|
|
;;
|
|
--libdir=*)
|
|
libdir="$optval"
|
|
;;
|
|
--language=*)
|
|
language="$optval"
|
|
;;
|
|
--cc=*)
|
|
cc="$optval"
|
|
;;
|
|
--cxx=*)
|
|
cxx="$optval"
|
|
;;
|
|
--gengetopt=*)
|
|
gengetopt="$optval"
|
|
;;
|
|
--flex=*)
|
|
flex="$optval"
|
|
;;
|
|
--makeinfo=*)
|
|
makeinfo="$optval"
|
|
;;
|
|
--texi2dvi=*)
|
|
texi2dvi="$optval"
|
|
;;
|
|
--texi2pdf=*)
|
|
texi2pdf="$optval"
|
|
;;
|
|
--dvips=*)
|
|
dvips="$optval"
|
|
;;
|
|
--enable-?*|--disable-?*)
|
|
eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'`
|
|
echo "$CMDLINE_SELECT" | grep -q "^ *$option\$" || die_unknown $opt
|
|
$action $option
|
|
;;
|
|
*)
|
|
die_unknown $opt
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ! test -z $cc; then
|
|
cc_default="${cc}"
|
|
fi
|
|
cc="${cc_default}"
|
|
|
|
if ! test -z $cxx; then
|
|
cxx_default="${cxx}"
|
|
fi
|
|
|
|
cxx="${cxx_default}"
|
|
|
|
if ! test -z $gengetopt; then
|
|
gengetopt_default="${gengetopt}"
|
|
fi
|
|
|
|
gengetopt="${gengetopt_default}"
|
|
|
|
if ! test -z $flex; then
|
|
flex_default="$flex"
|
|
fi
|
|
|
|
flex="${flex_default}"
|
|
|
|
enabled doc && {
|
|
if ! test -z $makeinfo; then
|
|
makeinfo_default="${makeinfo}"
|
|
fi
|
|
if ! test -z $texi2dvi; then
|
|
texi2dvi_default="${texi2dvi}"
|
|
fi
|
|
if ! test -z $texi2pdf; then
|
|
texi2pdf_default="${texi2pdf}"
|
|
fi
|
|
if ! test -z $dvips; then
|
|
dvips_default="${dvips}"
|
|
fi
|
|
|
|
makeinfo="${makeinfo_default}"
|
|
texi2dvi="${texi2dvi_default}"
|
|
texi2pdf="${texi2pdf_default}"
|
|
dvips="${dvips_default}"
|
|
}
|
|
|
|
# generating config.mak
|
|
|
|
echo "# Automatically generated by configure" > config.mak
|
|
echo "PREFIX=$PREFIX" >> config.mak
|
|
echo "BIN_DIR=$bindir" >> config.mak
|
|
echo "CONF_DIR=$confdir" >> config.mak
|
|
echo "SHARE_DIR=$sharedir" >> config.mak
|
|
echo "DOC_DIR=$docdir" >> config.mak
|
|
echo "LANG_DIR=$langdir" >> config.mak
|
|
echo "LIB_DIR=$libdir" >> config.mak
|
|
echo "LANGUAGES=$languages" >> config.mak
|
|
echo "LANGUAGE=$language" >> config.mak
|
|
echo "CC=$cc" >> config.mak
|
|
echo "CXX=$cxx" >> config.mak
|
|
echo "GENGETOPT=$gengetopt" >> config.mak
|
|
echo "FLEX=$flex" >> config.mak
|
|
enabled doc && {
|
|
echo "MAKEINFO=$makeinfo" >> config.mak
|
|
echo "TEXI2DVI=$texi2dvi" >> config.mak
|
|
echo "TEXI2PDF=$texi2pdf" >> config.mak
|
|
echo "DVIPS=$dvips" >> config.mak
|
|
}
|
|
echo "BUILD_UTF8=$utf8" >> config.mak
|
|
echo "BUILD_STATIC=$static" >> config.mak
|
|
echo "BUILD_DOC=$doc" >> config.mak
|
|
|
|
enabled utf8 && {
|
|
for cmp in $CMPLIST; do
|
|
if [ -d "${SRC_DIR}/${cmp}_utf8" ]; then
|
|
COMPONENTS="${COMPONENTS} ${cmp}_utf8"
|
|
else
|
|
COMPONENTS="${COMPONENTS} ${cmp}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
disabled utf8 && {
|
|
for cmp in $CMPLIST; do
|
|
COMPONENTS="${COMPONENTS} ${cmp}"
|
|
done
|
|
}
|
|
COMPONENTS=$(echo $COMPONENTS | cut -c1-)
|
|
echo "COMPONENTS=$COMPONENTS" >> config.mak
|
|
|
|
# echoing the configuration to console
|
|
echo "prefix: $PREFIX"
|
|
echo "bindir: $bindir"
|
|
echo "confdir: $confdir"
|
|
echo "sharedir: $sharedir"
|
|
echo "docdir: $docdir"
|
|
echo "langdir: $langdir"
|
|
echo "libdir: $libdir"
|
|
echo "languages: $languages"
|
|
echo "language: $language"
|
|
enabled doc && {
|
|
echo "makeinfo: $makeinfo"
|
|
echo "texi2dvi: $texi2dvi"
|
|
echo "texi2pdf: $texi2pdf"
|
|
echo "dvips: $dvips"
|
|
}
|
|
echo "cc: $cc"
|
|
echo "cxx: $cxx"
|
|
echo "gengetopt: $gengetopt"
|
|
echo "flex: $flex"
|
|
echo "utf8: $utf8"
|
|
echo "static: $static"
|
|
echo "doc: $doc"
|