mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-11-04 06:11:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			412 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			412 lines
		
	
	
		
			8.8 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
 | 
						|
],[
 | 
						|
  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";;
 | 
						|
  *) ENCODING="ISO-8859-1";;
 | 
						|
esac
 | 
						|
 | 
						|
AC_SUBST(ENCODING)
 | 
						|
AC_SUBST(FOP)
 | 
						|
 | 
						|
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 }}}
 |