Files
smarty/docs/configure.in

423 lines
9.0 KiB
Plaintext
Executable File

dnl $Id$
dnl autoconf initialisation
AC_INIT()
WORKDIR=`pwd`
SRCDIR=$srcdir
AC_SUBST(SRCDIR)
AC_SUBST(WORKDIR)
dnl debug output
echo "file versions"
for file in ./*.in; do
fgrep '$Id' $file | head -n1 | sed -e"s/^.*: //g" | sed -e"s/200.\/.*$//g"
done
echo "configure options: $@"
echo "working directory: $WORKDIR"
echo
dnl {{{ check for support programs
dnl {{{ check for PHP
dnl use given argument, if any, else search in path
AC_ARG_WITH(php,
[ --with-php=PATH look for PHP executable needed for helper scripts],
[
if test $withval != "yes"; then
AC_MSG_CHECKING([for php])
if test -x $withval; then
PHP=$withval
AC_MSG_RESULT($PHP)
else
PHP=no
AC_MSG_RESULT(no)
AC_MSG_ERROR([$withval: not an executable file])
fi
else
if test -e ../../phpdoc-tools/php.bat ; then
AC_MSG_CHECKING([for php])
PHP=../../phpdoc-tools/php.bat
AC_MSG_RESULT($PHP)
else
AC_PATH_PROG(PHP,"php",no)
if test $PHP = "no"; then
AC_PATH_PROG(PHP4,"php4",no)
PHP=$PHP4
fi
fi
fi
],[
if test -e ../../phpdoc-tools/php.bat ; then
AC_MSG_CHECKING([for php])
PHP=../../phpdoc-tools/php.bat
AC_MSG_RESULT($PHP)
else
AC_PATH_PROG(PHP,"php",no)
if test $PHP = "no"; then
AC_PATH_PROG(PHP4,"php4",no)
PHP=$PHP4
fi
fi
]
)
if test $PHP = "no"; then
AC_MSG_ERROR([no PHP binary found])
fi
AC_SUBST(PHP)
dnl }}}
dnl {{{ check for the Jade or OpenJade DSSSL parser
dnl use given argument, if any, else search in path
AC_ARG_WITH(jade,
[ --with-jade=PATH look for jade or openjade executable],[
if test $withval != "yes"; then
AC_MSG_CHECKING([for jade])
if test -x $withval; then
JADE=$withval
AC_MSG_RESULT($JADE)
else
JADE=no
AC_MSG_RESULT(no)
AC_MSG_ERROR([$withval: not an executable file])
fi
else
if test -e ../../phpdoc-tools/jade/jade.exe ; then
AC_MSG_CHECKING([for jade])
JADE=../../phpdoc-tools/jade/jade.exe
AC_MSG_RESULT($JADE)
else
AC_PATH_PROG(OPENJADE,"openjade",no)
if test $OPENJADE = "no"; then
AC_PATH_PROG(JADE,"jade",no)
else
JADE=$OPENJADE
fi
fi
fi
],[
if test -e ../../phpdoc-tools/jade/jade.exe ; then
AC_MSG_CHECKING([for jade])
JADE=../../phpdoc-tools/jade/jade.exe
AC_MSG_RESULT($JADE)
else
AC_PATH_PROG(OPENJADE,"openjade",no)
if test $OPENJADE = "no"; then
AC_PATH_PROG(JADE,"jade",no)
else
JADE=$OPENJADE
fi
fi
]
)
if test $JADE = "no"; then
AC_MSG_ERROR([can't find jade or openjade])
fi
if test ${JADE:0:18} = "../../phpdoc-tools"; then
WINJADE=1
else
WINJADE=0
fi
AC_SUBST(JADE)
AC_SUBST(WINJADE)
dnl }}}
dnl {{{ check for nsgmls or onsgmls
AC_ARG_WITH(nsgmls,
[ --with-nsgmls=PATH look for nsgmls or onsgmls executable],[
if test $withval != "yes"; then
AC_MSG_CHECKING([for nsgmls])
if test -x $withval; then
NSGMLS=$withval
AC_MSG_RESULT($NSGMLS)
else
NSGMLS=no
AC_MSG_RESULT(no)
AC_MSG_ERROR([$withval: not an executable file])
fi
else
if test -e ../../phpdoc-tools/jade/nsgmls.exe ; then
AC_MSG_CHECKING([for nsgmls])
NSGMLS=../../phpdoc-tools/jade/nsgmls.exe
AC_MSG_RESULT($NSGMLS)
else
AC_PATH_PROG(ONSGMLS,"onsgmls",no)
if test $ONSGMLS = "no"; then
AC_PATH_PROG(NSGMLS,"nsgmls",no)
else
NSGMLS=$ONSGMLS
fi
fi
fi
],[
if test -e ../../phpdoc-tools/jade/nsgmls.exe ; then
AC_MSG_CHECKING([for nsgmls])
NSGMLS=../../phpdoc-tools/jade/nsgmls.exe
AC_MSG_RESULT($NSGMLS)
else
AC_PATH_PROG(ONSGMLS,"onsgmls",no)
if test $ONSGMLS = "no"; then
AC_PATH_PROG(NSGMLS,"nsgmls",no)
else
NSGMLS=$ONSGMLS
fi
fi
]
)
if test $NSGMLS = "no"; then
AC_MSG_ERROR([can't find nsgmls or onsgmls])
fi
AC_SUBST(NSGMLS)
dnl }}}
dnl {{{ check for FOP
AC_ARG_WITH(fop,
[ --with-fop=PATH look for fop],
[
if test $withval != "yes"; then
AC_MSG_CHECKING([for FOP])
if test -x $withval -a -f $withval
then
FOP=$withval
AC_MSG_RESULT($FOP)
else
FOP=no
AC_MSG_RESULT(no)
AC_MSG_ERROR([$withval: not an executable file])
fi
else
if test -e ../../phpdoc-tools/fop/fop.bat ; then
AC_MSG_CHECKING([for FOP])
FOP=../../phpdoc-tools/fop/fop.bat
AC_MSG_RESULT($FOP)
else
AC_PATH_PROG(FOP,"fop",no)
fi
fi
],[
if test -e ../../phpdoc-tools/fop/fop.bat ; then
AC_MSG_CHECKING([for FOP])
FOP=../../phpdoc-tools/fop/fop.bat
AC_MSG_RESULT($FOP)
else
AC_PATH_PROG(FOP,"fop",no)
fi
]
)
if test $FOP = "no"; then
AC_MSG_WARN([no fop binary found, PDF generation won't work])
fi
dnl }}}
dnl {{{ check for xmllint
AC_ARG_WITH(xmllint,
[ --with-xmllint=PATH check for xmllint],
[
if test $withval != "yes"; then
AC_MSG_CHECKING([for xmllint])
if test -x $withval -a -f $withval
then
XMLLINT=$withval
AC_MSG_RESULT($XMLLINT)
else
XMLLINT=no
AC_MSG_RESULT(no)
AC_MSG_ERROR([$withval: no xmllint binary found])
fi
else
if test -e ../../phpdoc-tools/libxml/xmllint.exe ; then
AC_MSG_CHECKING([for xmllint])
XSLTPROC=../../phpdoc-tools/libxml/xmllint.exe
AC_MSG_RESULT($XMLLINT)
else
AC_PATH_PROG(XMLLINT,"xmllint",no)
fi
fi
],[
if test -e ../../phpdoc-tools/libxml/xmllint.exe ; then
AC_MSG_CHECKING([for xmllint])
XMLLINT=../../phpdoc-tools/libxml/xmllint.exe
AC_MSG_RESULT($XMLLINT)
else
AC_PATH_PROG(XMLLINT,"xmllint",no)
fi
]
)
if test $XMLLINT = "no"; then
AC_MSG_WARN([no xmllint binary found, XML Validation won't work])
fi
AC_SUBST(XMLLINT)
dnl }}}
dnl }}}
dnl {{{ check for catalog files
CATALOG=""
dnl iso-ents catalog file
dnl The 4.1.2 DocBook DTD also includes entity files, but they cannot be used with Jade!
if test -e ./entities/ISO/catalog
then
CATALOG="$CATALOG -c ./entities/ISO/catalog"
fi
dnl DSSSL catalog file
if test -e ./dsssl/docbook/catalog
then
CATALOG="$CATALOG -c ./dsssl/docbook/catalog"
fi
dnl For windows (and maybe *nix too?) users lacking catalog-files
dnl jade catalog file
# how about using JADEPATH? You should replace the last 4 chars ('jade') with catalog
# !! JADEPATH may not properly be set on windows, so do not use it !!
if test -e ../../phpdoc-tools/jade/catalog
then
CATALOG="$CATALOG -c ../../phpdoc-tools/jade/catalog"
fi
dnl SuSE openjade setup
if test -e /usr/share/sgml/CATALOG.docbk41
then
CATALOG="$CATALOG -c /usr/share/sgml/CATALOG.docbk41"
fi
if test -e /usr/share/sgml/CATALOG.jade_dsl
then
CATALOG="$CATALOG -c /usr/share/sgml/CATALOG.jade_dsl"
fi
dnl As a very last option, include default catalog files from phpdoc
dnl (imported from the openjade distribution)
if test -e $srcdir/dsssl/defaults/catalog
then
CATALOG="$CATALOG -c ./dsssl/defaults/catalog"
fi
AC_SUBST(CATALOG)
dnl }}}
dnl {{{ language specific stuff
AC_MSG_CHECKING(for language)
BUILD_DATE=`date '+%Y-%m-%d'`
AC_ARG_WITH(lang,
[ --with-lang=LANG choose a language to work with],[
if test "$withval" = "yes"; then
LANG=en
AC_MSG_RESULT([en (default)])
else
if test ! -d "./$withval"; then
AC_MSG_RESULT()
AC_MSG_ERROR(Language \"$withval\" not supported!)
else
LANG=$withval
AC_MSG_RESULT($LANG)
fi
BUILD_DATE=`date '+%d-%m-%Y'`
fi
case $withval in
ja)
BUILD_DATE=`date '+%Y/%m/%d'`
;;
*)
esac
],[
LANG=en
AC_MSG_RESULT([en (default)])
])
AC_SUBST(LANG)
AC_SUBST(BUILD_DATE)
case "$LANG" in
ru) ENCODING="windows-1251"
FOP="$FOP -c fop/ru.cfg";;
ja) ENCODING="utf-8";;
*) ENCODING="ISO-8859-1";;
esac
SP_OPTIONS="SP_ENCODING=XML SP_CHARSET_FIXED=YES"
AC_SUBST(ENCODING)
AC_SUBST(FOP)
AC_SUBST(SP_OPTIONS)
dnl }}}
dnl {{{ makefile targets for configure-generated files
rm -f autogenerated_rules
(
for file in `find . -name "*.in"`; do
case "$file" in
./configure.in)
echo configure: configure.in
printf '\t autoconf'
echo
;;
./manual.xml.in)
;;
*)
echo `dirname $file`/`basename $file .in`: '$(srcdir)'/$file ./config.status
printf '\t CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status'
echo
esac
done
) > autogenerated_rules
AUTOGENERATED_RULES=autogenerated_rules
AC_SUBST_FILE(AUTOGENERATED_RULES)
rm -f autogenerated_rules
dnl }}}
dnl {{{ generate output files
dnl {{{ find all *.in files and process them with AC_OUTPUT
for infile in `find $srcdir -name "*.in"`
do
if test `basename $infile` != "configure.in"
then
outfile=`basename $infile .in`
outdir=`dirname $infile`
outdir=`echo $outdir/ | sed -e"s|$srcdir/||"`
OUTFILES="$OUTFILES ./$outdir$outfile"
fi
done
AC_OUTPUT($OUTFILES)
dnl }}}
dnl {{{ generate entity mapping file, missing entities and IDs
dnl if we have PHP use it for all of these things
if test $PHP != "no"
then
dnl create entity mapping file
$PHP -q ./scripts/file-entities.php
else
echo ERROR: configure process cannot continue, PHP is not found
fi
dnl }}}
dnl }}}